文档介绍:该【c语言设计考试题库(突破训练) 】是由【荣】上传分享,文档一共【13】页,该文档可以免费在线阅读,需要了解更多关于【c语言设计考试题库(突破训练) 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。c语言设计考试题库
第一部分 单选题(50题)
1、若inta=1,b=2;则表达式(a==b)的结果是?( )
【答案】:答案解析:==是等于判断,a==b为假,C语言中假用0表示,故选B。
2、以下数组初始化错误的是?( )
[5]={0};
[]={1,2,3};
[5]={1,2,3};
[5]={1,2,3,4,5,6};
【答案】:答案解析:D初始化元素个数超数组长度(5),编译报错,A、B、C正确,故选D。
3、以下数组定义中,正确的是?( )
[5];
[5]={1,2,3,4,5};
[]={1,2,3,4,5};
【答案】:答案解析:A、B、C均符合数组定义规则,故选D。
4、C语言中,宏定义的预处理命令关键字是?( )
【答案】:答案解析:#define用于宏定义,#include用于包含头文件,#ifdef/endif是条件编译,故选B。
5、若inti=1;执行do{printf("%d",i);i++;}while(i<=0);输出结果是?( )
【答案】:答案解析:do-while先执行一次(输出1,i=2),再判断i<=0为假,循环结束,故选A。
6、若charstr[]="Clanguage";则字符串长度是?( )
【答案】:答案解析:字符串长度以\0结束,"Clanguage"含10个字符(不含\0),故选A。
7、函数返回值通过______语句返回?( )
【答案】:答案解析:return语句用于函数返回值,printf输出,scanf输入,break跳出循环/switch,故选C。
8、若intx=10;则表达式x%3的结果是?( )
【答案】:答案解析:%是取余运算符,10除以3商3余1,故选A。
9、若inta=3,b=4;则表达式ab++的值是?( )
【答案】:答案解析:b++是后置自增,先参与运算(ab=3*4=12),再自增(b变为5),故选A。
10、以下if语句中,逻辑非运算符使用正确的是?( )
(!x)printf("yes");
(!x==0)printf("yes");
(!(x>0))printf("yes");
【答案】:答案解析:!x表示“x为假(0)”,!(x>0)表示“x不大于0”,均正确;B中!x==0等价于x!=0,逻辑不同,故选D。
11、转义字符\的作用是?( )
【答案】:答案解析:\用于表示字符反斜杠(\),避免与转义字符冲突,故选A。
12、C语言中,语句结束的标志是?( )
【答案】:答案解析:C语言单条语句以分号(;)结尾,复合语句用{}包裹,故选B。
13、以下关于函数参数的说法正确的是?( )
【答案】:答案解析:形参是函数内局部变量(调用时分配内存,调用结束释放),实参是主调函数中的变量(生命周期与主调函数一致),故选A。
14、以下关于数组初始化的说法正确的是?( )
【答案】:答案解析:数组可部分赋值(未赋值元素默认0),A数组可不用初始化,B可少于长度,D数组元素可修改,故选C。
15、若inti=0;执行while(i<5){if(i==2)break;printf("%d",i);i++;}输出结果是?( )
【答案】:答案解析:i=2时执行break,终止循环,输出01,故选A。
16、若inti=1;执行do{printf("%d",i);i++;}while(i<=3);输出结果是?( )
【答案】:答案解析:do-while先执行一次(输出1,i=2),再判断,共执行3次,输出123,故选A。
17、以下循环语句中,执行次数为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。
18、以下哪个字符串的长度是3?( )
A."abc"
B."a\0b"
C."ab\n"
D."ab"
【答案】:答案解析:字符串长度以\0结束,"abc"含a、b、c(3个字符),"a\0b"长度为1,故选A。
19、表示“x大于5且小于10”的合法C语言表达式是?( )
<x<10
>5||x<10
>5&&x<10
>5&x<10
【答案】:答案解析:逻辑与用&&,逻辑或用||,A是连续比较语法错误,&是按位与,故选C。
20、若inta[3][2]={{1,2},{3,4},{5,6}};则a[2][1]的值是?( )
【答案】:答案解析:a[2][1]是第三行第二列,值为6,故选B。
21、指针与数组的关系,以下说法正确的是?( )
,不能自增
,通过指针遍历数组
[i]等价于*(p+i)
【答案】:答案解析:数组名是首元素地址(常量,不可自增),指针可遍历数组,p[i]与*(p+i)等价,故选D。
22、若inta[3][3]={{1,2,3},{4,5,6},{7,8,9}};则a[1][2]的值是?( )
【答案】:答案解析:a[1][2]是第二行第三列,值为6,故选B。
23、C语言程序的基本单位是?( )
【答案】:答案解析:C程序由函数构成,main是入口函数,其他函数实现功能,故选B。
24、若inti=0;执行for(;;){if(i==4)break;printf("%d",i);i++;}输出结果是?( )
【答案】:答案解析:for(;;)是无限循环,i=4时break,输出0123,故选A。
25、以下if-elseif语句的执行逻辑是?( )if(x<0)printf("负");elseif(x==0)printf("零");elseprintf("正");
【答案】:答案解析:if-elseif是互斥分支,仅执行第一个满足条件的分支,故选B。
26、逻辑表达式!0的结果是?( )
【答案】:答案解析:C语言中非0为真,!是逻辑非,!0(假)结果为1(真),故选B。
27、以下哪个是合法的字符常量?( )
A."a"
B.'ab'
C.'a'
【答案】:答案解析:字符常量用单引号包裹单个字符,A是字符串,B是两个字符(错误),D是标识符,故选C。
28、指针的核心优势是?( )
,灵活操作内存
,减少内存开销
【答案】:答案解析:指针的核心优势包括间接访问、高效、动态内存、回调等,故选D。
29、若inti=1;执行while(i<=4){printf("%d",i);i+=3;}输出结果是?( )
【答案】:答案解析:i初始1,加3后4,执行2次,输出14,故选A。
30、以下数组定义中,长度为5的是?( )
[5];
[]={1,2,3,4,5};
[]="abcd";
【答案】:答案解析:A长度5,B长度5,C字符串"abcd"含\0共5个字符,故选D。
31、以下哪个函数用于读取字符?( )
()
()
()
()
【答案】:答案解析:getchar()读取单个字符,puts()输出字符串,gets()读取字符串(已淘汰),故选C。
32、若intx=10,y=20;则表达式x!=y的结果是?( )
【答案】:答案解析:!=是不等于判断,x!=y为真,C语言中真用1表示,故选B。
33、若inti=0,s=0;执行for(i=0;i<4;i++)s+=i;后s的值是?( )
【答案】:答案解析:累加0+1+2+3=6,s=6,故选A。
34、以下关于main函数的说法错误的是?( )
【答案】:答案解析:main函数可声明为void(无返回值),C说法错误,A、B、D正确,故选C。
35、以下二维数组定义正确的是?( )
[2][3];
[2][];
[][3]={1,2,3,4,5,6};
[2][3]={1,2,3,4,5,6,7};
【答案】:答案解析:B第二维不能省略,C第一维可省略(自动计算为2),D初始化元素超6个(2×3=6),A标准定义正确,故选A。
36、以下函数定义错误的是?( )
(){}
(inta){}
(){}
(){return;}
【答案】:答案解析:D返回类型int(必须return表达式),return无表达式错误,A、B、C正确,故选D。
37、若intx=1;执行switch(x){case1:printf("1");break;case1:printf("2");break;}会出现什么情况?( )
【答案】:答案解析:case后常量不能重复,编译时会报错,故选C。
38、下列字符串常量定义正确的是?( )
A.'abc'
B."abc"
D."a""b"
【答案】:答案解析:字符串常量用双引号包裹,单引号用于字符常量,C是标识符,D语法错误,故选B。
39、以下数组定义错误的是?( )
[0];
[5];
[]={1,2,3};
[5]={1,2,3};
【答案】:答案解析:数组长度不能为0,编译报错,其余正确,故选A。
40、break语句不能用于以下哪种结构?( )
-while循环
【答案】:答案解析:break可用于循环(for/while/do-while)和switch语句,不能用于if语句,故选D。