1 / 13
文档名称:

c语言编程期末测试题(典型题).docx

格式:docx   大小:40KB   页数:13
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

c语言编程期末测试题(典型题).docx

上传人:min 2026/1/30 文件大小:40 KB

下载得到文件列表

c语言编程期末测试题(典型题).docx

相关文档

文档介绍

文档介绍:该【c语言编程期末测试题(典型题) 】是由【min】上传分享,文档一共【13】页,该文档可以免费在线阅读,需要了解更多关于【c语言编程期末测试题(典型题) 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。c语言编程期末测试题
第一部分 单选题(50题)
1、以下函数返回值类型为int的是?( )
(){return;}
(){;}
(){return5;}
(){return'a';}
【答案】:答案解析:A返回值类型void(不能return表达式),B返回类型int(),C返回类型float,D返回类型char,故选B。
2、若inta[4]={1,2,3,4};则a[3]的值是?( )




【答案】:答案解析:a[3]是第四个元素,值为4,故选B。
3、若inta[3][3]={{1,2,3},{4,5,6},{7,8,9}};则a[1][2]的值是?( )




【答案】:答案解析:a[1][2]是第二行第三列,值为6,故选B。
4、若intx=2;执行switch(x){default:printf("0");case1:printf("1");break;case2:printf("2");case3:printf("3");}输出结果是?( )




【答案】:答案解析:x=2匹配case2,无break,穿透到case3,输出23,故选B。
5、以下哪个转义字符表示制表符?( )
A.\n
B.\t
C.\b
D.\r
【答案】:答案解析:\t是制表符(Tab),\n换行,\b退格,\r回车,故选B。
6、以下哪个是C语言的循环语句?( )




【答案】:答案解析:C语言循环语句包括for、while、do-while,if/else是选择语句,switch是多分支选择语句,故选B。
7、若inta[3][2]={{1,2},{3,4},{5,6}};则a[2][1]的值是?( )




【答案】:答案解析:a[2][1]是第三行第二列,值为6,故选B。
8、以下switch语句语法错误的是?( )
(x){case1:printf("1");break;}
(x){case'a':printf("a");break;}
(x){:printf("");break;}
(x){default:printf("0");}
【答案】:答案解析:case后必须是整型常量,,语法错误,故选C。
9、若inti=0;执行while(i<5){i++;if(i==3)continue;printf("%d",i);}输出结果是?( )




【答案】:答案解析:i=3时continue,跳过printf,输出1、2、4、5,故选A。
10、下列变量定义语法正确的是?( )
=5;
=b=5;
;
;b;
【答案】:答案解析:B不能连续赋值定义,C标识符开头错误,D分号分隔需分别定义(inta;intb;),故选A。
11、以下哪个条件表达式表示“x是奇数”?( )
%2==0
%2!=0
==0
!=0
【答案】:答案解析:奇数除以2余数为1,x%2!=0表示奇数,A是偶数,故选B。
12、若inta=2,b=4;执行if(a==b)a=0;elseb=0;后a和b的值分别是?( )
,4
,0
,0
,4
【答案】:答案解析:a==b为假,执行else,b=0,a保持2,故选B。
13、数组元素的下标从______开始?( )


C.-1

【答案】:答案解析:C语言数组下标从0开始,是固定规则,故选A。
14、?( )
=;
=;
=;
=;
【答案】:答案解析:float是单精度,需加f后缀(否则默认double),double是双精度,故选B。
15、若inti=0,s=0;执行for(i=1;i<=4;i++)s+=i;后s的值是?( )




【答案】:答案解析:累加1+2+3+4=10,s=10,故选A。
16、若inti=0;执行while(1){if(i==3)break;printf("%d",i);i++;}输出结果是?( )




【答案】:答案解析:while(1)是无限循环,i=3时break,输出012,故选A。
17、若intx=9;执行以下代码后输出结果是?( )if(x>10)printf("A");elseif(x>8)printf("B");elseif(x>6)printf("C");elseprintf("D");



D.
【答案】:答案解析:x=9>8,执行第二个分支,输出B,故选B。
18、以下数组初始化错误的是?( )
[5]={0};
[]={1,2,3};
[5]={1,2,3};
[5]={1,2,3,4,5,6};
【答案】:答案解析:D初始化元素个数超数组长度(5),编译报错,A、B、C正确,故选D。
19、以下if语句中,条件表达式正确的是?( )
(x=5)printf("yes");
(x==5)printf("yes");
(x=5;)printf("yes");
(x==5;)printf("yes");
【答案】:答案解析:if条件需是判断表达式(==),A是赋值,C、D多加分号,故选B。
20、若inti=0;执行for(i=0;i<5;i++){if(i==2)continue;printf("%d",i);}输出结果是?( )




