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;。

阅读剩余
THE END