- 0
- 0
- 约6.6千字
- 约 13页
- 2026-01-31 发布于山东
- 举报
2026年C语言期末试题北京卷
第一部分单选题(50题)
1、若inti=0;执行while(i5){if(i==2)break;printf(%d,i);i++;}输出结果是?()
A.01
B.012
C.01234
D.无限循环
【答案】:答案解析:i=2时执行break,终止循环,输出01,故选A。
2、以下关于函数参数的说法正确的是?()
A.形参是局部变量
B.实参是局部变量
C.形参在函数调用后释放
D.实参在函数调用后释放
【答案】:答案解析:形参是函数内局部变量(调用时分配内存,调用结束释放),实参是主调函数中的变量(生命周期与主调函数一致),故选A。
3、数组名的本质是?()
A.数组第一个元素的地址
B.数组最后一个元素的地址
C.数组元素的个数
D.数组的大小
【答案】:答案解析:数组名是首元素地址(常量,不可修改),故选A。
4、以下关于指针的说法正确的是?()
A.野指针是指向无效地址的指针
B.空指针是野指针的一种
C.避免野指针需初始化并及时置空
D.以上都正确
【答案】:答案解析:A、B、C均是野指针的核心知识点,故选D。
5、函数指针的作用是?()
A.存储函数的地址
B.调用函数
C.实现回调函数
D.以上都正确
【答案】:答案解析:函数指针存储函数地址,可通过指针调用函数,常用于回调函数,故选D。
6、递归函数的终止条件是?()
A.函数调用自身
B.函数返回值为0
C.不再调用自身的条件
D.无终止条件
【答案】:答案解析:递归函数必须有终止条件(否则无限递归栈溢出),终止条件是不再调用自身的判断,故选C。
7、函数嵌套调用是指?()
A.函数调用自身
B.函数调用另一个函数
C.函数定义中包含另一个函数
D.多个函数互相调用
【答案】:答案解析:嵌套调用是函数A调用函数B,函数B调用函数C,递归是调用自身,故选B。
8、以下关于main函数的说法正确的是?()
A.main函数可无返回值
B.main函数可带参数
C.main函数是程序入口
D.以上都正确
【答案】:答案解析:main函数可声明为void(无返回值),可带argc/argv参数,是程序唯一入口,故选D。
9、指针的核心优势是?()
A.间接访问变量,灵活操作内存
B.提高程序效率,减少内存开销
C.支持动态内存分配和函数回调
D.以上都正确
【答案】:答案解析:指针的核心优势包括间接访问、高效、动态内存、回调等,故选D。
10、指针作为函数返回值时,不能返回?()
A.静态局部变量的地址
B.全局变量的地址
C.动态分配内存的地址
D.局部变量的地址
【答案】:答案解析:局部变量在函数调用结束后释放,返回其地址会导致野指针,故选D。
11、以下二维数组定义正确的是?()
A.inta[2][3];
B.inta[2][];
C.inta[][3]={1,2,3,4,5,6};
D.inta[2][3]={1,2,3,4,5,6,7};
【答案】:答案解析:B第二维不能省略,C第一维可省略(自动计算为2),D初始化元素超6个(2×3=6),A标准定义正确,故选A。
12、以下switch语句中,default的作用是?()
A.匹配所有case
B.匹配除case外的所有情况
C.终止switch语句
D.无实际作用
【答案】:答案解析:default用于匹配所有case未覆盖的情况,可选且位置灵活,故选B。
13、若inta=5,*p=a;则*p的值是?()
A.5
B.a
C.p
D.无定义
【答案】:答案解析:*p等价于p,即a(a的地址),故选B。
14、若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。
15、若inta=10,p=a;则p的值是?()
A.10
B.a
C.p
D.无定义
【答案】:答案解析:*p是解引用,-用于结构体指针访问成员,.用于结构体变量访问成员,故选B。
16、若intx=5;则表达式x+++x的结果是?()
A.10
B.11
C.12
D.9
【答案】:答案解析:结合性从左到右,x+++x等价于(x++)+x=5+6=11,故选B。
17、若inti=0;执行do{i++;printf(%d,i);}while(i3);输出结果是?()
A.123
B.012
C.12
D.无输出
【答案】:答案解析:do-while先执行,i从1到3,输出123,故选A。
18、以下哪个运算符
原创力文档

文档评论(0)