1.将字符 ’g?'赋给字符变量?C?,正确的表c)。
?B?.?C?=101
D.?C?='\0147'
?C?.?C?=‘\147'
解析:反斜杠带数字为8进制
2.下面四个选项中,均是不合法的实数的选项是(B)。
?A?.? 160.? ?0.12? ?e3
?B?.? 123? ?2e4.2? ?.e5
?C?.? -.18? ?123e4? ?0.0
?D?.? -e3? ?.234? ?1e3
解析: A。0.12对
C。0.0对
D。1E3对
3.以下程序的执行结果是(D
)。
# include?"?stdio?.?h?"
?void?main?()
{?int?x =2,?y =3;
?printf?("?x =%%?d?,?y =%%?d\n?",?x?,?y?);)
?A?.?x?=%2,?y =%3
?C?.?x?=2,?y?=3
?B?.?x?=%%?d?,?y =%%?d?
?D?.?x?=%?d,y?=%?d
4.int?x?=5;?int?y?=2+(?x?+=?x?++,?x?+8,++?x?);?printf?("%?d?",?y?);?程序的结果为14
解析:这个题目与逗号表达式以及++运算有关系.
首先?x?+=?x?++,?x?+8,++?x?这个表达式可以成?x?+=?X?++,++?X 。
然后从右往左来:++?x?得到?x?=6;
继续?x?+=?x?++得到?x?+=6从而?x?=12
从而?x?+=?x?++,?X?+8,++?x?表达式的值为12
?y?=2+(?x?+=?x?++,?x?+8,++?x?)=14;
所以输出结果是14
?
5.与?while?(1)(语句体:)等价的语句体为(C)
?A?.?for?(?i?=1;<5;;)(语句体;}
?C?.?for?(?i?=1:;?i?++)(语句体;)
?B?.?for?(;?i?≤5;?i?++)(语句体;)
?D?.?for?(?i?=1;?i?<5;?i?++){语句体;}
?
6.以下正确的说法是 B
?A?.用户若需调用标准库函数,调用前必须重新定义?
B?.用户可以重新定义标准库函数,若如此,该函数将失去原有含义
?C?.系统根本不允许用户重新定义标准库函数
?D?.用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动调用
解析:用户调用标准库函数前不必重新定义,而只需使用预编译命令将该函数所在文件包括到用户源文件中即可。而且,系统允许用户重新定义标准库函数,但此时该函数将失去原有含义。因此,正确答案为选项?B?
?
7.以下对?C?语言中共用体类型数据的正确叙述是_C
?A?.可以对共用体变量名直接赋值?
B?.一个共用体变量中可以同时存放其所有成员?
C?.一个共用体变量中不能同时存放其所有成员?
D?.共用体类型定义中不能出现结构体类型的成员
解析?共用体变量中的所有成员共享一段公共存储区,并非同时存放于共用体变量中,如共用体变量中有两个成员,?int?型成员占两个字节,?float?型成员占4个字节,则该共用体变量占4个字节,并非2+4=6个字节。