【期末高分题集】[北京语言大学]《C++》考核必备81

奥鹏期末考核

139514–《C++》2022年北京语言大学期末复习题集

单选题:
(1)与C语言相比,C++增加了( )的概念。
A.函数
B.指针
C.类
D.变量
答案问询微信:424329

(2)C++源程序的扩展名为( )。
A..c
B..cpp
C..c++
D..cplus
答案问询微信:424329

(3)说明语句在某一个类定义、函数定义或复合语句中的变量被称为( )
A.全局变量
B.局部变量
C.形式变量
D.实际变量
答案问询微信:424329

(4)下列标识符不合法的是( )
A.a1
B.tex_1
C._sum
D.2word
答案问询微信:424329

(5)在C++中,下列选项中是合法的八进制数的是
A.127
B.091
C.0x12
D.01011
答案问询微信:424329

(6)字符串常量“A”的长度是( )
A.0
B.1
C.2
D.3
答案问询微信:424329

(7)双精度浮点型的类型说明符为( )
A.int
B.double
C.float
D.long
答案问询微信:424329

(8)在C++中,14%4的运算结果为( )
A.1
B.2
C.3
D.4
答案问询微信:424329

(9)有如下语句
int i=1;
while(i<10);
{
i++;
}
则程序执行时循环执行( )次。
A.0
B.8
C.9
D.10
答案问询微信:424329

(10)有如下语句
int i=1;
do
{
i++;
}while(i<10);
则程序执行时循环执行( )次。
A.0
B.8
C.9
D.10
答案问询微信:424329

(11)在C++中,函数原型不能标识( )。
A.函数的返回类型
B.函数参数的个数
C.函数参数类型
D.函数的功能
答案问询微信:424329

(12)若在函数定义时省去类型标识符,则系统默认函数返回值类型为( )。
A.整形
B.浮点型
C.字符型
D.空类型
答案问询微信:424329

(13)在int a=3,int *p=中,*p的值是( )
A.变量a的地址值
B.变量p的地址值
C.3
D.无意义
答案问询微信:424329

(14)要禁止修改指针p本身,又要禁止修改p所指向的数据,这样的指针应定义为( )。
A.const char *p=“ABCD”
B.char *const p=“ABCD”
C.char const *p=“ABCD”
D.const char * const p=“ABCD”
答案问询微信:424329

(15)
下列程序的执行结果为( )
#include<iostream.h>
void main( )
{
int n=10;
int* pn=&n;
int* &rn=pn;
(*pn)++;
cout<<"n="<<n<<",";
(*rn)++;
cout<<"n="<<n<<endl;
}

A.n=11,n=12
B.n=11,n=11
C.n=10,n=11
D.n=11,n=10
答案问询微信:424329

(16)若声明数组int a[10],则对数组中第三个元素的引用正确的是( )。
A.a[1]
B.a[2]
C.a[3]
D.a[4]
答案问询微信:424329

(17)若有语句char a[]= "test";则数组a[]中共有( )个变量。
A.3
B.4
C.5
D.0
答案问询微信:424329

(18)下列程序的输出结果是( )
#include
void main( )
{int n[][3]={10,20,30,40,50,60};
int (*p)[3];
p=n;
cout<<p[0][0]<<","<<*(p[0]+1)<<","<<(*p)[2]<<endl;}
A.10,30,50
B.10,20,30
C.20,40,60
D.10,30,60
答案问询微信:424329

(19)C++ 中不能用来组成循环结构的关键字是( )。
A.for
B.while
C.switch
D.do
答案问询微信:424329

(20)使用地址作为实参传给形参,下列说法正确的是( )。
A.实参是形参的备份
B.实参与形参无联系
C.实参与形参是同一对象
D.形参是实参的备份
答案问询微信:424329

(21)表达式中含有int、long和float型的变量,则运算时需要转换为( )类型。
A.int
B.long
C.float
D.double
答案问询微信:424329

(22)不属于成员函数的是( )。
A.静态成员函数
B.友元函数
C.构造函数
D.析构函数
答案问询微信:424329

(23)C++所有输入和输出流的基类是( )。
A.stream.h
B.iostream.h
C.cin和cout
D.ios
答案问询微信:424329

(24)下列说法正确的是( )。
A.类定义中只能说明函数成员的函数头,不能定义函数体
B.类中的函数成员可以在类体中定义,也可以在类体外定义
C.类中的函数成员在类体之外定义时必须要与类声明在同一文件中
D.在类体之外定义的函数成员不能操作该类的私有数据成员
答案问询微信:424329

(25)有关多态性说法不正确的是( )。
A.C++语言的多态性分为编译时的多态性和运行时的多态性
B.运行时的多态性可通过模板和虚函数实现
C.编译时的多态性可通过函数重载实现
D.实现运行时多态性的机制称为动态多态性
答案问询微信:424329

(26)类的构造函数被自动调用执行的情况是在创建该类的( )。
A.成员函数时
B.数据成员时
C.对象时
D.友元函数时
答案问询微信:424329

(27)已知a=4, b=6, c=8,d=9,则”(a++, ba++d) ? ++d:ab” 值为( )。
A.9
B.6
C.8
D.0
答案问询微信:424329

