- 0
- 0
- 约6.16千字
- 约 13页
- 2026-01-31 发布于山东
- 举报
2026年c语言初学者编程题目
第一部分单选题(50题)
1、若inta=10,b=20,*p=a,q=b;执行p=q;后p的值是?()
A.10
B.20
C.a
D.b
【答案】:答案解析:p=q使p指向b,*p=b=20,故选B。
2、C语言中,注释的正确写法是?()
A.//单行注释
B./*多行注释/
C.--注释
D.A和B
【答案】:答案解析:C语言支持//单行注释和/...*/多行注释,--不是注释符号,故选D。
3、以下关于main函数的说法错误的是?()
A.程序从main开始执行
B.main函数可带参数
C.main函数必须有返回值
D.main函数可调用其他函数
【答案】:答案解析:main函数可声明为void(无返回值),C说法错误,A、B、D正确,故选C。
4、以下for循环中,循环变量初始化、条件判断、更新表达式均正确的是?()
A.for(i=0;i5;i++)
B.for(i=5;i0;i--)
C.for(i=0;i5;i+=2)
D.以上都正确
【答案】:答案解析:A(递增)、B(递减)、C(步长2)的三个表达式均合法,循环逻辑正确,故选D。
5、以下哪个是合法的字符常量?()
A.a
B.ab
C.a
D.a
【答案】:答案解析:字符常量用单引号包裹单个字符,A是字符串,B是两个字符(错误),D是标识符,故选C。
6、若intx=5;执行以下代码后输出结果是?()if(x10)printf(A);elseif(x6)printf(B);elseif(x3)printf(C);elseprintf(D);
A.A
B.B
C.C
D.
【答案】:答案解析:x=53,执行第三个分支,输出C,故选C。
7、若inta=5;执行if(a10);elsea=20;后a的值是?()
A.5
B.20
C.10
D.无定义
【答案】:答案解析:if后分号表示空语句,else执行a=20,故选B。
8、逻辑表达式!5的结果是?()
A.0
B.1
C.5
D.真
【答案】:答案解析:5为真,!是逻辑非,真变假(0),故选A。
9、以下关于数组的说法错误的是?()
A.数组元素必须是同一类型
B.数组长度必须是常量
C.数组可在函数内定义
D.数组可整体赋值
【答案】:答案解析:数组不能用“=”整体赋值,需逐个元素或循环赋值,A、B、C正确,故选D。
10、以下switch语句中,case后的常量可以是?()
A.整数
B.字符
C.枚举常量
D.以上都可以
【答案】:答案解析:switch的case后必须是整型常量(整数、字符、枚举常量,字符本质是ASCII码整数),故选D。
11、若inta[3][3]={{1,2,3},{4,5,6},{7,8,9}};则a[1][2]的值是?()
A.5
B.6
C.8
D.9
【答案】:答案解析:a[1][2]是第二行第三列,值为6,故选B。
12、函数中局部变量的作用域是?()
A.整个程序
B.函数内部
C.函数外部
D.所有函数
【答案】:答案解析:局部变量定义在函数内,仅在函数内部有效,故选B。
13、若intx=9;执行以下代码后输出结果是?()if(x10)printf(A);elseif(x8)printf(B);elseif(x6)printf(C);elseprintf(D);
A.A
B.B
C.C
D.
【答案】:答案解析:x=98,执行第二个分支,输出B,故选B。
14、以下函数递归调用的例子是?()
A.计算阶乘
B.循环输出数字
C.数组遍历
D.变量交换
【答案】:答案解析:阶乘常用递归实现(n!=n*(n-1)!),B、C、D用循环更高效,故选A。
15、以下数组定义中,正确的是?()
A.inta[5];
B.inta[5]={1,2,3,4,5};
C.inta[]={1,2,3,4,5};
D.以上都是
【答案】:答案解析:A、B、C均符合数组定义规则,故选D。
16、以下定义函数指针正确的是?()
A.int(*fp)(int);
B.int*fp(int);
C.intfp(int);
D.int(fp)[];
【答案】:答案解析:A是指向int返回值、int参数的函数指针,B是返回int的函数,C是普通函数,D是指向数组的指针,故选A。
17、若inta=4;执行if(a--4)printf(A);elseprintf(B);输出结果是?()
A.A
B.B
C.AB
D.无输出
【答案】:答案解析:a--是后置自减,条件判断时a=4,44为假,执行else(输出B),后a变为3,
原创力文档

文档评论(0)