版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
c语言编程练习题第一部分单选题(50题)1、以下哪个转义字符表示制表符?()
A.\n
B.\t
C.\b
D.\r
【答案】:答案解析:\t是制表符(Tab),\n换行,\b退格,\r回车,故选B。2、若inta=3,b=5;执行以下代码后输出结果是?()if(a>b)printf("A");elseprintf("B");
A.A
B.B
C.AB
D.无输出
【答案】:答案解析:a=3<b=5,条件为假,执行else分支,输出B,故选B。3、以下函数递归调用的例子是?()
A.计算阶乘
B.循环输出数字
C.数组遍历
D.变量交换
【答案】:答案解析:阶乘常用递归实现(n!=n*(n-1)!),B、C、D用循环更高效,故选A。4、若int*p=(int)malloc(sizeof(int));则p的值是?()
A.0
B.随机值
C.1
D.无定义
【答案】:答案解析:malloc分配的内存未初始化,值为随机值,故选B。5、以下switch语句中,case穿透的情况是?()
A.case后加break
B.case后不加break
C.有default
D.无default
【答案】:答案解析:case后不加break会继续执行下一个case的代码(穿透),加break则跳出,故选B。6、函数返回值的类型与return语句中表达式类型不一致时,会?()
A.编译错误
B.自动强制转换为函数返回类型
C.程序崩溃
D.无影响
【答案】:答案解析:编译器会将return表达式类型强制转换为函数返回类型(可能丢失精度),不报错,故选B。7、以下循环语句中,语法正确的是?()
A.while(i<5){printf("%d",i);i++;}
B.while(i<5)printf("%d",i);i++;
C.do{printf("%d",i);i++;}while(i<5)
D.for(i=0;i<5)printf("%d",i);
【答案】:答案解析:B中i++在循环体外(循环无限),C缺少分号,D缺少更新表达式,A语法正确,故选A。8、以下哪个运算符的优先级最高?()
A.+
B.*
C.=
D.==
【答案】:答案解析:算术运算符中*(乘)优先级高于+(加),赋值(=)和关系(==)优先级更低,故选B。9、定义单精度浮点型变量y并赋值2.718的语句是?()
A.doubley=2.718;
B.floaty=2.718f;
C.floaty=2.718;
D.inty=2.718;
【答案】:答案解析:float是单精度,需加f后缀(否则默认double),double是双精度,故选B。10、数组名作为函数参数时,函数形参的正确写法是?()
A.inta[]
B.int*a
C.inta[5]
D.以上都是
【答案】:答案解析:数组形参可写为inta[]、int*a(指针)、inta[5](长度可忽略),本质均为指针,故选D。11、以下函数参数传递方式中,能修改实参值的是?()
A.值传递
B.地址传递
C.都能
D.都不能
【答案】:答案解析:值传递修改的是形参(副本),不影响实参;地址传递通过指针修改实参值,故选B。12、若inta=3;执行a+=aa;后a的值是?()
A.12
B.6
C.9
D.15
【答案】:答案解析:优先级先乘后加,a+=aa等价于a=a+(aa)=3+(33)=12,故选A。13、以下for循环中,循环变量更新表达式为“i-=2”的是?()
A.for(i=10;i>0;i-=2)
B.for(i=0;i<10;i+=2)
C.for(i=10;i>0;i--)
D.for(i=0;i<10;i=2)
【答案】:答案解析:i-=2等价于i=i-2,A的更新表达式正确,故选A。14、以下关于指针的说法正确的是?()
A.指针可用于实现多返回值函数
B.指针可提高程序效率
C.指针可用于动态内存分配
D.以上都正确
【答案】:答案解析:指针的核心用途包括多返回值、高效访问、动态内存分配,故选D。15、若inti=0;执行do{i++;printf("%d",i);}while(i<=2);输出结果是?()
A.123
B.012
C.12
D.无输出
【答案】:答案解析:do-while执行3次,i=1、2、3,输出123,故选A。16、以下函数无返回值的是?()
A.intfun(){return0;}
B.voidfun(){printf("hello");}
C.floatfun(){return3.14;}
D.charfun(){return'b';}
【答案】:答案解析:void类型函数无返回值,A、C、D均有返回值,故选B。17、指针作为函数参数时,传递的是?()
A.指针的值
B.指针的地址
C.变量的值
D.变量的地址
【答案】:答案解析:指针传参本质是传递变量地址,函数中通过指针可修改实参值,故选D。18、若inti=1;执行while(i<=4){printf("%d",i);i+=3;}输出结果是?()
A.14
B.1234
C.1
D.无输出
【答案】:答案解析:i初始1,加3后4,执行2次,输出14,故选A。19、函数定义在main函数之后时,必须先?()
A.调用函数
B.声明函数
C.定义函数
D.无要求
【答案】:答案解析:main函数调用其他函数时,若函数定义在main之后,需先声明(否则编译器找不到函数),故选B。20、C语言中,语句结束的标志是?()
A.逗号
B.分号
C.冒号
D.句号
【答案】:答案解析:C语言单条语句以分号(;)结尾,复合语句用{}包裹,故选B。21、若inta[3][4]={{1,2},{3,4,5},{6}};则a[0][1]的值是?()
A.1
B.2
C.3
D.4
【答案】:答案解析:a[0][1]是第一行第二列,值为2,故选B。22、若inti=5,s=0;执行while(i>0){s+=i;i--;}后s的值是?()
A.15
B.10
C.5
D.0
【答案】:答案解析:累加5+4+3+2+1=15,s=15,故选A。23、若inta=7,*p=&a;执行++*p;后a的值是?()
A.7
B.8
C.&a
D.无定义
【答案】:答案解析:++*p等价于++(*p),先解引用取a的值,再加1(a=8),故选B。24、以下switch语句中,default的位置可以在?()
A.所有case之前
B.所有case之后
C.两个case之间
D.以上都可以
【答案】:答案解析:default位置灵活,可在case前、后或中间,不影响执行逻辑,故选D。25、若inta=2;执行a*=a+3;后a的值是?()
A.7
B.10
C.14
D.5
【答案】:答案解析:a*=a+3等价于a=a*(a+3)=2*(2+3)=10,故选B。26、若inti=0,s=0;执行while(i<=3){s+=i2;i++;}后s的值是?()
A.12
B.6
C.8
D.10
【答案】:答案解析:累加02+12+22+3*2=0+2+4+6=12,s=12,故选A。27、以下哪个不是C语言的关键字?()
A.if
B.else
C.then
D.for
【答案】:答案解析:then不是C语言关键字,if(条件)、else(否则)、for(循环)均是,故选C。28、以下函数声明中,返回类型为float的是?()
A.floatfun();
B.voidfun(floata);
C.intfun(floata);
D.charfun(floata);
【答案】:答案解析:A返回类型为float,B无返回值,C返回类型int,D返回类型char,故选A。29、以下哪个赋值语句是正确的?()
A.inta=5;
B.a=5;
C.inta=b=5;
D.a=b=5;
【答案】:答案解析:B、D未定义变量,C不能连续赋值定义,A定义并赋值正确,故选A。30、以下if语句语法正确的是?()
A.if(x>0)printf("yes");
B.ifx>0printf("yes");
C.if(x>0);printf("yes");
D.if(x>0){printf("yes")}
【答案】:答案解析:if后条件需加括号,B缺少括号,C分号导致语句结束,D缺少分号,故选A。31、以下关于数组的说法正确的是?()
A.数组下标从1开始
B.数组名可作为左值赋值
C.数组长度定义后不可修改
D.数组元素类型可不同
【答案】:答案解析:数组下标从0开始,数组名是常量(不可赋值),元素类型必须相同,长度定义后固定,故选C。32、若inta=4;执行a-=2;后a的值是?()
A.2
B.4
C.6
D.0
【答案】:答案解析:a-=2等价于a=a-2,4-2=2,故选A。33、do-while循环中,循环体至少执行几次?()
A.0次
B.1次
C.2次
D.不确定
【答案】:答案解析:do-while“先执行后判断”,无论条件是否满足,循环体至少执行一次,故选B。34、函数参数传递中,值传递适用于?()
A.简单变量,无需修改实参
B.数组,需修改元素
C.指针,需修改实参
D.结构体,需修改成员
【答案】:答案解析:值传递用于简单变量(不修改实参),地址传递用于需修改实参的场景,故选A。35、以下switch语句中,正确使用字符常量的是?()
A.switch(c){case'A':printf("A");break;}
B.switch(c){caseA:printf("A");break;}
C.switch(c){case"A":printf("A");break;}
D.switch(c){case'a':'b':printf("ab");break;}
【答案】:答案解析:字符常量用单引号,B是标识符,C是字符串,D语法错误(多个case需分开),故选A。36、以下循环中,无限循环的是?()
A.for(i=0;i<5;i++)
B.while(i=5)
C.do{i++;}while(i<5);
D.for(i=5;i>0;i--)
【答案】:答案解析:while(i=5)是赋值(i=5,非0,条件恒真),无限循环;A执行5次,C(i初始0)执行5次,D执行5次,故选B。37、以下关于空指针的定义正确的是?()
A.#defineNULL0
B.#defineNULL(void*)0
C.int*p=NULL;
D.以上都正确
【答案】:答案解析:A、B是NULL的常见定义,C是定义空指针,均正确,故选D。38、以下定义指向数组的指针正确的是?()
A.inta[5],*p=a;
B.inta[5],*p=&a;
C.inta[5],p=a;
D.inta[5],*p=a[0];
【答案】:答案解析:a是数组名(首元素地址),p=a等价于p=&a[0],B&a是数组地址(类型不匹配),Cp是普通变量,Dp不能赋a[0]的值,故选A。39、函数参数传递中,地址传递的特点是?()
A.形参是实参的副本
B.形参修改不影响实参
C.传递的是变量地址
D.用于简单变量传参
【答案】:答案解析:地址传递(指针)传递变量地址,形参通过地址修改实参值,值传递是副本,故选C。40、以下函数参数为指针的是?()
A.voidfun(int*a){}
B.voidfun(inta){}
C.voidfun(inta[]){}
D.A和C
【答案】:答案解析:A是指针参数,C数组名参数本质是指针,B是值参数,故选D。41、以下哪个字符串的长度是3?()
A."abc"
B."a\0b"
C."ab\n"
D."ab"
【答案】:答案解析:字符串长度以\0结束,"abc"含a、b、c(3个字符),"a\0b"长度为1,故选A。42、若intx=10;则表达式x%3的结果是?()
A.1
B.2
C.3
D.0
【答案】:答案解析:%是取余运算符,10除以3商3余1,故选A。43、表示“x大于5且小于10”的合法C语言表达式是?()
A.5<x<10
B.x>5||x<10
C.x>5&&x<10
D.x>5&x<10
【答案】:答案解析:逻辑与用&&,逻辑或用||,A是连续比较语法错误,&是按位与,故选C。44、若inti=0;执行do{i++;printf("%d",i);}while(i<3);输出结果是?()
A.123
B.012
C.12
D.无输出
【答案】:答案解析:do-while先执行,i从1到3,输出123,故选A。45、以下函数返回值类型为int的是?()
A.voidfun(){return;}
B.intfun(){return3.14;}
C.floatfun(){return5;}
D.charfun(){return'a';}
【答案】:答案解析:A返回值类型void(不能return表达式),B返回类型int(3.14强制转为3),C返回类型float,D返回类型char,故选B。46、若inti=1;执行do{printf("%d",i);i++;}while(i<=3);输出结果是?()
A.123
B.1234
C.012
D.无输出
【答案】:答案解析:do-while先执行一次(输出1,i=2),再判断,共执行3次,输出123,故选A。47、C语言中基本数据类型不包括以下哪项?()
A.char
B.int
C.float
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 救助站司机管理制度(3篇)
- 网络信息传播的管理制度(3篇)
- lng项目施工方案(3篇)
- 项目服务局管理制度范文(3篇)
- 剑阁公安招聘辅警25名备考考试题库及答案解析
- 2026渤海银行总行投资银行部招聘备考考试试题及答案解析
- 2026吉林白城市通榆县旅游服务中心选调事业编制人员3人参考考试题库及答案解析
- 儿童股骨骨折的康复护理新进展
- 2026年中国航天科技集团有限公司第五研究院第五一0所校园招聘考试参考题库及答案解析
- 2026吉林延边州教育局所属事业单位教师专项招聘53人备考考试题库及答案解析
- 2026广东东莞市谢岗镇社区卫生服务中心招聘纳入岗位管理编制外人员7人备考题库及一套答案详解
- 2025年csco肝癌治疗指南
- 2026云南公务员考试(6146人)易考易错模拟试题(共500题)试卷后附参考答案
- 2025年直招军官笔试题型及答案
- 仓储安全检查标准及执行流程
- 复方蒲公英注射液对心血管系统作用研究
- 2021-2022学年浙江省宁波市镇海区蛟川书院八年级(上)期末数学试卷(附答案详解)
- (新版)老年人能力评估师理论考试复习题库(含答案)
- 光纤激光打标机说明书
- 治理现代化下的高校合同管理
- 境外宗教渗透与云南边疆民族地区意识形态安全研究
评论
0/150
提交评论