版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数组c语言考试题库第一部分单选题(50题)1、若charstr="Clanguage";则(str+2)的值是?()
A.'C'
B.''
C.'l'
D.'a'
【答案】:答案解析:str+2指向第三个字符,值为'l',故选C。2、C语言中,注释的正确写法是?()
A.//单行注释
B./*多行注释/
C.--注释
D.A和B
【答案】:答案解析:C语言支持//单行注释和/...*/多行注释,--不是注释符号,故选D。3、以下函数定义错误的是?()
A.voidfun(){}
B.voidfun(inta){}
C.intfun(){}
D.intfun(){return;}
【答案】:答案解析:D返回类型int(必须return表达式),return无表达式错误,A、B、C正确,故选D。4、若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。5、以下关于二维数组的说法正确的是?()
A.二维数组是数组的数组
B.二维数组元素在内存中按列存储
C.二维数组长度必须是常量
D.二维数组不能作为函数参数
【答案】:答案解析:二维数组本质是数组的数组,内存按行存储,可作为函数参数,长度需常量,故选A。6、若inti=0;执行while(i<5){printf("%d",i);i++;if(i==3)break;}输出结果是?()
A.012
B.0123
C.01
D.无输出
【答案】:答案解析:i=3时break,输出012,故选A。7、若floatf=5.9;强制转换为整型的表达式是?()
A.int(f)
B.(int)f
C.intf
D.(float)f
【答案】:答案解析:强制类型转换格式为(目标类型)变量,(int)f结果为5(取整数部分),故选B。8、以下定义函数指针正确的是?()
A.int(*fp)(int);
B.int*fp(int);
C.intfp(int);
D.int(fp)[];
【答案】:答案解析:A是指向int返回值、int参数的函数指针,B是返回int的函数,C是普通函数,D是指向数组的指针,故选A。9、若charstr[10]="abcde";则str[5]的值是?()
A.'e'
B.'\0'
C.随机值
D.无定义
【答案】:答案解析:字符串自动在末尾加\0,str[5]是\0,故选B。10、以下指针定义正确的是?()
A.int*p;
B.char*q;
C.float*r;
D.以上都正确
【答案】:答案解析:A指向int,B指向char,C指向float,均符合指针定义语法,故选D。11、若intx=5;则表达式++x的结果是?()
A.5
B.6
C.4
D.7
【答案】:答案解析:++x是前置自增,先自增(x变为6)再参与运算,结果为6,故选B。12、指针变量的作用是存储?()
A.变量的值
B.变量的地址
C.函数的地址
D.数组的元素
【答案】:答案解析:指针变量专门存储其他变量的内存地址,故选B。13、函数中局部变量的作用域是?()
A.整个程序
B.函数内部
C.函数外部
D.所有函数
【答案】:答案解析:局部变量定义在函数内,仅在函数内部有效,故选B。14、若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。15、以下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。16、下列字符串常量定义正确的是?()
A.'abc'
B."abc"
C.abc
D."a""b"
【答案】:答案解析:字符串常量用双引号包裹,单引号用于字符常量,C是标识符,D语法错误,故选B。17、以下函数声明正确的是?()
A.voidfun();
B.voidfun(inta);
C.intfun(int);
D.以上都正确
【答案】:答案解析:函数声明可省略形参名(只留类型),A、B、C均符合语法,故选D。18、以下关于void类型函数的说法正确的是?()
A.不能有return语句
B.可以有return语句(无表达式)
C.必须有return语句
D.可返回任意类型
【答案】:答案解析:void函数可写return;(无表达式),用于提前结束函数,不能返回表达式,故选B。19、以下switch语句语法正确的是?()
A.switch(x){case1:printf("1");break;case2:printf("2");}
B.switch(x){case1:printf("1");case2:printf("2");break;}
C.switch(x){case1:printf("1");break;default:printf("0");}
D.以上都正确
【答案】:答案解析:switch语句case后可加break(跳出)或不加(穿透),default可选,A、B、C语法均正确,故选D。20、若inta=3;执行if(++a>3)printf("A");elseprintf("B");输出结果是?()
A.A
B.B
C.AB
D.无输出
【答案】:答案解析:++a是前置自增,a变为4>3,条件为真,输出A,故选A。21、函数调用的一般格式是?()
A.函数名(实参列表);
B.函数名实参列表;
C.返回类型函数名(实参列表);
D.函数名=实参列表;
【答案】:答案解析:函数调用格式为“函数名(实参列表);”,实参与形参匹配,故选A。22、C语言程序的基本单位是?()
A.语句
B.函数
C.变量
D.表达式
【答案】:答案解析:C程序由函数构成,main是入口函数,其他函数实现功能,故选B。23、以下定义指向字符串的指针正确的是?()
A.char*str="hello";
B.charstr[]="hello";
C.char(*str)[]="hello";
D.charstr[5]="hello";
【答案】:答案解析:A是指向字符串常量的指针,B是字符数组,C是数组指针(类型不匹配),D长度不足(含\0需6字节),故选A。24、以下关于指针数组的定义正确的是?()
A.int*arr[5];
B.int(*arr)[5];
C.intarr[5];
D.intarr[];
【答案】:答案解析:A是指针数组(5个int指针),B是指向数组的指针,C是普通数组,D缺少长度,故选A。25、若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。26、若inta=5,*p=&a;则&*p的值是?()
A.5
B.&a
C.p
D.无定义
【答案】:答案解析:&*p等价于p,即&a(a的地址),故选B。27、数组名作为函数参数时,函数形参的正确写法是?()
A.inta[]
B.int*a
C.inta[5]
D.以上都是
【答案】:答案解析:数组形参可写为inta[]、int*a(指针)、inta[5](长度可忽略),本质均为指针,故选D。28、若inti=0,s=0;执行for(i=1;i<=4;i++)s+=i;后s的值是?()
A.10
B.9
C.8
D.7
【答案】:答案解析:累加1+2+3+4=10,s=10,故选A。29、以下二维数组定义中,行数为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。30、若intx=5;则表达式x+++x的结果是?()
A.10
B.11
C.12
D.9
【答案】:答案解析:结合性从左到右,x+++x等价于(x++)+x=5+6=11,故选B。31、以下关于数组的说法正确的是?()
A.数组长度可动态修改
B.数组元素可不同类型
C.数组在内存中连续存储
D.数组名可作为左值赋值
【答案】:答案解析:A数组长度定义后固定,B元素必须同类型,D数组名是常量(不可赋值),C正确,故选C。32、函数调用时,实参的类型必须与形参的类型?()
A.完全一致
B.兼容(可自动转换)
C.无关
D.实参类型大于形参类型
【答案】:答案解析:实参和形参类型可兼容(如int→float),编译器自动转换,不兼容则编译错误,故选B。33、以下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。34、若inta[5]={1,2,3,4,5};则a[5]是?()
A.5
B.0
C.越界访问
D.无定义
【答案】:答案解析:a[5]下标超出0-4范围,属于越界访问(可能导致程序错误),故选C。35、C语言中,宏定义的预处理命令关键字是?()
A.include
B.define
C.ifdef
D.endif
【答案】:答案解析:#define用于宏定义,#include用于包含头文件,#ifdef/endif是条件编译,故选B。36、以下关于函数的说法正确的是?()
A.函数可提高代码复用性
B.函数可简化程序结构
C.函数可便于维护
D.以上都正确
【答案】:答案解析:函数的核心优势是复用、简化结构、便于维护,故选D。37、若inti=1;执行while(i<5){printf("%d",i);i+=2;}输出结果是?()
A.13
B.135
C.1234
D.无输出
【答案】:答案解析:i初始1,每次加2,执行2次(1、3),输出13,故选A。38、数组元素的下标从______开始?()
A.0
B.1
C.-1
D.任意
【答案】:答案解析:C语言数组下标从0开始,是固定规则,故选A。39、若inti=0;执行while(1){if(i==3)break;printf("%d",i);i++;}输出结果是?()
A.012
B.0123
C.无限循环
D.无输出
【答案】:答案解析:while(1)是无限循环,i=3时break,输出012,故选A。40、若inta[5]={10,20,30,40,50};则a[2]的值是?()
A.10
B.20
C.30
D.40
【答案】:答案解析:数组下标从0开始,a[2]是第三个元素30,故选C。41、若inti=0;执行for(;;){if(i==4)break;printf("%d",i);i++;}输出结果是?()
A.0123
B.01234
C.无限循环
D.无输出
【答案】:答案解析:for(;;)是无限循环,i=4时break,输出0123,故选A。42、以下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。43、putchar()函数的功能是?()
A.读取一个字符
B.输出一个字符
C.读取字符串
D.输出字符串
【答案】:答案解析:putchar()用于输出单个字符,getchar()读取单个字符,puts()输出字符串,故选B。44、以下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。45、以下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等价
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 24276-2025通过计算进行低压成套开关设备和控制设备温升验证的一种方法
- 2025年中职烟草栽培与加工(烟草技术专题)试题及答案
- 2025年大学交通运输(物流运输规划)试题及答案
- 2025年大学农村电气技术(农村新能源利用)试题及答案
- 2026年生物科技(基因编辑技术)试题及答案
- 2025年高职兽医服务(服务技术)试题及答案
- 2025年高职(野生动植物资源保护与利用)野生动物监测试题及答案
- 2025年中职护理(老年护理)试题及答案
- 2025年高职电网监控技术(电网监控操作)试题及答案
- 2025年高职(中药购销员)中药销售综合测试题及答案
- 商超信息系统操作规定
- 如何做好一名护理带教老师
- 房地产项目回款策略与现金流管理
- 花溪区高坡苗族乡国土空间总体规划 (2021-2035)
- 非连续性文本阅读(中考试题20篇)-2024年中考语文重难点复习攻略(解析版)
- 专题13 三角函数中的最值模型之胡不归模型(原卷版)
- 门诊药房西药管理制度
- 新能源汽车生产代工合同
- 2025年中煤科工集团重庆研究院有限公司招聘笔试参考题库含答案解析
- 消防救援预防职务犯罪
- 一体化泵站安装施工方案
评论
0/150
提交评论