- 0
- 0
- 约6.02千字
- 约 13页
- 2026-01-31 发布于河南
- 举报
2026年c语言基础知识试题
第一部分单选题(50题)
1、若inta[3][3]={{1,2},{3,4},{5,6}};则a[1][1]的值是?()
A.2
B.4
C.5
D.6
【答案】:答案解析:a[1][1]是第二行第二列,值为4,故选B。
2、指针作为函数参数时,传递的是?()
A.指针的值
B.指针的地址
C.变量的值
D.变量的地址
【答案】:答案解析:指针传参本质是传递变量地址,函数中通过指针可修改实参值,故选D。
3、若inti=0;执行while(1){printf(%d,i);i++;if(i==3)break;}输出结果是?()
A.012
B.0123
C.无限循环
D.无输出
【答案】:答案解析:while(1)无限循环,i=3时break,输出012,故选A。
4、以下函数定义正确的是?()
A.voidfun(){printf(hello);}
B.voidfun(inta){printf(%d,a);}
C.intfun(){return5;}
D.以上都正确
【答案】:答案解析:A无参无返回值,B有参无返回值,C无参有返回值,均符合语法,故选D。
5、若intx=3;执行以下代码后a的值是?()inta;if(x5)a=10;elseif(x2)a=20;elsea=30;
A.10
B.20
C.30
D.无定义
【答案】:答案解析:x=32,执行第二个分支,a=20,故选B。
6、若inti=0;执行while(i5){if(i==2)break;printf(%d,i);i++;}输出结果是?()
A.01
B.012
C.01234
D.无限循环
【答案】:答案解析:i=2时执行break,终止循环,输出01,故选A。
7、C语言程序编译的正确顺序是?()
A.预处理→编译→汇编→链接
B.编译→预处理→汇编→链接
C.预处理→汇编→编译→链接
D.链接→编译→汇编→预处理
【答案】:答案解析:C程序编译流程为预处理(处理#命令)→编译(生成汇编代码)→汇编(生成目标文件)→链接(生成可执行文件),故选A。
8、以下转义字符表示换行的是?()
A.\t
B.\n
C.\
D.\r
【答案】:答案解析:\t是制表符,\n是换行符,\是反斜杠,\r是回车符,故选B。
9、若inta[5];则数组a的元素个数是?()
A.4
B.5
C.6
D.不确定
【答案】:答案解析:数组a[5]定义5个元素(下标0-4),故选B。
10、指针作为函数返回值时,不能返回?()
A.静态局部变量的地址
B.全局变量的地址
C.动态分配内存的地址
D.局部变量的地址
【答案】:答案解析:局部变量在函数调用结束后释放,返回其地址会导致野指针,故选D。
11、若inti=0;执行do{printf(%d,i);i++;}while(i0);输出结果是?()
A.0
B.无输出
C.无限循环
D.01
【答案】:答案解析:do-while先执行一次(输出0,i=1),判断i0为假,循环结束,故选A。
12、以下关于函数参数的说法正确的是?()
A.形参是函数定义时的变量
B.实参是函数调用时的变量/常量
C.形参和实参类型需匹配
D.以上都正确
【答案】:答案解析:A、B、C均是函数参数的基本规则,故选D。
13、递归函数的终止条件是?()
A.函数调用自身
B.函数返回值为0
C.不再调用自身的条件
D.无终止条件
【答案】:答案解析:递归函数必须有终止条件(否则无限递归栈溢出),终止条件是不再调用自身的判断,故选C。
14、以下循环中,无限循环的是?()
A.for(i=0;i5;i++)
B.while(i=5)
C.do{i++;}while(i5);
D.for(i=5;i0;i--)
【答案】:答案解析:while(i=5)是赋值(i=5,非0,条件恒真),无限循环;A执行5次,C(i初始0)执行5次,D执行5次,故选B。
15、若inta[3][2]={{1,2},{3,4},{5,6}};则a[2][1]的值是?()
A.5
B.6
C.3
D.4
【答案】:答案解析:a[2][1]是第三行第二列,值为6,故选B。
16、以下if语句中,逻辑运算符使用正确的是?()
A.if(x3x7)
B.if(x3x7)
C.if(x3|||x7)
D.if(x3||x7)
【答案】:答案解析:逻辑与用,逻辑或用||,B是按位与,C多写||,D逻辑错误(x3或x7恒为真),故选A。
17、若inta=6;执行a/=3;后a的值是?()
A.2
B.3
C.6
D.18
原创力文档

文档评论(0)