C++第二学期期末考试选择题题库(qlu题库,自用)

又到了期末周,突击一下c++吧@—@

第一次实验 

1、已知学生记录的定义为:
struct student
{
 int no;
 char name[20];
 char sex;
 struct  注意年月日都是结构体,不是student里面的                                
 {
  int year;
  int month;
  int day;
 }birth;
};
struct student s;
假设变量s中的"生日"应是"1988年5月10日",对"生日"的正确赋值语句是 【 正确答案: d】      
(A) year=1988; month=5; day=10;
(B) brith.year=1988; birth.month=5; birth.day=10;
(C) s.year=1988; s.month=5; s.day=10;
(D) s.birth.year=1988; s.birth.month=5; s.birth.day=10; 

2、直接打

已知:
union u_type
{
 int i;
 char ch;
}temp;
执行语句"temp.i=305;"后,temp.ch的值为   【 正确答案: D    

(A)  266  (B)  256  (C)  10  (D)  1

3、设有以下说明语句: 【 正确答案: c
struct strutype
{
 int a;
 float b;
}var;
则下面叙述中错误的是      
(A)  struct是结构类型的关键字
(B)  struct strutype是用户定义的结构类型
(C)  var是用户定义的结构类型名
(D)  a和b都是结构成员名 

(A) struct 是结构类型的关键字 - 正确。在 C 语言中,struct 确实是用来定义结构体类型的关键字。

(B) struct strutype 是用户定义的结构类型 - 正确。这里 struct strutype 定义了一个名为 strutype 的结构体类型。

(C) var 是用户定义的结构类型名 - 错误。var 并不是结构类型名,而是该结构体类型的一个变量名。struct strutype 是结构类型名,而 var 是这个类型的一个实例或对象。

(D) 

C++中的erase函数用于删除容器中的元素。根据引用\[1\]和引用\[2\]的内容,我们可以总结出erase函数的几种用法。 第一种用法是通过指定位置来删除元素。例如,可以使用erase函数来删除字符串中的一部分字符。在这种用法中,可以传入两个迭代器,表示要删除的元素的范围。例如,可以使用str.erase(str.begin()+5, str.end()-7)来删除字符串str中从第5个字符到倒数第7个字符之间的所有字符。 第二种用法是通过指定单个位置来删除元素。例如,可以使用erase函数来删除向量中的特定元素。在这种用法中,可以传入一个迭代器,表示要删除的元素的位置。例如,可以使用e.erase(it)来删除向量e中的末尾元素。 第三种用法是通过指定范围来删除元素,并返回删除后的迭代器。例如,可以使用erase函数来删除向量中的一部分元素,并返回删除后的迭代器。这个迭代器指向删除范围的下一个元素。例如,可以使用it3 = e.erase(it2, it3)来删除向量e中从it2到it3之间的所有元素,并将it3指向删除范围的下一个元素。 需要注意的是,对于第三种用法,如果直接使用erase函数返回的迭代器来删除元素,会导致未定义的行为。正确的做法是使用返回的迭代器来更新要删除的位置,然后再调用erase函数来删除元素。例如,可以使用a.erase(it3)来删除向量a中it3所指的元素。 综上所述,C++中的erase函数可以根据不同的用法来删除容器中的元素。 #### 引用[.reference_title] - *1* [C++中的erase方法](https://blog.csdn.net/QLU_minoz/article/details/81632765)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [C++(11):erase函数](https://blog.csdn.net/Leo_csdn_/article/details/82221721)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值