- 0
- 0
- 约6.35千字
- 约 13页
- 2026-01-31 发布于山东
- 举报
2026年c语言期末测试题
第一部分单选题(50题)
1、以下指针定义正确的是?()
A.int*p;
B.char*q;
C.float*r;
D.以上都正确
【答案】:答案解析:A指向int,B指向char,C指向float,均符合指针定义语法,故选D。
2、以下数组初始化中,未赋值元素默认为0的是?()
A.inta[5]={1,2,3};
B.charstr[5];
C.inta[5];
D.以上都是
【答案】:答案解析:全局数组未初始化默认为0,局部数组未初始化是随机值,A初始化部分元素,未赋值默认为0,故选A。
3、shortint类型的有符号取值范围是?()
A.0~65535
B.-32768~32767
C.-2147483648~2147483647
D.无固定范围
【答案】:答案解析:16位shortint有符号取值标准为-32768~32767,无符号为0~65535,故选B。
4、函数调用时,实参的类型必须与形参的类型?()
A.完全一致
B.兼容(可自动转换)
C.无关
D.实参类型大于形参类型
【答案】:答案解析:实参和形参类型可兼容(如int→float),编译器自动转换,不兼容则编译错误,故选B。
5、以下指针运算中,结果为值的是?()
A.*p
B.p+1
C.a
D.p-2
【答案】:答案解析:*p是解引用,获取指针指向变量的值,B、C、D结果均为指针,故选A。
6、以下关于void类型函数的说法正确的是?()
A.不能有return语句
B.可以有return语句(无表达式)
C.必须有return语句
D.可返回任意类型
【答案】:答案解析:void函数可写return;(无表达式),用于提前结束函数,不能返回表达式,故选B。
7、以下关于main函数的说法正确的是?()
A.main函数可无返回值
B.main函数可带参数
C.main函数是程序入口
D.以上都正确
【答案】:答案解析:main函数可声明为void(无返回值),可带argc/argv参数,是程序唯一入口,故选D。
8、以下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。
9、若charstr[10];执行strcpy(str,hello);后str的长度是?()
A.5
B.6
C.10
D.不确定
【答案】:答案解析:strcpy复制字符串hello(含\0),长度为5(不含\0),故选A。
10、指针变量的作用是存储?()
A.变量的值
B.变量的地址
C.函数的地址
D.数组的元素
【答案】:答案解析:指针变量专门存储其他变量的内存地址,故选B。
11、若inta=5,p=a;执行p=8;后a的值是?()
A.5
B.8
C.a
D.无定义
【答案】:答案解析:*p=8通过指针修改指向变量a的值,a变为8,故选B。
12、以下函数定义正确的是?()
A.voidfun(){printf(hello);}
B.voidfun(inta){printf(%d,a);}
C.intfun(){return5;}
D.以上都正确
【答案】:答案解析:A无参无返回值,B有参无返回值,C无参有返回值,均符合语法,故选D。
13、以下关于return语句的说法正确的是?()
A.函数中可有多条return语句
B.函数中必须有return语句
C.return语句必须在函数末尾
D.return语句只能返回一个值
【答案】:答案解析:A函数中可有多条return(如条件判断后返回),Bvoid函数可无return,Creturn可在任意位置,Dreturn只能返回一个值(返回多个值需用指针/数组),故选A。
14、以下函数递归调用的例子是?()
A.计算阶乘
B.循环输出数字
C.数组遍历
D.变量交换
【答案】:答案解析:阶乘常用递归实现(n!=n*(n-1)!),B、C、D用循环更高效,故选A。
15、若inta=7,b=3;执行if(a%b==1)a=0;elseb=0;后a和b的值分别是?()
A.0,3
B.7,0
C.0,0
D.7,3
【答案】:
原创力文档

文档评论(0)