- 0
- 0
- 约6.59千字
- 约 13页
- 2026-01-27 发布于河南
- 举报
大学工程学院C语言考试真题
第一部分单选题(50题)
1、以下关于空指针的定义正确的是?()
A.#defineNULL0
B.#defineNULL(void*)0
C.int*p=NULL;
D.以上都正确
【答案】:答案解析:A、B是NULL的常见定义,C是定义空指针,均正确,故选D。
2、若inti=0;执行for(i=0;i5;i++){if(i%2==0)continue;printf(%d,i);}输出结果是?()
A.13
B.024
C.01234
D.无输出
【答案】:答案解析:i为偶数(0、2、4)时continue,输出奇数1、3,故选A。
3、若intx=4;执行switch(x){case2:printf(2);break;default:printf(0);case4:printf(4);break;}输出结果是?()
A.04
B.4
C.204
D.无输出
【答案】:答案解析:x=4匹配case4,执行输出4,break跳出,故选B。
4、若inti=0;执行for(;;){if(i==4)break;printf(%d,i);i++;}输出结果是?()
A.0123
B.01234
C.无限循环
D.无输出
【答案】:答案解析:for(;;)是无限循环,i=4时break,输出0123,故选A。
5、以下if-else语句中,代码块执行顺序正确的是?()
A.先执行if条件,满足则执行if代码块,否则执行else代码块
B.先执行else代码块,再执行if条件
C.同时执行if和else代码块
D.仅执行else代码块
【答案】:答案解析:if-else逻辑为“条件判断→满足执行if,否则执行else”,互斥执行,故选A。
6、若intx=4;执行if(x++4)printf(A);elseprintf(B);输出结果是?()
A.A
B.B
C.AB
D.无输出
【答案】:答案解析:x++是后置自增,条件判断时x=4,44为假,执行else(输出B),后x变为5,故选B。
7、函数参数的默认值在______指定?()
A.函数定义时
B.函数声明时
C.函数调用时
D.C语言不支持默认参数
【答案】:答案解析:标准C语言不支持函数参数默认值(C++支持),故选D。
8、若inti=1,s=0;执行while(i=5){s+=i;i++;}后s的值是?()
A.15
B.10
C.5
D.0
【答案】:答案解析:循环累加1+2+3+4+5=15,s=15,故选A。
9、以下关于函数的说法错误的是?()
A.函数可嵌套调用
B.函数可递归调用
C.函数可重定义
D.函数可声明多次
【答案】:答案解析:C函数名不能重定义(重复定义编译报错),A、B、D正确,故选C。
10、以下for循环的循环变量初始化表达式为“i=5”的是?()
A.for(i=0;i5;i++)
B.for(i=5;i0;i--)
C.for(i=2;i=5;i++)
D.for(i=5;i10;i+=2)
【答案】:答案解析:初始化表达式是for循环第一个部分,B中i=5符合,其余初始化非5,故选B。
11、若inta=5,*p=a;则*p的值是?()
A.5
B.a
C.p
D.无定义
【答案】:答案解析:*p等价于p,即a(a的地址),故选B。
12、数组在内存中的存储方式是?()
A.随机存储
B.连续存储
C.链式存储
D.散列存储
【答案】:答案解析:数组元素在内存中连续存放,便于通过下标访问,故选B。
13、若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。
14、函数调用时,实参的顺序必须与形参的顺序?()
A.一致
B.相反
C.无关
D.部分一致
【答案】:答案解析:实参和形参需按顺序一一对应(类型、个数、顺序匹配),否则可能导致逻辑错误,故选A。
15、以下数组定义中,可省略数组长度的是?()
A.inta[5];
B.inta[]={1,2,3};
C.inta[5]={1,2,3};
D.inta[][3];
【答案】:答案解析:初始化时可省略长度(编译器自动计算),D二维数组第二维不能省略,故选B。
16、若inta=5,p=a;则p的值是?()
A.5
B.a
C.p
D.无定义
【答案】:答案解析:*p等价于p,即指针p自身的值(a的地址),故选C。
17、函数参数传递中,地址传递的特点是?()
A.形参是实参的副本
原创力文档

文档评论(0)