c语言标识符等价类测试,c语言基础测试题--牧码南山招新检测题
1.请为下列代码段添加注释
#include
int main(){
printf("To c , or not to c , that is the question ./n");
return 0;
}
答案
#include //头文件 包含了标准输入/输出库的相关信息
int main(){ //主函数 必不可少
printf("To c , or not to c , that is the question ./n"); //printf函数功能是输出信息 /n用于换行
return 0; //程序终止时向操作系统返回值0
}
2. Dr.张 编写了一个demo01.c 程序 ,若想生成可执行文件 , 需经过
第一步: ___________
第二步:___________ ,生成 ___________ 后缀的文件
第三步:___________ ,生成 ___________ 后缀的文件
答案
预处理
编译 .obj
连接 .exe
3.写出两种注释方法
作答区:
答案
第一种:
// int a=8;
第二种:
/*
int a=8;
int b=10;
*/
4.常量分为整型常量 、 实型常量 和 字符型常量 ,字符型常量在计算机中是以 ___________ 形式存储的 .
作答区:____________________________________________________________
答案
ascii码
5.字符'a'的ascii码是___________, 字符'A'的ascii码是___________.
作答区:_____________________________ _______________________________
答案
97,65
6.转义字符
转义字符|字符值
---|:--:|---:
'|
"|
?|
\||
\a|
\b|
\f|
\n|
\r|
\t|
\v|
\o、\oo|
\xh[h...]|
答案
转义字符|字符值
---|:--:|---:
'|'
"|"
?|?
\||
\a|警告
\b|退格
\f|换页
\n|换行
\r|回车
\t|水平制表符
\v|垂直制表符
\o、\oo|与该八进制码对应的ascii字符
\xh[h...]|与该十六进制码对应的ascii字符
7.常见数据类型的存储空间与所占字节数(默认带符号数)
类型|字节数
---|:--:|---:
int|
short|
long|
long long|
float|
double|
long double|
char|
答案
类型|字节数
---|:--:|---:
int|2
short|1
long|4
long long|8
float|4
double|8
long double|8
char|1
8.程序改错
#include
int mian(){
double a , b , c , disc , x1 , x2 , p , q;
scanf("%f%f%f", a , b , c);
disc = b*b-4*a*c;
p=-b/(2.0*a);
q=sqrt(disc)/(2.0*a);
x1 = p+q;
x2 = p-q;
printf("x1 = %7.2f\nx2 = %7.2f\n",x1,x2)
return 0;
}
答案
#include
#include
int mian(){
double a , b , c , disc , x1 , x2 , p , q;
scanf("%lf%lf%lf", &a , &b , &c);
disc = b*b-4*a*c;
p=-b/(2.0*a);
q=sqrt(disc)/(2.0*a);
x1 = p+q;
x2 = p-q;
printf("x1 = %7.2f\nx2 = %7.2f\n",x1,x2);
return 0;
}
9.请完善/改正下述宏定义:
#define MAX(a,b) a > b ? a : b
作答区:____________________________________________________________
SEC_PER_YEAR 用宏定义来表示一年中有几秒
#define SEC_PER_YEAR (365*24*60*60)
作答区:____________________________________________________________
答案
#define MAX(a,b) (((a) > (b)) ? (a) : (b))
#define SEC_PER_YEAR (365*24*60*60)UL
解析
本题的四个要点
1.不要吝啬括号
2.宏定义中当第一个数字出现在程序中,它的类型默认是int
3.3652460*60 超过了int的范围
4.强制类型转换成UL类型(无符号长整型)
10.判断题:c语言是区分大小写的 ( )
作答区:____________________________________________________________
答案
√
11.简述标识符命名规范
作答区:
答案
1.由字母、数字、下划线组成
2.数字不能放第一位
12.判断下列哪些是C语言的关键字
(a) for
(b) If
(c) main
(d) printf
(e) while
作答区:____________________________________________________________
答案
√×√√√
13.下面的printf函数调用产生的输出结果分别是什么?
printf("%10.6f\n",30.253);
printf("%-7.4f\n",83.162);
作答区:
答案
30.253000
83.1620
14.假设scanf函数调用的格式如下:
scanf("%f%d%f\n",&x,&i,&y);
如果用户输入:
12.3 45.6 789
则你预测调用执行后,x,i,y的值分别是:
作答区:____________________________________________________________
答案
x=12.3
i=45
y=0.6
15.读代码,预测输出值
#include
int main(){
int i=1 , j=1;
printf("i is %d\n",++i);
printf("i is %d\n", i);
printf("j is %d\n",j++);
printf("j is %d\n", j);
return 0;
}
作答区:
答案
i is 2
i is 2
j is 1
j is 2
16.编程题:编写一个程序,要求用户输入一个两位数,然后按位数的逆序打印输出,程序会话应类似下面这样:
Enter a two-digit number: 28
The reversal is: 82
作答区:
17.编程题:利用switch编写一个程序,把用数字表示的成绩转化为字母表示的等级,程序会话应类似下面这样:
Enter numerical grade: 84
Letter grade: B
依据 [ A:90~100 B:80~89 C:70~79 D:60~69 F:0~59 ]
作答区:
参考答案
/* 用数字表示的成绩转化为用字母表示的等级*/
#include
int main()
{
int a,b;
printf("Enter numerical grade:");
scanf("%d",&a);
if(a>=0 && a<=100)
{
a=a/10;
switch(a)
{
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:printf("Letter grade: F");break;
case 6:printf("Letter grade: D");break;
case 7:printf("Letter grade: C");break;
case 8:printf("Letter grade: B");break;
case 9: case 10: printf("Letter grade: A");break;
}
}
else
printf("wrong");
return 0;
}
18. 说说do while 和 while 的异同
19. 编写程序,要求用户输入两个整数,然后计算并显示这两个整数的最大公约数(GCD),程序会话应类似下面这样:
Enter two integers:12 28
Greaest common divisor: 4
提示:求最大公约数的经典算法是Euclid算法,方法如下:分别让变量m和n存储两个数的值。如果n为0,那么停止操作,m中的值是GCD;否则计算m除以n的余数,把n保存到m中,并把余数保存到n中,重复上述过程,每次都先判定n是否为0.
作答区:
参考答案
#include
int main()
{
int m,n,c,min;
printf("Enter two integers:");
scanf("%d %d",&m,&n);
if(m==0 && n!=0)
printf("Greatest common divisor: %d\n",n);
if(n==0 && m!=0)
printf("Greatest common divisor: %d\n",m);
if(m!=0 && n!=0)
{
while(m!=0 && n!=0)
{
if(m>n)
{
c=m%n;
min=n;
}
else
{
c=n%m;
min=m;
}
n=min;
m=c;
}
printf("Greatest common divisor: %d\n",n);
}
if(m==0 && n==0)
printf("非法输入");
return 0;
}
20. 强制类型转换:修改下述代码
#include
int main()
{
long i;
int j = 1000;
i = j*j;
return 0;
}
作答区:
答案
#include
int main()
{
long i;
int j = 1000;
i = (long)j*j;
return 0;
}
21. 用文字或代码解释sizeof()
作答区:
答案
文字:sizeof运算符允许程序存储指定类型值所需空间的大小
代码:printf("Size of int:%lu\n",(unsigned long)sizeof(int));
22. 编程题:打印出所有的“水仙花数”,所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身
作答区:
答案
#include
int main()
{
int i,count = 0;
int i2,i1,i0;
for (i=100;i<1000;i++)
{
i2 = i / 100;
i1 = i / 10 % 10;
i0 = i % 10 ;
if (i2 * i2 * i2 + i1 * i1 * i1 + i0 * i0 * i0 == i)
{
printf("%d ",i);
count ++;
}
}
printf("\nthe count is:%d\n",count);
return 0;
}
23.编程题:递归地计算n! 提示:n!=n*(n-1)!
作答区:
答案
#include
int fact(int n);
int main()
{
int n;
n = fact(10);
printf("%d\n",n);
return 0;
}
int fact(int n){
if(n <= 1)
return 1;
else
return n*fact(n-1);
}
23. 编程题:手写任意一个排序算法
作答区:
24. 请声明一个指针变量p
25. 请初始化上述你声明的指针变量指向一个对象i
26. 将上述两个问题合并成一句代码,在声明变量的同时进行初始化
27. 预测结果:
#include
int main()
{
int *p,i;
p = &i;
i=1;
printf("%d\n",i);
printf("%d\n",*p);
*p=10;
printf("%d\n",i);
printf("%d\n",*p);
return 0;
}
作答区:____________________________________________________________
c语言标识符等价类测试,c语言基础测试题--牧码南山招新检测题相关推荐
- C语言C6292错误,测试c语言函数调用性能因素
标签: 函数调用:即调用函数调用被调用函数,调用函数压栈,被调用函数执行,调用函数出栈,调用函数继续执行的一个看似简单的过程,系统底层却做了大量操作. 操作: 1, 调用函 ...
- oracle数据库基础测试,ORACLE数据库基础测试题oracle数据库复习题.docx
<ORACLE数据库基础测试题oracle数据库复习题.docx>由会员分享,可在线阅读,更多相关<ORACLE数据库基础测试题oracle数据库复习题.docx(18页珍藏版)&g ...
- c语言多实力测试,C语言 多线程测试
1.CreateThread 在主线程的基础上创建一个新线程 2.WaitForMultipleObjects 主线程等待子线程 3.CloseHandle 关闭线程 // testThread.cp ...
- java语言中的标识符_Java语言基本语法(一)————关键字标识符(Java语言标识符命名规范Java语言的包名、类名、接口名、变量名、函数名、常量名命名规则 )...
一.关键字 关键字的定义和特点 定义:被Java语言赋予特殊含义,用做专门用途的字符串(单词). 特点:关键字中所有字母均为小写 下面列举一些常用的关键字. 用于定义数据类型的关键字:byte.sho ...
- 32个c语言标识符的保留字,C语言:标识符 关键字 保留字 表达式 语句
标识符(Identifier) 标识符就是程序员自己起的名字,符号常量(宏).变量名.函数名.宏名.结构体名等,它们都是标识符. 遵守规范:C语言规定,标识符只能由字母(A~Z, a~z).数字(0~ ...
- c语言标识符命名作用,C语言-标识符命名
目前比较使用的如下几种命名风格: unix like 风格:单词用小写字母,每个单词直接用下划线 '_' 分割,例如 text_mutex , Windows 风格:大小写字母混用,单词连在一起,每个 ...
- c语言的标识符可分为哪3种字符,c语言标识符有哪三类?
在计算机编程语言中,标识符是用户编程时使用的名字,用于给变量.常量.函数.语句块等命名,以建立起名称与使用之间的关系.标识符通常由字母和数字以及其它字符构成. c语言标识符的分类 C语言中标识符有三类 ...
- c语言运算符计算作业题,c语言练习集(含答案)
以下为<c语言练习集(含答案)>的无排版文字预览,完整格式请下载 下载前请仔细阅读文字预览以及下方图片预览.图片预览是什么样的,下载的文档就是什么样的. <C语言程序设计> 习 ...
- C语言基础 C语言标识符
标识符在程序中用来标识各种程序成分,命名程序中的一些实体,如变量.常量.函数.类型和符号等对象. C语言规定,合法的标识符必须由英文字母或下划线开头,是字母.数字和下划线的序列. 在C语言中, ...
- 浅谈python语言_浅谈Python语言基础知识点!
一.Python 语言的简述 Python语言是一种解释型.面向对象的编程语言,是一种开源语言. Python属于动态类定义语言,也是一种强调类型语言. 二.Python 语言的特点 1.简单.高级 ...
最新文章
- Mac Appium 环境配置
- 百度无线用户体验部2011年招聘计划
- Python将图片转成pdf(高清)论文党用~
- Scala中任意表达式都是有返回值的(具体返回结果的值取决于满足条件的代码体的最后一行内容)
- Python --- 卸载
- NOIP2017年11月9日赛前模拟
- 2020 年“我爱计算机视觉”视频号最受欢迎视频 Top10!
- 层次分析法模型及代码
- java panel画椭圆_如何在Java 2D中绘制椭圆?
- 适配器模式之状态模式
- Linux LVM的PV操作
- dfmea文件_DFMEA范本.doc
- 如何配置Modbus读写器
- oracle查询创建用户,Oracle创建设置查询权限用户
- 古人为什么除了本名还要取字号?取字号根据什么规矩呢?
- 神舟 linux背光驱动,【linux】暂时解决sis m672(神舟F4000 D9) linux驱动 宽屏分辨率的问题?...
- 网页加载java慢_为什么开网页很慢 网页打开速度慢的原因【解决方法】
- javase扎金花程序
- 全栈学习日记001--穿过黑色12月,在2021年第二周的开始见到曙光,朝着光一直走下去吧
- ERP中数据导入的注意事项&常见异常处理(EDI)
热门文章
- CentOS/RHEL 7中的firewall控制
- 中电信总工:我国将在2011底出现IP短缺
- Python--网络编程-----基于UDP协议的套接字不会发生粘包
- python--简易员工信息系统编写
- 浙江工业大学校赛 XiaoWei的战斗力
- Wine——在Linux上运行Windows软件
- HTML5程序设计 SVG
- evolving checkers players [Fogel and Chellapilla, 2002]
- InitInstance函数
- 拓端tecdat|R语言ARMA-EGARCH模型、集成预测算法对SPX实际波动率进行预测