- 1
- 0
- 约6.49千字
- 约 13页
- 2026-01-27 发布于河南
- 举报
数组c语言考试题库
第一部分单选题(50题)
1、若inti=0;执行for(;;){if(i==4)break;printf(%d,i);i++;}输出结果是?()
A.0123
B.01234
C.无限循环
D.无输出
【答案】:答案解析:for(;;)是无限循环,i=4时break,输出0123,故选A。
2、以下switch语句语法错误的是?()
A.switch(x){case1:printf(1);break;}
B.switch(x){casea:printf(a);break;}
C.switch(x){case1.5:printf(1.5);break;}
D.switch(x){default:printf(0);}
【答案】:答案解析:case后必须是整型常量,1.5是浮点型,语法错误,故选C。
3、以下函数声明正确的是?()
A.intfun(intx,inty);
B.intfun(int,int);
C.intfun(intx;inty);
D.A和B
【答案】:答案解析:函数声明可写参数名或只写类型,A、B正确,C用分号错误,故选D。
4、若inta=5,p=a;则p的值是?()
A.5
B.a
C.p
D.无定义
【答案】:答案解析:*p等价于p,即指针p自身的值(a的地址),故选C。
5、若intx=10;则表达式x%3的结果是?()
A.1
B.2
C.3
D.0
【答案】:答案解析:%是取余运算符,10除以3商3余1,故选A。
6、若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。
7、若inti=0;执行while(i5){i++;if(i==3)continue;printf(%d,i);}输出结果是?()
A.1245
B.12345
C.01245
D.无输出
【答案】:答案解析:i=3时continue,跳过printf,输出1、2、4、5,故选A。
8、数组名作为函数参数时,传递的是?()
A.数组第一个元素的值
B.数组所有元素的值
C.数组第一个元素的地址
D.数组长度
【答案】:答案解析:数组名传参本质是首元素地址(指针传递),函数中可通过指针访问数组,故选C。
9、C语言中,语句结束的标志是?()
A.逗号
B.分号
C.冒号
D.句号
【答案】:答案解析:C语言单条语句以分号(;)结尾,复合语句用{}包裹,故选B。
10、以下关于void类型函数的说法正确的是?()
A.不能有return语句
B.可以有return语句(无表达式)
C.必须有return语句
D.可返回任意类型
【答案】:答案解析:void函数可写return;(无表达式),用于提前结束函数,不能返回表达式,故选B。
11、以下for循环的循环次数是?()for(inti=2;i=8;i+=2)
A.3次
B.4次
C.5次
D.6次
【答案】:答案解析:i取值2、4、6、8,共4次,故选B。
12、函数返回值的类型与return语句中表达式类型不一致时,会?()
A.编译错误
B.自动强制转换为函数返回类型
C.程序崩溃
D.无影响
【答案】:答案解析:编译器会将return表达式类型强制转换为函数返回类型(可能丢失精度),不报错,故选B。
13、函数参数为数组时,形参的写法错误的是?()
A.inta[]
B.int*a
C.inta[5]
D.inta
【答案】:答案解析:D中inta是普通变量,不能接收数组名(地址),A、B、C均正确,故选D。
14、以下关于循环语句的说法错误的是?()
A.for循环三个表达式均可省略
B.while循环先判断后执行
C.do-while循环至少执行一次
D.continue可用于switch语句
【答案】:答案解析:continue仅用于循环语句,不能用于switch,A、B、C说法正确,故选D。
15、若inta=3,b=4;则表达式ab++的值是?()
A.12
B.15
C.16
D.7
【答案】:答案解析:b++是后置自增,先参与运算(ab=3*4=12),再自增(b变为5),故选A。
16、以下哪个数据类型的占用字节数最大?()
A.char
B.short
C.int
D.double
【答案】:答案解析:char(1字节)、short(2字节)、int(4字节)、double(8字节),故选D。
17、若inta=1,b=2;则表达式(a==b)的结果是?()
A.
原创力文档

文档评论(0)