【C/C++】错题记录(一)

题目一

这道题主要考查了用户对标准库函数的使用规则的理解。

选项 A,一般情况下用户调用标准库函数前不需要重新定义,该项说法错误。

选项 B,即使包含了标准库头文件及相关命名空间,也不允许用户重新定义标准库函数,否则会导致未定义的行为,该项说法错误。

选项 C,若已包含标准库头文件及相关命名空间,系统确实不允许用户重新定义标准库函数,因为这样会引起混乱和错误,该项说法正确。

选项 D,用户调用标准库函数前通常需要使用预编译命令将该函数所在文件(通过头文件的形式)包括到用户源文件中,该项说法错误。

题目二


题目三

这道题主要考查一维数组的正确定义方式。

选项 A,int a5={0,1,2,3,4,5}中定义了一个有 5 个元素的整型数组,但是初始化列表中有 6 个元素,超出了数组的大小,所以错误。

选项 B,char a\[\]={0,1,2,3,4,5}正确地定义了一个字符型数组并进行了初始化,没有指定数组大小,编译器会根据初始化列表中的元素个数来确定数组大小,这里是 6。

选项 C,char a={'A','B','C'}这种定义方式少了数组的中括号,不是正确的数组定义形式。

选项 D,int a5="0123"中,试图用一个字符串来初始化整型数组是错误的,类型不匹配。

综上所述,正确答案是 B。

题目四


题目五

extern、register、static、auto分别是定义外部变量、寄存器变量、静态变量、自动变量。

其中,自动变量(auto)和寄存器变量(register)属于动态存储,调用时临时分配单元;

而静态变量(static)和外部变量(extern)属于静态存储,在整个进程都存在.

题目六


实际上,strcpy()函数本身并不能防止字符串被拷贝到较小的内存区域中。
strcpy()函数是C语言中的一个字符串拷贝函数,它将一个字符串从源地址复制到目标地址,直到遇到字符串结束符'\0'。

但是,strcpy()函数本身并不会检查目标地址的大小。 如果目标地址的内存空间比源字符串的长度小,那么strcpy()函数将会产生缓冲区溢出,导致未定义的行为。

这可能会覆盖其他重要的数据,破坏程序的稳定性和安全性。

题目七


题目八


题目九


题目十


题目十一


题目十二

相关推荐
ZJH__GO2 小时前
网络编程v4pro--实现聊天室文件传输功能
java·服务器·网络·计算机网络
程序员黑豆2 小时前
Windows 系统 Java 环境变量配置全攻略:解决“不是内部或外部命令”
java·前端·ai编程
命运之光2 小时前
【C语言完整代码】就诊信息管理系统
java·c语言·开发语言
命运之光2 小时前
【C语言完整代码】图书管理系统:图书馆场景下的增删改查实战
c语言·开发语言
marvelyu3 小时前
每天10分钟学会OceanBase系列(Day 20):跨机房容灾实战——构建多数据中心高可用架构
java·大数据·数据库
hansang_IR3 小时前
【题解】LC:倍增 / 区间并查集(Range Parallel Unionfind)
c++·算法·并查集
东东最爱敲键盘3 小时前
day7.c++继承
c++
AI人工智能+电脑小能手4 小时前
大白话说Java设计模式-04-工厂方法模式(业务实战篇)
java·设计模式·工厂方法模式·架构设计·代码解耦
沫璃染墨4 小时前
《从零入门Linux系统篇(十五):系统工具篇·六——GDB调试器详解:从程序执行控制到高级调试技巧》
linux·运维·服务器·c语言·c++
BUG指挥官4 小时前
Sa-Token和Spring Security对比
java·后端·spring