- 0
- 0
- 约6.35千字
- 约 13页
- 2026-01-30 发布于山东
- 举报
2026年软件技术C语言基础知识练习题
第一部分单选题(50题)
1、do-while循环的特点是?()
A.先判断条件,后执行循环体
B.先执行循环体,后判断条件
C.条件不满足时也不执行循环体
D.只能执行一次
【答案】:答案解析:do-while是“先执行后判断”,至少执行一次循环体,for和while是“先判断后执行”,故选B。
2、以下数组初始化错误的是?()
A.inta[5]={0};
B.inta[]={1,2,3};
C.inta[5]={1,2,3};
D.inta[5]={1,2,3,4,5,6};
【答案】:答案解析:D初始化元素个数超数组长度(5),编译报错,A、B、C正确,故选D。
3、若inta=3,b=5;执行以下代码后输出结果是?()if(ab)printf(A);elseprintf(B);
A.A
B.B
C.AB
D.无输出
【答案】:答案解析:a=3b=5,条件为假,执行else分支,输出B,故选B。
4、若inta=7;执行if(a%3==1)printf(A);elseif(a%3==2)printf(B);elseprintf(C);输出结果是?()
A.A
B.B
C.C
D.无输出
【答案】:答案解析:7%3=1?7/3=2余1?不,7%3=1?7-3*2=1,条件1成立?哦7%3=1,应输出A?不对,7%3=1,第一个条件成立,输出A?重新计算:7÷3=2余1,a%3=1,执行第一个分支,输出A,故选A(原解析修正:之前误算,正确结果A)。
5、若inta=8;执行if(a%4==0)a=a/2;elsea=a+2;后a的值是?()
A.4
B.10
C.8
D.6
【答案】:答案解析:8%4=0,条件为真,a=8/2=4,故选A。
6、若inta[5]={10,20,30,40,50};则a[2]的值是?()
A.10
B.20
C.30
D.40
【答案】:答案解析:数组下标从0开始,a[2]是第三个元素30,故选C。
7、若inta[4]={10,20,30,40};则*(a+2)的值是?()
A.20
B.30
C.40
D.10
【答案】:答案解析:a+2是第三个元素地址,*(a+2)=a[2]=30,故选B。
8、若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。
9、C语言中,语句结束的标志是?()
A.逗号
B.分号
C.冒号
D.句号
【答案】:答案解析:C语言单条语句以分号(;)结尾,复合语句用{}包裹,故选B。
10、若inta=5;执行if(a10);elsea=20;后a的值是?()
A.5
B.20
C.10
D.无定义
【答案】:答案解析:if后分号表示空语句,else执行a=20,故选B。
11、函数参数传递中,值传递的特点是?()
A.形参修改影响实参
B.形参是实参的副本
C.传递的是变量地址
D.用于数组传参
【答案】:答案解析:值传递时形参是实参的拷贝,修改形参不影响实参,地址传递才影响实参,故选B。
12、若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。
13、以下数组初始化正确的是?()
A.charstr[]=hello;
B.charstr[5]=hello;
C.charstr[]={h,e,l,l,o};
D.charstr[5]={h,e,l,l,o,\0};
【答案】:答案解析:A字符串自动加\0,B长度5不足以存hello(含\0共6个字符),C无\0(字符串不完整),D长度5超,故选A。
14、while循环的语法格式正确的是?()
A.while(条件)语句;
B.while条件语句;
C.while(条件);语句;
D.while(条件){语句}
【答案】:答案解析:while后条件需加括号,语句可是单条(加分号)或代码块(用{}),D缺少分号,故选A。
15、以下关于指针的说法正确的是?()
A.指针可用于遍历数组
B.指针可用于字符串操作
C.指针可用于函数参数传递
D.以上都正确
【答案】:答案解析:指针在数组遍历、字符串处理、参数传递中均有核心作用,故选D。
16、转义字符\的作用是?()
A.表示反斜杠
B.表示换行
C.表示空格
D.表示制表符
原创力文档

文档评论(0)