北语17秋《C++》作业1234
17秋《C++》作业1一、单选题:【13道,总分:65分】
1.C++源程序的扩展名为( ) (满分:5)
A. .c B. .cpp
C. .c++ D. .cplus
2.C++中用于进行单行注释的符号是( ) (满分:5)
A. //
B. /
C. /**/
D. */
3.在C++中,14%4的运算结果为( ) (满分:5)
A. 1
B. 2
C. 3
D. 4
4.在C++中,下列选项中是合法的八进制数的是 (满分:5)
A. 127
B. 091
C. 0x12
D. 01011
5.与C语言相比,C++增加了( )的概念 (满分:5)
A. 函数
B. 指针
C. 类
D. 变量
6.表达式中含有int、long和float型的变量,则运算时需要转换为( )类型。 (满分:5)
A. int
B. long
C. float
D. double
7.说明语句在某一个类定义、函数定义或复合语句中的变量被称为( ) (满分:5)
A. 全局变量
B. 局部变量
C. 形式变量
D. 实际变量
8.如不希望函数返回任何值,则可以将函数的返回值定义为( ) (满分:5)
A. int
B. 0
C. void
D. return
9.双精度浮点型的类型说明符为( ) (满分:5)
A. int
B. double
C. float
D. long
10.下列标识符不合法的是( ) (满分:5)
A. a1
B. tex1
C. sum
D. 2word
11.C++程序从( )开始执行 (满分:5)
A. 预处理命令
B. 第一个函数的第一条语句
C. 第一条语句
D. main函数的第一条语句
12.字符串常量“A”的长度是( ) (满分:5)
A. 0
B. 1
C. 2
D. 3
13.( )是表示换行的转义字符 (满分:5)
A. \f
B. \\
C. \n
D. \b
二、多选题:【1道,总分:5分】
1.下面变量赋初值中正确的是( ) (满分:5)
A. int a=3;
B. int a,b=3;
C. int a=3,b=3;
D. int a=b=3;
三、判断题:【6道,总分:30分】
1.C++是最开始提出类概念的语言 (满分:5)
A. 错误
B. 正确
2.sizeof(表达式)的功能是返回指定的表达式值的数据类型在内存中占用的字节数。 (满分:5)
A. 错误
B. 正确
3.在C++中,运算符优先级相同的情况下,按照从右向左的顺序进行计算。 (满分:5)
A. 错误
B. 正确
4.想要在程序中正确地使用自定义的函数,则必须先声明它,然后再定义它。 (满分:5)
A. 错误
B. 正确
5.一条语句最多只能定义一个变量并指定初始值。 (满分:5)
A. 错误
B. 正确
6.C++中的注释可以帮助读者阅读源程序,但并不参与程序的运行。 (满分:5)
A. 错误
B. 正确
17秋《C++》作业2
一、单选题:【13道,总分:65分】
1.在C++中,函数原型不能标识( )。 (满分:5)
A. 函数的返回类型
B. 函数参数的个数
C. 函数参数类型
D. 函数的功能
2.函数调用自身被称为( )。 (满分:5)
A. 继承
B. 重载
C. 递归
D. 多态
3.在while循环中使用( )语句可以立即跳出整个循环体。 (满分:5)
A. continue
B. return
C. case
D. break
4.若在函数定义时省去类型标识符,则系统默认函数返回值类型为( )。 (满分:5)
A. 整形
B. 浮点型
C. 字符型
D. 空类型
5.在int a=3,int *p=&a;中,*p的值是( ) (满分:5)
A. 变量a的地址值
B. 变量p的地址值
C. 3
D. 无意义
6.要禁止修改指针p本身,又要禁止修改p所指向的数据,这样的指针应定义为( )。 (满分:5)
A. const char *p=“ABCD”;
B. char *const p=“ABCD”;
C. char const *p=“ABCD”;
D. const char * const p=“ABCD”;
7.多个具有不同类型或个数参数的函数共用一个函数标识名被称为( )函数。 (满分:5)
A. 继承
B. 重载
C. 递归
D. 多态
8.指针变量是用来存放( )的变量。 (满分:5)
A. 其他变量的值
B. 其他变量的变量名
C. 函数名
D. 地址
9.下列程序段的输出结果是( )。for(i=0,j=10,k=0;i<=j;i++,j-=3,k=i+j);cout<<k; (满分:5)
A. 3
B. 4
C. 6
D. 7
10.函数调用func((exp1,exp2),(exp3,exp4,exp5))中所含实参的个数为( )。 (满分:5)
A. 1
B. 2
C. 4
D. 5
11.使用地址作为实参传给形参,下列说法正确的是( )。 (满分:5)
A. 实参是形参的备份
B. 实参与形参无联系
C. 实参与形参是同一对象
D. 形参是实参的备份
12.int n=0;while(n=1)n++;while循环执行次数是( )。 (满分:5)
A. 0次
B. 1次
C. 不确定次
D. 无限次
13.C++中不能用来组成循环结构的关键字是( ) (满分:5)
A. for
B. while
C. switch
D. do
二、多选题:【1道,总分:5分】
1.下列描述中正确的是( )。 (满分:5)
A. 定义函数中指定的形参,在函数未调用时不占用内存空间。
B. 实参应该是确定的值。
C. 实参与形参的类型可以不同。
D. 形参可以将函数运算后的值传递给实参。
三、判断题:【6道,总分:30分】
1.for语句中的循环控制变量必须在for语句内部进行声明。 (满分:5)
A. 错误
B. 正确
2.C++中的函数都具有返回值。 (满分:5)
A. 错误
B. 正确
3.一个函数中可以有多于一个return语句。 (满分:5)
A. 错误
B. 正确
4.C++中的指针既可以指向内存中的变量,也可以指向寄存器变量。 (满分:5)
A. 错误
B. 正确
5.for语句的格式为:for(表达式1;表达式2;表达式3) 语句若在for语句中省略3个表达式,则循环一定执行无数次。 (满分:5)
A. 错误
B. 正确
6.当一个函数体内定义的局部变量和全局变量同名时,程序会优先选择使用全局变量。 (满分:5)
A. 错误
B. 正确
17秋《C++》作业3
一、单选题:【18道,总分:90分】
1.若有语句char a[]= "test";则数组a[]中共有( )个变量。 (满分:5)
A. 3
B. 4
C. 5
D. 0
2.关于this指针使用说法正确的是( )。 (满分:5)
A. 保证每个对象拥有自己的数据成员,但共享处理这些数据的代码
B. 保证基类私有成员在子类中可以被访问。
C. 保证基类保护成员在子类中可以被访问。
D. 保证基类公有成员在子类中可以被访问。
3.C++的多态性指的是( )。 (满分:5)
A. 一个对象调用不同名称的函数
B. 一个对象调用不同名称的对象
C. 不同的对象调用相同名称的函数
D. 不同的对象调用不同名称的函数
4.静态成员函数没有( )。 (满分:5)
A. 返回值
B. 返回类型
C. 指针参数
D. this指针
5.以下基类中的成员函数表示纯虚函数的是( )。 (满分:5)
A. virtual void tt( )=0
B. void tt(int)=0
C. virtual void tt(int)
D. virtual void tt(int){}
6.在面向对象的程序设计中,首先在问题域中识别出若干个 ( )。 (满分:5)
A. 函数
B. 类
C. 文件
D. 过程
7.有关多态性说法不正确的是( )。 (满分:5)
A. C++语言的多态性分为编译时的多态性和运行时的多态性
B. 运行时的多态性可通过模板和虚函数实现
C. 编译时的多态性可通过函数重载实现
D. 实现运行时多态性的机制称为动态多态性
8.所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是( )。 (满分:5)
A. 类
B. 对象
C. 函数体
D. 数据块
9.对于int *pa[5];的描述,正确的是( )。 (满分:5)
A. pa是一个指向数组的指针,所指向的数组是5个int型元素
B. pa是一个指向某个数组中第5个元素的指针,该元素是int型变量
C. pa[5]表示某个数组的第5个元素的值
D. pa是一个具有5个元素的指针数组,每个元素是一个int型指针
10.C++的继承性允许派生类继承基类的( )。 (满分:5)
A. 部分特性,并允许增加新的特性或重定义基类的特性
B. 部分特性,但不允许增加新的特性或重定义基类的特性
C. 所有特性,并允许增加新的特性或重定义基类的特性
D. 所有特性,但不允许增加新的特性或重定义基类的特性
11.若声明数组int a,则对数组中第三个元素的引用正确的是( )。 (满分:5)
A. a
B. a
C. a
D. a
12.在公有派生类的成员函数不能直接访问基类中继承来的某个成员,则该成员一定是基类中的( )。 (满分:5)
A. 私有成员
B. 公有成员
C. 保护成员
D. 保护成员或私有成员
13. (满分:5)
A. 10,30,50
B. 10,20,30
C. 20,40,60
D. 10,30,60
14.对基类和派生类的关系描述中,错误的是( )。 (满分:5)
A. 派生类是基类的具体化
B. 基类继承了派生类的属性
C. 派生类是基类定义的延续
D. 派生类是基类的特殊化
15.若有语句char a[]= "test";int b=strlen(a);则执行语句后b的值为( )。 (满分:5)
A. 3
B. 4
C. 5
D. 0
16.如果从原有类定义新类可以实现的是( )。 (满分:5)
A. 信息隐藏
B. 数据封装
C. 数据抽象
D. 继承机制
17.假设ClassY:publicX,即类Y是类X的派生类,则说明一个Y类的对象时和删除Y类对象时,调用构造函数和析构函数的次序分别为( )。 (满分:5)
A. X,Y;Y,X
B. X,Y;X,Y
C. Y,X;Y,X
D. Y,X;X,Y
18.类B是类A的公有派生类,类A和类B中都定义了虚函数func( ),p是一个指向类A对象的指针,则p->A::func( )将( )。 (满分:5)
A. 调用类A中的函数func( )
B. 调用类B中的函数func( )
C. 根据p所指的对象类型而确定调用类A中或类B中的函数func( )
D. 既调用类A中函数,也调用类B中的函数
二、判断题:【2道,总分:10分】
1.同一个数组中的各个元素数据类型一定相同。 (满分:5)
A. 错误
B. 正确
2.C++语言中,函数的声明和函数的定义必须在同一个源文件内。 (满分:5)
A. 错误
B. 正确
17秋《C++》作业4
一、单选题:【18道,总分:90分】
1.语句cout << setiosflags(ios::scientific) << setprecision(4) << a << endl; 中setprecision(4)的含义是( ) (满分:5)
A. 设置输出域宽为4
B. 设置用八进制输出数据
C. 设置浮点数的输出精度为4
D. 设置输出数据的间距为4
2.有如下模板定义:template T fun(T x,T y){return x*x+y*y;}在下列对fun的调用中,错误的是( )。 (满分:5)
A. fun(2,8)
B. fun(2.0,8.2)
C. fun(2.3,8)
D. fun<float>(2,8.3)
3.通常情况下,函数模板中的类型参数个数不能是( )个。 (满分:5)
A. 0
B. 1
C. 2
D. 3
4.链表的基本单元是( )。 (满分:5)
A. 节点
B. 头指针
C. 尾指针
D. 数据域
5.以流方式打开一个文件的输入文件的语句正确的是( )。 (满分:5)
A. ofstream afile( );afile.open("test1.dat",ios::in|ios::binary)
B. ifstream afile( );afile.open("test1.dat",ios::in|ios::binary)
C. ifstream afile( );afile.open("test1.dat",ios::out|ios::binary)
D. ofstream afile( );afile.open("test1.dat",ios::out|ios::binary)
6.下列不是C++流对象的是( )。 (满分:5)
A. cout
B. cin
C. cerr
D. ostream
7.在C++中,打开一个文件就是将这个文件与一个( )建立关联;关闭一个文件就是取消这种关联。 (满分:5)
A. 流
B. 类
C. 结构
D. 对象
8.C++所有输入和输出流的基类是( )。 (满分:5)
A. stream.h
B. iostream.h
C. cin和cout
D. ios
9.C++异常处理机制中没有( )。 (满分:5)
A. try
B. throw
C. catch
D. finally
10.下面关于模板的描述,错误的是( )。 (满分:5)
A. 函数模板和类模板的参数可以是任意的数据类型
B. 类模板不能直接使用,必须先实例化为相应的模板类.然后定义了模板类的对象后才能使用
C. 函数模板不能直接使用,需要实例化为模板函数后才能使用
D. 类模板的成员函数都是模板函数
11.实现两个相同类型数加法的函数模板的声明是( )。 (满分:5)
A. add(T x,T y)
B. T add(x,y)
C. T add(T x,y)
D. T add(T x,T y)
12.下面关于模板的描述,正确的是( )。 (满分:5)
A. 模板的实参在任何时候都可以省略
B. 类模板与模板类所指的是同一概念
C. 类模板的参数必须是虚拟类型的
D. 类模板的成员函数都是模板函数
13.链表不具备的特点是( )。 (满分:5)
A. 插入、删除操作不需要移动元素
B. 无需事先估计存储空间大小
C. 所需存储空间与存储元素个数成正比
D. 可随机访问任何一个元素
14.如果在try块中用throw "error";语句抛出一个异常,则参数类型是( )的catch块能够捕获这个异常。 (满分:5)
A. char *
B. const char *
C. char
D. const char
15.下列关于栈的叙述正确的是( )。 (满分:5)
A. 栈是非线性结构
B. 栈是一种树状结构
C. 栈具有先进先出的特征
D. 栈具有后进先出的特征
16.使用如setw( )的操作符对数据进行格式输出时,应包含( )文件。 (满分:5)
A. iostream
B. fstream
C. stdio
D. iomanip
17.进行文件操作时需要包含头文件( )。 (满分:5)
A. iostream.h
B. stdio.h
C. fstream.h
D. stdlib.h
18.关于类模板的说法正确的是( )。 (满分:5)
A. 类模板的主要作用是生成抽象类
B. 类模板实例化时,编译器将根据给出的模板实参生成一个类
C. 在类模板中的数据成员具有同样类型
D. 类模板中的成员函数没有返回值
二、判断题:【2道,总分:10分】
1.结构体的默认访问权限为public,而类中的默认访问权限为protected。 (满分:5)
A. 错误
B. 正确
2.编译错误属于异常,可以抛出。 (满分:5)
A. 错误
B. 正确
页:
[1]