百年教育职业培训中心 百年教育学习服务平台
资讯中心

全国大学生计算机技能应用大赛C语言易错题集

来源: 更新时间:

更多资料:微信搜索【渝粤教育】公众号1、判断下列常量不合法的是(A)A. 0128B. -45C. 123.5e4D. ‘\n’A是不合法的,以0开头,表示的是八进制,有个8肯定不对,因为最高才到7。对D选项,是一个字符常量,看到一排数字,...

更多资料:微信搜索【渝粤教育】公众号


1、判断下列常量不合法的是(A

A. 0128

B. -45

C. 123.5e4

D. ‘\n

A是不合法的,以0开头,表示的是八进制,有个8肯定不对,因为最高才到7。对D选项,是一个字符常量,看到一排数字,突然冒出一个字符,可能想都没想就选了,没错,我想都没想就选了。

2、下列初始化合法的是(D

A. int a=b;

B. int 0 == sum;

C. float x,y,z;

D. char c; c= c ';

AC没有初始化,B初始化错误

3、假设i=7;若执行x=i++;x的值为(),若执行x=i;x的值为(C)。

A. 7 8

B. 8 6

C. 7 6

D. 8 7

若执行x=i++,先把i的值给x,i再加一,x=7,i=8

若执行x=i,先把i减一,然后赋值给x,x=6,i=6;

4、


(B)

A. 30

B. 50

C. 10

D. 20

值得注意的只有(x>y)?x:y;如果x>y,就是x, x>y为假就是y

5、


( C)

A. 65,66

B. 65,B

C. A,66

D. A,B

printf("%c,%d\n",c1,c2);值得注意,这里有个%c,把c1转化为了字符,ASCII码中65对应的为A

6、


(B)

A. 2,3

B. 2,2

C. 3,2

D. 3,3

fun函数中,*a对应的是c,但执行*a++后,指针后移,a不再是c,指针后移了,所以a的改变不会带来c的改变,但*b的改变是可以带来d的改变的。

还有值得注意的一点,*a++会使指针后移 , 但*a+=1指针不会后移,c的值会发生改变

7、


C)最简单的方法就是取个数比如1,3,7,8之类的数带入验证一下就可以排除错误答案

8、变量a中的数据用二进制表示的形式是01011101,变量b中的数据用二进制表示的形式是11110000.若将a的高4位取反,低4位不变,所要执行的运算是( A

A. a^b

B. a|b

C. a&b

D. a<<4


9、


结构类型变量与其他基础类型变量一样,在某个代码块内,只要这个变量存在,那么其内部所有成员都存在。

10、


B)辨析int(*f)(int)int *f(int)

int(*f)(int); 表示f是函数指针 , 它可以指向一个返回值为int类型,参数为int类型的函数。

int *f(int); f表示一个函数名,其返回值类型为int * , 参数为int


11、


(B)

A. 程序段有语法错误

B. 3,5,3

C. 3,5,5

D. 3,5,7

值得注意的就是第一个If语句到a=b就截止了,c=a不包含在内

12、


(D)

A. 1
B. 2
C. 7
D. 11

16BIM-PC机上,int所占用的内存是2字节,char所占用的内存是1字节,双精度型变量f所占用的内存是8字节,三者相加为11

多选题

1、以下可以定义为用户标识符的有(AC

A. scanf

B. short

C. _3com_

D. int

scanf很容易漏选,scanf用多了,就忘记它是可以标识符了

2、以下叙述错误的是( BCD

A. c语言函数可以嵌套使用,如funfunx))

B. c语言程序是由过程和函数组成的

C. c语言函数不可以单独编译

D. c语言中除了main函数,其他函数不可以作为单独文件形式存在

解析:

A. 函数之间是平行关系,不允许嵌套定义但可以嵌套调用.

B:C语言程序中没有过程的概念,C语言执行的基本单位是函数,一个程序可以有多个函数,main(),有且只能有一个

C.函数可以单独编译,例如库函数就是把函数放到库里,把一些常用到的函数编译完放到一个文件里,供不同的人进行调用。

D:c语言中函数与文件没有直接关系,因此任何函数都可以作为单独文件形式存在。

13、


c语言中scanf函数不读入键盘输入的空格,且"%d,%d"两个%d用逗号隔开,因此我们在键盘上输入时也要与其保持一致,输入逗号

14、已知:int x=1,y=2,z=3;则值不为0的表达式是(ABD

A. x<=y

B. x&&y

C. !((x

D. x||y+z&&y-z

A,B自然不用说

C,可以写成!(1&&0||1),也就是!(0||1),然后就是!1,最后就是0;

D,可以写成1||5&&-1;也就是1&&-1;就是1;在c语言中-1也为真,只有0才是假

15、


AB)赋值表达式不难选出

但在这里我想谈一下A选项的表达式的值

先执行括号,a=3;然后从右向左a-=30;然后a+=0;还是0,故a最后为0

判断题:

1、(double)a乘以2是把a乘以2的结果强制转换为双精度浮点型。( 错误 )

题目解释的意思是(double)(a2)

(double)a2是先将a转化为double型,然后乘以2

2、自动类型变量可以定义在函数体外,这时应加说明符auto。( 错误 )

首先auto为函数内用于声明变量是自动类型的变量的关键字

extern声明外部变量,目的是可以在其它的文件中调用

3、使用sizeof运算符可以求得某种类型和某个变量在内存中占的字节数,不能求得某个表达式的类型在内存中所占的字节数。( 错误 )

电话咨询