- 0
- 0
- 约6.1千字
- 约 13页
- 2026-01-31 发布于山东
- 举报
2026年c语言算法考试题库
第一部分单选题(50题)
1、以下关于数组的说法错误的是?()
A.数组元素必须是同一类型
B.数组长度必须是常量
C.数组可在函数内定义
D.数组可整体赋值
【答案】:答案解析:数组不能用“=”整体赋值,需逐个元素或循环赋值,A、B、C正确,故选D。
2、若inti=1;执行while(i=3){printf(%d,i);i++;}输出结果是?()
A.123
B.1234
C.012
D.无输出
【答案】:答案解析:i初始1,满足i=3,执行3次,输出123,i最终4,循环结束,故选A。
3、以下哪个是合法的字符常量?()
A.a
B.ab
C.a
D.a
【答案】:答案解析:字符常量用单引号包裹单个字符,A是字符串,B是两个字符(错误),D是标识符,故选C。
4、若inta=5;执行if(a10);elsea=20;后a的值是?()
A.5
B.20
C.10
D.无定义
【答案】:答案解析:if后分号表示空语句,else执行a=20,故选B。
5、C语言程序的入口函数是?()
A.main()
B.printf()
C.scanf()
D.main
【答案】:答案解析:所有C程序从main()函数开始执行,必须有且仅有一个,故选A。
6、以下数组定义中,正确的是?()
A.inta[5];
B.inta[5]={1,2,3,4,5};
C.inta[]={1,2,3,4,5};
D.以上都是
【答案】:答案解析:A、B、C均符合数组定义规则,故选D。
7、函数定义在main函数之后时,必须先?()
A.调用函数
B.声明函数
C.定义函数
D.无要求
【答案】:答案解析:main函数调用其他函数时,若函数定义在main之后,需先声明(否则编译器找不到函数),故选B。
8、若intx=5;则表达式x+++x的结果是?()
A.10
B.11
C.12
D.9
【答案】:答案解析:结合性从左到右,x+++x等价于(x++)+x=5+6=11,故选B。
9、若inta[4]={10,20,30,40};则*(a+2)的值是?()
A.20
B.30
C.40
D.10
【答案】:答案解析:a+2是第三个元素地址,*(a+2)=a[2]=30,故选B。
10、以下定义指向数组的指针正确的是?()
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],Ba是数组地址(类型不匹配),Cp是普通变量,Dp不能赋a[0]的值,故选A。
11、若inta[5]={10,20,30,40,50};则a[4]的值是?()
A.40
B.50
C.60
D.无定义
【答案】:答案解析:a[4]是第五个元素,值为50,故选B。
12、若inta=10,*p=a;则sizeof(p)的值是?()
A.4
B.8
C.取决于系统
D.10
【答案】:答案解析:sizeof(p)是指针大小,32位系统4字节,64位8字节,故选C。
13、以下关于二维数组的说法正确的是?()
A.二维数组是数组的数组
B.二维数组元素在内存中按列存储
C.二维数组长度必须是常量
D.二维数组不能作为函数参数
【答案】:答案解析:二维数组本质是数组的数组,内存按行存储,可作为函数参数,长度需常量,故选A。
14、C语言程序的基本单位是?()
A.语句
B.函数
C.变量
D.表达式
【答案】:答案解析:C程序由函数构成,main是入口函数,其他函数实现功能,故选B。
15、以下定义指向二维数组的指针正确的是?()
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。
16、若intx=5;则表达式++x的结果是?()
A.5
B.6
C.4
D.7
【答案】:答案解析:++x是前置自增,先自增(x变为6)再参与运算,结果为6,故选B。
17、若inta[3][4]={{1,2},{3,4,5},{6}};则a[0][1]的值是?()
A.1
B.2
C.3
D.4
【答案】:答案解析:a[0][1]是第一行第二列,值为2,故选B。
18、指针与字符串的关系,以下说法正确的是?()
A.字符串常量是字符数组,数组名是指针
B.字符串可通过指针遍历
原创力文档

文档评论(0)