【答案】:答案解析:i=2时执行continue,跳过printf,输出0134,故选A。
21、以下指针运算正确的是?( )
=10,*p=&a;p++;
=10,*p=&a;p=a;
=10,*p=&a;p=&5;
=10,*p=&a;*p=&a;
【答案】:答案解析:A指针p自增(指向a的下一个地址),B不能将int值赋给指针,C不能取常量地址,D不能将地址赋给int变量,故选A。
22、以下关于函数参数的说法正确的是?( )




【答案】:答案解析:形参是函数内局部变量(调用时分配内存,调用结束释放),实参是主调函数中的变量(生命周期与主调函数一致),故选A。
23、以下哪个关键字用于定义整型变量?( )




【答案】:答案解析:int定义整型,char字符型,float单精度浮点型,double双精度浮点型,故选B。
24、数组名的本质是?( )




【答案】:答案解析:数组名是首元素地址(常量,不可修改),故选A。
25、若inta=10;执行if(a%2==0)printf("偶数");elseprintf("奇数");输出结果是?( )




【答案】:答案解析:a=10%2=0,条件为真,输出偶数,故选A。
26、若inta[5]={1,2,3,4,5},p=a;执行p+=2;后p的值是?( )




【答案】:答案解析:p+=2使p指向a[2],*p=3,故选B。
27、若inta=7,b=3;执行if(a%b==1)a=0;elseb=0;后a和b的值分别是?( )
,3
,0
,0
,3
【答案】:答案解析:7%3=1,条件为真,a=0,b保持3,故选A。
28、函数参数的默认值在______指定?( )




【答案】:答案解析:标准C语言不支持函数参数默认值(C++支持),故选D。
29、以下哪个数据类型用于存储单个字符?( )




【答案】:答案解析:char用于存储单个字符(ASCII码),int存储整数,float/double存储浮点数,故选B。
30、以下循环中,循环次数为3次的是?( )
(i=1;i<=3;i++)
(i=3)
{i++;}while(i<3);
(i=5;i>0;i--)
【答案】:答案解析:A执行3次(1-3),B是无限循环,C(i初始0)执行3次,D执行5次,题目问“3次”,A明确正确,故选A。
31、以下数组初始化中,未赋值元素默认为0的是?( )
[5]={1,2,3};
[5];
[5];

【答案】:答案解析:全局数组未初始化默认为0,局部数组未初始化是随机值,A初始化部分元素,未赋值默认为0,故选A。
32、以下if语句中,赋值语句和判断语句混淆的是?( )
(x==5)
(x=5)
(x!=5)
(x>5)
【答案】:答案解析:x=5是赋值(将5赋给x),x==5是判断(x是否等于5),B混淆了两者,故选B。
33、函数调用时,实参的顺序必须与形参的顺序?( )




【答案】:答案解析:实参和形参需按顺序一一对应(类型、个数、顺序匹配),否则可能导致逻辑错误,故选A。
34、若inta=10,*p=&a,q=p;则q的值是?( )

B.&a


【答案】:答案解析:q=p使q指向a,*q=10,故选A。
35、若inta=4;执行a-=2;后a的值是?( )




【答案】:答案解析:a-=2等价于a=a-2,4-2=2,故选A。
36、若intx=10,y=20;则表达式x!=y的结果是?( )




【答案】:答案解析:!=是不等于判断,x!=y为真,C语言中真用1表示,故选B。
37、若intx=1;执行switch(x){case1:printf("1");case2:printf("2");break;case3:printf("3");}输出结果是?( )




【答案】:答案解析:x=1匹配case1,无break,穿透到case2(执行后break),输出12,故选B。
38、函数参数为数组时,形参的写法错误的是?( )
[]
*a
[5]

【答案】:答案解析:D中inta是普通变量,不能接收数组名(地址),A、B、C均正确,故选D。
39、以下循环语句中,执行次数为5次的是?( )
(i=0;i<5;i++)
(i<5){i++;}
{i++;}while(i<5);
(i=1;i<=5;i--)
【答案】:答案解析:A执行5次(0-4),B、C未初始化i(若i初始0则5次,否则不确定),D初始i=1>0,执行0次,故选A。
40、若charc='A';执行c=c+32后,c的值是?( )
A.'a'
B.'B'


【答案】:答案解析:大写字母ASCII码比对应小写字母小32,'A'(65)+32='a'(97),故选A。