黄老师 发表于 2012-7-28 08:29:21

福师12春《C++语言程序设计》在线作业答案

福师《C++语言程序设计》在线作业一
试卷总分:100   测试时间:--   试卷得分:100
一、单选题(共30道试题,共60分。)得分:60
1.下列关于C++语言类的描述中错误的是( )
A. 类用于描述事物的属性和对事物的操作
B. 类与类之间通过封装而具有明确的独立性
C. 类与类之间必须是平等的关系,而不能组成层次结构
D. 类与类之间可以通过一些方法进行通信和联络
答案:
满分:2分得分:2
2.下列各个成员函数中,纯虚函数是( )
A. void fun(int)=0
B. virtual void fun(int)
C. virtual void fun(int){ }
D. virtual void fun(int)=0
答案:
满分:2分得分:2
3.在C++语言中,为了使得类中的某些数据成员及某些成员函数的返回值能取任意类型,应使用( )
A. 类
B. 类模板
C. 抽象类
D. 虚基类
答案:
满分:2分得分:2
4.下列哪项不是面向对象程序设计的主要特征( )
A. 封装
B. 继承
C. 多态
D. 结构
答案:
满分:2分得分:2
5.要声明一个有10个int型元素的数组,正确的语句是( )
A. int a;
B. int a;
C. int a[];
D. int *a;
答案:
满分:2分得分:2
6.下列字符中不能构成标识符的是( )
A. 数字字符
B. 大写字母
C. 下划线字符
D. 连接符
答案:
满分:2分得分:2
7.循环体至少被执行一次的语句为( )
A. for循环
B. while循环
C. do循环
D. 任一种循环
答案:
满分:2分得分:2
8.下列四个运算符中,优先级最低的是( )
A. ()
B. ->
C. .
D. ++
答案:
满分:2分得分:2
9.若x,y,z均被定义为整数,则下列表达式终能正确表达代数式1/(x*y*z)的是( )
A. 1/x*y*z
B. 1.0/(x*y*z)
C. 1/(x*y*z)
D. 1/x/y/(float)z
答案:
满分:2分得分:2
10.下列的各函数中, 不是类的成员函数的是( )
A. 构造函数
B. 析构函数
C. 友元函数
D. 复制构造函数
答案:
满分:2分得分:2
11.表达式9!=10的值为( )
A. 非零值
B. true
C. 0
D. 1
答案:
满分:2分得分:2
12.下面不能正确表示a*b/(c*d)的表达式是( )
A. (a*b)/c*d
B. a*b/(c*d)
C. a/c/d*b
D. a*b/c/d
答案:
满分:2分得分:2
13.下面关于new 和delete操作符的说法中,不正确的是( )
A. 使用new操作符,可以动态分配全局堆中的内存资源
B. 若p的类型已由A*强制转换为void *,那么执行语句delete p;时,类A的析构函数不会被调用
C. 实现全局函数时,new和delete通常成对地出现在由一对匹配的花括号限定的语句块中
D. 执行语句A * p=new A时,类A的构造函数只会被调用1次
答案:
满分:2分得分:2
14.下列叙述正确的是( )
A. 一个程序中可以有多个#include命令行
B. 在#include命令行中,用双引号和用尖括号将被包含的文件名括起来没有区别
C. #include命令行只能放在程序开始位置
D. #include命令后也必须以分号结束
答案:
满分:2分得分:2
15.虚函数使用关键字( )
A. virtual
B. static
C. public
D. private
答案:
满分:2分得分:2
16.下列运算符中,运算对象必须是整型的是( )
A. /
B. %
C. =
D. &
答案:
满分:2分得分:2
17.下面有关重载函数的说法中正确的是( )
A. 重载函数必须具有不同的返回值类型
B. 重载函数形参个数必须不同
C. 重载函数必须有不同的形参列表
D. 重载函数名可以不同
答案:
满分:2分得分:2
18.要使几个不同数据类型的数据共享同一块内存区域,应使用( )
A. 数组
B. 结构
C. 联合
D. 文件
答案:
满分:2分得分:2
19.下列关于构造函数说法不正确的是( )
A. 构造函数必须与类同名
B. 在构造函数中可以对类中的成员进行初始化
C. 构造函数可以省略不写
D. 构造函数必须有返回值
答案:
满分:2分得分:2
20.下列关于函数模板和模板函数的描述,错误的是( )
A. 函数模板是一组函数的模板
B. 模板函数是一个实在的函数
C. 函数模板是定义重载函数的一种工具
D. 模板函数在编译时不生成可执行代码
答案:
满分:2分得分:2
21.下列各种高级语言中,______是面向对象编程语言。( )
A. BASIC
B. C语言
C. C++语言
D. Pascal语言
答案:
满分:2分得分:2
22.下面程序的结果是什么?Int i=3,j=4;i?i++:j++;printf(“%d %d\n”,i,j);( )
A. 3 3
B. 4 4
C. 3 4
D. 4 3
答案:
满分:2分得分:2
23.在C++语言中,二维数组元素在内存中的存放顺序是( )
A. 按行存放
B. 按列存放
C. 由用户自己定义
D. 由编译器决定
答案:
满分:2分得分:2
24.下面关于类的对象性质的描述,正确的是( )
A. 对象之间不可以相互赋值
B. 不可以说明指向对象的指针
C. 对象不能用作数组元素
D. 一个对象能用作另一个对象的成员
答案:
满分:2分得分:2
25.下面列出的保留字中,不能作为函数的返回类型的是( )
A. void
B. int
C. new
D. long
答案:
满分:2分得分:2
26.下面说法中,正确的是( )
A. 公有派生类的成员函数可以访问基类的私有成员
B. 私有派生类的成员函数可以访问基类的私有成员
C. 无论公有派生还是私有派生,派生类的成员函数均可以访问基类的公有成员
D. 无论公有派生还是私有派生,派生类的成员函数均可以访问基类的私有成员
答案:C
满分:2分得分:2
27.下列运算符中,( )运算符在C++中不能重载
A. &&
B. []
C. ::
D. new
答案:
满分:2分得分:2
28.已知函数test定义为:void test()  {   …………  } 则函数定义中void的含义是( )
A. 执行函数test后,函数没有返回值
B. 执行函数test后,函数不再返回
C. 执行函数test后,函数返回任意类型值
D. 以上三个答案都是错误的
答案:A
满分:2分得分:2
29.已知:print( )函数是一个类的常成员函数,且无返回值。在下列表示中,正确的是( )
A. void print( ) const;
B. const void print( );
C. void print( );
D. void print(const);
答案:
满分:2分得分:2
30.下列对引用的陈述中,不正确的是( )
A. 每一个引用都是其所引用对象的别名,因此必须初始化
B. 形式上针对引用的操作实际上作用于它所引用的对象
C. 一旦定义了引用,一切针对其所引用对象的操作只能通过该引用间接进行
D. 不需要单独为引用分配存储空间
答案:
满分:2分得分:2
二、判断题(共20道试题,共40分。)得分:40
1.内联函数是为了提高编程效率而实现的,它克服了用#define宏定义所带来的弊病 。( )
A. 错误
B. 正确
答案:B
满分:2分得分:2
2.在一个函数中,不允许定义与结构体类型的成员相同名的变量。( )
A. 错误
B. 正确
答案:B
满分:2分得分:2
3.一般float类型数据在内存中占4个字节,double型数据占8个字节,long double型数据占8个字节。( )
A. 错误
B. 正确
答案:B
满分:2分得分:2
4.在一个函数内的复合语句中定义的变量在本函数范围内有效。( )
A. 错误
B. 正确
答案:A
满分:2分得分:2
5.指向同一数组的两指针p1、p2相减的结果与所指元素的下标相减的结果是相同的。( )
A. 错误
B. 正确
答案:B
满分:2分得分:2
6.私有成员只能被本类的成员函数访问,来自类外部的任何访问都是非法的。( )
A. 错误
B. 正确
答案:A
满分:2分得分:2
7.引用的目的主要用于在函数参数传递中,解决大对象的传递效率和空间都不如意的问题。( )
A. 错误
B. 正确
答案:B
满分:2分得分:2
8.在程序运行过程中,其值不能被改变的量称为常量( )
A. 错误
B. 正确
答案:B
满分:2分得分:2
9.C语言程序总是从主函数开始执行,在主函数结束。( )
A. 错误
B. 正确
答案:B
满分:2分得分:2
10.系统可以提供默认的析构函数。( )
A. 错误
B. 正确
答案:
满分:2分得分:2
11.声明一个结构并不分配内存,内存分配发生在定义这个新数据类型的变量中。( )
A. 错误
B. 正确
答案:
满分:2分得分:2
12.sizeof运算符用于计算某种类型的对象在内存中所占的字节数。( )
A. 错误
B. 正确
答案:B
满分:2分得分:2
13.在使用C语言库函数时,要用预编译命令“#include”将有关的头文件包括到用户源文件中。( )
A. 错误
B. 正确
答案:B
满分:2分得分:2
14.用一个标识符代表一个常量的称为符号常量,符号常量不同于变量,它的值在其作用域内不能改变,也不能再被赋值。( )
A. 错误
B. 正确
答案:B
满分:2分得分:2
15.指针在使用前可以不进行初始化( )
A. 错误
B. 正确
答案:A
满分:2分得分:2
16.在内存中,字符数据以ASCII码存储,即以整数表示。( )
A. 错误
B. 正确
答案:B
满分:2分得分:2
17.在定义函数中指定的形参,在未出现函数调用时,它们并不占内存中的存储单元。( )
A. 错误
B. 正确
答案:B
满分:2分得分:2
18.NULL是空指针值,它不指向任何地方。( )
A. 错误
B. 正确
答案:B
满分:2分得分:2
19.字符型变量用来存放字符常量,可以存放多个字符。( )
A. 错误
B. 正确
答案:A
满分:2分得分:2
20.自增运算符和自减运算符只能用于变量,不能用于常量或表达式 。( )
A. 错误
B. 正确
答案:B
满分:2分得分:2
福师《C++语言程序设计》在线作业二
试卷总分:100   测试时间:--   试卷得分:100
一、单选题(共30道试题,共60分。)得分:60
1.若用数组名作为函数调用时的实参,则实际上传递给形参的是( )
A. 数组首地址
B. 数组的第一个元素值
C. 数组中全部元素的值
D. 数组元素的个数
答案:
满分:2分得分:2
2.下列哪项不是面向对象程序设计的主要特征( )
A. 封装
B. 继承
C. 多态
D. 结构
答案:
满分:2分得分:2
3.虚函数使用关键字( )
A. virtual
B. static
C. public
D. private
答案:
满分:2分得分:2
4.在下边的二维数组定义中,正确的是( )
A. int a[]
B. int a[]
C. int a[]={{1,3,5},2}
D. int a[](10)
答案:
满分:2分得分:2
5.已知函数test定义为:void test()  {   …………  } 则函数定义中void的含义是( )
A. 执行函数test后,函数没有返回值
B. 执行函数test后,函数不再返回
C. 执行函数test后,函数返回任意类型值
D. 以上三个答案都是错误的
答案:
满分:2分得分:2
6.下面有关重载函数的说法中正确的是( )
A. 重载函数必须具有不同的返回值类型
B. 重载函数形参个数必须不同
C. 重载函数必须有不同的形参列表
D. 重载函数名可以不同
答案:
满分:2分得分:2
7.C++程序源文件默认的扩展名是( )
A. cs
B. obj
C. cpp
D. exe
答案:
满分:2分得分:2
8.下列运算符中,( )运算符在C++中不能重载
A. &&
B. []
C. ::
D. new
答案:
满分:2分得分:2
9.已知字符'b'的ASCII码为98,语句printf("%d,%c",'b','b'+1 );的输出为( )
A. 98,b
B. 语句不合法
C. 98,99
D. 98,c
答案:
满分:2分得分:2
10.设B类是由A类继承的。当创建一个B类的对象时,构造函数的调用顺序是( )
A. 先调用A类的构造函数,然后调用B类的构造函数
B. 先调用B类的构造函数,然后调用A类的构造函数
C. 不调用A类的构造函数
D. 视定义时A类和B类出现的位置
答案:
满分:2分得分:2
11.派生类公有继承基类时,基类中的所有公有成员成为派生类的______。( )
A. public 成员
B. 友员
C. protected成员
D. private成员
答案:
满分:2分得分:2
12.表达式9!=10的值为( )
A. 非零值
B. true
C. 0
D. 1
答案:
满分:2分得分:2
13.下面不能正确表示a*b/(c*d)的表达式是( )
A. (a*b)/c*d
B. a*b/(c*d)
C. a/c/d*b
D. a*b/c/d
答案:
满分:2分得分:2
14.若x,y,z均被定义为整数,则下列表达式终能正确表达代数式1/(x*y*z)的是( )
A. 1/x*y*z
B. 1.0/(x*y*z)
C. 1/(x*y*z)
D. 1/x/y/(float)z
答案:
满分:2分得分:2
15.如要求在if后一对括号中的表达式,表示a不等于0的时候的值为"真",则能正确表示这一关系的表达式为( )
A. a<>0
B. !a
C. a=0
D. a
答案:
满分:2分得分:2
16.静态成员函数仅能访问( )
A. 静态的数据成员
B. 非静态的成员函数
C. 非静态的数据成员
D. 以上都不对
答案:
满分:2分得分:2
17.在一个源文件中定义的全局变量的作用域为( )
A. 本程序的全部范围
B. 本函数的全部范围
C. 从定义该变量的位置开始到本文件结束
D. 以上说法都不正确
答案:
满分:2分得分:2
18.下面不是面向对象程序设计的特征的是( )
A. 封装
B. 继承
C. 多态
D. 结构
答案:
满分:2分得分:2
19.下列关于构造函数说法不正确的是( )
A. 构造函数必须与类同名
B. 在构造函数中可以对类中的成员进行初始化
C. 构造函数可以省略不写
D. 构造函数必须有返回值
答案:
满分:2分得分:2
20.要声明一个有10个int型元素的数组,正确的语句是( )
A. int a;
B. int a;
C. int a[];
D. int *a;
答案:
满分:2分得分:2
21.如果有char* ssl=“0123456789”,则,sizeof(ssl)的值是( )
A. 4
B. 10
C. 11
D. 40
答案:
满分:2分得分:2
22.下列对引用的陈述中,不正确的是( )
A. 每一个引用都是其所引用对象的别名,因此必须初始化
B. 形式上针对引用的操作实际上作用于它所引用的对象
C. 一旦定义了引用,一切针对其所引用对象的操作只能通过该引用间接进行
D. 不需要单独为引用分配存储空间
答案:
满分:2分得分:2
23.以下哪个不是循环语句( )
A. while语句
B. do-while语句
C. for语句
D. if-else语句
答案:
满分:2分得分:2
24.函数重载体现了面向对象的( )
A. 封装性
B. 多态性
C. 继承性
D. 抽象性
答案:
满分:2分得分:2
25.下面关于new 和delete操作符的说法中,不正确的是( )
A. 使用new操作符,可以动态分配全局堆中的内存资源
B. 若p的类型已由A*强制转换为void *,那么执行语句delete p;时,类A的析构函数不会被调用
C. 实现全局函数时,new和delete通常成对地出现在由一对匹配的花括号限定的语句块中
D. 执行语句A * p=new A时,类A的构造函数只会被调用1次
答案:
满分:2分得分:2
26.下列关于C++语言类的描述中错误的是( )
A. 类用于描述事物的属性和对事物的操作
B. 类与类之间通过封装而具有明确的独立性
C. 类与类之间必须是平等的关系,而不能组成层次结构
D. 类与类之间可以通过一些方法进行通信和联络
答案:
满分:2分得分:2
27.以下函数的返回结果是( )int function(char *x) { char *p=x; while(*p++); return(p-x-1); }
A. 求字符串的长度
B. 将字符串x连接到字符串p后面
C. 将字符串x复制到字符串p中
D. 将字符串x反向存放
答案:
满分:2分得分:2
28.如果a=1,b=2,c=3,d=4,则条件表达式“a>ba:c<dc:d ” 的值为( )
A. 2
B. 3
C. 1
D. 4
答案:B
满分:2分得分:2
29.下列叙述正确的是( )
A. 一个程序中可以有多个#include命令行
B. 在#include命令行中,用双引号和用尖括号将被包含的文件名括起来没有区别
C. #include命令行只能放在程序开始位置
D. #include命令后也必须以分号结束
答案:A
满分:2分得分:2
30.下列各种高级语言中,______是面向对象编程语言。( )
A. BASIC
B. C语言
C. C++语言
D. Pascal语言
答案:C
满分:2分得分:2
二、判断题(共20道试题,共40分。)得分:40
1.系统可以提供默认的析构函数。( )
A. 错误
B. 正确
答案:B
满分:2分得分:2
2.在一个函数中,不允许定义与结构体类型的成员相同名的变量。( )
A. 错误
B. 正确
答案:B
满分:2分得分:2
3.引用的目的主要用于在函数参数传递中,解决大对象的传递效率和空间都不如意的问题。( )
A. 错误
B. 正确
答案:B
满分:2分得分:2
4.C语言程序总是从主函数开始执行,在主函数结束。( )
A. 错误
B. 正确
答案:B
满分:2分得分:2
5.NULL是空指针值,它不指向任何地方。( )
A. 错误
B. 正确
答案:B
满分:2分得分:2
6.指向同一数组的两指针p1、p2相减的结果与所指元素的下标相减的结果是相同的。( )
A. 错误
B. 正确
答案:B
满分:2分得分:2
7.sizeof运算符用于计算某种类型的对象在内存中所占的字节数。( )
A. 错误
B. 正确
答案:B
满分:2分得分:2
8.C++程序的开发步骤通常要经过编辑、编译、连接、运行调试这样几个步骤。( )
A. 错误
B. 正确
答案:B
满分:2分得分:2
9.C++语言程序中,main()函数必须放在程序开始的部分( )
A. 错误
B. 正确
答案:A
满分:2分得分:2
10.函数的返回值也称函数值,返回的不是函数本身,而是一个值。( )
A. 错误
B. 正确
答案:B
满分:2分得分:2
11.指针在使用前可以不进行初始化( )
A. 错误
B. 正确
答案:A
满分:2分得分:2
12.字符型变量用来存放字符常量,可以存放多个字符。( )
A. 错误
B. 正确
答案:A
满分:2分得分:2
13.私有成员只能被本类的成员函数访问,来自类外部的任何访问都是非法的。( )
A. 错误
B. 正确
答案:A
满分:2分得分:2
14.在一个函数内的复合语句中定义的变量在本函数范围内有效。( )
A. 错误
B. 正确
答案:A
满分:2分得分:2
15.在使用C语言库函数时,要用预编译命令“#include”将有关的头文件包括到用户源文件中。( )
A. 错误
B. 正确
答案:B
满分:2分得分:2
16.用一个标识符代表一个常量的称为符号常量,符号常量不同于变量,它的值在其作用域内不能改变,也不能再被赋值。( )
A. 错误
B. 正确
答案:B
满分:2分得分:2
17.一个类的成员函数可以任意被调用( )
A. 错误
B. 正确
答案:A
满分:2分得分:2
18.内联函数是为了提高编程效率而实现的,它克服了用#define宏定义所带来的弊病 。( )
A. 错误
B. 正确
答案:B
满分:2分得分:2
19.自增运算符和自减运算符只能用于变量,不能用于常量或表达式 。( )
A. 错误
B. 正确
答案:B
满分:2分得分:2
20.C++语言中,标识符不区分大小写。( )
A. 错误
B. 正确
答案:A
满分:2分得分:2
页: [1]
查看完整版本: 福师12春《C++语言程序设计》在线作业答案