(28)在函数定义中的形参属于( )。
A.局部变量
B.全局变量
C.静态变量
D.寄存器变量
答案问询微信:424329

(29)多个具有不同类型或个数参数的函数共用一个函数标识名被称为( )函数。
A.继承
B.重载
C.递归
D.多态
答案问询微信:424329

(30)设有语句int x=3 , y=4, z=5; 则下面表达式中值为0的是( )。
A.‘x’&&’y’
B.x=y
C.x||y+z&&y-z
D.!((xy) && !z ||1 )
答案问询微信:424329

(31)在下面的函数声明中,存在着语法错误的是( )。
A.void BC(int a, int)
B.void BD(int , int)
C.void BE(int, int=5)
D.void BF(int x; int y )
答案问询微信:424329

(32)C++语言对C语言做了很多改进,C++语言相对于C语言的最根本的变化是( )。
A.增加了一些新的运算符
B.允许函数重载,并允许设置缺省参数
C.规定函数说明符必须用原型
D.引进了类和对象的概念
答案问询微信:424329

(33)函数调用func((exp1,exp2),(exp3,exp4,exp5))中所含实参的个数为( )。
A.1
B.2
C.4
D.5
答案问询微信:424329

(34)C++中用于进行单行注释的符号是( )。
A.//
B./
C./**/
D.*/
答案问询微信:424329

(35)在下列函数原型中,可以作为类AA构造函数的是( )。
A.void AA(int)
B.int AA()
C.AA(int) const
D.AA(int)
答案问询微信:424329

(36)下面哪个保留字不能作为函数的返回类型( )。
A.void
B.int
C.new
D.long
答案问询微信:424329

多选题:
(1)用编程语言编写程序的完整流程包括以下哪些步骤( )
A.定义一个程序目标
B.编译
C.测试和调试
D.程序维护
答案问询微信:424329

(2)下面变量赋初值中正确的是( )
A.int a=3
B.int a,b=3
C.int a=3,b=3
D.int a=b=3
答案问询微信:424329

(3)在C语言中,不合法的长整型常数是( )
A.2.1869e10
B.0L
C.4962710
D.0.054838743
答案问询微信:424329

(4)在C++语言中,不合法的字符常量是( )
A.x43'
B.'ab'
C.'84'
D.""
答案问询微信:424329

(5)下列正确的转义字符是( )
A. '
B.''
C.'\'
D.'074'
答案问询微信:424329

(6)下面的表达式中值为0的是( )
A.3/5
B.5>>3
C.! 3
D.5%3
答案问询微信:424329

