19春福师《C++语言程序设计》在线作业二[答案]满分答案
福师《C 语言程序设计》在线作业二-0003
试卷总分:100 得分:0
一、 单选题 (共 20 道试题,共 40 分)
1.当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为()。
A.ios::in
B.ios::out
C.ios::in|ios::out
D.以上都不对
2.下面关于数组的初始化正确的是()。
A.charstr[]={‘a',’b','c‘}
B.charstr[2]={'a','b','c’}
C.charstr[2][3]={{'a‘,'b’},{’e’,'d’},{’e’,‘f'}}
D.charstr[]={'a','b','c’}
3.设有定义int x; float v;,则10+x+v值的数据类型是_________。
A.int
B.double
C.float
D.不确定
4.下面关于数组的描述错误的是_________。
A.在C++语言中数组的名字就是指向该数组第一个元素的指针
B.长度为n的数组,下标的范围是0-n-1
C.数组的大小必须在编译时确定
D.数组只能通过值参数和引用参数两种方式传递给函数
5.若用数组名作为函数调用时的实参,则实际上传递给形参的是( )
A.数组首地址
B.数组的第一个元素值
C.数组中全部元素的值
D.数组元素的个数
6.可以用p.a的形式访问派生类对象P的基类成员a,其中a是()。
A.私有继承的公有成员
B.公有继承的私有成员
C.公有继承的保护成员
D.公有继承的公有成员
7.下列描述正确的是()。
A.表示m>n为true或mn&&m
B.switch语句结构中必须有default语句
C.if语句结构中必须有else语句
D.如果至少有一个操作数为true,则包含“‖”运算符的表达式为true
8.执行C++程序时出现的“溢出”错误属于______错误。( )
A.连接
B.运行
C.逻辑
D.编译
9.函数定义为Fun(int&k),变量定义n=100,则下面调用正确的是()。
A.Fun(20)
B.Fun(20+n)
C.Fun(n)
D.Fun(&n)
10.下列程序执行完后,x的值是()。 intx=0; for(intk=0;k<90;k++) if(k)x++;
A.0
B.30
C.89
D.90
11.设int f(int);和int g(int);是函数f和g的原形,以下将f作为语句调用的是( )。
A.g(f(3));
B.f(g(3));
C.g(f(3)+2);
D.p= f(g(3)+1);
12.在设计程序时,应采纳的原则之一是()。
A.不限制goto语句的使用
B.减少或取消注解行
C.程序越短越好
D.程字结构应有助于读者理解
13.函数重载体现了面向对象的( )
A.封装性
B.多态性
C.继承性
D.抽象性
14.下列关于函数模板和模板函数的描述,错误的是( )
A.函数模板是一组函数的模板
B.模板函数是一个实在的函数
C.函数模板是定义重载函数的一种工具
D.模板函数在编译时不生成可执行代码
15.要使几个不同数据类型的数据共享同一块内存区域,应使用( )
A.数组
B.结构
C.联合
D.文件
16.下列关于构造函数的描述中,错误的是()。
A.构造函数可以设置默认参数;
B.构造函数在定义类对象时自动执行
C.构造函数可以是内联函数;
D.构造函数不可以重载
17.类模板的使用实际上是将类模板实例化成一个具体的()。
A.类
B.对象
C.函数
D.模板类
18.对于结构中定义的成员,其隐含访问权限为__________。
A.public
B.protected
C.private
D.static
19.假定AB为一个类,则该类的拷贝构造函数的声明语句为_________。
A.AB &(AB x)
B.AB(AB x)
C.AB(AB &)
D.AB(AB * x)
20.文件包含中被包含的文件的扩展名( )
A.必须为 .h
B.不能用 .h
C.必须是 .c
D.不一定是 .h
19春福师《C++语言程序设计》在线作业二[答案]多选题答案
二、 判断题 (共 20 道试题,共 40 分)1.每个cpp文件是单独编译的,但一个程序中多个cpp文件的编译顺序是不固定的。
A.错误
B.正确
2.字符型变量用来存放字符常量,可以存放多个字符。( )
A.错误
B.正确
3.继承的方式有公有继承、私有继承两种。
A.错误
B.正确
4.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是8。( )
A.错误
B.正确
5.在面向对象的程序设计中,类描述的是具有相似性质的一组对象。
A.错误
B.正确
6.运算符重载不能改变原运算符的语义。
A.错误
B.正确
7.表达式8&3的结果是1。
A.错误
B.正确
8.达式operator+(x,y)还可以表示为x+y。
A.错误
B.正确
9.假定一个一维数组的定义为“char*a[8];”,则该数组所含元素的个数为32。
A.错误
B.正确
10.用new动态申请的内存空间,必须用delete来释放。
A.错误
B.正确
11.typedef定义一个新的数据类型,在建立一个tepedef类型时同时分配内存空间( )
A.错误
B.正确
12.Jackson结构化程序设计方法是英国的M.Jackson提出的,它是一种面向数据结构的设计方法。
A.错误
B.正确
13.一个类的成员函数可以任意被调用( )
A.错误
B.正确
14.要使引用pr代表变量char * p;,则pr应初始化为 char ** &pr=p;
A.错误
B.正确
15.在内存中,字符数据以ASCII码存储,即以整数表示。( )
A.错误
B.正确
16.程序的编译是以文件为单位的,因此将程序分到多个文件中可以减少每次对程序修改所带来的编译工作量。
A.错误
B.正确
17.在基类定义的public和protected成员在私有继承的派生类中可见,在类外可以被访问。
A.错误
B.正确
18.C++语句constchar*constp="hello",,所定义的指针p和它所指的内容都不能被改变。
A.错误
B.正确
19.类的静态数据成员需要在定义每个类的对象时进行初始化。
A.错误
B.正确
20.C++语言中,标识符不区分大小写。( )
A.错误
B.正确
三、 多选题 (共 10 道试题,共 20 分)
1.下面描述中,表达正确的是______。
A.公有继承时基类中的public成员在派生类中仍是public的
B.公有继承时基类中的private成员在派生类中是public的
C.公有继承时基类中的protected成员在派生类中仍是protected的
D.私有继承时基类中的public成员在派生类中是private的
2.关于函数重载,下列描述错误的是______。
A.函数重载是指两个或两个以上的函数取相同的函数名,但形参的个数或类型不同
B.函数重载是指两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同
C.函数重载是指两个以上的函数名字不同,但形参的个数或类型相同
D.函数重载是指两个以上的函数取相同的函数名,并且函数的返回类型相同
3.使用值传递方式将实参传给形参,下列说法不正确的是______。
A.形参是实参的备份
B.实参是形参的备份
C.形参和实参是同一对象
D.形参和实参无联系
4.下列哪种函数不可以是虚的______。
A.自定义的构造函数
B.拷贝构造函数
C.静态成员函数
D.析构函数
5.对C++语言和C语言的兼容性,描述不正确的是______。
A.C++兼容C
B.C++部分兼容C
C.C++不兼容C
D.C兼容C++
6.下面关于指针变量和引用变量的说法正确的是______。
A.指针变量存放的是内存地址,并且可以置为0
B.定义引用变量时,必须同时指明具体被引用的对象或变量
C.使用取地址操作符,可以取得指针变量自身的地址,但取不到引用变量自身的地址
D.类中的数据成员可以是指针变量,但不能是引用变量
7.以下关于函数模板叙述错误的是______。
A.函数模板也是一个具体类型的函数
B.函数模板的类型参数与函数的参数是同一个概念
C.通过使用不同的类型参数,函数模板可以生成不同类型的函数
D.用函数模板定义的函数没有类型
8.考虑函数原型void test(int a ,int b=7,char z=’*’),下面的函数调用中,属于合法调用的是______。
A.test(5)
B.test(5,8)
C.test(6,’#’)
D.test(0,0,’*’)
9.下列哪些是类的特性______。
A.多态性
B.继承性
C.封装性
D.虚拟性
10.函数调用可以______。
A.出现在一个表达式中
B.出现在执行语句中
C.作为一个函数的实参
D.作为一个函数的形参
19春福师《C++语言程序设计》在线作业二[答案]历年参考题目如下: