- 0
- 0
- 约6.6千字
- 约 13页
- 2026-01-27 发布于山东
- 举报
贵州大学c语言期末试题
第一部分单选题(50题)
1、若floatx=3.14;则表达式(int)x的结果是?()
A.3
B.3.14
C.4
D.0
【答案】:答案解析:强制转换为int取整数部分,3.14→3,故选A。
2、以下定义指向二维数组的指针正确的是?()
A.inta[2][3],(*p)[3]=a;
B.inta[2][3],*p=a;
C.inta[2][3],p=a[0];
D.inta[2][3],*p=a;
【答案】:答案解析:A是指向3列数组的指针(匹配二维数组a的行),B、C、D类型不匹配,故选A。
3、若charstr[10];执行strcpy(str,hello);后str的长度是?()
A.5
B.6
C.10
D.不确定
【答案】:答案解析:strcpy复制字符串hello(含\0),长度为5(不含\0),故选A。
4、若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。
5、若inta=3;执行if(++a3)printf(A);elseprintf(B);输出结果是?()
A.A
B.B
C.AB
D.无输出
【答案】:答案解析:++a是前置自增,a变为43,条件为真,输出A,故选A。
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、若inti=5,s=0;执行while(i0){s+=i;i--;}后s的值是?()
A.15
B.10
C.5
D.0
【答案】:答案解析:累加5+4+3+2+1=15,s=15,故选A。
8、以下函数无返回值的是?()
A.intfun(){return0;}
B.voidfun(){printf(hello);}
C.floatfun(){return3.14;}
D.charfun(){returnb;}
【答案】:答案解析:void类型函数无返回值,A、C、D均有返回值,故选B。
9、以下switch语句语法正确的是?()
A.switch(x){case1:printf(1);break;case2:printf(2);}
B.switch(x){case1:printf(1);case2:printf(2);break;}
C.switch(x){case1:printf(1);break;default:printf(0);}
D.以上都正确
【答案】:答案解析:switch语句case后可加break(跳出)或不加(穿透),default可选,A、B、C语法均正确,故选D。
10、指针作为函数参数时,传递的是?()
A.指针的值
B.指针的地址
C.变量的值
D.变量的地址
【答案】:答案解析:指针传参本质是传递变量地址,函数中通过指针可修改实参值,故选D。
11、若intx=3,y=5;执行if(xy)printf(x大);elseif(x==y)printf(相等);elseprintf(y大);输出结果是?()
A.x大
B.相等
C.y大
D.无输出
【答案】:答案解析:x=3y=5,执行else,输出y大,故选C。
12、以下哪个数据类型用于存储单个字符?()
A.int
B.char
C.float
D.double
【答案】:答案解析:char用于存储单个字符(ASCII码),int存储整数,float/double存储浮点数,故选B。
13、以下二维数组初始化正确的是?()
A.inta[2][3]={{1},{2},{3}};
B.inta[2][3]={1,2,3,4,5};
C.inta[2][3]={{1,2,3},{4,5,6}};
D.inta[2][3]={1,2,3,4,5,6,7};
【答案】:答案解析:A行数超2,B元素不足6个(补0),C标准初始化,D元素超6个,故选C。
14、递归函数的优点是?()
A.代码简洁,逻辑清晰
B.效率高,占用内存少
C.避免栈溢出
D.适合所有问题
【答案】:答案解析:递归优点是代码简洁(如阶乘、斐波那契数列),缺点是效率低、占用栈空间多(可能溢出),故选A。
15、
原创力文档

文档评论(0)