C语言试题库(带答案解析)~排版
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、选择题
1、以下不能定义为用户标识符的是( )。 (A) MAIN (B) _HJ
(D) LINE1 2、以下不能定义为用户标识符的是( ) (A) If
(B) H_J (D) LINE12 3、下面属于C 语言标识符的是( )。 (A) 2ab (B) @f
(C) b 4、下列符号中用来表示C 语言中的回车换行的是( )。 (A) \r
(C) \b (D) \t 5、在计算机系统中,可执行程序是( ) (A)
源代码
(B)汇编语言代码
(D) ASCII 码
6、在Visual C++ 环境下,C 源程序文件名的默认后缀是(
)。 (A) .obj (B) .txt (D) .doc
7、Microsoft Visual C++ 中,C 语言可执行程序的扩展名是:( )
(B) obj (C) c 或cpp (D) txt 8、C 程序由(
)组成。
(A)子程序 (B) 主程序和子程序 (D) 过程 9、C 程序的基本组成单位(
)。
(A) 数据类型 (B) 变量和常量 (D) 表达式 10、C 语言中主函数的个数是( )。
(A) 2个 (C) 任意个 (D) 10个 11、一个
C 程序的执行是从( ) (B)本程序文件的第一个函数开始,到本程序文件最后一个函数结束. (C)本程序文件的第一个函数开始,到本程序main 函数结束. (D)
本程序的main()函数开始,到本程序文件的最后一个函数结束. 12、以下叙述正确的是
(A)在C 语言程序中,main 函数必须放在其他函数的最前面 (C)在C 语言程序中,只有main 函数才可单独进行编译 (D)每个后缀为.C 的C 语言源程序都应该包含一个main 函数
13、设变量a 是整型,b 是实型,c 是双精度型,则表达式2+’a’+b*c 值的数据类型是(
)。
(A) int (B) float 14、以下选项中表示一个合法的常量是(说明:符号□表示空格)
A) 9□9□9 C) D)
15、以下选项中非法的字符常量是
A)'\102' B)'\65' C)'\xff' 16、以下选项中,能表示逻辑值“假”的是
A)1 B) D)
17、下列关系表达式中,结果为“假”的是 A)(3+4)>6 C) 3<=4||3 D)(3<4)==1 18、关于C 语言变量,以下说法不正确的是(
) (A) 变量名由程序员定义,必须符合标识符的命名规则。 (B) 变量是程序运行过程中其值可以改变的量。
(D) 变量命名时应尽量做到见名知意。 19、关于C 语言中数的表示,以下叙述正确的是
B)只要在在允许范围内整型和实型都能精确表示
C)只有实型数在允许范围内能精确无误的表示,整型数会有误差 D)只有八进制表示的数在不会有误差
20、设有语句int a=3;,则执行了语句a+=a=a*a;后,变量a 的值是 。 A .3
B .0
C .9 21、在C 语言中,要求运算数必须是整型的运算符是 。
B ./
C .<
D .!
22、C 语言中最简单的数据类型包括 。
A .整型、实型、逻辑型 C .整型、字符型、逻辑型
D .整型、实型、逻辑型、字符型
23
、在C 语言中,合法的字符型常量是 。 B ."A" C .65 D .A
24、若已定义x 和y 为double 型变量,则表达式x=1
,y=x+3/2的值是 。 A .1 B .2 D .
25、设正x 、y
均为整型变量,且x=10,y=3,则以下语句的输出结果是 。 printf("%d,%d\n",x--,--y);
A .10,3
B .9,3
C .9,2 26、若有定义int a=8,b=5,C;,执行语句C=a/b+;后,C 的值为
。 A . C . D .2
27、以下选项中,不正确的赋值语句是 。 A .++t; B .n1=(n2=(n3=0)); C .k=i==j;
28、设x 和y 均为
int 型变量,则语句:x+=y,y=x-y;x-=y;的功能是 。 A .把x 和y 按从大到小的顺序排列 B .把x 和y 按从小到大的顺序排列 C .无确定结果 29、以下程序的输出结果是 。 #include <> main() {
char c='z'; printf("%c",c-25); }
B .Z
C .z-25
D .y
30、已知字母A 的ASCII 码为十进制数的65,以下程序的输出结果是 。
#include <> main() {
char ch1,ch2;
ch1='A'+'5'-'3'; ch2='A'+'6'-'3';
printf("%d,%c\n",ch1,ch2);
B .B,C
C .C,D
D .不确定的值
31、若k 是int 型变量,则以下程序片段的输出结果是 。
k=-3;
if(k<=0) printf("####"); printf("&&&&"); B .&&&&
C .####&&&&
D .有语法错误,无输出结果
32、关于以下程序,说法正确的是 。
#include <> main()
{ int x=3,y=0,z=0;
if(x=y+z) printf("* * * *"); else printf("# # # #"); }
A .有语法错误不能通过编译
B .输出* * * *
33、若要求在if 后一对圆括号中表示a 不等于0的关系,则能正确表示这一关系的表达式为 。
A .a<>0
B .!a
C
.a=0
34
z 的C 语言表达式是 。
B .(x<=y)and(y<=z)
C .(x<=y<=z)
D .(x<=y)&(y<=z) 35、能正确表示逻辑关系a ≥10或a ≤0的C 语言表达式是 。
A .a>=10 or a<=0 C .a>=10 &&a<=0
36、若变量c 为char 型,能正确判断出
c 为小写字母的表达式是 。
A .'a'<=c<= 'z'
C .('a'<=c)and ('z'>=c) 37、语句while(E);中的条件
E 等价于 。A .E==0 B .E!=1 D .~E 38
中的条件!E 等价于 。
B .E!=1
C .E!=0
D .~E
39、以下程序片段的输出结果是
。
int x=23; do {
printf("%2d",x--); } while(!x); A .打印出321 C .不打印任何内容
D .陷入死循环
40、若i 、j 已定义为int 型变量,则以下程序片段中,内循环体的执行次数
是
。
for(i=5;i;i--)
B .25
C .24
D .30
41、以下程序的输出结果是 。
#include <> main() {
int n=4;
while(n--) printf("%d ",--n);
B .3 1
C .3 2 1
D .2 1 0
42、以下定义语句中,错误的是 。 A .int a[]={1,2};
B .
C .char s[10]="test";
43、设int 型变量占用
4个字节,如有定义int x[10]={0,2,4};,则数组x 在内存中
所占的字节数是 。
A .3
B .12
C .20
44、以下语句的输出结果是 。
B .14
45、以下程序片段的输出结果是 。
char str[]="ab\n\012\\\""; printf(%d",strlen(str)); A .3 B .4
D .12
46、以下数组定义中,不正确的是 。
A .int a[2][3];
B .int b[][3]={0,1,2,3}; 47、以下程序的输出结果是 。
#include <> main() {
int a[4][4]={{1,3,5},{2,4,6},{3,5,7}};
printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0]); B .1470 C .5430
D .不确定的值
48、以下程序的输出结果是 。
#include <> main() {
int aa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}}; int i,s=0; for(i=0;i<4;i++)
s+=aa[i][1]; printf("%d\n",s); }
A .11
.13
D .20
49、以下对C 语言字符数组的描术中,错误的是 。 A .字符数组可以存放字符串
D .不可以用关系运算符对字符数组中的字符串进行比较 50、定义如下变量和数组:
int i;
int x[3][3]={1,2,3,4,5,6,7,8,9}; 以上语句的输出结果是
。
for(i=0;i<3;i++)
printf("%d",x[i][2-i]);
A .1 5 9
B .1 4 7 D .3 6 9
51、不能将字符串:Hello!赋给数组b 的语句是 。
C .char b[10];strcpy(b,"Hello!");
D .char b[10]="Hello!";
52、以下数组定义中,合法的是 。 A .int a[]="string";
C .string s="string"; 53、若有以下定义语句:
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则数值为6的表达式是 。
A .*p+6
B .*(p+6) D .p+5
54、若有以下定义语句:
int w[3][4]={{0,1},{2,4},{5,8}}; int(*p)[4]=w;
则数值为4的表达式是 。
A .*w[1]+1
B .p++,*(p+1)
C .w[2][2]
55、若有以下定义语句:
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则不能表示a 数组元素的表达式是 。
A .
C .*a
D .a[p-a]
56、下列保留字中用于构成循环结构的是( )
(A) else (C) switch (D) default
57、以下程序运行结果是:( ) (B) 输出5次“你好,中国!”
(C) 没有任何输出 (D) 编译错误,不能运行 #include<> main() { while(5)