- 3
- 0
- 约3.34千字
- 约 9页
- 2026-06-18 发布于四川
- 举报
(2026年)C语言题库(带答案)
一、单项选择题
1.下列关于C23标准中auto关键字的描述,正确的是()
A.保留C11的自动存储类语义,用于声明局部变量
B.支持类型推导,可省略变量的显式类型声明
C.可用于修饰全局变量与静态变量
D.该关键字已被C23标准弃用
答案:B
解析:C23对auto关键字进行了重定义,移除了原有的自动存储类语义,改为支持编译时类型推导,与C++11及以上版本的auto功能一致。C11中的auto仅为存储类说明符,无类型推导能力。
2.在64位Linux系统中,执行以下代码段,输出结果为()
c
chararr[]=hello;
char*p=arr;
printf(%zu,%zu\n,sizeof(arr),sizeof(p));
A.5,5
B.6,8
C.5,8
D.6,6
答案:B
解析:字符串hello包含5个可见字符加1个终止符\0,因此sizeof(arr)为6;64位系统中指针大小为8字节,因此sizeof(p)为8。
3.下列哪种方式可有效修复缓冲区溢出漏洞()
A.使用sprintf替代snprintf
B.关闭编译器的栈保护机制
C.对用户输入的长度进行严格校验,使用安全字符串函数
D.直接将用户输入赋值给字符数组
答案:C
解析:sprintf未限制输出长度,易
原创力文档

文档评论(0)