1 / 13
文档名称:

清华c语言期末测试题精选.docx

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

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

分享

预览

清华c语言期末测试题精选.docx

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

下载得到文件列表

清华c语言期末测试题精选.docx

相关文档

文档介绍

文档介绍:该【清华c语言期末测试题精选 】是由【】上传分享,文档一共【13】页,该文档可以免费在线阅读,需要了解更多关于【清华c语言期末测试题精选 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。清华c语言期末测试题
第一部分 单选题(50题)
1、以下循环中,循环次数为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。
2、若inta=10;执行if(a%2==0)printf("偶数");elseprintf("奇数");输出结果是?( )




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




【答案】:答案解析:初始化时未赋值的元素默认为0,a[3]=0,故选A。
4、以下哪个转义字符表示制表符?( )
A.\n
B.\t
C.\b
D.\r
【答案】:答案解析:\t是制表符(Tab),\n换行,\b退格,\r回车,故选B。
5、若charstr[]="Clanguage";则字符串长度是?( )




【答案】:答案解析:字符串长度以\0结束,"Clanguage"含10个字符(不含\0),故选A。
6、以下switch语句中,default的位置可以在?( )




【答案】:答案解析:default位置灵活,可在case前、后或中间,不影响执行逻辑,故选D。
7、若inti=0;执行while(1){printf("%d",i);i++;if(i==3)break;}输出结果是?( )




【答案】:答案解析:while(1)无限循环,i=3时break,输出012,故选A。
8、若inti=0,s=0;执行for(i=1;i<=4;i++)s+=i;后s的值是?( )




【答案】:答案解析:累加1+2+3+4=10,s=10,故选A。
9、若charstr[10]="abcde";则str[5]的值是?( )
A.'e'
B.'\0'


【答案】:答案解析:字符串自动在末尾加\0,str[5]是\0,故选B。
10、预处理命令#?( )




【答案】:答案解析:#define是宏定义,用于定义常量(无分号,直接替换),故选B。
11、以下for循环中,循环变量更新表达式为“i-=2”的是?( )
(i=10;i>0;i-=2)
(i=0;i<10;i+=2)
(i=10;i>0;i--)
(i=0;i<10;i=2)
【答案】:答案解析:i-=2等价于i=i-2,A的更新表达式正确,故选A。
12、若floatx=;则表达式(int)x的结果是?( )




【答案】:答案解析:强制转换为int取整数部分,→3,故选A。
13、数组在内存中的存储方式是?( )




【答案】:答案解析:数组元素在内存中连续存放,便于通过下标访问,故选B。
14、若inta[4]={10,20,30,40};则a+1表示?( )




【答案】:答案解析:a是首地址(a[0]=10),a+1是a[1](20)的地址,故选B。
15、C语言程序编译的正确顺序是?( )
→编译→汇编→链接
→预处理→汇编→链接
→汇编→编译→链接
→编译→汇编→预处理
【答案】:答案解析:C程序编译流程为预处理(处理#命令)→编译(生成汇编代码)→汇编(生成目标文件)→链接(生成可执行文件),故选A。
16、C语言中,注释的正确写法是?( )
A.//单行注释
B./*多行注释/
C.--注释

【答案】:答案解析:C语言支持//单行注释和/...*/多行注释,--不是注释符号,故选D。
17、函数的形参在______时分配内存?( )




【答案】:答案解析:形参是局部变量,函数调用时分配内存,调用结束释放,故选C。
18、若inti=0,s=0;执行for(i=0;i<4;i++)s+=i;后s的值是?( )




【答案】:答案解析:累加0+1+2+3=6,s=6,故选A。
19、函数声明的作用是?( )




【答案】:答案解析:函数声明用于向编译器说明函数名、参数、返回类型(确保调用正确),定义才是实现功能,故选A。
20、若charstr="hello";则str[1]的值是?( )
A.'h'
B.'e'
C.'l'
D.'\0'
【答案】:答案解析:str是字符串首地址,str[1]等价于(str+1),值为'e',故选B。
21、以下数组定义中,可省略数组长度的是?( )
[5];
[]={1,2,3};
[5]={1,2,3};
[][3];
【答案】:答案解析:初始化时可省略长度(编译器自动计算),D二维数组第二维不能省略,故选B。
22、putchar()函数的功能是?( )




【答案】:答案解析:putchar()用于输出单个字符,getchar()读取单个字符,puts()输出字符串,故选B。
23、以下哪个if语句的条件是“x是偶数且x大于10”?( )
(x%2==0&&x>10)
(x%2=0&&x>10)
(x%2==0||x>10)
(x%2=0||x>10)
【答案】:答案解析:偶数判断用x%2==0,逻辑与用&&,B是赋值,C、D是逻辑或,故选A。
24、若inti=0;执行for(i=1;i<=5;i++){if(i%3==0)continue;printf("%d",i);}输出结果是?( )




【答案】:答案解析:i=3时continue,跳过printf,输出1、2、4、5,故选A。
25、以下哪个表达式可访问数组a的第i个元素(i从1开始)?( )
[i]
[i-1]
C.*(a+i)
D.*(a+i-1)
【答案】:答案解析:数组下标从0开始,第i个元素对应下标i-1,a[i-1]正确,C、D是指针访问(对应下标i),故选B。
26、以下关于数组的说法正确的是?( )




【答案】:答案解析:数组下标从0开始,数组名是常量(不可赋值),元素类型必须相同,长度定义后固定,故选C。
27、若charc='A';执行c=c+32后,c的值是?( )
A.'a'
B.'B'


【答案】:答案解析:大写字母ASCII码比对应小写字母小32,'A'(65)+32='a'(97),故选A。
28、数组名作为函数参数时,函数形参的正确写法是?( )
[]
*a
[5]

【答案】:答案解析:数组形参可写为inta[]、int*a(指针)、inta[5](长度可忽略),本质均为指针,故选D。
29、二维数组a[3][4]的元素个数是?( )




【答案】:答案解析:3行4列,共3×4=12个元素,故选B。
30、函数返回值通过______语句返回?( )




【答案】:答案解析:return语句用于函数返回值,printf输出,scanf输入,break跳出循环/switch,故选C。
31、若inta=5,b=3;执行if(a>b){a--;b++;}后a和b的值分别是?( )
,4
,3
,3
,4
【答案】:答案解析:a>b为真,执行代码块,a=5-1=4,b=3+1=4,故选A。
32、若inta[3][3]={{1},{2,3},{4,5,6}};则a[1][0]的值是?( )




【答案】:答案解析:a[1][0]是第二行第一列,值为2,故选A。
33、以下数组初始化中,未赋值元素默认为0的是?( )
[5]={1,2,3};
[5];
[5];

【答案】:答案解析:全局数组未初始化默认为0,局部数组未初始化是随机值,A初始化部分元素,未赋值默认为0,故选A。
34、若inta[3][3]={{1,2},{3,4},{5,6}};则a[1][1]的值是?( )




【答案】:答案解析:a[1][1]是第二行第二列,值为4,故选B。
35、若inti=1;执行while(i<=3){printf("%d",i);i++;}输出结果是?( )




【答案】:答案解析:i初始1,满足i<=3,执行3次,输出123,i最终4,循环结束,故选A。
36、定义整型变量x、y并均赋值10的语句是?( )
=y=10;
=10,y=10;
=10;y=10;
=10;inty=10;
【答案】:答案解析:同一行定义多个变量用逗号分隔,A不能连续赋值,C缺少int,D是两行定义,故选B。
37、以下if-else语句的语法错误是?( )
(x>0)printf("a");elseprintf("b");
(x>0){printf("a");}else{printf("b");}
(x>0)printf("a");else;printf("b");
(x>0){printf("a");}elseprintf("b");
【答案】:答案解析:else后不能直接加分号(否则else无作用),C中else;后printf独立执行,故选C。
38、逻辑表达式3&&0的结果是?( )




【答案】:答案解析:逻辑与&&只要有一个operand为0则结果为0,3为真,0为假,故选A。
39、以下关于二维数组的说法正确的是?( )




【答案】:答案解析:二维数组本质是数组的数组,内存按行存储,可作为函数参数,长度需常量,故选A。
40、以下switch语句中,default的作用是?( )




【答案】:答案解析:default用于匹配所有case未覆盖的情况,可选且位置灵活,故选B。