文档介绍:该【大学c语言考试题库(各地真题) 】是由【】上传分享,文档一共【13】页,该文档可以免费在线阅读,需要了解更多关于【大学c语言考试题库(各地真题) 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。大学c语言考试题库
第一部分 单选题(50题)
1、若inti=0;执行while(i<5){i++;if(i==3)continue;printf("%d",i);}输出结果是?( )
【答案】:答案解析:i=3时continue,跳过printf,输出1、2、4、5,故选A。
2、若int*p=(int)malloc(sizeof(int));则p的值是?( )
【答案】:答案解析:malloc分配的内存未初始化,值为随机值,故选B。
3、若inta[4]={1,2,3,4};则*(a+1)的值是?( )
【答案】:答案解析:a是首地址,a+1是第二个元素地址,*(a+1)=a[1]=2,故选B。
4、若intx=4;执行if(x++>4)printf("A");elseprintf("B");输出结果是?( )
【答案】:答案解析:x++是后置自增,条件判断时x=4,4>4为假,执行else(输出B),后x变为5,故选B。
5、以下if语句中,条件表达式正确的是?( )
(x=5)printf("yes");
(x==5)printf("yes");
(x=5;)printf("yes");
(x==5;)printf("yes");
【答案】:答案解析:if条件需是判断表达式(==),A是赋值,C、D多加分号,故选B。
6、continue语句只能用于以下哪种结构?( )
【答案】:答案解析:continue仅用于循环语句(for/while/do-while),用于跳过本次循环,故选A。
7、以下字符串常量定义正确的是?( )
[]="C";
[1]='C';
[]={'C'};
[2]={'C','\0'};
【答案】:答案解析:A用双引号定义字符串(自动加\0),B单引号用于字符常量,C无\0,D长度2正确但A更简洁,故选A。
8、以下循环语句中,执行次数为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。
9、函数中局部变量的作用域是?( )
【答案】:答案解析:局部变量定义在函数内,仅在函数内部有效,故选B。
10、以下循环语句中,语法正确的是?( )
(i<5){printf("%d",i);i++;}
(i<5)printf("%d",i);i++;
{printf("%d",i);i++;}while(i<5)
(i=0;i<5)printf("%d",i);
【答案】:答案解析:B中i++在循环体外(循环无限),C缺少分号,D缺少更新表达式,A语法正确,故选A。
11、若inta=3,b=5;执行以下代码后输出结果是?( )if(a>b)printf("A");elseprintf("B");
【答案】:答案解析:a=3<b=5,条件为假,执行else分支,输出B,故选B。
12、以下函数定义错误的是?( )
(inta,intb){returna+b;}
(){inta=5;printf("%d",a);}
(){inta=3;returna;}
(inta){returna;}
【答案】:答案解析:D返回值类型void,不能return表达式a,语法错误,故选D。
13、若inta[5];则数组a的元素个数是?( )
【答案】:答案解析:数组a[5]定义5个元素(下标0-4),故选B。
14、数组在内存中的存储方式是?( )
【答案】:答案解析:数组元素在内存中连续存放,便于通过下标访问,故选B。
15、以下switch语句中,break语句的作用是?( )
【答案】:答案解析:break在switch中用于跳出整个switch语句,避免case穿透,故选B。
16、函数参数传递中,值传递的特点是?( )
【答案】:答案解析:值传递时形参是实参的拷贝,修改形参不影响实参,地址传递才影响实参,故选B。
17、以下关于指针数组的定义正确的是?( )
*arr[5];
(*arr)[5];
[5];
[];
【答案】:答案解析:A是指针数组(5个int指针),B是指向数组的指针,C是普通数组,D缺少长度,故选A。
18、以下for循环中,循环变量初始化、条件判断、更新表达式均正确的是?( )
(i=0;i<5;i++)
(i=5;i>0;i--)
(i=0;i<5;i+=2)
【答案】:答案解析:A(递增)、B(递减)、C(步长2)的三个表达式均合法,循环逻辑正确,故选D。
19、函数调用时,实参的顺序必须与形参的顺序?( )
【答案】:答案解析:实参和形参需按顺序一一对应(类型、个数、顺序匹配),否则可能导致逻辑错误,故选A。
20、若inta=3,b=4;则表达式ab++的值是?( )
【答案】:答案解析:b++是后置自增,先参与运算(ab=3*4=12),再自增(b变为5),故选A。
21、以下哪个运算符的优先级最高?( )
A.+
B.*
C.=
D.==
【答案】:答案解析:算术运算符中*(乘)优先级高于+(加),赋值(=)和关系(==)优先级更低,故选B。
22、以下关于动态内存分配的说法正确的是?( )
,返回void*
,避免内存泄漏
【答案】:答案解析:A、B、C均是动态内存分配的核心规则,故选D。
23、定义整型变量x、y并均赋值10的语句是?( )
=y=10;
=10,y=10;
=10;y=10;
=10;inty=10;
【答案】:答案解析:同一行定义多个变量用逗号分隔,A不能连续赋值,C缺少int,D是两行定义,故选B。
24、函数定义的格式是?( )
(参数列表){函数体}
(返回类型,参数列表){函数体}
(参数列表)返回类型{函数体}
{参数列表,函数体}
【答案】:答案解析:函数定义标准格式为“返回类型函数名(参数列表){函数体}”,故选A。
25、以下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。
26、若intx=5;则表达式x+++x的结果是?( )
【答案】:答案解析:结合性从左到右,x+++x等价于(x++)+x=5+6=11,故选B。
27、以下switch语句语法错误的是?( )
(x){case1:printf("1");break;case2:printf("2");break;}
(x){case1:printf("1");case2:printf("2");}
(x){case1:;break;case2:printf("2");}
(x){case1:printf("1");break;case1:printf("2");break;}
【答案】:答案解析:case后常量不能重复,D中case1重复,编译报错,故选D。
28、以下循环中,循环次数为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。
29、若inta=5,p=&a;则&p的值是?( )
B.&a
【答案】:答案解析:*&p等价于p,即指针p自身的值(a的地址),故选C。
30、以下数组定义中,长度为5的是?( )
[5];
[]={1,2,3,4,5};
[]="abcd";
【答案】:答案解析:A长度5,B长度5,C字符串"abcd"含\0共5个字符,故选D。
31、指针的自增运算(p++)的含义是?( )
【答案】:答案解析:p++使指针指向地址偏移“指向类型大小”(如int指针+4字节),故选C。
32、以下关于函数的说法正确的是?( )
【答案】:答案解析:函数的核心优势是复用、简化结构、便于维护,故选D。
33、若inta[4]={1,2,3,4},p=a;执行p++后,*p的值是?( )
【答案】:答案解析:*p++先解引用(值为1),再p自增(指向a[1]),*p=2,故选B。
34、以下关于二维数组的说法正确的是?( )
【答案】:答案解析:二维数组本质是数组的数组,内存按行存储,可作为函数参数,长度需常量,故选A。
35、若inti=0,s=0;执行for(i=1;i<=4;i++)s+=i;后s的值是?( )
【答案】:答案解析:累加1+2+3+4=10,s=10,故选A。
36、若inta=3;执行if(++a==4)printf("A");elseprintf("B");输出结果是?( )
【答案】:答案解析:++a使a=4,条件为真,输出A,故选A。
37、若inta=4,b=6;则表达式a<b?a+b:a-b的结果是?( )
B.-2
【答案】:答案解析:a<b为真,取a+b=4+6=10,故选A。
38、指针的核心优势是?( )
,灵活操作内存
,减少内存开销
【答案】:答案解析:指针的核心优势包括间接访问、高效、动态内存、回调等,故选D。
39、若intx=3,y=5;则表达式x>y?x:y的结果是?( )
【答案】:答案解析:三元运算符格式“条件?值1:值2”,x>y为假,取y=5,故选B。
40、以下哪个赋值语句是正确的?( )
=5;
=5;
=b=5;
=b=5;
【答案】:答案解析:B、D未定义变量,C不能连续赋值定义,A定义并赋值正确,故选A。