卷子解析+程序测试
一、单选题
1、在C语言中,下面符号串中能用作变量名的标识符为____B____。
A) auto B) put C) 1*num D) and-2
解析:标识符的命名规则:
1.组成:字母、数字、下划线
2.注意:首位不能是数字;
不能为关键字(在程序运行中,能够直接被识别:if、for(与For不同)、static、while)
拓展:C语言中auto是个关键字,用于声明变量的生存期为自动与static相对应
例如:auto int a,b;(相当于 int a,b;)一般都是省略不写,所以在程序书写时很少出现
Static:静态变量,调用后不消失而是保留原值(占内存不释放)
程序举例:阶乘:
图1—阶乘
2、将十六进制数F49转换成十进制数是___C____ 。
A) 4038 B) 2573 C) 3913 D) 1912
解析:十六进制表示[0~9;A~F]
A=10;B=11;C=12;D=13;E=14;F=15
题目中F 4 9 15 4 9
162 161 160 162 161 160
对应匹配之后开始计算:15*162+4*161+9*160=3048+64+9=3913
3、C语言对四种基本变量的存储空间分配从小到大依次为:__B_____ 。
A) int char float double B) char int float double
C) double float char int D) char double int float
解析:对于字节分配
char 1
long int 4 (在VC6.0的编译器中写int默认为long int占4个字节)
short int 2
float 4
double 8
4、设i为int型变量,f为float型变量,通过语句scanf(“i=%d,f=%f”,&i,&f);希望将100和765.12分别赋给i和f, 则正确的键盘输入为___B____。
A) 100,765.12 B) i=100,f=765.12
C) i=100 f=765.12 D) 100 765.12
解析:本题考的是对于scanf的键盘输入
严格按照 scanf引号(“”)中来输入
i=数据,f=数据(不要忘记还有逗号)
5、以下对于函数的描述中正确的是__C_____。
A) 函数必须有参数。
B) 函数的返回值类型不能为空。
C) 函数必须先定义后使用。
D) 函数中不能有复合语句。
解析:A.错的—不是所有函数都有参数;例如(随便声明一个):fun()也是可以的
B.错的—返回值类型在函数定义时可以为空;例如:void fun();
C.对的—需要申请一个内存地址,有了地址才能对其进行赋值
D.错的—函数定义就可以在复合语句中
6、已知 w=1,x=2,y=3,z=4; 条件表达式“(w>x?w: y)<z ?y:z”的结果是___D____。
A) 1 B) 2 C) 4 D) 3
解析:从右向左一个一个看
w>x?w:y //先判断w是否大于x,判断正确:w;判断错误:y
题中w=1,x=2;可知判断错误,结果为y=3;
在拿第一次的判断结果,进行后面的判断
3<z?y:z //同理上述判断 z=4
判断正确:输出y的值=3;
7、以下程序的输出结果是_B_____。
void main()
{ int x=023;
printf( "%d\n",--x);
}
A)17 B) 18 C) 22 D) 24
解析:从定义开始 int x=023; //一般情况下普通十进制数字定义,是不会这样写的
可以判断,它的书写时八进制(如果写成0023则是十六进制)
首先将八进制023换成十进制:0 2 3
82 81 80
同理十六进制转换:3*80+2*81+0*82=19
Printf中检测到的是“--x”(即为先减后用)输出结果为18
拓展:若Printf中检测到的是“x--”(即为先用再减)输出结果就保持19
程序测试:
图 2—“--x”
图 3—“x--”
8、假定变量均已正确声明,下列程序段运行后x的值是__B____。
a=b=c=0;x=35;
if(!a) --x;
else if(b) x++;
if(c) x=3;
else x=4;c语言中的逗号表达式
A)3 B) 4 C) 34 D) 35
解析:题目中出现了一个判断语句[if (!a)],解释为判断!a的真假
在if判断语句中如果不是一个判断句(例如a>5、a==0之类的)它所能检测到的就只有0和1
0为假;1为真(判断出的1,不是数值1,而是非零,例如if(5)就是真的;
题目中a=b=c=0
因为a=0,因此if(!a)即为非0为真(相反则为假)
在程序的第一个else if 后面出现一个分号“;”这表示第一个判断到此结束
最后一个else是和if(c)对应的,在C语言中0为假,非0为真,所以会执行到最后一个else,的分支——x=4
拓展:程序测试:
图 4—“if else”测试
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论