(7)已知x,y,z是整型变量,则下列选项中正确的是( )
A.if (x"x&&y"
B.if (x=y) cout"x=y"
C.if (x#y) cout"x#y"
D.if(xy) cout"xy"
答案问询微信:424329

(8)在下列选项中,正确的赋值语句是( )
A.k=i==j
B.a=b+c=1
C.n1=(n2=(n3=0))
D.
E.++t
答案问询微信:424329

(9)下列关于数组初始化的说法正确的是( )
A.若对数组a定义:"static int x[10];",则数组元素值均为0
B."int x[10]={1,2,3,4,5,6,7,8,9};"表示x[9]元素值为9
C.对于"int x[10];"它的元素初值是不确定的
D."int x[10]={1,2,3,4,5};"是不合法的,因为数组长度为10,而初始值仅有5个
答案问询微信:424329

(10)若有以下的定义:"int x[2][3];",能正确表示x数组元素地址的表达式是( )
A.&x[2][3]
B.x[0]
C.x[2]
D.x[1]
答案问询微信:424329

(11)以下叙述中正确的是( )
A.在一个函数内定义的变量只在本函数范围内有效
B.在一个函数内的复合语句中定义的变量在本函数范围内有效
C.不同的函数中可以使用相同名字的变量
D.函数中的形式参数是局部变量
奥鹏期末考核答案问询微信:424329

(12)以下叙述中不正确的是( )
A.函数中的形式参数是局部变量
B.在一个函数内的复合语句中定义的变量在本函数范围内有效
C.在一个函数内定义的变量只在本函数范围内有效
D.函数的形式参数不可以说明为register变量
答案问询微信:424329

(13)设有如下定义:
int (*ptr)();
则以下叙述中不正确的是( )
A.ptr是指向一维组数的指针变量
B.ptr是指向int型数据的指针变量
C.ptr是指向函数的指针,该函数返回一个int型数据
D.ptr是一个函数名,该函数的返回值是指向int型数据的指针
答案问询微信:424329

(14)若有定义: char *str[]={"one","two","three"},**p=str; 则可以表示出字符't'的表达是( )
A.*str+2
B.*str[2]
C.*(p+1)
D.**++p
答案问询微信:424329

(15)如果打开文件时,选用的文件操作方式为“wb+”,则下列说法中正确的是( )
A.要打开的文件是二进制文件
B.要打开的文件必须存在
C.要打开的文件可以不存在
D.打开文件后可以读取数据
答案问询微信:424329

(16)下列函数中,可以作为虚函数的是( )
A.析构函数
B.成员函数
C.普通函数
D.构造函数
答案问询微信:424329

(17)关于派生类的说法不正确的是( )
A.派生类可显现基类的任何函数成员
B.派生类可重载已有的函数成员
C.派生类可以拥有自己的新成员
D.派生类无法给基类的数据成员初始化
答案问询微信:424329

判断题:
(1)C++是最开始提出类概念的语言
答案问询微信:424329

(2)C++中的注释可以帮助读者阅读源程序,但并不参与程序的运行。
答案问询微信:424329

(3)想要在程序中正确地使用自定义的函数,则必须先声明它,然后再定义它。
答案问询微信:424329

(4)sizeof(表达式)的功能是返回指定的表达式值的数据类型在内存中占用的字节数。
答案问询微信:424329

(5)C++中的函数都具有返回值。
答案问询微信:424329

(6)一个函数中可以有多于一个return语句。
答案问询微信:424329

(7)当一个函数体内定义的局部变量和全局变量同名时,程序会优先选择使用全局变量。
答案问询微信:424329

(8)结构体的默认访问权限为public,而类中的默认访问权限为protected。
答案问询微信:424329

(9)typedef是用来定义一些C++中没有的新数据类型。
答案问询微信:424329

(10)C++语言中不允许使用宏定义方法定义符号常量,只能用关键字const 来定义符号常量。
答案问询微信:424329

(11)构造函数可以声明为虚函数。
答案问询微信:424329

(12)说明或定义对象时,类名前面不需要加class关键字。
答案问询微信:424329

(13)说明或定义对象时,类名前面不需要加class关键字。
答案问询微信:424329

(14)C++是最开始提出类概念的语言。
答案问询微信:424329

(15)编译错误属于异常,可以抛出。
答案问询微信:424329

(16)同一个数组中的各个元素数据类型一定相同。
答案问询微信:424329

(17)类定义中的成员默认的访问权限是private。
答案问询微信:424329

(18)一条语句最多只能定义一个变量并指定初始值。
答案问询微信:424329

(19)结构体的默认访问权限为public,而类中的默认访问权限为protected。
答案问询微信:424329

(20)一旦自定义了构造函数,系统便不再提供缺省的构造函数。
答案问询微信:424329

(21)C++不是类型安全的。
答案问询微信:424329

(22)返回值类型、参数个数和类型都相同的函数也可以重载。
答案问询微信:424329

(23)一个函数中可以有多于一个return语句。
答案问询微信:424329

(24)当一个函数体内定义的局部变量和全局变量同名时,程序会优先选择使用全局变量。
答案问询微信:424329

(25)C++语言的多态性分为编译时的多态性和运行时的多态性。
答案问询微信:424329

(26)当一个函数体内定义的局部变量和全局变量同名时,程序会优先选择使用局部变量。
答案问询微信:424329

(27)设置虚基类的目的是为了消除二义性.
答案问询微信:424329

(28)若同一层中包含多个虚基类,这些虚基类的构造函数按它们说明的次序调用。
答案问询微信:424329

(29)编译时的多态性可通过函数重载实现。
答案问询微信:424329

编程题:
(29)编译时的多态性可通过函数重载实现。
答案问询微信:424329

(29)编译时的多态性可通过函数重载实现。
答案问询微信:424329

(29)编译时的多态性可通过函数重载实现。
答案问询微信:424329

(29)编译时的多态性可通过函数重载实现。
答案问询微信:424329

(29)编译时的多态性可通过函数重载实现。
答案问询微信:424329

(29)编译时的多态性可通过函数重载实现。
答案问询微信:424329

论述题:
(1)完整的C++语言程序的源代码主要由那些基本组成部分构成?
答案问询微信:424329

(2)在类定义中,说明成员的访问权限的public、private和protected三个关键字的 作用是什么?请分别简述之。
答案问询微信:424329
public: 程序的任何地方都可以访问.
protected: 只有类本身及其派生类和其友元函数,友元类可以访问.
private: 只有类本身及其友元函数,友元类可以访问.

(3)请简述继承的优点和缺点。
答案问询微信:424329
容易进行新的实现,因为其大多数可继承而来。
易于修改或扩展那些被复用的实现。
缺点:
破坏了封装性,因为这会将父类的实现细节暴露给子类。
“白盒”复用,因为父类的内部细节对于子类而言通常是可见的。
当父类的实现更改时,子类也不得不会随之更改。
从父类继承来的实现将不能在运行期间进行改变。

(4)用C++写个程序,如何判断一个操作系统是16位还是32位的?
答案问询微信:424329

(5)内存的分配方式有几种?
答案问询微信:424329
二、在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效
率很高,但是分配的内存容量有限。
三、从堆上分配,亦称动态内存分配。程序在运行的时候用malloc或new申请任意多少的内存,程序员自己负责在何时用free或delete释放内存。动态内存的生存期由我们决定,使用非常灵活,但问题也最多。

(6)多态类中的虚函数表是 Compile-Time,还是 Run-Time 时建立的?
答案问询微信:424329

提供优质的教育资源

公众号: 超前自学网