1 / 13
文档名称:

贵州大学c语言期末试题及答案(全国通用).docx

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

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

分享

预览

贵州大学c语言期末试题及答案(全国通用).docx

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

下载得到文件列表

贵州大学c语言期末试题及答案(全国通用).docx

相关文档

文档介绍

文档介绍:该【贵州大学c语言期末试题及答案(全国通用) 】是由【】上传分享,文档一共【13】页,该文档可以免费在线阅读,需要了解更多关于【贵州大学c语言期末试题及答案(全国通用) 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。贵州大学c语言期末试题
第一部分 单选题(50题)
1、以下数组定义中,正确的是?( )
[5];
[5]={1,2,3,4,5};
[]={1,2,3,4,5};

【答案】:答案解析:A、B、C均符合数组定义规则,故选D。
2、若inti=1,s=0;执行while(i<=5){s+=i;i++;}后s的值是?( )




【答案】:答案解析:循环累加1+2+3+4+5=15,s=15,故选A。
3、以下哪个是合法的字符常量?( )
A."a"
B.'ab'
C.'a'

【答案】:答案解析:字符常量用单引号包裹单个字符,A是字符串,B是两个字符(错误),D是标识符,故选C。
4、以下关于函数参数的说法正确的是?( )




【答案】:答案解析:A、B、C均是函数参数的基本规则,故选D。
5、若inti=0;执行while(1){printf("%d",i);i++;if(i==3)break;}输出结果是?( )




【答案】:答案解析:while(1)无限循环,i=3时break,输出012,故选A。
6、递归函数的优点是?( )
,逻辑清晰
,占用内存少


【答案】:答案解析:递归优点是代码简洁(如阶乘、斐波那契数列),缺点是效率低、占用栈空间多(可能溢出),故选A。
7、若intx=4;执行switch(x){case2:printf("2");break;default:printf("0");case4:printf("4");break;}输出结果是?( )




【答案】:答案解析:x=4匹配case4,执行输出4,break跳出,故选B。
8、若inti=5,s=0;执行while(i>0){s+=i;i--;}后s的值是?( )




【答案】:答案解析:累加5+4+3+2+1=15,s=15,故选A。
9、以下字符串数组定义正确的是?( )
[5][10]={"hello","world"};
[5][]={"hello","world"};
[][10]={"hello","world","!"};
[5][10]={"hello","world","!"};
【答案】:答案解析:B第二维不能省略,A、C、D均正确?D最完整(5行10列,初始化3个字符串),故选D。
10、若inti;执行for(i=0;i<5;i++)printf("%d",i);输出结果是?( )




【答案】:答案解析:for循环初始化i=0,条件i<5(成立时执行),每次循环后i++,执行5次,输出01234,故选A。
11、以下数组初始化正确的是?( )
[]="hello";
[5]="hello";
[]={'h','e','l','l','o'};
[5]={'h','e','l','l','o','\0'};
【答案】:答案解析:A字符串自动加\0,B长度5不足以存hello(含\0共6个字符),C无\0(字符串不完整),D长度5超,故选A。
12、若inta=6;执行a/=3;后a的值是?( )




【答案】:答案解析:a/=3等价于a=a/3=6/3=2,故选A。
13、若intx=5;则表达式x+++x的结果是?( )




【答案】:答案解析:结合性从左到右,x+++x等价于(x++)+x=5+6=11,故选B。
14、以下哪个是NULL指针?( )
*p=0;
*p=NULL;
=(char)0;

【答案】:答案解析:NULL指针是不指向任何有效地址的指针,三种写法均正确,故选D。
15、若inta[5];执行a[0]=1;a[1]=2;则a[2]的值是?( )




【答案】:答案解析:全局数组默认0,局部数组未初始化是随机值?题目未说明存储类别,通常默认全局,a[2]=0,故选A。
16、若intx=10,y=20;则表达式x!=y的结果是?( )




【答案】:答案解析:!=是不等于判断,x!=y为真,C语言中真用1表示,故选B。
17、以下哪个是C语言中的赋值运算符?( )
A.==
B.=
C.+=
D.!=
【答案】:答案解析:=是赋值运算符,==是等于判断,+=是复合赋值,!=是不等于判断,故选B。
18、函数参数为数组时,形参的写法错误的是?( )
[]
*a
[5]

【答案】:答案解析:D中inta是普通变量,不能接收数组名(地址),A、B、C均正确,故选D。
19、C语言中,语句结束的标志是?( )




【答案】:答案解析:C语言单条语句以分号(;)结尾,复合语句用{}包裹,故选B。
20、若inta[3][3]={{1,2,3},{4,5,6},{7,8,9}};则a[1][2]的值是?( )




