1、精品福师C+语言程序设计在线作业一福师C+语言程序设计在线作业一一、单选题(共 20 道试题,共 40 分。)1.下面对静态数据成员的描述中,正确的是()。A. 静态数据成员可以在类体内进行初始化B. 静态数据成员不可以被类的对象调用C. 静态数据成员不能受private控制符的作用D. 静态数据成员可以直接用类名调用正确答案:D2.下列关于虚基类的描述,错误的是_。A. 设置虚基类的目的是为了消除二义性B. 虚基类的构造函数在非虚基类之后调用C. 若同一层中包含多个虚基类,这些虚基类的构造函数按它们说明的次序调用D. 若虚基类由非虚基类派生而来,则仍然先调用基类构造函数,再调用派生类的构造函
2、数正确答案:B3.下列表达式的值为false的是()。A. 13&54)C. 3&0&1D. !(58)|(28)正确答案:C4.析构函数在什么时间开始调用。( )A. 类创建B. 创建对象C. 引用对象D. 释放对象正确答案:D5.下列对基类和派生类关系的描述中,错误的是( )A. 派生类是基类的具体化B. 派生类是基类的子集C. 派生类是基类定义的延续D. 派生类是基类的组合正确答案:B6.下列程序的输出结果是_。#include int min(int a,int B) if(a else return B; return 0; void main() cout A. 0B. 1C. 2
3、D. 3正确答案:B7.在类的定义中,用于为对象分配内存空间,对类的数据成员进行初始化并执行其他内部管理操作的函数是_。A. 友元函数B. 虚函数C. 构造函数D. 析构函数正确答案:C8.要声明一个有10个int型元素的数组,正确的语句是()。A. int a10;B. int a2,5;C. int a;D. int *a10;正确答案:A9.下列关于构造函数说法不正确的是( )A. 构造函数必须与类同名B. 在构造函数中可以对类中的成员进行初始化C. 构造函数可以省略不写D. 构造函数必须有返回值正确答案:D10.下列程序段循环次数是()。intx=-10; while(+x) cout
4、xendl;A. 9B. 10C. 11D. 无限正确答案:A11.在C+语言中表示一条语句结束的标号是()。A. :B. ;C. /D. 正确答案:12.定义inta5,*p=a;,则对a数组的正确引用为()。A. *(p+5)B. *p+2C. *(a+2)D. *&a5正确答案:13.如要求在if后一对括号中的表达式,表示a不等于0的时候的值为真,则能正确表示这一关系的表达式为( )A. a0B. !aC. a=0D. a正确答案:14.下列描述正确的是_。A. 表示mn为true或mn&mB. switch语句结构中必须有default语句C. if语句结构中必须有else语句D. 如
5、果至少有一个操作数为true,则包含“”运算符的表达式为true正确答案:15.设有定义intx;floatv;,则10+x+v值的数据类型是()。A. intB. doubleC. floatD. 不确定正确答案:16.假定AB为一个类,则执行“ABa(4),b3,*p2;”语句时,自动调用该类构造函数的次数为()。A. 3B. 4C. 6D. 9正确答案:17.字符型数据在内存中的存储形式是:A. 原码B. 补码C. 反码D. ASCII码正确答案:18.设int f(int);和int g(int);是函数f和g的原形,以下将f作为语句调用的是( )。A. g(f(3);B. f(g(3
6、);C. g(f(3)+2);D. p= f(g(3)1);正确答案:19.虚函数使用关键字_。( )A. virtualB. staticC. publicD. private正确答案:20.在位运算中,操作数每右移一位,其结果相当于()。A. 操作数乘以2B. 操作数除以2C. 操作数乘以4D. 操作数除以4正确答案:福师C+语言程序设计在线作业一二、判断题(共 20 道试题,共 40 分。)1.静态就是让变量和函数在生命的区域内成为私有。( )A. 错误B. 正确正确答案:2.运算符重载不能改变原运算符的语义。A. 错误B. 正确正确答案:3.作为语句的函数调用是通过函数的副作用来体现的
7、。A. 错误B. 正确正确答案:4.对一个类中的数据成员的初始化可以通过构造函数中的初始化表实现,也可以通过构造函数中的函数体实现。A. 错误B. 正确正确答案:5.字符串hello,world”在内存中存放时,占用11个字节的空间。A. 错误B. 正确正确答案:6.函数体内声明的静态变量,至多只会被初始化一次。A. 错误B. 正确正确答案:7.在使用C语言库函数时,要用预编译命令“#include”将有关的头文件包括到用户源文件中。( )A. 错误B. 正确正确答案:8.析构函数必须由用户定义。A. 错误B. 正确正确答案:9.达式operator+(x,y)还可以表示为x+y。A. 错误B
8、. 正确正确答案:10.变量必须先定义,后使用。A. 错误B. 正确正确答案:11.Jackson结构化程序设计方法是英国的M.Jackson提出的,它是一种面向数据结构的设计方法。A. 错误B. 正确正确答案:12.常对象必须进行初始化,而且不能被更新( )A. 错误B. 正确正确答案:13.表达式8&3的结果是1。A. 错误B. 正确正确答案:14.在基类中被说明为虚函数的类的成员函数必须在每个派生类中说明为虚函数,才能具有多态的特征。A. 错误B. 正确正确答案:15.在内存中,字符数据以ASCII码存储,即以整数表示。( )A. 错误B. 正确正确答案:16.关系表达式x+y5的相反表
9、达式为x+y=5。A. 错误B. 正确正确答案:17.在定义函数中指定的形参,在未出现函数调用时,它们并不占内存中的存储单元。( )A. 错误B. 正确正确答案:18.类是一种类型,它封装了数据和操作。A. 错误B. 正确正确答案:19.常量不能作为左值使用。A. 错误B. 正确正确答案:20.以面向IA-32处理器的VC+ 2008和gcc 4.2为准,float类型数据在内存中占4个字节,double型数据占8个字节,long double型数据占8个字节。( )A. 错误B. 正确正确答案:福师C+语言程序设计在线作业一三、多选题(共 10 道试题,共 20 分。)1.下面描述中,表达正
10、确的是_。A. 公有继承时基类中的public成员在派生类中仍是public的B. 公有继承时基类中的private成员在派生类中是public的C. 公有继承时基类中的protected成员在派生类中仍是protected的D. 私有继承时基中的public成员在派生类中是private的正确答案:2.下面哪些保留字可以作为函数的返回类型_。A. voidB. intC. newD. long正确答案:3.下列说法中正确的是_。A. 在一个函数中,可以有多条return语句B. 函数的定义不能嵌套,但函数的调用可以嵌套C. 函数必须有返回值D. 即使在不同的函数中,也不可以使用相同名字的变量
11、正确答案:4.考虑函数原型void test(int a ,int b=7,char z=*),下面的函数调用中,属于合法调用的是_。A. test(5)B. test(5,8)C. test(6,#)D. test(0,0,*)正确答案:5.以下不正确的描述是_。A. 函数的定义可以嵌套,函数的调用不可以嵌套B. 函数的定义不可以嵌套,函数的调用可以嵌套C. 函数的定义和函数的调用均可以嵌套D. 函数的定义和函数的调用均不可以嵌套正确答案:6.下列说法中错误的是_。A. C+程序总是从第一个定义的函数开始执行B. C+程序总是从main函数开始执行C. C+函数必须有返回值,否则不能使用函数
12、D. C+程序中有调用关系的所有函数必须放在同一个程序文件中正确答案:7.关于函数重载,下列描述错误的是_。A. 函数重载是指两个或两个以上的函数取相同的函数名,但形参的个数或类型不同B. 函数重载是指两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同C. 函数重载是指两个以上的函数名字不同,但形参的个数或类型相同D. 函数重载是指两个以上的函数取相同的函数名,并且函数的返回类型相同正确答案:8.下面关于指针变量和引用变量的说法正确的是_。A. 指针变量存放的是内存地址,并且可以置为0B. 定义引用变量时,必须同时指明具体被引用的对象或变量C. 使用取地址操作符,可以取得指针变量自身的地址,但取不到引用变量自身的地址D. 类中的数据成员可以是指针变量,但不能是引用变量正确答案:9.关于异常和C+提供的异常处理机制正确的说法是_。A. 若程序员预见到程序中的异常,则一定可以通过修改程序代码来避免异常出现B. 使用dynamic_cast操作符可能会产生异常C. 异常可以用catch进行捕获处理D. 异常可以是对象,也可以是普通整数正确答案:10.在下面的一维数组定义中,没有语法错误的是_。A. int a =1,2,3B. int a10=0C. int a D. int a5正确答案: