华中农业大学本科课程考试试卷
考试课程: C++语言程序设计 学年学期:2009-2010-2 ??????????? ※?※?※线 ? ? ? ? ? ? ? ? 号?学?? ? 订 ? ? ? ? 名?姓?? ? ? ? ? ? 装 级?班?? ※?※?※????????试卷类型:A卷 考试时间:2010-6 题 号 一 二 三 四 五 六 总 分 得 分 评卷人 一、单项选择题(从下列各题四个备选答案中选出一个正确答本题 案,并将其字母代号写在下面的表格中。答案错选或未选者,该
得分 题不得分。每题1分,共20分。) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
1. C/C++规定,在一个源程序中,main()函数的位置: 【 】 A.必须在最开始 B.必须在最后 C.可以任意
D.必须在系统调用的库函数后面 2. 若有代数式
8xybc ,则不正确的C语言表达式是: 【 】
A.x/b/c*y*8 B.8*x*y/b/c
C.8*x*y/b*c D.x*y/c/b*8
3. 判断char型变量ch为数字的正确表达式是: 【 】
A.ch>=\ B.ch>='0'&&ch<='9' C.'0'≤ch≤'9' D.ch>='0'||ch<='9'
4.对字符串\进行完整赋值的操作是: 【 】
A.char s[3] = {'B','o','y'} B.char s[] = \C.char s[3] = {\
D.char s[3]; s=\
5. 在c++语言中引用数组元素时,其数组下标的数据类型允许是: 【 】
A.整型常量
B.整型表达式
C.整型常量或整型表达式 D.任何类型的表达式
【第 1 页 共 9 页】
6.下述函数声明形式正确的是: 【 】
A.int f(int x; int y) B.int f(int x,y)
C.int f(int x, int y) D.int f(x,y: int)
7.用数组名作为函数的实参时,传递给形参的是: 【 】 A.数组的首地址
B.数组的第1个元素 D.数组的元素个数
C.数组中的全部元素
8.复合语句中定义的变量的作用范围是: 【 】
A.整个源文件
B.整个函数
C.整个程序
D.所定义的复合语句
9.一个函数的返回值取决于: A.return语句中的表达式
B.调用函数的类型
C.系统默认的类型
D. 被调用函数的类型
10.下列关于类和对象叙述错误的是: A.一个类只能有一个对象
B.对象是类的具体实例 C.类是对某一类对象的抽象
D.类和对象的关系是一种数据类型与变量的关系
11.有关构造函数说法不正确的是: A.构造函数名和类名相同
B.构造函数在说明类的对象时自动执行 C.构造函数没有任何函数类型 D.构造函数有且只有一个
12.有关析构函数说法不正确的是: A.析构函数有且只有一个
B.析构函数在类对象被撤消时自动执行 C.析构函数没有任何函数类型 D.析构造函数可以有参数
13.下面有关重载函数的说法中正确的是: A.重载函数必须具有不同的返回值类型;
【第 2 页 共 9 页】
】 】
】
】
】 【【【【【B.重载函数形参个数必须不同; C.重载函数必须有不同的形参列表 D.重载函数名可以不同
14.下面描述中,表达错误的是: 【 】
A.公有继承时基类中的public成员在派生类中仍是public的 B.公有继承时基类中的private成员在派生类中可以直接访问 C.公有继承时基类中的protected成员在派生类中仍是protected的 D.私有继承时基类中的public成员在派生类中是private的
15. 假定AB为一个类,则执行“AB A1,B1;”语句时,系统自动调用该类的构造
函数的次数为: 【 】 A.2 B.1
C.0 D.3
16.下列静态数据成员的特性中,错误的是: 【 】
A.说明静态数据成员时,前边要加修饰符static B.静态数据成员要在类体外进行初始化
C.引用静态数据成员时,要在静态数据成员名前加类名和作用域运算符 D.静态数据成员不是所有对象所共有的
17. 对于语句cout< A. “cout”是一个输出流对象 B.“endl“的作用是输出回车换行 C.“x“是一个变量 D. “<<“称为提取运算符 18.派生类的对象可以访问的基类成员是: 【 】 A.公有继承的公有成员 B.公有继承的私有成员 C.公有继承的保护成员 D.私有继承的公有成员 19.进行文件操作时需要包含文件是: 【 】 A.iostream.h B.fstream.h C.stdio.h D.stdlib.h 【第 3 页 共 9 页】 20.在循环语句的循环体中,continue语句的作用是: 【 】 A. 立即终止整个循环 B. 结束本次循环,继续执行下一轮循环 C. 继续执行continue语句之后的循环体各语句 D. 结束本次循环并结束循环 本题 得分 二、填空题(将答案写在该题横线上。每空1分,共13分。) 1. sizeof(float)的值为 。 2. 若有定义:int a=3,b=2,c=1,f; 执行 f=a 4. 条件表达式x>=0? x : -x的功能是 。 5. 标准输入流cin和流提取运算符 ,将键盘中输入的数据送到流提 取符右边的变量中保存起来。 6. 若有定义char s[]=“It is cold” ,则strlen(s)的值为 ,数组s中 包含有 个字符。 7. C++程序的每条语句后面必须加上 ,表示该语句结束。 8. 若要在程序文件中进行标准输入输出操作,则必须在开始的#include 命令中 使用 头文件。 9. int i=5,j;j=i++;则j的值为 。 10.派生类可以分为 、 、和保护派生。由 继 承得到的派生类,其基类的所有公有成员都只能成为它的私有成员。 本题 三、判断下面说法是否正确(正确者在【 】内填T,错误者在【 】得分 内填F,每题1分,共12分) 1. 在C++中,标识符不区分大小写。 【 】 2. 在一个被调用函数中,一个return语句可返回多个值给调用函数。 【 】 3. ++运算符不可以作用于常量。 【 】 4. for循环只适用于循环次数确定的情况。 【 】 5. 全局变量和局部变量是按照变量的作用域来划分的。 【 】 6. int a[10],*p=a;p=p+4;则p指向a[5]。 【 】 7. 一维字符数组可以进行整体输入输出。 【 】 8. 一个C++源程序中,不同函数中的变量不能重名。 【 】 【第 4 页 共 9 页】 ?????????????线 ? ???????????订 ? ???????????装 ?????????????