福师《C 语言程序设计》在线作业一-0003
试卷总分:100 得分:0
一、 单选题 (共 20 道试题,共 40 分)
1.下列语句中不是死循环的是_________。
A.int i=10;
while(1)
{
i--;
if(i==1)break;
}
B.for( int i=1:i<10;i++)
{
i--;
}
C.int i=0;
do{
i++;
}while(i>=0)
D.int i=1;
for(;;)i=i+1;
2.一个类的友元函数或友元类能够通过成员操作符访问该类的( )
A.私有成员
B.保护成员
C.公有成员
D.所有成员
3.虚函数使用关键字______。( )
A.virtual
B.static
C.public
D.private
4.设int x;,则经过( )后,语句*px=0;可将x值置为0。
A.int * px;
B.int const * px=&x;
C.int * const px=&x;
D.const int * px=&x;
5.下面列出的保留字中,不能作为函数的返回类型的是( )
A.void
B.int
C.new
D.long
6.设void f1(int * m,long & n);int a;long b;则以下调用合法的是( )。
A.f1(a,b);
B.f1(&a,b);
C.f1(a,&b);
D.f1(&a,&b);
7.
下面程序错误的语句是_________。
①#include
②void main()
③{
④int*p=new int[1];
⑤p=9;
⑥cout <<*p< ⑦delete[]p
⑧}
A.④
B.⑤
C.⑥
D.⑦
8.下列标识符中,()是文件级作用域。
A.函数形参
B.语句标号
C.外部静态标识符
D.自动态标识符
9.下列( )是正确的语句。
A.;
B.=17
C.x+y
D.out<<"\n"
10.假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为:
A.AB operator+(AB & a , AB & b)
B.AB operator+(AB & a)
C.operator+(AB a)
D.AB & operator+( )
11.当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为()。
A.ios::in
B.ios::out
C.ios::in|ios::out
D.以上都不对
12.
对类成员访问权限的控制,是通过设置成员的访问控制属性实现的,下列不是访问控制属性的是
_________。
A.公有类型
B.私有类型
C.保护类型
D.友元类型
13.下列do-while循环的循环次数是( ): 已知:int i=5 do{ cout<<i--<<endl i-- }while (i!=0)
A.0
B.2
C.5
D.无限次
14.不能作为重载函数的调用的依据是_________。
A.参数个数
B.参数类型
C.函数类型
D.函数名称
15.如果类A被说明成类B的友元,则()。
A.类A的成员即类B的成员
B.类B的成员即类A的成员
C.类A的成员函数不得访问类B的成员
D.类B不一定是类A的友元
16.对类的构造函数和析构函数描述正确的是()。
A.构造函数可以重载,析构函数不能重载
B.构造函数不能重载,析构函数可以重载
C.构造函数可以重载,析构函数也可以重载
D.构造函数不能重载,析构函数也不能重载
17.如果友元函数重载一个运算符时,其参数表中没有任何参数则说明该运算符是()。
A.一元运算符
B.二元运算符
C.重载错误
D.都可能
18.下列关于函数模板和模板函数的描述,错误的是( )
A.函数模板是一组函数的模板
B.模板函数是一个实在的函数
C.函数模板是定义重载函数的一种工具
D.模板函数在编译时不生成可执行代码
19.静态成员函数仅能访问( )
A.静态的数据成员
B.非静态的成员函数
C.非静态的数据成员
D.以上都不对
20.表达式9!=10的值为( )
A.非零值
B.true
C.0
D.1
二、 判断题 (共 20 道试题,共 40 分)
1.表达式8&3的结果是1。
A.错误
B.正确
2.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是8。( )
A.错误
B.正确
3.C++语言的参数传递机制包括传值和传地址两种,如果调用函数时,需要改变实参或者返回多个值,应该采取传地址方式。
A.错误
B.正确
4.声明一个结构并不分配内存,内存分配发生在定义这个新数据类型的变量中。( )
A.错误
B.正确
5.如果派生类的成员函数的原型与基类中被定义为虚函数的成员函数原型相同,那么,这个函数自动继承基类中虚函数的特性。
A.错误
B.正确
6.字符型数据在内存中的存储形式是ASCII码( )
A.错误
B.正确
7.用new动态申请的内存是在堆中分配的,而不是在栈中分配的。
A.错误
B.正确
8.输出字符指针就是输出字符串。
A.错误
B.正确
9.若一全局变量只允许本程序文件中的函数使用,则定义它时应加上修饰符 void。
A.错误
B.正确
10.在基类中被说明为虚函数的类的成员函数必须在每个派生类中说明为虚函数,才能具有多态的特征。
A.错误
B.正确
11.头文件中一般存放着变量和常量的定义、函数的原型以及类的定义。
A.错误
B.正确
12.C++语言程序中,main()函数必须放在程序开始的部分( )
A.错误
B.正确
13.float和double类型的大小分别为4和8。
A.错误
B.正确
14.一个类的对象只有一个。
A.错误
B.正确
15.16位计算机中整型占4个字节存储空间。
A.错误
B.正确
16.C++中,一个函数必须在函数声明后才能使用( )
A.错误
B.正确
17.定义全局变量要在程序开始时进行,并且放在所有函数的外面,静态局部变量要在函数内部定义,但生命期却随函数的第一次被调用而产生。( )
A.错误
B.正确
18.关键字friend用于声明友元。
A.错误
B.正确
19.在使用C语言库函数时,要用预编译命令“#include”将有关的头文件包括到用户源文件中。( )
A.错误
B.正确
20.继承的方式有公有继承、私有继承两种。
A.错误
B.正确
三、 多选题 (共 10 道试题,共 20 分)
1.下列说法中错误的是______。
A.不允许设置参数的默认值
B.设置参数的默认值只能在定义函数时设置
C.设置参数的默认值时,应该设置右边的参数
D.设置参数的默认值时,应该全部参数都设置
2.在进行完成任何C++流的操作后,都可以用C++流的有关成员函数检测流的状态;其中不能用于检测输入流状态的操作函数名称是______。
A.fail
B.eof
C.bad
D.good
3.下列哪种函数不可以是虚的______。
A.自定义的构造函数
B.拷贝构造函数
C.静态成员函数
D.析构函数
4.使用值传递方式将实参传给形参,下列说法不正确的是______。
A.形参是实参的备份
B.实参是形参的备份
C.形参和实参是同一对象
D.形参和实参无联系
5.以下不正确的描述是______。
A.函数的定义可以嵌套,函数的调用不可以嵌套
B.函数的定义不可以嵌套,函数的调用可以嵌套
C.函数的定义和函数的调用均可以嵌套
D.函数的定义和函数的调用均不可以嵌套
6.以下关于函数模板叙述错误的是______。
A.函数模板也是一个具体类型的函数
B.函数模板的类型参数与函数的参数是同一个概念
C.通过使用不同的类型参数,函数模板可以生成不同类型的函数
D.用函数模板定义的函数没有类型
7.对C++语言和C语言的兼容性,描述不正确的是______。
A.C++兼容C
B.C++部分兼容C
C.C++不兼容C
D.C兼容C++
8.下列关于构造函数的描述中,正确的是______。
A.构造函数可以设置默认参数
B.构造函数在定义类对象时自动执行
C.构造函数可以是内联函数
D.构造函数不可以重载
9.下列哪些是类的特性______。
A.多态性
B.继承性
C.封装性
D.虚拟性
10.在下面的一维数组定义中,没有语法错误的是______。
A.int a[ ]={1,2,3}
B.int a[10]={0}
C.int a[ ]
D.int a[5]
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。