文档介绍:该【2026年贵州大学c语言期末试题(有一套) 】是由【闰土】上传分享,文档一共【13】页,该文档可以免费在线阅读,需要了解更多关于【2026年贵州大学c语言期末试题(有一套) 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。2026年贵州大学c语言期末试题
第一部分 单选题(50题)
1、若inta[3]={1,2,3},p=a;则(p+2)的值是?( )
【答案】:答案解析:p+2指向a[2],解引用*(p+2)=a[2]=3,故选C。
2、若inta[5]={1,2,3};则a[3]的值是?( )
【答案】:答案解析:初始化时未赋值的元素默认为0,a[3]=0,故选A。
3、若inta[4]={1,2,3,4};则*(a+1)的值是?( )
【答案】:答案解析:a是首地址,a+1是第二个元素地址,*(a+1)=a[1]=2,故选B。
4、若inta=8;执行if(a%4==0)a=a/2;elsea=a+2;后a的值是?( )
【答案】:答案解析:8%4=0,条件为真,a=8/2=4,故选A。
5、表示“x大于5且小于10”的合法C语言表达式是?( )
<x<10
>5||x<10
>5&&x<10
>5&x<10
【答案】:答案解析:逻辑与用&&,逻辑或用||,A是连续比较语法错误,&是按位与,故选C。
6、若inti=0;执行while(1){if(i==3)break;printf("%d",i);i++;}输出结果是?( )
【答案】:答案解析:while(1)是无限循环,i=3时break,输出012,故选A。
7、若inta[5]={10,20,30,40,50};则a[2]的值是?( )
【答案】:答案解析:数组下标从0开始,a[2]是第三个元素30,故选C。
8、以下数组定义错误的是?( )
[0];
[5];
[]={1,2,3};
[5]={1,2,3};
【答案】:答案解析:数组长度不能为0,编译报错,其余正确,故选A。
9、shortint类型的有符号取值范围是?( )
~65535
B.-32768~32767
C.-2147483648~2147483647
【答案】:答案解析:16位shortint有符号取值标准为-32768~32767,无符号为0~65535,故选B。
10、表达式5>3&&2<4的结果是?( )
【答案】:答案解析:5>3为真(1),2<4为真(1),逻辑与&&结果为1,故选B。
11、若inti=0;执行do{i++;printf("%d",i);}while(i<3);输出结果是?( )
【答案】:答案解析:do-while先执行,i从1到3,输出123,故选A。
12、若charstr[]="Clanguage";则字符串长度是?( )
【答案】:答案解析:字符串长度以\0结束,"Clanguage"含10个字符(不含\0),故选A。
13、以下循环中,循环次数为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。
14、若inta[4]={1,2,3,4},p=a;执行p++后,*p的值是?( )
【答案】:答案解析:*p++先解引用(值为1),再p自增(指向a[1]),*p=2,故选B。
15、若inti=5,s=0;执行while(i>0){s+=i;i--;}后s的值是?( )
【答案】:答案解析:累加5+4+3+2+1=15,s=15,故选A。
16、以下关于指针的说法正确的是?( )
【答案】:答案解析:指针在数组遍历、字符串处理、参数传递中均有核心作用,故选D。
17、若intx=3,y=5;则表达式x>y?x:y的结果是?( )
【答案】:答案解析:三元运算符格式“条件?值1:值2”,x>y为假,取y=5,故选B。
18、若inta[3][3]={{1,2,3},{4,5,6},{7,8,9}};则a[1][2]的值是?( )
【答案】:答案解析:a[1][2]是第二行第三列,值为6,故选B。
19、以下哪个关键字用于定义整型变量?( )
【答案】:答案解析:int定义整型,char字符型,float单精度浮点型,double双精度浮点型,故选B。
20、若charstr="abcde";则(str+4)的值是?( )
A.'d'
B.'e'
C.'\0'
【答案】:答案解析:str+4指向第5个字符,值为'e',故选B。
21、以下关于数组越界的说法正确的是?( )
【答案】:答案解析:数组越界属于未定义行为,编译时不报错,运行时可能正常或崩溃,故选C。
22、以下switch语句中,default的位置可以在?( )
【答案】:答案解析:default位置灵活,可在case前、后或中间,不影响执行逻辑,故选D。
23、若inti=0;执行while(i<5){i++;if(i==3)continue;printf("%d",i);}输出结果是?( )
【答案】:答案解析:i=3时continue,跳过printf,输出1、2、4、5,故选A。
24、以下函数声明错误的是?( )
(int);
(inta);
(inta,intb);
(inta;intb);
【答案】:答案解析:函数声明中参数用逗号分隔,不能用分号,D语法错误,故选D。
25、以下函数定义正确的是?( )
(){printf("hello");}
(inta){printf("%d",a);}
(){return5;}
【答案】:答案解析:A无参无返回值,B有参无返回值,C无参有返回值,均符合语法,故选D。
26、数组元素的下标从______开始?( )
C.-1
【答案】:答案解析:C语言数组下标从0开始,是固定规则,故选A。
27、若inta=3;执行a+=aa;后a的值是?( )
【答案】:答案解析:优先级先乘后加,a+=aa等价于a=a+(aa)=3+(33)=12,故选A。
28、若inti=1;执行do{printf("%d",i);i++;}while(i<=3);输出结果是?( )
【答案】:答案解析:do-while先执行一次(输出1,i=2),再判断,共执行3次,输出123,故选A。
29、若inta=10,b=20,*p=&a,q=&b;执行p=q;后p的值是?( )
C.&a
D.&b
【答案】:答案解析:p=q使p指向b,*p=b=20,故选B。
30、若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。
31、以下关于指针数组的定义正确的是?( )
*arr[5];
(*arr)[5];
[5];
[];
【答案】:答案解析:A是指针数组(5个int指针),B是指向数组的指针,C是普通数组,D缺少长度,故选A。
32、若inta=2;执行a*=a+3;后a的值是?( )
【答案】:答案解析:a*=a+3等价于a=a*(a+3)=2*(2+3)=10,故选B。
33、若inti=0;执行do{i++;printf("%d",i);}while(i<=2);输出结果是?( )
【答案】:答案解析:do-while执行3次,i=1、2、3,输出123,故选A。
34、以下指针的算术运算中,单位是?( )
【答案】:答案解析:指针算术运算(如p++)偏移量是指向类型的大小(如int指针+1偏移4字节),故选B。
35、函数定义和函数声明的区别是?( )
,声明不包含
,定义不包含
,声明在结尾
【答案】:答案解析:函数定义是完整实现(含函数体),声明是告诉编译器函数名、参数、返回类型(不含函数体),故选A。
36、以下哪个条件表达式表示“x是奇数”?( )
%2==0
%2!=0
==0
!=0
【答案】:答案解析:奇数除以2余数为1,x%2!=0表示奇数,A是偶数,故选B。
37、若inta=3;执行if(++a>3)printf("A");elseprintf("B");输出结果是?( )
【答案】:答案解析:++a是前置自增,a变为4>3,条件为真,输出A,故选A。
38、转义字符\0的作用是?( )
【答案】:答案解析:\0ASCII码为0,是字符串默认结束标志,不计入长度,故选C。
39、若intx=3;执行以下代码后a的值是?( )inta;if(x>5)a=10;elseif(x>2)a=20;elsea=30;
【答案】:答案解析:x=3>2,执行第二个分支,a=20,故选B。
40、指针作为函数返回值时,不能返回?( )
【答案】:答案解析:局部变量在函数调用结束后释放,返回其地址会导致野指针,故选D。