- 0
- 0
- 约6.75千字
- 约 13页
- 2026-01-31 发布于山东
- 举报
2026年c语言编程练习题
第一部分单选题(50题)
1、若inta=3,b=5;执行以下代码后输出结果是?()if(ab)printf(A);elseprintf(B);
A.A
B.B
C.AB
D.无输出
【答案】:答案解析:a=3b=5,条件为假,执行else分支,输出B,故选B。
2、若inta[4]={1,2,3,4};则a[3]的值是?()
A.3
B.4
C.1
D.2
【答案】:答案解析:a[3]是第四个元素,值为4,故选B。
3、函数调用的一般格式是?()
A.函数名(实参列表);
B.函数名实参列表;
C.返回类型函数名(实参列表);
D.函数名=实参列表;
【答案】:答案解析:函数调用格式为“函数名(实参列表);”,实参与形参匹配,故选A。
4、若intx=5;则表达式++x的结果是?()
A.5
B.6
C.4
D.7
【答案】:答案解析:++x是前置自增,先自增(x变为6)再参与运算,结果为6,故选B。
5、以下关于数组初始化的说法正确的是?()
A.数组必须初始化
B.数组初始化时元素个数不能少于长度
C.数组初始化时可部分赋值
D.数组初始化后不能修改
【答案】:答案解析:数组可部分赋值(未赋值元素默认0),A数组可不用初始化,B可少于长度,D数组元素可修改,故选C。
6、递归函数的优点是?()
A.代码简洁,逻辑清晰
B.效率高,占用内存少
C.避免栈溢出
D.适合所有问题
【答案】:答案解析:递归优点是代码简洁(如阶乘、斐波那契数列),缺点是效率低、占用栈空间多(可能溢出),故选A。
7、以下数组定义中,长度为5的是?()
A.inta[5];
B.inta[]={1,2,3,4,5};
C.charstr[]=abcd;
D.以上都是
【答案】:答案解析:A长度5,B长度5,C字符串abcd含\0共5个字符,故选D。
8、若inti=0,s=0;执行do{s+=i;i++;}while(i5);后s的值是?()
A.10
B.15
C.5
D.0
【答案】:答案解析:do-while累加0+1+2+3+4=10,s=10,故选A。
9、while循环的语法格式正确的是?()
A.while(条件)语句;
B.while条件语句;
C.while(条件);语句;
D.while(条件){语句}
【答案】:答案解析:while后条件需加括号,语句可是单条(加分号)或代码块(用{}),D缺少分号,故选A。
10、以下数组定义错误的是?()
A.inta[5];
B.inta[5]={1,2,3,4,5};
C.inta[5]={1,2,3,4,5,6};
D.inta[]={1,2,3,4,5};
【答案】:答案解析:C初始化元素超5个,编译报错,其余正确,故选C。
11、以下定义指向数组的指针正确的是?()
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。
12、以下函数调用正确的是?()
A.fun();
B.fun(1,2);
C.fun(test);
D.取决于函数定义
【答案】:答案解析:函数调用是否正确取决于函数定义(参数类型、个数),A、B、C均可能正确,故选D。
13、逻辑表达式30的结果是?()
A.0
B.1
C.3
D.真
【答案】:答案解析:逻辑与只要有一个operand为0则结果为0,3为真,0为假,故选A。
14、数组名的本质是?()
A.数组第一个元素的地址
B.数组最后一个元素的地址
C.数组元素的个数
D.数组的大小
【答案】:答案解析:数组名是首元素地址(常量,不可修改),故选A。
15、以下关于指针的说法错误的是?()
A.指针可指向变量、数组、函数
B.指针可进行算术运算(如++、--)
C.指针可指向自身
D.指针可用于动态内存分配
【答案】:答案解析:指针不能指向自身(类型不匹配),A、B、D说法正确,故选C。
16、数组作为函数参数时,函数形参不能是?()
A.inta[]
B.int*a
C.inta[5]
D.inta
【答案】:答案解析:D中inta是普通变量,不能接收数组名(地址),A、B、C均可作为数组形参,故选D。
17、若inta[5];则数组a的元素个数是?()
A.4
B.5
C.6
D.不确定
【答案】:答案解析:数组a[5]定义5个元素(下标0-4),故选B。
原创力文档

文档评论(0)