c++程序语言考试模拟题2[1]
课程名称: C++语言考试时间: 110 分钟
课程代码:8416431试卷总分: 100 分
考试形式:闭卷学生自带普通计算机器: 是
一、判断题(在下列各题中,请在正确的题后括号中打√,错误的题后括号中打×。本大题共15小题,每小题1分,总计15分)
1.C++源程序在编译时可能出现错误信息,而在连接时不会出现错误信息。
2.变量被定义后是否有默认值与存储类无关,与数据类型有关。
3.表达式中各操作数计算顺序取决于运算符的优先级和结合性。
4.用来给数组进行初始化的初始值表内的数据项的个数必须小于等于数组元素个数。
编程语言有哪几种类
5.开关语句的<语句序列>中必须有一个break语句,否则该开关语句便无法退出。
6.指针可以加上或减去一个int型数,也可以加上一个指针。
7.没有参数的两个函数是不能重载的。
8.类中的成员函数都是公有的,数据成员都是私有的。
9.析构函数是一个函数体为空的成员函数。
10.静态成员是指静态对象的成员。
11.友元类中的所有成员函数都是友元函数。
12.派生类中成员的访问权限与基类的继承方式有关。
13.运算符重载是通过对已有的运算符重新定义操作功能来实现的,它是C++语言多态性的一种表现。
14.虚函数是实现动态联编的基础。
15.抽象类可以定义对象,不可以定义对象指针和对象引用。
二、填空题(在___处填上最准确的答案)(本大题共15个空,每空1分,总计15分)
1.已知:char ss[ ][6]={"while", "break", "for", "else"}; 字符数组ss是二维数组。使用cout和<<输出字符串"for"时,对应的表达式是。使用cout和<<输出字符串"break"的子串"reak"时,对应的表达式是。使用cout和<<输出字符串else中的字符's'时,对应的表达式是。
2.复合语句是由两条条或两条以上的语句加上组成的。
3.在引用调用中,函数实参用,形参用。
4.如果一个类中没有定义任何构造函数时,系统会自动提供一个构造函数;同样,类中没有定义析构函数时,系统会自动提供一个析构函数
5.友元函数是被说明在类体内的成员函数。
6.下面程序段的运行结果为。
int x=2;
do{cout<<“*”;x--; } while(!x= =0);
7.在继承机制下,当对象消亡时,编译系统先执行的析构函数,然后才执行派生类中子对象类的析构函数,最后执行的析构函数。
8.如果类A继承了类B,则类A被称为派生类,类B被称为类。
9.运算符重载函数的两种主要方式是成员函数和函数。
10.含有的类称为抽象类。
三、选择题(在每个小题四个备选答案中选出一个正确答案)(本大题共20小题,每小
题1分,总计20分)
1.关于C++和C语言的描述中,()是错误的?
A.C是C++的一个子集B.C程序在C++环境可以运行
C.C++程序在C环境可以运行D.C++是面向对象的而C是面向过程的
2.下列不合法的变量名为()。
A.int B.int1 C.name_1 D.name0
3.已知x=43,ch=‘A’,y=0;则表达式(x>=y&&ch<’B’&&!y)的值是()。
A.0 B.语法错C.1 D.“假”
4.以下不正确的是()。
A.语句for(i=0;;i++)表示无限循环B.for(;;)表示无限循环
C.for()也表示无限循环D.while(1)表示无限循环
5.下面程序段的运行结果是()。
#include
void main()
{int i;
for(i=1;i<=5;i++)
{if(i%2) cout<<“*”;
else continue;
cout<<“#”; }
cout<<“$\n”; }
A.*#*#*#$ B.#*#*#*$ C.*#*#$ D.#*#*$
6.给出下面定义:
char a[]=”abcd”;
char b[]={…a?,?b?,?c?,?d?};
则下列说法正确的是()。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。