版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
c语言知识试题第一部分单选题(50题)1、以下定义指向数组的指针正确的是?()
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。2、以下if语句中,赋值语句和判断语句混淆的是?()
A.if(x==5)
B.if(x=5)
C.if(x!=5)
D.if(x>5)
【答案】:答案解析:x=5是赋值(将5赋给x),x==5是判断(x是否等于5),B混淆了两者,故选B。3、若inta[4]={1,2,3,4};则a[3]的值是?()
A.3
B.4
C.1
D.2
【答案】:答案解析:a[3]是第四个元素,值为4,故选B。4、以下哪个赋值语句是正确的?()
A.inta=5;
B.a=5;
C.inta=b=5;
D.a=b=5;
【答案】:答案解析:B、D未定义变量,C不能连续赋值定义,A定义并赋值正确,故选A。5、下列字符串常量定义正确的是?()
A.'abc'
B."abc"
C.abc
D."a""b"
【答案】:答案解析:字符串常量用双引号包裹,单引号用于字符常量,C是标识符,D语法错误,故选B。6、以下循环语句中,执行次数为5次的是?()
A.for(i=0;i<5;i++)
B.while(i<5){i++;}
C.do{i++;}while(i<5);
D.for(i=1;i<=5;i--)
【答案】:答案解析:A执行5次(0-4),B、C未初始化i(若i初始0则5次,否则不确定),D初始i=1>0,执行0次,故选A。7、若charc='A';执行c=c+32后,c的值是?()
A.'a'
B.'B'
C.65
D.97
【答案】:答案解析:大写字母ASCII码比对应小写字母小32,'A'(65)+32='a'(97),故选A。8、若intx=4;执行if(x++>4)printf("A");elseprintf("B");输出结果是?()
A.A
B.B
C.AB
D.无输出
【答案】:答案解析:x++是后置自增,条件判断时x=4,4>4为假,执行else(输出B),后x变为5,故选B。9、以下哪个数据类型用于存储单个字符?()
A.int
B.char
C.float
D.double
【答案】:答案解析:char用于存储单个字符(ASCII码),int存储整数,float/double存储浮点数,故选B。10、逻辑表达式!5的结果是?()
A.0
B.1
C.5
D.真
【答案】:答案解析:5为真,!是逻辑非,真变假(0),故选A。11、若inti=0;执行for(i=1;i<=5;i++){if(i%3==0)continue;printf("%d",i);}输出结果是?()
A.1245
B.12345
C.3
D.无输出
【答案】:答案解析:i=3时continue,跳过printf,输出1、2、4、5,故选A。12、表示“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。13、以下哪个条件表达式表示“x大于等于5且小于等于10”?()
A.5<=x<=10
B.x>=5&&x<=10
C.x>=5||x<=10
D.5<=x&&<=10
【答案】:答案解析:C语言中连续比较不合法,需用逻辑与连接两个判断,A语法错误,C逻辑错误,D语法错误,故选B。14、do-while循环的语法格式正确的是?()
A.do语句;while(条件);
B.do{语句}while(条件)
C.do语句while(条件);
D.do;语句;while(条件);
【答案】:答案解析:do-while格式为“do循环体;while(条件);”,循环体可是单条语句或代码块,B缺少分号,C缺少分号,D循环体为空,故选A。15、若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。16、以下二维数组定义中,行数为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。17、若inti=0;执行for(;;){if(i==4)break;printf("%d",i);i++;}输出结果是?()
A.0123
B.01234
C.无限循环
D.无输出
【答案】:答案解析:for(;;)是无限循环,i=4时break,输出0123,故选A。18、函数定义的格式是?()
A.返回类型函数名(参数列表){函数体}
B.函数名(返回类型,参数列表){函数体}
C.函数名(参数列表)返回类型{函数体}
D.返回类型函数名{参数列表,函数体}
【答案】:答案解析:函数定义标准格式为“返回类型函数名(参数列表){函数体}”,故选A。19、递归函数的终止条件是?()
A.函数调用自身
B.函数返回值为0
C.不再调用自身的条件
D.无终止条件
【答案】:答案解析:递归函数必须有终止条件(否则无限递归栈溢出),终止条件是不再调用自身的判断,故选C。20、以下switch语句语法错误的是?()
A.switch(x){case1:printf("1");break;case2:printf("2");break;}
B.switch(x){case1:printf("1");case2:printf("2");}
C.switch(x){case1:;break;case2:printf("2");}
D.switch(x){case1:printf("1");break;case1:printf("2");break;}
【答案】:答案解析:case后常量不能重复,D中case1重复,编译报错,故选D。21、若intx=5;则表达式x+++x的结果是?()
A.10
B.11
C.12
D.9
【答案】:答案解析:结合性从左到右,x+++x等价于(x++)+x=5+6=11,故选B。22、以下函数调用错误的是?()
A.fun();
B.fun(5);
C.fun(3,4);
D.无错误(需看函数定义)
【答案】:答案解析:调用需匹配函数定义,A对应无参函数,B对应单参函数,C对应双参函数,均可能正确,故选D。23、以下哪个不是C语言的关键字?()
A.if
B.else
C.then
D.for
【答案】:答案解析:then不是C语言关键字,if(条件)、else(否则)、for(循环)均是,故选C。24、若intx=10,y=20;则表达式x!=y的结果是?()
A.0
B.1
C.10
D.20
【答案】:答案解析:!=是不等于判断,x!=y为真,C语言中真用1表示,故选B。25、若inti;执行for(i=0;i<5;i++)printf("%d",i);输出结果是?()
A.01234
B.12345
C.012345
D.无输出
【答案】:答案解析:for循环初始化i=0,条件i<5(成立时执行),每次循环后i++,执行5次,输出01234,故选A。26、以下关于函数的说法正确的是?()
A.函数可提高代码复用性
B.函数可简化程序结构
C.函数可便于维护
D.以上都正确
【答案】:答案解析:函数的核心优势是复用、简化结构、便于维护,故选D。27、若inta=3;执行if(++a==4)printf("A");elseprintf("B");输出结果是?()
A.A
B.B
C.AB
D.无输出
【答案】:答案解析:++a使a=4,条件为真,输出A,故选A。28、以下switch语句中,break语句的位置正确的是?()
A.case后任意位置
B.必须在case代码最后
C.必须在default后
D.不能在default后
【答案】:答案解析:break可在case代码任意位置(执行到break即跳出),不一定在最后,default后也可加break,故选A。29、若inti=0,s=0;执行do{s+=i;i++;}while(i<5);后s的值是?()
A.10
B.15
C.5
D.0
【答案】:答案解析:do-while累加0+1+2+3+4=10,s=10,故选A。30、C语言中基本数据类型不包括以下哪项?()
A.char
B.int
C.float
D.array
【答案】:答案解析:基本数据类型为char、int、float、double,array是数组(构造类型),故选D。31、以下指针运算正确的是?()
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。32、定义整型变量x、y并均赋值10的语句是?()
A.intx=y=10;
B.intx=10,y=10;
C.intx=10;y=10;
D.intx=10;inty=10;
【答案】:答案解析:同一行定义多个变量用逗号分隔,A不能连续赋值,C缺少int,D是两行定义,故选B。33、逻辑表达式3&&0的结果是?()
A.0
B.1
C.3
D.真
【答案】:答案解析:逻辑与&&只要有一个operand为0则结果为0,3为真,0为假,故选A。34、若inta[5]={10,20,30,40,50},p=a+3;则p的值是?()
A.30
B.40
C.50
D.无定义
【答案】:答案解析:a+3指向a[3],*p=40,故选B。35、以下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。36、以下for循环的语法错误是?()
A.for(inti=0;i<5;i++)printf("%d",i);
B.for(i=0;i<5;i++)printf("%d",i);
C.for(;i<5;i++)printf("%d",i);
D.for(i=0;;i++)printf("%d",i);
【答案】:答案解析:B中i未定义(需先声明inti;),A(C99标准允许循环内定义)、C(初始化省略)、D(条件省略,无限循环)语法均正确,故选B。37、以下关于void类型函数的说法正确的是?()
A.不能有return语句
B.可以有return语句(无表达式)
C.必须有return语句
D.可返回任意类型
【答案】:答案解析:void函数可写return;(无表达式),用于提前结束函数,不能返回表达式,故选B。38、以下关于指针的说法正确的是?()
A.指针可用于遍历数组
B.指针可用于字符串操作
C.指针可用于函数参数传递
D.以上都正确
【答案】:答案解析:指针在数组遍历、字符串处理、参数传递中均有核心作用,故选D。39、以下关于函数参数的说法正确的是?()
A.形参是局部变量
B.实参是局部变量
C.形参在函数调用后释放
D.实参在函数调用后释放
【答案】:答案解析:形参是函数内局部变量(调用时分配内存,调用结束释放),实参是主调函数中的变量(生命周期与主调函数一致),故选A。40、以下哪个函数用于读取字符?()
A.putchar()
B.gets()
C.getchar()
D.printf()
【答案】:答案解析:getchar()读取单个字符,puts()输出字符串,gets()读取字符串(已淘汰),故选C。41、数组作为函数参数时,函数形参不能是?()
A.inta[]
B.int*a
C.inta[5]
D.inta
【答案】:答案解析:D中inta是普通变量,不能接收数组名(地址),A、B、C均可作为数组形参,故选D。42、二维数组a[2][3]在内存中存储的顺序是?()
A.a[0][0],a[0][1],a[0][2],a[1][0],a[1][1],a[1][2]
B.a[0][0],a[1][0],a[0][1],a[1][1],a[0][2],a[1][2]
C.随机顺序
D.按列存储
【答案】:答案解析:二维数组按行优先连续存储,顺序为第一行所有元素,再第二行,故选A。43、以下关于函数参数的说法正确的是?()
A.形参是函数定义时的变量
B.实参是函数调用时的变量/常量
C.形参和实参类型需匹配
D.以上都正确
【答案】:答案解析:A、B、C均是函数参数的基本规则,故选D。44、若inta=10,*p=&a,q
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【548】心肌梗死科普
- 临床胆囊结石围手术期护理
- 黑龙江省智研联盟2026届高三上学期1月份第一次联合考试英语试卷(含答案无听力音频无听力原文)
- 高大模板工程技术要领
- 钢结构国际标准对比分析
- 2026年甘肃省庆阳市西峰环宇中学春季招聘教师考试备考题库及答案解析
- 2026山东淄博张店区面向大学生退役士兵、村党组织书记、社区党组织书记专项招聘岗位招聘备考考试试题及答案解析
- 2026第一季度四川成都市青白江区第三人民医院自主招聘医师、护士3人参考考试题库及答案解析
- 2026国家税务总局山东省税务局招聘事业单位工作人员备考考试试题及答案解析
- 禁毒安全企业管理制度(3篇)
- 新版-八年级上册数学期末复习计算题15天冲刺练习(含答案)
- 2024年风电、光伏项目前期及建设手续办理流程汇编
- 不良资产合作战略框架协议文本
- 先进班级介绍
- 2025年浙江省辅警考试真题及答案
- 2025中国热带农业科学院科技信息研究所第一批招聘4人备考题库(第1号)附答案
- 雨课堂学堂在线学堂云《婚姻家庭法(武汉科大 )》单元测试考核答案
- 安徽宁马投资有限责任公司2025年招聘派遣制工作人员考试笔试模拟试题及答案解析
- 2025版北师大版小学数学一年级上册专项练习卷
- 酒店签订就餐协议合同
- 房屋尾款交付合同(标准版)
评论
0/150
提交评论