C++期中期末试题真题合集pdf免费版整合版【附答案】|百度网盘下载
编辑点评:已收集多套C++试卷供审阅
专为C++编程设计的一系列配套练习题合集,C++期中、期末考题合集pdf免费版包含期中真题、期末练习题、课堂试题等高清无水印,直接打印即可练习学习,非常方便,可复制版。
C++编程测试图片预览
试题预览
1、选择题(每小题3分,共48分。)
01.以下关于 C++ 函数的陈述中,正确的是 ( )。
A) 每个函数必须至少有一个参数 B) 每个函数都必须返回一个值
C) 函数必须在被调用之前声明 D) 函数不能调用自身
02.在以下关于类和对象的陈述中,错误的是 ( )。
A) 一个类只能有一个对象 B) 一个对象是一个类的具体实例
C) 类是对某一类对象的抽象 D) 类和对象之间的关系是数据类型和变量之间的关系
03.在 C++ 中, ( ) 用于实现运行时多态性。
A) 内联函数 B) 重载函数 C) 模板函数 D) 虚函数
04.以下关于运算符重载的说法中,正确的是()。
A) 通过运算符重载,可以定义新的运算符 B) 有些运算符只能作为成员函数重载
C) 如果运算符 + 被重载,则对应的运算符函数名是 + D) 二元运算符重载时,必须声明两个形参
05.对于语句 cout<
A) "cout" 是一个输出流对象 B) "endl" 用于输出回车和换行
C) "x" 是变量 D) "<<" 称为提取操作符
06.对于以下类声明,MyDERIVED 类中受保护数据成员和成员函数的数量为 ()。
类 MyBASE
{ 私有:int k;
public: void set(int n){ k=n;}
int get( )const{ return k;} };
类 MyDERIVED:受保护的 MyBASE
{ 保护:int j;
public: void set(int m, int n){ MyBASE::set(m); j=n;}
int get() const { return MyBASE::get()+j; } };
A)4 B)3 C)2 D)1
07.已知类体中包含如下函数原型:Volume operator-(Volume)const;,以下是关于该函数的介绍
在语句中,错误是 ( )。
A) 这是 operator- B) 的重载运算符函数 B) 此函数重载的运算符是一元运算符
C) 这是一个成员函数 D) 这个函数不会改变类的任何数据成员的值
08.执行以下块后,输出结果为 ( )。
cout.fill('*'); cout.width(6); cout.fill('#'); cout << 123 << endl;
A)###123 B)123### C)***123 D)123***
09.在以下函数原型中, ( ) 可以用作 AA 类的构造函数。
A)void AA(int); B)int AA(); C)AA(int)常量; D)AA(int);
10。以下四个选项中,( ) 用于声明虚函数。
A)虚拟 B)公共 C)包含 D)使用命名空间
11.使用 ( ) 在运行时实现多态性。
A) 重载函数 B) 构造函数 C) 析构函数 D) 虚函数
12.要实现动态绑定,必须通过()调用虚函数。
A) 对象指针 B) 成员名限定 C) 对象名 D) 派生类名
C编程关键知识点
1、 C语言知识点总结:
1、一个 C 语言程序由多个函数组成。
2、每个 C 语言程序中只有一个 main 函数。
3、 C 语言不使用行号,也没有程序行的概念。
4、程序中可以使用空行和空格。
5、之字形书写格式常用于C语言程序格式。
6、 C语言程序可以添加任意数量的注释,注释形式为/*...*/,注释形式不能嵌套,即注释内部可以有另一个注释。 // 行注释是 C++ 的新增功能。
7、引用C语言标准库函数,一般需要在文件include预处理命令中包含头文件。
8、用户定义的函数必须在使用前定义。
9。变量必须在使用前定义。
10。变量名和函数名必须是合法的标识符。标识符用于小写字母。 C语言是区分大小写的语言。
11.变量和函数不能用关键字命名。
12. C 语言中的语句都以分号结尾。
13.计算机中使用的基数是二进制数,不是十进制数,因为二进制数只有两个数,运算简单方便硬件实现,二进制便于逻辑运算。将十进制数转换为二进制数应分为整数部分转换和小数部分转换。整数部分转换可以通过基数除法实现,小数部分转换可以通过基数乘法实现。八进制和十六进制也是 C 语言中经常表示数据的基数,因为它们与二进制转换非常方便,但需要注意的是,它们不是计算机中使用的基数。
14、机器数有几种表示形式:原码、反码和补码。计算机通常使用补码来表示一个数,因为补码运算可以与符号位一起参与运算,便于计算器的设计和实现。
2、初学者在编程过程中最常犯的错误:
1、编写标识符时,忽略大小写字母之间的区别。比如把变量a写成A。
2、变量的类型被忽略,执行了非法操作。例如 floata,b;printf("%d",a%b);,其中 % 操作只能是整数变量或常量。
3、将字符常量与字符串常量混淆。比如charc;c=”a”;,应该是c='a';
4、忘记语句末尾的分号。
5、很容易添加不必要的分号,例如 {inta,b;printf(“%d,%d”,a,b);};大括号外不能加分号。
6、在 {} 之外编写 C 语句。
7,如果未定义变量,则使用该变量。
8、在执行部分定义变量。在TC下,一个函数由生命部分和执行部分组成,这两个部分不能相交,即C语言中间不能定义变量。在下面的程序中,变量b的定义放在了执行部分。
voidmain()
{
inta;
a=10;
intb;
b=a;
}
但是记住VC6.0中没有这样的规定,只要变量定义在之前,之后使用就可以了。
9。给变量赋值时,变量的表示范围被忽略。例如,char=130; char类型的取值范围是-128~127,其中130超出了ch的表示范围。
10。定义变量时,变量名用空格或分号隔开。例如:intab;应改为:inta,b;
11.输入字符常量时省略单引号,认为A和B是'A'和'B'。例如魅力=A;
12. C语句末尾的分号使用中文分号(;)而不是英文分号(;),导致编译错误。
13.将字母 o 误认为数字零。
14、编程中经常遗漏},),',".
15、定义变量时,数据类型名称和变量名称之间没有空格。例如 inta;
16、对于浮点变量,使用 % 运算符。
17.转换表达式时省略(),例如:int(3.2+a),它应该是:(int)(3.2+a)。
18.在赋值运算符的左侧使用表达式:例如:a+b=30;或 30=a+b;
19、词序颠倒。比如下面的程序,初学者会误以为程序的输出是a=21:
main()
{
inta,b;
a=b+1;
b=20;
printf(“a=%d”,a);
}
20、#include 或#define 命令以分号结束。
# 以预处理命令开头,而不是 C 语句,所以不要以分号结尾。例如,#include;错了,多了一个分号。
21、使用scanf函数输入变量值时,地址字符&被省略。
22、使用printf函数和scanf函数时,格式控制字符与表达式类型不一致,或者个数不相等。例如:
inta,b;
scanf("%d",&a,&b);//格式控制字符和表达式的个数不相等
printf("a=%d,b=%f",a,b);//%f 应该改成 %d.
23.精度是在调用 scanf 函数输入浮点数时指定的。
例子:
floatf;
scanf("%5.2f",&f);//应该改为scanf("%5f",&f);
24.取算术表达式的地址。
地址运算符 & 只能与变量一起使用。
以下做法是错误的:
inta,b;
scanf("%d",&(a+b));//错误
25、使用 printf 打印单引号、双引号和反斜杠时,这些字符之前没有反斜杠形成的转义字符。
示例 printf("youshouldsay"bye"!");
应改为:printf("youshouldsay"bye"!");
3、C语言编程习惯。
1、每行只有一个语句。尽管 C 语言允许在一行中放置多个语句,但每行仅放置一个语句有助于程序调试。
2、养成随时注释程序的习惯。其他程序员还是自己对未来程序的快速了解。
3、程序的编写要有层次感和曲折感。
4、在编写函数时,在变量定义部分和函数的执行部分之间加一个空行,或者根据完成的功能块在程序的执行部分加一个相应的空行,会增加程序的可读性。
5、给变量起有意义的名字,不仅可以帮助程序员理解程序,还可以避免变量的重复和乱用,导致程序出现逻辑错误。
6、在运算符和赋值符号的两边加一个空格会增加程序的可读性。
例如,a=a+b;最好写成 a=a+b;。
作者:褚小玲
链接:https://www.58edu.cc/article/1522556452143628290.html
文章版权归作者所有,58edu信息发布平台,仅提供信息存储空间服务,接受投稿是出于传递更多信息、供广大网友交流学习之目的。如有侵权。联系站长删除。