版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大一c语言期末试题第一部分单选题(50题)1、以下关于return语句的说法正确的是?()
A.函数中可有多条return语句
B.函数中必须有return语句
C.return语句必须在函数末尾
D.return语句只能返回一个值
【答案】:答案解析:A函数中可有多条return(如条件判断后返回),Bvoid函数可无return,Creturn可在任意位置,Dreturn只能返回一个值(返回多个值需用指针/数组),故选A。2、以下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。3、以下二维数组定义中,行数为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。4、若inta=5,p=&a;执行p=8;后a的值是?()
A.5
B.8
C.&a
D.无定义
【答案】:答案解析:*p=8通过指针修改指向变量a的值,a变为8,故选B。5、若inti=0;执行do{i++;printf("%d",i);}while(i<3);输出结果是?()
A.123
B.012
C.12
D.无输出
【答案】:答案解析:do-while先执行,i从1到3,输出123,故选A。6、若inta=1,b=2;则表达式(a==b)的结果是?()
A.1
B.0
C.2
D.真
【答案】:答案解析:==是等于判断,a==b为假,C语言中假用0表示,故选B。7、若inti=0;执行for(i=0;i<5;i++){if(i%2==0)continue;printf("%d",i);}输出结果是?()
A.13
B.024
C.01234
D.无输出
【答案】:答案解析:i为偶数(0、2、4)时continue,输出奇数1、3,故选A。8、若inti=0;执行for(i=0;i<5;i++){if(i==3)break;printf("%d",i);}输出结果是?()
A.012
B.0123
C.01234
D.无输出
【答案】:答案解析:i=3时break,输出012,故选A。9、若inti=1,s=0;执行while(i<=5){s+=i;i++;}后s的值是?()
A.15
B.10
C.5
D.0
【答案】:答案解析:循环累加1+2+3+4+5=15,s=15,故选A。10、C语言程序的入口函数是?()
A.main()
B.printf()
C.scanf()
D.main
【答案】:答案解析:所有C程序从main()函数开始执行,必须有且仅有一个,故选A。11、若intx=6;执行if(x<5)printf("A");else{printf("B");printf("C");}输出结果是?()
A.A
B.BC
C.ABC
D.无输出
【答案】:答案解析:x=6不满足if,执行else代码块,输出BC,故选B。12、若inta[3][3]={{1},{2,3},{4,5,6}};则a[1][0]的值是?()
A.2
B.3
C.4
D.5
【答案】:答案解析:a[1][0]是第二行第一列,值为2,故选A。13、若inta=2,b=4;执行if(a==b)a=0;elseb=0;后a和b的值分别是?()
A.0,4
B.2,0
C.0,0
D.2,4
【答案】:答案解析:a==b为假,执行else,b=0,a保持2,故选B。14、以下if语句中,逻辑非运算符使用正确的是?()
A.if(!x)printf("yes");
B.if(!x==0)printf("yes");
C.if(!(x>0))printf("yes");
D.A和C
【答案】:答案解析:!x表示“x为假(0)”,!(x>0)表示“x不大于0”,均正确;B中!x==0等价于x!=0,逻辑不同,故选D。15、若floatf=5.9;强制转换为整型的表达式是?()
A.int(f)
B.(int)f
C.intf
D.(float)f
【答案】:答案解析:强制类型转换格式为(目标类型)变量,(int)f结果为5(取整数部分),故选B。16、函数定义在main函数之后时,必须先?()
A.调用函数
B.声明函数
C.定义函数
D.无要求
【答案】:答案解析:main函数调用其他函数时,若函数定义在main之后,需先声明(否则编译器找不到函数),故选B。17、指针的自增运算(p++)的含义是?()
A.指针值加1
B.指针指向的变量值加1
C.指针指向地址偏移一个类型大小
D.指针指向地址偏移1字节
【答案】:答案解析:p++使指针指向地址偏移“指向类型大小”(如int指针+4字节),故选C。18、以下switch语句中,default的作用是?()
A.匹配所有case
B.匹配除case外的所有情况
C.终止switch语句
D.无实际作用
【答案】:答案解析:default用于匹配所有case未覆盖的情况,可选且位置灵活,故选B。19、以下if-else语句中,代码块正确的是?()
A.if(x>0)printf("a");printf("b");elseprintf("c");
B.if(x>0){printf("a");printf("b");}elseprintf("c");
C.if(x>0)printf("a");{printf("b");}elseprintf("c");
D.if(x>0)printf("a");printf("b");else{printf("c");}
【答案】:答案解析:else需与最近的if匹配,A、C、D中else前有独立printf,语法错误,B用{}包裹代码块正确,故选B。20、若inti=0;执行do{printf("%d",i);i++;}while(i<0);输出结果是?()
A.0
B.无输出
C.无限循环
D.01
【答案】:答案解析:do-while先执行一次(输出0,i=1),判断i<0为假,循环结束,故选A。21、函数参数传递中,地址传递的特点是?()
A.形参是实参的副本
B.形参修改不影响实参
C.传递的是变量地址
D.用于简单变量传参
【答案】:答案解析:地址传递(指针)传递变量地址,形参通过地址修改实参值,值传递是副本,故选C。22、若inta[3][3]={{1,2,3},{4,5,6},{7,8,9}};则a[1][2]的值是?()
A.5
B.6
C.8
D.9
【答案】:答案解析:a[1][2]是第二行第三列,值为6,故选B。23、do-while循环的特点是?()
A.先判断条件,后执行循环体
B.先执行循环体,后判断条件
C.条件不满足时也不执行循环体
D.只能执行一次
【答案】:答案解析:do-while是“先执行后判断”,至少执行一次循环体,for和while是“先判断后执行”,故选B。24、若inta=10,*p=&a,q=p;则q的值是?()
A.10
B.&a
C.p
D.无定义
【答案】:答案解析:q=p使q指向a,*q=10,故选A。25、逻辑表达式3&&0的结果是?()
A.0
B.1
C.3
D.真
【答案】:答案解析:逻辑与&&只要有一个operand为0则结果为0,3为真,0为假,故选A。26、以下关于指针的说法正确的是?()
A.野指针是指向无效地址的指针
B.空指针是野指针的一种
C.避免野指针需初始化并及时置空
D.以上都正确
【答案】:答案解析:A、B、C均是野指针的核心知识点,故选D。27、若int*p=(int)malloc(sizeof(int));则p的值是?()
A.0
B.随机值
C.1
D.无定义
【答案】:答案解析:malloc分配的内存未初始化,值为随机值,故选B。28、若intx=5;则表达式++x的结果是?()
A.5
B.6
C.4
D.7
【答案】:答案解析:++x是前置自增,先自增(x变为6)再参与运算,结果为6,故选B。29、逻辑表达式!0的结果是?()
A.0
B.1
C.真
D.假
【答案】:答案解析:C语言中非0为真,!是逻辑非,!0(假)结果为1(真),故选B。30、若inta=5;执行if(a>10);elsea=20;后a的值是?()
A.5
B.20
C.10
D.无定义
【答案】:答案解析:if后分号表示空语句,else执行a=20,故选B。31、若intx=5;执行if(x>3&&x<7)printf("yes");elseprintf("no");输出结果是?()
A.yes
B.no
C.yesno
D.无输出
【答案】:答案解析:x=5>3且<7,条件为真,输出yes,故选A。32、以下关于main函数的说法错误的是?()
A.程序从main开始执行
B.main函数可带参数
C.main函数必须有返回值
D.main函数可调用其他函数
【答案】:答案解析:main函数可声明为void(无返回值),C说法错误,A、B、D正确,故选C。33、若inta[4]={1,2,3,4},p=a;执行p++后,*p的值是?()
A.1
B.2
C.3
D.4
【答案】:答案解析:*p++先解引用(值为1),再p自增(指向a[1]),*p=2,故选B。34、以下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。35、函数中局部变量的作用域是?()
A.整个程序
B.函数内部
C.函数外部
D.所有函数
【答案】:答案解析:局部变量定义在函数内,仅在函数内部有效,故选B。36、若intx=2;执行switch(x){case1:printf("a");case2:printf("b");case3:printf("c");}输出结果是?()
A.b
B.bc
C.abc
D.无输出
【答案】:答案解析:x=2匹配case2,无break,穿透到case3,输出bc,故选B。37、若inta[3]={1,2,3},p=a;则(p+2)的值是?()
A.1
B.2
C.3
D.无定义
【答案】:答案解析:p+2指向a[2],解引用*(p+2)=a[2]=3,故选C。38、以下数组初始化正确的是?()
A.charstr[]="hello";
B.charstr[5]="hello";
C.charstr[]={'h','e','l','l','o'};
D.charstr[5]={'h','e','l','l','o','\0'};
【答案】:答案解析:A字符串自动加\0,B长度5不足以存hello(含\0共6个字符),C无\0(字符串不完整),D长度5超,故选A。39、以下定义指向数组的指针正确的是?()
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。40、以下数组初始化错误的是?()
A.inta[5]={0};
B.inta[]={1,2,3};
C.inta[5]={1,2,3};
D.inta[5]={1,2,3,4,5,6};
【答案】:答案解析:D初始化元素个数超数组长度(5),编译报错,A、B、C正确,故选D。41、continue语句只能用于以下哪种结构?()
A.循环语句
B.switch语句
C.if语句
D.所有结构
【答案】:答案解析:continue仅用于循环语句(for/while/do-while),用于跳过本次循环,故选A。42、函数调用时,实参的类型必须与形参的类型?()
A.完全一致
B.兼容(可自动转换)
C.无关
D.实参类型大于形参类型
【答案】:答案解析:实参和形参类型可兼容(如int→float),编译器自动转换,不兼容则编译错误,故选B。43、若charstr="Clanguage";则(str+2)的值是?()
A.'C'
B.''
C.'l'
D.'a'
【答案】:答案解析:str+2指向第三个字符,值为'l',故选C。44、以下哪个函数用于输出字符串?()
A.putchar()
B.printf()
C.gets()
D.scanf()
【答案】:答案解析:printf()可输出字符串(如printf("hello");),putchar()输出单个字符,故选B。45、以下哪个是NULL指针?()
A.void*p=0;
B.int*p=NULL;
C.charp=(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026江苏无锡市锡山区教育系统招聘青年人才120人备考考试试题及答案解析
- 冬季主题策划活动方案(3篇)
- 超市晚场活动方案策划(3篇)
- 实体餐饮活动策划方案(3篇)
- 2026广东省疾病预防控制中心招聘科研助理2人备考考试试题及答案解析
- 2026广西来宾市第一中学招聘编外教师2人备考考试试题及答案解析
- 2026云南师范大学实验中学巫家坝校区招聘7人备考考试题库及答案解析
- 2026年荆州市中心城区企业(民办高校)引进人才780人备考考试题库及答案解析
- 2026河北省某省级三甲医院现诚招肝病科医师备考考试题库及答案解析
- 护理技能展示:5分钟内答对30题
- DB37-T 5318-2025 有机保温板薄抹灰外墙外保温系统应用技术标准
- 2024数控机床主轴可靠性加速试验技术规范
- 水库除险加固工程施工组织设计
- 质量信得过班组培训课件
- 材料进场检验记录表
- DL∕T 1768-2017 旋转电机预防性试验规程
- 复方蒲公英注射液在银屑病中的应用研究
- 网络直播创业计划书
- 大学任课老师教学工作总结(3篇)
- 3D打印增材制造技术 课件 【ch01】增材制造中的三维模型及数据处理
- 医院保洁应急预案
评论
0/150
提交评论