福师11秋《C++语言程序设计》在线作业一二答案
福师《C++语言程序设计》在线作业一一、单选题:
1. 在类的定义中,用于为对象分配内存空间,对类的数据成员进行初始化并执行其他内部管理操作的函数是()。 (满分:2)
A. 友元函数
B. 虚函数
C. 构造函数
D. 析构函数
2. 整型变量i定义后赋初值的结果是()。inti=2.8*6; (满分:2)
A. 12
B. 16
C. 17
D. 18
3. 设a=1,b=2,则(a++)+b与a+++b这两个表达式的值分别为()。 (满分:2)
A. 3,3
B. 3,4
C. 4,3
D. 4,4
4. 在重载一个运算符时,如果其参数表中有一个参数,则说明该运算符是()。 (满分:2)
A. 一元成员运算符
B. 二元成员运算符
C. 一元友元运算符
D. 都可能
5. 在每个C++程序中都必须包含有这样一个函数,该函数的函数名为()。 (满分:2)
A. main
B. MAIN
C. name
D. function
6. 当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为( )。 (满分:2)
A. <font face="Arial">ios::in</font>
B. <font face="Arial">ios::out</font>
C. <font face="Arial">ios::int | ios::out</font>
D. <font face="Arial">没有</font>
7. 函数说明时,下列()项是不必要的。 (满分:2)
A. 函数类型
B. 函数参数类型和名字
C. 函数名字
D. 返回值表达式
8. 4、下列函数参数默认值定义错误的是()。(假定函数f()已经定义) (满分:2)
A. Fun(intx,inty=0)
B. Fun(intx=100)
C. Fun(intx=0,inty)
D. Fun(intx=f())
9. 下列( )是正确的语句。 (满分:2)
A. ;
B. =17
C. x+y
D. out<<"\n"
10. 下列do-while循环的循环次数是: 已知:int i=5 do{ cout<<i--<<endl i-- }while (i!=0) (满分:2)
A. 0
B. 2
C. 5
D. 无限次
11. 以下哪个不是循环语句 (满分:2)
A. while语句
B. do-while语句
C. for语句
D. if-else语句
12. 若x,y,z均被定义为整数,则下列表达式终能正确表达代数式1/(x*y*z)的是( ) (满分:2)
A. 1/x*y*z
B. 1.0/(x*y*z)
C. 1/(x*y*z)
D. 1/x/y/(float)z
13. 不能作为重载函数的调用的依据是( )( )。 (满分:2)
A. <font face="Arial">参数个数</font>
B. <font face="Arial">参数类型</font>
C. <font face="Arial">函数类型</font>
D. <font face="Arial">函数名称</font>
14. 下列哪项不是面向对象程序设计的主要特征( ) (满分:2)
A. 封装
B. 继承
C. 多态
D. 结构
15. 下列关于虚基类的描述,错误的是()。 (满分:2)
A. 设置虚基类的目的是为了消除二义性
B. 虚基类的构造函数在非虚基类之后调用
C. 若同一层中包含多个虚基类,这些虚基类的构造函数按它们说明的次序调用
D. 若虚基类由非虚基类派生而来,则仍然先调用基类构造函数,再调用派生类的构造函数
16. 如果友元函数重载一个运算符时,其参数表中没有任何参数则说明该运算符是()。 (满分:2)
A. 一元运算符
B. 二元运算符
C. 选项和选项
D. 都可能
E. 重载错误
17. 在C++语言中,二维数组元素在内存中的存放顺序是( ) (满分:2)
A. 按行存放
B. 按列存放
C. 由用户自己定义
D. 由编译器决定
18. 将小写字母n赋值给字符变量onechar,正确的操作是()。 (满分:2)
A. onechar=‘\n’;
B. onechar=“n”;
C. onechar=110;
D. onechar=‘N’;
19. 算法的时间复杂度是指( )( )。 (满分:2)
A. <font face="Arial">执行算法程序所需要的时间</font>
B. <font face="Arial">算法程序的长度</font>
C. <font face="Arial">算法执行过程中所需要的基本运算次数</font>
D. <font face="Arial">算法程序中的指令条数<br /></font>
20. 在函数定义前加上关键字”inline”,表示该函数被定义为()。 (满分:2)
A. 重载函数
B. 内联函数
C. 成员函数
D. 普通函数
二、多选题:
1. NULL是空指针值,它不指向任何地方。( ) (满分:2)
A. 错误
B. 正确
2. 基类中被说明为protected和private的成员只能被其派生类的成员函数访问,不能被其它的函数访问。 (满分:2)
A. 错误
B. 正确
3. 指针在使用前可以不进行初始化( ) (满分:2)
A. 错误
B. 正确
4. 在内存中,字符数据以ASCII码存储,即以整数表示。( ) (满分:2)
A. 错误
B. 正确
5. 左值是能出现在赋值表达式左边的表达式。() (满分:2)
A. 错误
B. 正确
6. 要在屏幕上显示"Hello,world!"应执行语句cout<< "\"Hello,world!\""。 (满分:2)
A. 错误
B. 正确
7. 要使引用pr代表变量char * p;,则pr应初始化为 char ** &pr=p; (满分:2)
A. 错误
B. 正确
8. 用new动态申请的内存是在堆中分配的,而不是在栈中分配的。 (满分:2)
A. 错误
B. 正确
9. 用一个标识符代表一个常量的称为符号常量,符号常量不同于变量,它的值在其作用域内不能改变,也不能再被赋值。( ) (满分:2)
A. 错误
B. 正确
10. 类的友元函数可以直接访问该类的所有成员。 (满分:2)
A. 错误
B. 正确
11. 析构函数必须由用户定义。 (满分:2)
A. 错误
B. 正确
12. 派生类的成员一般分为两部分,一部分是从基类继承的成员,另一部分是自己定义的新成员。 (满分:2)
A. 错误
B. 正确
13. 在基类定义的public和protected成员在私有继承的派生类中可见,在类外可以被访问。 (满分:2)
A. 错误
B. 正确
14. 变量必须先定义,后使用。 (满分:2)
A. 错误
B. 正确
15. 在一个函数内的复合语句中定义的变量在本函数范围内有效。( ) (满分:2)
A. 错误
B. 正确
16. 声明一个结构并不分配内存,内存分配发生在定义这个新数据类型的变量中。( ) (满分:2)
A. 错误
B. 正确
17. 类模板的使用实际士:是将类模板实例化成一个具体的类。 (满分:2)
A. 错误
B. 正确
18. 构造函数不能重载。 (满分:2)
A. 错误
B. 正确
19. NULL是空指针值,它不指向任何地方。() (满分:2)
A. 错误
B. 正确
20. C语言程序总是从主函数开始执行,在主函数结束。( ) (满分:2)
A. 错误
B. 正确
三、判断题:
1. 下面描述中,表达正确的是( )。 (满分:2)
A. 公有继承时基类中的public成员在派生类中仍是public的
B. 公有继承时基类中的private成员在派生类中是public的
C. 公有继承时基类中的protected成员在派生类中仍是protected的
D. 私有继承时基类中的public成员在派生类中是private的
2. 下列哪种函数不可以是虚的( )。 (满分:2)
A. 自定义的构造函数
B. 拷贝构造函数
C. 静态成员函数
D. 析构函数
3. 在进行完成任何C++流的操作后,都可以用C++流的有关成员函数检测流的状态;其中不能用于检测输入流状态的操作函数名称是( )。 (满分:2)
A. fail
B. eof
C. bad
D. good
4. 下列说法中正确的是( )。 (满分:2)
A. 在一个函数中,可以有多条return语句
B. 函数的定义不能嵌套,但函数的调用可以嵌套
C. 函数必须有返回值
D. 即使在不同的函数中,也不可以使用相同名字的变量
5. 使用值传递方式将实参传给形参,下列说法不正确的是( )。 (满分:2)
A. 形参是实参的备份
B. 实参是形参的备份
C. 形参和实参是同一对象
D. 形参和实参无联系
6. 关于函数重载,下列描述错误的是( )。 (满分:2)
A. 函数重载是指两个或两个以上的函数取相同的函数名,但形参的个数或类型不同
B. 函数重载是指两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同
C. 函数重载是指两个以上的函数名字不同,但形参的个数或类型相同
D. 函数重载是指两个以上的函数取相同的函数名,并且函数的返回类型相同
7. 对C++语言和C语言的兼容性,描述不正确的是( )。 (满分:2)
A. C++兼容C
B. C++部分兼容C
C. C++不兼容C
D. C兼容C++
8. 下列说法中错误的是( )。 (满分:2)
A. C++程序总是从第一个定义的函数开始执行
B. C++程序总是从main函数开始执行
C. C++函数必须有返回值,否则不能使用函数
D. C++程序中有调用关系的所有函数必须放在同一个程序文件中
9. 在下面的一维数组定义中,没有语法错误的是( )。 (满分:2)
A. inta[ ]={1,2,3}
B. inta={0}
C. inta[ ]
D. inta
10. 以下关于函数模板叙述错误的是( )。 (满分:2)
A. 函数模板也是一个具体类型的函数
B. 函数模板的类型参数与函数的参数是同一个概念
C. 通过使用不同的类型参数,函数模板可以生成不同类型的函数
D. 用函数模板定义的函数没有类型
福师《C++语言程序设计》在线作业二
一、单选题:
1. 能做为C++程序基本单位的是( ) (满分:2)
A. 字符;
B. 语句;
C. 函数;
D. 源文件;
2. 如要求在if后一对括号中的表达式,表示a不等于0的时候的值为"真",则能正确表示这一关系的表达式为( ) (满分:2)
A. a<>0
B. !a
C. a=0
D. a
3. 表达式9!=10的值为 (满分:2)
A. 非零值
B. true
C. 0
D. 1
4. 循环体至少被执行一次的语句为( ) (满分:2)
A. for循环
B. while循环
C. do循环
D. 任一种循环
5. 以下哪个不是循环语句 (满分:2)
A. while语句
B. do-while语句
C. for语句
D. if-else语句
6. 在对typedef的叙述中错误的是()。 (满分:2)
A. 用typedef可以定义各种类型名,但不能用来定义变量
B. 用typedef可以增加新类型
C. 用typedef只是将已存在的类型用一个新的标识符来代表
D. 使用typedef有利于程序的通用和移植
7. 已知字符'b'的ASCII码为98,语句printf("%d,%c",'b','b'+1 );的输出为( ) (满分:2)
A. 98,b
B. 语句不合法
C. 98,99
D. 98,c
8. 下列叙述中正确的是: (满分:2)
A. C++语言程序必须要有return语句
B. C++语言程序中,要调用的函数必须在main()函数中定义
C. C++语言程序中,只有int类型的函数可以未经声明而出现在调用之后
D. C++语言程序中,main()函数必须放在程序开始的部分
9. 以下哪个不是循环语句( ) (满分:2)
A. while语句
B. do-while语句
C. for语句
D. if-else语句
10. 在C++语言中,二维数组元素在内存中的存放顺序是()。 (满分:2)
A. 按行存放
B. 按列存放
C. 由用户自己定义
D. 由编译器决定
11. 下列函数中,可以是虚函数的是( )。( ) (满分:2)
A. 自定义的构造函数
B. 拷贝构造函数
C. 静态成员函数
D. 析构函数
12. 以下各选项企图说明一种新的类型名,其中正确的是( ) (满分:2)
A. typedef v1 int;
B. typedef v2=int;
C. typedefint v3;
D. typedef v4: int;
13. 能正确表示x>=3或者x<1的关系表达式是 (满分:2)
A. x>=3 or x<1
B. x>=3|x<1
C. x>=3||x<1
D. x> =3&&x<1
14. C++语言中函数返回值的类型是由()决定的? (满分:2)
A. return语句中的表达式类型
B. 调用该函数的主调函数类型
C. 定义函数时所指定的函数类型
D. 以上说法都不正确
15. 下列哪项不是面向对象程序设计的主要特征( ) (满分:2)
A. 封装
B. 继承
C. 多态
D. 结构
16. 下面关于类的对象性质的描述,正确的是( ) (满分:2)
A. 对象之间不可以相互赋值
B. 不可以说明指向对象的指针
C. 对象不能用作数组元素
D. 一个对象能用作另一个对象的成员
17. 下面不能正确表示a*b/(c*d)的表达式是 (满分:2)
A. (a*b)/c*d
B. a*b/(c*d)
C. a/c/d*b
D. a*b/c/d
18. 在C++语言中,为了使得类中的某些数据成员及某些成员函数的返回值能取任意类型,应使用( ) (满分:2)
A. 类
B. 类模板
C. 抽象类
D. 虚基类
19. 已知函数test定义为:void test() { ………… }则函数定义中void的含义是()。 (满分:2)
A. 执行函数test后,函数没有返回值
B. 执行函数test后,函数不再返回
C. 执行函数test后,函数返回任意类型值
D. 以上三个答案都是错误的
20. 已知函数test定义为:void test() { ………… }则函数定义中void的含义是( ) (满分:2)
A. 执行函数test后,函数没有返回值
B. 执行函数test后,函数不再返回
C. 执行函数test后,函数返回任意类型值
D. 以上三个答案都是错误的
二、多选题:
1. 每个cpp文件是单独编译的,但一个程序中多个cpp文件的编译顺序是不固定的。 (满分:2)
A. 错误
B. 正确
2. 在一个函数中,不允许定义与结构体类型的成员相同名的变量。( ) (满分:2)
A. 错误
B. 正确
3. 一个类的对象只有一个。 (满分:2)
A. 错误
B. 正确
4. 系统可以提供默认的析构函数。( ) (满分:2)
A. 错误
B. 正确
5. 声明一个结构并不分配内存,内存分配发生在定义这个新数据类型的变量中。() (满分:2)
A. 错误
B. 正确
6. switch后面括号中的表达式只能是整型、字符型或枚举型表达式。() (满分:2)
A. 错误
B. 正确
7. 空类型指针不能进行指针运算,也不能进行间接引用。() (满分:2)
A. 错误
B. 正确
8. 在基类定义的public和protected成员在私有继承的派生类中可见,在类外可以被访问。 (满分:2)
A. 错误
B. 正确
9. 自增运算符和自减运算符只能用于变量,不能用于常量或表达式 。( ) (满分:2)
A. 错误
B. 正确
10. 函数体内声明的静态变量,至多只会被初始化一次。 (满分:2)
A. 错误
B. 正确
11. C++语言程序中,main()函数必须放在程序开始的部分( ) (满分:2)
A. 错误
B. 正确
12. C++语言程序必须要有return语句( ) (满分:2)
A. 错误
B. 正确
13. 指向同一数组的两指针p1、p2相减的结果与所指元素的下标相减的结果是相同的。( ) (满分:2)
A. 错误
B. 正确
14. 定义全局变量要在程序开始时进行,并且放在所有函数的外面,静态局部变量要在函数内部定义,但生命期却随函数的第一次被调用而产生。( ) (满分:2)
A. 错误
B. 正确
15. 若类A是类B的友员类,且类B是类C的友员类,那么类A也是类C的友员类。 (满分:2)
A. 错误
B. 正确
16. 程序设计的目标在正确的前提下,其重要性排列次序依次为:可读,可维护,可移植和高效() (满分:2)
A. 错误
B. 正确
17. C语言程序总是从主函数开始执行,在主函数结束。( ) (满分:2)
A. 错误
B. 正确
18. 函数的返回值也称函数值,返回的不是函数本身,而是一个值。( ) (满分:2)
A. 错误
B. 正确
19. 函数的返回值也称函数值,返回的不是函数本身,而是一个值。() (满分:2)
A. 错误
B. 正确
20. 一般float类型数据在内存中占4个字节,double型数据占8个字节,long double型数据占10个字节。() (满分:2)
A. 错误
B. 正确
三、判断题:
1. 以下不正确的描述是( )。 (满分:2)
A. 函数的定义可以嵌套,函数的调用不可以嵌套
B. 函数的定义不可以嵌套,函数的调用可以嵌套
C. 函数的定义和函数的调用均可以嵌套
D. 函数的定义和函数的调用均不可以嵌套
2. 关于异常和C++提供的异常处理机制正确的说法是( )。 (满分:2)
A. 若程序员预见到程序中的异常,则一定可以通过修改程序代码来避免异常出现
B. 使用dynamiccast操作符可能会产生异常
C. 异常可以用catch进行捕获处理
D. 异常可以是对象,也可以是普通整数
3. 下面哪些保留字可以作为函数的返回类型( )。 (满分:2)
A. void
B. int
C. new
D. long
4. 在下面的一维数组定义中,没有语法错误的是( )。 (满分:2)
A. inta[ ]={1,2,3}
B. inta={0}
C. inta[ ]
D. inta
5. 在进行完成任何C++流的操作后,都可以用C++流的有关成员函数检测流的状态;其中不能用于检测输入流状态的操作函数名称是( )。 (满分:2)
A. fail
B. eof
C. bad
D. good
6. 关于函数重载,下列描述错误的是( )。 (满分:2)
A. 函数重载是指两个或两个以上的函数取相同的函数名,但形参的个数或类型不同
B. 函数重载是指两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同
C. 函数重载是指两个以上的函数名字不同,但形参的个数或类型相同
D. 函数重载是指两个以上的函数取相同的函数名,并且函数的返回类型相同
7. 函数调用可以( )。 (满分:2)
A. 出现在一个表达式中
B. 出现在执行语句中
C. 作为一个函数的实参
D. 作为一个函数的形参
8. 下列说法中正确的是( )。 (满分:2)
A. 在一个函数中,可以有多条return语句
B. 函数的定义不能嵌套,但函数的调用可以嵌套
C. 函数必须有返回值
D. 即使在不同的函数中,也不可以使用相同名字的变量
9. 考虑函数原型void test(int a ,int b=7,char z=’*’),下面的函数调用中,属于合法调用的是( )。 (满分:2)
A. test(5)
B. test(5,8)
C. test(6,’#’)
D. test(0,0,’*’)
10. 使用值传递方式将实参传给形参,下列说法不正确的是( )。 (满分:2)
A. 形参是实参的备份
B. 实参是形参的备份
C. 形参和实参是同一对象
D. 形参和实参无联系
转载请注明奥鹏作业答案网 www.ap5u.com
页:
[1]