本篇是这几天总结的C语言易错概念题,这些题往往就是因为概念不清而做错,而当我们对概念非常熟练时,又可以秒选。这些题其实都是强行记住就行了,概念不清也就是没记住嘛,因为这种题失分简直就太不值得了,因此有必要自己总结一下,提醒自己不要再错。
1、若有定义语句:double a, *p=&a ; 以下叙述中错误的是
A)定义语句中的 * 号是一个说明符
B)定义语句中的 * 号是一个间址运算符
C)定义语句中,*p=&a把变量a的地址作为初值赋给指针变量p
D)定义语句中的p只能存放double类型变量的地址
标准答案:B(取值的时候才是)
2、以下叙述中错误的是
A)用户定义的函数中若没有return语句,则应当定义函数为void类型
B)函数的return语句中可以没有表达式
C)用户定义的函数中可以没有return语句
D)用户定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值
标准答案:D(不是为了返回多个函数值,只有第一个返回值有效)
3、 以下叙述中正确的是
A 即使不进行强制类型转换,在进行指针赋值运算时,指针变量的基类型也可以不同
B指针变量之间不能用关系运算符进行比较
C 设置p是一个指针变量,则语句p==0;是非法的,应使用p = NULL
D 如果企图通过一个空指针来访问一个存储单元,将会得到一个错误信息
答案:D
4、以下叙述中正确的是
A 数组下标的下限由数组中第1个被赋值元素的位置决定
B 数组下标的下限是1
C 数组元素的下标下限由第一个非零元素的位置决定
D char c1,c2,*c3,c4[40];是合法的变量定义语句
答案:D
5、 以下叙述中正确的是
A设有指针变量double *p,则p+1将指针p移动8个字节
B函数的形参类型不能使指针类型
C基类型不同的指针变量可以相互混用
D函数的类型不能是指针类型
答案:A
6、有 int func(int a[10], int n);则以下叙述中正确的是
A 说明中的a[10]改为a[]或a效果完全一样
B func函数中不能对a进行移动指针(如a++)的操作
C 只有指向10个整数内存单元的指针,才能作为实参传递给形参
D 形参a对应的实参只能是