版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
c语言编程期末测试题第一部分单选题(50题)1、以下if语句中,赋值表达式作为条件的是?()
A.if(x==3)
B.if(x=3)
C.if(x>3)
D.if(x!=3)
【答案】:答案解析:x=3是赋值表达式,结果为3(非0,真),其余是判断表达式,故选B。2、若intx=5;执行if(x>3&&x<7)printf("yes");elseprintf("no");输出结果是?()
A.yes
B.no
C.yesno
D.无输出
【答案】:答案解析:x=5>3且<7,条件为真,输出yes,故选A。3、以下指针与函数的关系正确的是?()
A.函数名是函数的地址
B.函数指针可指向函数
C.可通过函数指针调用函数
D.以上都正确
【答案】:答案解析:A、B、C均是函数与指针的基本关系,故选D。4、函数返回值通过______语句返回?()
A.printf
B.scanf
C.return
D.break
【答案】:答案解析:return语句用于函数返回值,printf输出,scanf输入,break跳出循环/switch,故选C。5、若inta=8;执行if(a%4==0)a=a/2;elsea=a+2;后a的值是?()
A.4
B.10
C.8
D.6
【答案】:答案解析:8%4=0,条件为真,a=8/2=4,故选A。6、以下指针运算中,结果为指针的是?()
A.*p
B.p+1
C.&a
D.B和C
【答案】:答案解析:p+1是指针偏移,&a是取地址,结果均为指针;*p是解引用(获取值),故选D。7、下列变量定义语法正确的是?()
A.inta=5;
B.inta=b=5;
C.int5a;
D.inta;b;
【答案】:答案解析:B不能连续赋值定义,C标识符开头错误,D分号分隔需分别定义(inta;intb;),故选A。8、二维数组a[3][4]的元素个数是?()
A.7
B.12
C.3
D.4
【答案】:答案解析:3行4列,共3×4=12个元素,故选B。9、以下switch语句语法错误的是?()
A.switch(x){case1:printf("1");break;}
B.switch(x){case'a':printf("a");break;}
C.switch(x){case1.5:printf("1.5");break;}
D.switch(x){default:printf("0");}
【答案】:答案解析:case后必须是整型常量,1.5是浮点型,语法错误,故选C。10、C语言程序的基本单位是?()
A.语句
B.函数
C.变量
D.表达式
【答案】:答案解析:C程序由函数构成,main是入口函数,其他函数实现功能,故选B。11、以下哪个是C语言的循环语句?()
A.if
B.for
C.else
D.switch
【答案】:答案解析:C语言循环语句包括for、while、do-while,if/else是选择语句,switch是多分支选择语句,故选B。12、以下循环中,用于计算1到10的乘积的是?()
A.s=0;for(i=1;i<=10;i++)s+=i;
B.s=1;for(i=1;i<=10;i++)s*=i;
C.s=0;while(i<=10){s*=i;i++;}
D.s=1;do{s+=i;i++;}while(i<=10);
【答案】:答案解析:乘积初始值为1,累加初始值为0,B的逻辑是12...*10,正确,故选B。13、若inti=0;执行do{printf("%d",i);i++;}while(i<0);输出结果是?()
A.0
B.无输出
C.无限循环
D.01
【答案】:答案解析:do-while先执行一次(输出0,i=1),判断i<0为假,循环结束,故选A。14、以下循环中,循环次数为3次的是?()
A.for(i=1;i<=3;i++)
B.while(i=3)
C.do{i++;}while(i<3);
D.for(i=5;i>0;i--)
【答案】:答案解析:A执行3次(1-3),B是无限循环,C(i初始0)执行3次,D执行5次,题目问“3次”,A明确正确,故选A。15、若inta=7;执行if(a%3==1)printf("A");elseif(a%3==2)printf("B");elseprintf("C");输出结果是?()
A.A
B.B
C.C
D.无输出
【答案】:答案解析:7%3=1?7/3=2余1?不,7%3=1?7-3*2=1,条件1成立?哦7%3=1,应输出A?不对,7%3=1,第一个条件成立,输出A?重新计算:7÷3=2余1,a%3=1,执行第一个分支,输出A,故选A(原解析修正:之前误算,正确结果A)。16、函数返回值的类型由______决定?()
A.return语句中的表达式类型
B.函数定义时的返回类型
C.函数调用时的参数类型
D.编译器默认类型
【答案】:答案解析:函数返回类型在定义时指定,return表达式类型需与返回类型匹配(不匹配则强制转换),故选B。17、以下哪个是NULL指针?()
A.void*p=0;
B.int*p=NULL;
C.charp=(char)0;
D.以上都正确
【答案】:答案解析:NULL指针是不指向任何有效地址的指针,三种写法均正确,故选D。18、若inti=0;执行for(i=0;i<5;i++){printf("%d",i);if(i==2)break;}输出结果是?()
A.012
B.01
C.01234
D.无输出
【答案】:答案解析:i=2时break,输出012,故选A。19、函数调用的一般格式是?()
A.函数名(实参列表);
B.函数名实参列表;
C.返回类型函数名(实参列表);
D.函数名=实参列表;
【答案】:答案解析:函数调用格式为“函数名(实参列表);”,实参与形参匹配,故选A。20、以下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。21、以下关于函数的说法正确的是?()
A.函数必须有返回值
B.函数可嵌套定义
C.函数可递归调用
D.函数名可重定义
【答案】:答案解析:A函数可无返回值(void),B不能嵌套定义(可嵌套调用),D函数名不能重定义,C递归调用正确,故选C。22、指针作为函数返回值时,不能返回?()
A.静态局部变量的地址
B.全局变量的地址
C.动态分配内存的地址
D.局部变量的地址
【答案】:答案解析:局部变量在函数调用结束后释放,返回其地址会导致野指针,故选D。23、以下函数声明正确的是?()
A.intfun(intx,inty);
B.intfun(int,int);
C.intfun(intx;inty);
D.A和B
【答案】:答案解析:函数声明可写参数名或只写类型,A、B正确,C用分号错误,故选D。24、若inta=3;执行if(++a==4)printf("A");elseprintf("B");输出结果是?()
A.A
B.B
C.AB
D.无输出
【答案】:答案解析:++a使a=4,条件为真,输出A,故选A。25、以下关于return语句的说法正确的是?()
A.函数中可有多条return语句
B.函数中必须有return语句
C.return语句必须在函数末尾
D.return语句只能返回一个值
【答案】:答案解析:A函数中可有多条return(如条件判断后返回),Bvoid函数可无return,Creturn可在任意位置,Dreturn只能返回一个值(返回多个值需用指针/数组),故选A。26、以下指针运算正确的是?()
A.inta=10,*p=&a;p++;
B.inta=10,*p=&a;p=a;
C.inta=10,*p=&a;p=&5;
D.inta=10,*p=&a;*p=&a;
【答案】:答案解析:A指针p自增(指向a的下一个地址),B不能将int值赋给指针,C不能取常量地址,D不能将地址赋给int变量,故选A。27、若intx=3;执行以下代码后a的值是?()inta;if(x>5)a=10;elseif(x>2)a=20;elsea=30;
A.10
B.20
C.30
D.无定义
【答案】:答案解析:x=3>2,执行第二个分支,a=20,故选B。28、逻辑表达式!5的结果是?()
A.0
B.1
C.5
D.真
【答案】:答案解析:5为真,!是逻辑非,真变假(0),故选A。29、以下关于函数参数的说法正确的是?()
A.形参是函数定义时的变量
B.实参是函数调用时的变量/常量
C.形参和实参类型需匹配
D.以上都正确
【答案】:答案解析:A、B、C均是函数参数的基本规则,故选D。30、若inta[5];执行a[0]=1;a[1]=2;则a[2]的值是?()
A.0
B.3
C.随机值
D.无定义
【答案】:答案解析:全局数组默认0,局部数组未初始化是随机值?题目未说明存储类别,通常默认全局,a[2]=0,故选A。31、若inti=0;执行while(i<5){i++;if(i==3)continue;printf("%d",i);}输出结果是?()
A.1245
B.12345
C.01245
D.无输出
【答案】:答案解析:i=3时continue,跳过printf,输出1、2、4、5,故选A。32、以下定义指向二维数组的指针正确的是?()
A.inta[2][3],(*p)[3]=a;
B.inta[2][3],*p=a;
C.inta[2][3],p=a[0];
D.inta[2][3],*p=&a;
【答案】:答案解析:A是指向3列数组的指针(匹配二维数组a的行),B、C、D类型不匹配,故选A。33、若inta[3][2]={{1,2},{3,4},{5,6}};则a[2][1]的值是?()
A.5
B.6
C.3
D.4
【答案】:答案解析:a[2][1]是第三行第二列,值为6,故选B。34、以下关于数组的说法正确的是?()
A.数组下标从1开始
B.数组名可作为左值赋值
C.数组长度定义后不可修改
D.数组元素类型可不同
【答案】:答案解析:数组下标从0开始,数组名是常量(不可赋值),元素类型必须相同,长度定义后固定,故选C。35、以下if语句中,逻辑运算符使用正确的是?()
A.if(x>3&&x<7)
B.if(x>3&x<7)
C.if(x>3|||x<7)
D.if(x>3||x<7)
【答案】:答案解析:逻辑与用&&,逻辑或用||,B是按位与,C多写||,D逻辑错误(x>3或x<7恒为真),故选A。36、以下for循环的循环变量初始化表达式为“i=5”的是?()
A.for(i=0;i<5;i++)
B.for(i=5;i>0;i--)
C.for(i=2;i<=5;i++)
D.for(i=5;i<10;i+=2)
【答案】:答案解析:初始化表达式是for循环第一个部分,B中i=5符合,其余初始化非5,故选B。37、以下if语句的语法正确的是?()
A.if(x>0){printf("a");elseprintf("b");}
B.if(x>0)printf("a");else{printf("b");}
C.if(x>0)printf("a");elseprintf("b");}
D.if(x>0){printf("a");}elseprintf("b");}
【答案】:答案解析:A缺少},C多},D多},B语法正确(else后{}可加可不加),故选B。38、若inta=4,b=6;则表达式a<b?a+b:a-b的结果是?()
A.10
B.-2
C.4
D.6
【答案】:答案解析:a<b为真,取a+b=4+6=10,故选A。39、若inta=10,*p=&a,q=p;则q的值是?()
A.10
B.&a
C.p
D.无定义
【答案】:答案解析:q=p使q指向a,*q=10,故选A。40、以下字符串常量定义正确的是?()
A.charstr[]="C";
B.charstr[1]='C';
C.charstr[]={'C'};
D.charstr[2]={'C','\0'};
【答案】:答案解析:A用双引号定义字符串(自动加\0),B单引号用于字符常量,C无\0,D长度2正确但A更简洁,故选A。41、以下二维数组定义中,行数为2的是?()
A.inta[2][3];
B.inta[][3]={1,2,3,4,5,6};
C.inta[2][3]={1,2,3,4,5};
D.以上都是
【答案】:答案解析:A行数2,B初始化6个元素(3列×2行),C行数2,故选D。42、以下for循环中,循环变量初始化、条件判断、更新表达式均正确的是?()
A.for(i=0;i<5;i++)
B.for(i=5;i>0;i--)
C.for(i=0;i<5;i+=2)
D.以上都正确
【答案】:答案解析:A(递增)、B(递减)、C(步长2)的三个表达式均合法,循环逻辑正确,故选D。43、若inta=7,b=3;执行if(a%b==1)a=0;elseb=0;后a和b的值分别是?()
A.0,3
B.7,0
C.0,0
D.7,3
【答案】:答案解析:7%3=1,条件为真,a=0,b保持3,故选A。44、以下哪个赋值语句是正确的?()
A.inta=5;
B.a=5;
C.inta=b=5;
D.a=b=5;
【答案】:答案解析:B、D未定义变量,C不能连续赋值定义,A定义并赋值正确,故选A。45、以下函数定义正确的是?()
A.voidfun(){printf("hello");}
B.voidfun(inta){printf(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 营销活动策划方案母婴(3篇)
- 飞机大科普知识
- 2026重庆沙坪坝区陈家桥社区卫生服务中心招聘考试参考试题及答案解析
- 2026年公安部直属事业单位郑州警察学院招聘(55人)考试备考试题及答案解析
- 静脉输血安全监测与风险管理
- 2026年榆林市青少年宫围棋老师招聘参考考试题库及答案解析
- 2026北京市丰台区消防救援支队政府专职消防员招录30人备考考试题库及答案解析
- 台州路桥农商银行2026年招聘开始啦!备考考试题库及答案解析
- 2026上半年杭州市第七人民医院公开招聘高层次人才25人备考考试试题及答案解析
- 2026浙江杭州市学军小学教育集团诚聘体育教师(非事业)1人备考考试试题及答案解析
- 社区警务专业能力等级评定考试大纲练习试题
- 球囊导管扩张技术课件
- 六年级上册英语书词汇表
- 《微电子封装技术》课程教学大纲
- 城市轨道交通服务员(城市轨道交通站务员)考核要素细目表与考核内容结构表
- JBT 12530.4-2015 塑料焊缝无损检测方法 第4部分:超声检测
- 江西省吉安市初中生物七年级期末下册高分预测题详细答案和解析
- 《中国心力衰竭诊断和治疗指南2024》解读(总)
- DZ∕T 0033-2020 固体矿产地质勘查报告编写规范(正式版)
- 沥青拌合站方案
- 轮机英语题库
评论
0/150
提交评论