【答案】:答案解析:a[1][2]是第二行第三列,值为6,故选B。
21、C语言程序编译的正确顺序是?( )
→编译→汇编→链接
→预处理→汇编→链接
→汇编→编译→链接
→编译→汇编→预处理
【答案】:答案解析:C程序编译流程为预处理(处理#命令)→编译(生成汇编代码)→汇编(生成目标文件)→链接(生成可执行文件),故选A。
22、以下哪个操作会导致野指针?( )




【答案】:答案解析:野指针是指向无效地址的指针,A、B、C均会导致野指针,故选D。
23、以下指针运算中,结果为指针的是?( )
A.*p
+1
C.&a

【答案】:答案解析:p+1是指针偏移,&a是取地址,结果均为指针;*p是解引用(获取值),故选D。
24、函数定义和函数声明的区别是?( )
,声明不包含
,定义不包含

,声明在结尾
【答案】:答案解析:函数定义是完整实现(含函数体),声明是告诉编译器函数名、参数、返回类型(不含函数体),故选A。
25、指针与结构体的关系,以下说法正确的是?( )
->访问成员
。访问成员


【答案】:答案解析:A、B、C均是结构体与指针的基本规则,故选D。
26、do-while循环中,循环体至少执行几次?( )




【答案】:答案解析:do-while“先执行后判断”,无论条件是否满足,循环体至少执行一次,故选B。
27、以下哪个字符串的长度是3?( )
A."abc"
B."a\0b"
C."ab\n"
D."ab"
【答案】:答案解析:字符串长度以\0结束,"abc"含a、b、c(3个字符),"a\0b"长度为1,故选A。
28、以下函数递归调用的例子是?( )




【答案】:答案解析:阶乘常用递归实现(n!=n*(n-1)!),B、C、D用循环更高效,故选A。
29、定义整型变量x、y并均赋值10的语句是?( )
=y=10;
=10,y=10;
=10;y=10;
=10;inty=10;
【答案】:答案解析:同一行定义多个变量用逗号分隔,A不能连续赋值,C缺少int,D是两行定义,故选B。
30、以下if-elseif语句的执行逻辑是?( )if(x<0)printf("负");elseif(x==0)printf("零");elseprintf("正");




【答案】:答案解析:if-elseif是互斥分支,仅执行第一个满足条件的分支,故选B。
31、若intx=6;执行if(x<5)printf("A");else{printf("B");printf("C");}输出结果是?( )




【答案】:答案解析:x=6不满足if,执行else代码块,输出BC,故选B。
32、以下哪个条件表达式表示“x是奇数”?( )
%2==0
%2!=0
==0
!=0
【答案】:答案解析:奇数除以2余数为1,x%2!=0表示奇数,A是偶数,故选B。
33、以下定义函数指针正确的是?( )
(*fp)(int);
*fp(int);
(int);
(fp)[];
【答案】:答案解析:A是指向int返回值、int参数的函数指针,B是返回int的函数,C是普通函数,D是指向数组的指针,故选A。
34、以下哪个函数用于输出字符串?( )
()
()
()
()
【答案】:答案解析:printf()可输出字符串(如printf("hello");),putchar()输出单个字符,故选B。
35、以下for循环的语法错误是?( )
(inti=0;i<5;i++)printf("%d",i);
(i=0;i<5;i++)printf("%d",i);
(;i<5;i++)printf("%d",i);
(i=0;;i++)printf("%d",i);
【答案】:答案解析:B中i未定义(需先声明inti;),A(C99标准允许循环内定义)、C(初始化省略)、D(条件省略,无限循环)语法均正确,故选B。
36、以下指针运算中,结果为值的是?( )
A.*p
+1
C.&a
-2
【答案】:答案解析:*p是解引用,获取指针指向变量的值,B、C、D结果均为指针,故选A。
37、以下函数调用错误的是?( )
();
(5);
(3,4);
(需看函数定义)
【答案】:答案解析:调用需匹配函数定义,A对应无参函数,B对应单参函数,C对应双参函数,均可能正确,故选D。
38、转义字符\0的作用是?( )




【答案】:答案解析:\0ASCII码为0,是字符串默认结束标志,不计入长度,故选C。
39、逻辑表达式3&&0的结果是?( )




【答案】:答案解析:逻辑与&&只要有一个operand为0则结果为0,3为真,0为假,故选A。
40、若inta=5,p=&a;则&p的值是?( )

B.&a


【答案】:答案解析:*&p等价于p,即指针p自身的值(a的地址),故选C。