21年春福师《C++语言程序设计》在线作业一[答案]满分答案
福师《C 语言程序设计》在线作业一-0002
试卷总分:100 得分:100
一、单选题 (共 20 道试题,共 40 分)
1.下列程序的输出结果为()。
#include
正确答案:-----
void main() {
正确答案:-----
char *a[]={”hello",”the",”world”};
正确答案:-----
char **pa=a:
pa++;
cout<<*pa< 正确答案:----- } A.hello B.the C.world D.hellotheworld 正确答案:----- 2.下面描述中,表达错误的是()。 A.公有继承时基类中的public成员在派生类中仍是public的 B.公有继承是基类中的private成员在派生类中仍是private的 C.公有继承时基类中的protected成员在派生类中仍是protected的 正确答案:----- D.私有继承时基类中的public成员在派生类中是private的 正确答案:----- 3.下面有关重载函数的说法中正确的是()。 A.重载函数必须具有不同的返回值类型; B.重载函数形参个数必须不同; C.重载函数必须有不同的形参列表 D.重载函数名可以不同 正确答案:----- 4.若整型变量x=2,则表达式x<<2的结果是()。 A.2 B.4 C.6 D.8 正确答案:----- 5.下列运算符中,在C++语言中不能重载的是_________。 A.* B.>= C.:: D./ 正确答案:----- 6.要声明一个有10个int型元素的数组,正确的语句是( ) A.int a[10]; B.int a[2,5]; C.int a[]; D.int *a[10]; 正确答案:----- 7.类的析构函数是______时调用的。( ) A.类创建 B.创建对象 C.引用对象 D.释放对象 正确答案:----- 8.C++程序源文件默认的扩展名是( ) A.cs B.obj C.cpp D.exe 正确答案:----- 9.在函数定义前加上关键字”inline”,表示该函数被定义为()。 正确答案:----- A.重载函数 B.内联函数 C.成员函数 D.普通函数 正确答案:----- 10.下面关于类的对象性质的描述,正确的是( ) A.对象之间不可以相互赋值 B.不可以说明指向对象的指针 C.对象不能用作数组元素 D.一个对象能用作另一个对象的成员 正确答案:----- 11.下列叙述中正确的是: A.C++语言程序必须要有return语句 B.C++语言程序中,要调用的函数必须在main()函数中定义 C.C++语言程序中,只有int类型的函数可以未经声明而出现在调用之后 D.C++语言程序中,main()函数必须放在程序开始的部分 正确答案:----- 12.在C++语言中表示一条语句结束的标号是()。 A.: B.; C.// D.} 正确答案:----- 13.下列哪个是C++语言的有效标识符? A._No1 B.No.1 C.12345 D.int 正确答案:----- 14.下列各种函数中,( )不是类的成员函数。 A.构造函数 B.析构函数 C.友元函数 D.拷贝构造函数 正确答案:----- 15.()的功能是对对象进行初始化。 A.析构函数 B.数据成员 C.构造函数 D.静态成员函数 正确答案:----- 16.定义inta[2][3],*prt[2],i; for(i=1;i<2;i++)prt[i]=a[i]; 则对a数组的正确引用为()。 A.prt[0][0] B.*(a+1)[2] C.*(prt[1]+2) D.*(&a[0][0]+2) 正确答案:----- 17.定义inta[5],*p=a;,则对a数组的正确引用为()。 A.*(p+5) B.*p+2 C.*(a+2) D.*&a[5] 正确答案:----- 21.下列各函数中, ()不是类的成员函数 A.构造函数 B.析构函数 C.友元函数 D.复制构造函数 正确答案:----- 19.在用class定义一个类时,数据成员和成员函数的默认访问权限是()。 A.共有 B.私有 C.保护 D.其他 正确答案:----- 20.设有定义intx;floatv;,则10+x+v值的数据类型是()。 A.int B.double 正确答案:----- C.float D.不确定 正确答案:----- 21年春福师《C++语言程序设计》在线作业一[答案]多选题答案 二、判断题 (共 20 道试题,共 40 分) 21.若类A是类B的友员类,且类B是类C的友员类,那么类A也是类C的友员类。 22.类是一种类型,它封装了数据和操作。 23.Jackson结构化程序设计方法是英国的M.Jackson提出的,它是一种面向数据结构的设计方法。 24.以面向IA-32处理器的VC++ 2008和gcc 4.2为准,float类型数据在内存中占4个字节,double型数据占8个字节,long double型数据占8个字节。( ) 正确答案:----- 25.内联函数是为了提高编程效率而实现的,它克服了用#define宏定义所带来的弊病 。( ) 正确答案:----- 26.系统可以提供默认的析构函数。( ) 27.派生类的成员函数可以直接访问基类的所有成员。 28.内联函数不能是虚函数,因为内联函数是不能在运行中动态确定其位置的。 29.头文件中一般存放着变量和常量的定义、函数的原型以及类的定义。 30.类的友元函数可以直接访问该类的所有成员。 31.析构函数必须由用户定义。 32.若在类Base和派生类Derived中,分别声明一个同名的整型成员变量int x;,那么通过Derived类的实例对象,不可能输出基类Base中的变量x的值。 正确答案:----- 33.关键字friend用于声明友元。 正确答案:----- 34.C++语言程序中,要调用的函数必须在main()函数中定义( ) 35.两个数组名的比较是地址的比较。 36.空类型指针不能进行指针运算,也不能进行间接引用。( ) 37.说明函数原型时不需要指明每个函数参数的名字,只需要说明每个参数的类型和返回值类型就可以了。 38.要使引用pr代表变量char * p;,则pr应初始化为 char ** &pr=p; 39.C++语言程序必须要有return语句( ) 40.如果派生类的成员函数的原型与基类中被定义为虚函数的成员函数原型相同,那么,这个函数自动继承基类中虚函数的特性。 三、多选题 (共 10 道试题,共 20 分) 41.下列哪种函数不可以是虚的______。 A.自定义的构造函数 B.拷贝构造函数 C.静态成员函数 D.析构函数 正确答案:----- 42.以下不正确的描述是______。 A.函数的定义可以嵌套,函数的调用不可以嵌套 B.函数的定义不可以嵌套,函数的调用可以嵌套 C.函数的定义和函数的调用均可以嵌套 D.函数的定义和函数的调用均不可以嵌套 正确答案:----- 43.关于函数重载,下列描述错误的是______。 A.函数重载是指两个或两个以上的函数取相同的函数名,但形参的个数或类型不同 B.函数重载是指两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同 C.函数重载是指两个以上的函数名字不同,但形参的个数或类型相同 D.函数重载是指两个以上的函数取相同的函数名,并且函数的返回类型相同 正确答案:----- 44.下面哪些保留字可以作为函数的返回类型______。 A.void B.int 正确答案:----- C.new D.long 正确答案:----- 45.下列说法中错误的是______。 A.不允许设置参数的默认值 B.设置参数的默认值只能在定义函数时设置 C.设置参数的默认值时,应该设置右边的参数 D.设置参数的默认值时,应该全部参数都设置 正确答案:----- 46.下列说法中正确的是______。 A.在一个函数中,可以有多条return语句 B.函数的定义不能嵌套,但函数的调用可以嵌套 C.函数必须有返回值 D.即使在不同的函数中,也不可以使用相同名字的变量 正确答案:----- 47.下列关于构造函数的描述中,正确的是______。 A.构造函数可以设置默认参数 B.构造函数在定义类对象时自动执行 C.构造函数可以是内联函数 D.构造函数不可以重载 正确答案:----- 48.下面关于指针变量和引用变量的说法正确的是______。 A.指针变量存放的是内存地址,并且可以置为0 B.定义引用变量时,必须同时指明具体被引用的对象或变量 C.使用取地址操作符,可以取得指针变量自身的地址,但取不到引用变量自身的地址 D.类中的数据成员可以是指针变量,但不能是引用变量 正确答案:----- 49.以下关于函数模板叙述错误的是______。 A.函数模板也是一个具体类型的函数 B.函数模板的类型参数与函数的参数是同一个概念 C.通过使用不同的类型参数,函数模板可以生成不同类型的函数 D.用函数模板定义的函数没有类型 正确答案:----- 50.下列哪些是类的特性______。 A.多态性 B.继承性 C.封装性 D.虚拟性 正确答案:----- 21年春福师《C++语言程序设计》在线作业一[答案]历年参考题目如下: 大工19秋《C&C++语言程序设计》在线作业1题目 试卷总分:100 得分:100 一、单选题 (共 10 道试题,共 50 分) 1.C语言中,下列合法的字符型常量是( )。 A.'a' B.'12' C."A" D."12" 2.用语句scanf("x=%f,y=%f",&x,&y);使x,y的值均为1.2,正确的输入是( )。 A.x=1.2,y=1.2 B.x=1.2 y=1.2 C.1.2,1.2 D.1.2 1.2 3.设有定义:char a[10]="ABCD",*p=a;,则*(p+3)的值是( )。 A.不确定 B.'D' C."ABCD" D.'\0' 4.下面合法的C语言标识符是( )。 A.printf B.abc C.$ab D.1_ab 5.程序段int a=1234;printf("%d ",a);的输出结果是()。 A.提示出错无结果 B.34 C.1234 D.12 6.有一个函数原型如下所示,abc(float x,float y);{……},则该函数的返回类型为()。 A.void B.int C.float D.double 7.若有定义:int a=8,b=5,c;,执行语句c=a/b+0.4;后,c的值为()。 A.1.4 B.2 C.1 D.2.0 8.执行下面的程序段后,输出结果是()。main(){char a[]="english";printf("%c",a[5]);} A.sh B.s C.english D.engli 9.下列语句书写正确的是()。 A.scanf(“%d”,x); B.printf “Good morning.”; C.char x=”s”; D.char d = ‘T’; 10.定义数组 float a[2][3];选出不属于该数组的数据元素是()。 A.a[2][3] B.a[1][2] C.a[0][2] D.a[0][0] 二、判断题 (共 10 道试题,共 50 分) 11.C语言程序中使用数组时,可以不定义就使用。 12.C语言程序的三种基本结构是顺序结构,选择结构,循环结构。 13.设int a=1,则执行完循环while(a++<5)后;a的值是6。 14.设有定义int x; double v;,则10+x+v值的数据类型是double。 15.设array为一个数组,则表达式sizeof(array)/sizeof(array[0])的结果为array数组中元素个数。 16.字符型数据在内存中的存储形式为原码。 17.预处理命令在程序中都是以'*'符号开头的。 18.do…while结构中的语句至少执行—次。 19.设short int i=65535;, 执行语句 printf(“%d”,i) ;后的输出结果是-1。 20.C++源程序文件的扩展名是.cpp。