1、;则数组array所占的空间为( )。A. 4个字节 B. 5个字节 C. 6个字节 D. 7个字节3. 下列选项中,与实现运行时多态性无关的是( )。A. 重载函数 B. 虚函数 C. 指针 D. 引用4. 若a是int类型变量,则计算表达式a=1000999的值是( )。A. 0 B. 1 C. 2 D. 35. 下面程序段中,for循环的执行次数是( )。int i=10;for(i=1;i10;i+) cout *;A. 9 B. 10 C. 8 D. 76. 以下叙述中错误的是( )。A. 对于double类型数组,不可以直接用数组名对数组进行整体输入或输出B. 数组名代表的是数组所
2、占存储区的首地址,其值不可改变C. 程序执行中,数组元素的下标越界时,系统给出“下标越界”的出错信息D. 可以通过赋初值的方式确定数组元素的个数7. 有如下函数模板定义template T func(T x, T y) return x*x + y*y;在下列对func()的调用中,错误的是( )。A. func(3,5); B. func(3.0,5.5)C. func(3,5.5) D. func(double)3,5.5)8. 类的析构函数的作用是( )。A. 对象的初始化 B. 删除对象时的清理任务C. 与一般成员函数一样 D. 类的初始化9. 程序段int a,b;a=5;b=a+;
3、cout b;的输出应为( )。A. 4 B. 5 C. 6 D. 710. 程序段int i,a;for(i=0;=10;a=i; i;A. 0 B. 9 C. 10 D. 1111. 下列有关函数重载的叙述中,错误的是( )。A. 函数重载就是用相同的函数名定义多个函数B. 重载函数的参数列表必须不同C. 重载函数的返回值类型必须不同D. 重载函数的参数可以带有默认值12. 下列变量名中,( )是合法的。A. CHINA B. byte-size C. double D. A+a13. 下列各种函数中,( )不是类的成员函数。A. 构造函数 B. 析构函数 C. 友元函数 D. 拷贝构造函
4、数14. 下列( )是正确的语句。A. ; B. a=17 C. x+y D. coutn15. 循环while(int i=0) i-;执行次数是( )。A. 0 B. 1 C. 5 D. 无限16. 使用操作符setw对数据进行格式输出时,需要包含( )文件。A. iostream B. fstream C. iomanip D. stdlib17. 对C+语言和C语言的兼容性,描述正确的是( )AC+兼容C BC+部分兼容CCC+不兼容C DC兼容C+18. 对使用关键字new所开辟的动态存储空间,释放时必须使用( )Afree Bcreate Cdelete Drealse19. 如没
5、有使用private关键字定义类的数据成员,则默认为( )Aprivate Bpublic Cprotected Dfriend20. 使用值传递方式将实参传给形参,下列说法正确的是( )A形参是实参的备份 B实参是形参的备份C形参和实参是同一对象 D形参和实参无联系三、判断题 正确的划,错误的划(每小题1分,共10分)1. C+语言规定,标识符中的字母一般区分大、小写。2. 控制台标准输入设备一般是指键盘。3. 使用while和do-while循环时,循环变量初始化的操作应在循环语句之前处理。4. 循环体中continue语句的作用是结束整个循环的执行。5. 关系表达式的值是0或1。6用cl
6、ass定义的类中,默认的访问权限是私有的。7一个类中必须要有公有成员和私有成员。8如果在一个程序块中有两个变量具有相同的名字,并且都有效,只是它们的作用域不同,则优先访问作用域较小的那个变量。9类中成员函数都是公有的,数据成员都是私有的。10构造函数不能重载。四、写出程序运行结果(注意结果的输出格式。)(每小题5分,共20分)1. void main()int a33,*p,i;p=&a00;9;pi=i;3; a1i; 2. #include using namespace std;#includeint f1(int x) static int z=3,y=0;y+;z+;return(x
7、+y+z);void main() int a=1,k;for(k=0;kk+) coutf1(A.endl;3. long sub(int num) int i; long subsum=1; for(i=1;=num; subsum *= i; return( subsum ); long sum=0;=5; sum += sub(i); i , sum endl;4. class Personpublic: Person()Construct Person Person()Destruct Person;class Student:public Person Student()Const
8、ruct Student Student()Destruct Studentclass Teacher: Teacher()Construct Teacher Teacher()Destruct Teacher Student s; Teacher t;五、编程题(每小题10分,共30分)1. 编程求数列1,的所有大于等于0.000001的数据项之和并输出结果。2. 写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的消息。3. 定义一个时间类Time,包含3个保护数据成员Hour(小时),Minute(分钟),second(秒)以及两个公有成员函数SetTime()用来为对象设置时间
9、,ShowTime()用来输出显示时间。定义该类的构造函数,初始化对象的Hour,Minute和Second;主函数中定义两个对象,时间分别为15点38分42秒和3点4分5秒,并且输出。8. 面向对象的程序设计中的对象是对一个客观实体的 和 的封装体。9. C+语言中的每条基本语句以_作为结束符,每条复合语句是以_字符作为开始符,以_字符作为结束符的。10. 有一种只在循环语句或switch 语句中使用的流程控制语句,表示该语句的关键字是_。11. 下面程序的功能是计算1-3+5-7+-99+101的值存在s中,请填空。main()int i,t=1,s=0;=101;_) s=s+i*t;
10、t=_;12. 在C+语言中,逻辑假用_表示。13. 执行“cout char(A+4)”语句后得到的输出结果为 。14. 算术表达式 -2x5 对应的C+表达式为 。15. 假定一个一维数组的定义为“char * a8 ;”,则该数组所含元素的个数为 ,所占存储空间的字节数为 。16. 若要访问指针变量p所指向的数据,应使用表达式_。17. 表达式:26%3=_,32/5=_。18. C+源程序文件的扩展名是 _ ,头文件的扩展名是 _ 。19. 在C+中,声明布尔类型变量所用的关键字是_,定义虚函数所用的关键字是_。21. 由C+目标文件连接而成的可执行文件的默认扩展名为( )。A. cp
11、p B. exe C. obj D. lik22. 在下列成对的表达式中,运算结果类型相同的一对是( )。A. 72和7.02.0 B. 72.0和72C. 7.02和72 D. 7.02.0和7.02 23. 内联函数的特点是( )。A.减少代码量,加快访问速度 B.减少代码量,减缓访问速度C.增加代码量,减缓访问速度 D.增加代码量,加快访问速度24. 类的私有成员可在何处被访问( )。A.本类的成员函数中 B.本类及子类的成员函数中C.通过对象名在任何位置 D.不可访问25. 类的构造函数在以下什么情况下会被自动调用( )。A.定义成员函数时 B.定义对象时C.定义数据成员时 D.定义友
12、元函数时26. 下列关于析构函数描述正确的是( )。A.可以重载 B.函数体中必须有delete语句C.返回类型必须是void类型 D.不能指定返回类型 27. 下列哪个编译指令属于条件编译指令( )。A. #include B. #define C. #else D. #pragma28. 在每个C+程序中都必须包含有这样一个函数,该函数的函数名为( )。A. main B. MAIN C. name D. function29. 设x和y均为bool量,则x&y为真的条件是( )。A. 它们均为真 B. 其中一个为真 C.它们均为假 D.其中一个为假30. 下面的哪个保留字不能作为函数的返
13、回类型?( )。A. void B. int C. new D. long31. 假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为( )。A. AB operator+(AB & a , AB & B. B. AB operator+(AB & A.C. operator+(AB A. D. AB & operator+( )32. 变量的指针,其含义是指该变量的( )。A.值 B.地址 C.名 D.一个标志33. 派生类的成员函数不能访问基类的( )。A.公有成员和保护成员 B.公有成员C.私有成员 D.保护成员34. 数字字符0的
14、ASCII值为48,若有以下程序char a=1, b=2 b+ b-a 程序运行后的输出结果是( )。A. 3,2 B. 50,2 C. 2,2 D. 2,5035. 执行下列程序段后,正确的结果是( )。 int i=0, s=1; while(i3) s+=i; i+; s;A. 5 B. 6 C. 4 D. 336. 执行下列程序段后,正确的结果是( )。 char a7=abcdef char b4=ABCstrcpy(a,B.; a5;A. e B. f C. 0 D. 无输出37. 下列带缺省值参数的函数说明中,正确的说明是( )。A. int Fun(int x,int y=2
15、,int z=3); B. int Fun(int x=1,int y,int z=3);C. int Fun(int x,int y=2,int z); D. int Fun(int x=1,int y,int z);38. 拷贝构造函数的作用是( )。A. 进行数据类型的转换 B. 用对象调用成员函数C. 用对象初始化对象 D. 用一般类型的数据初始化对象39. 类的私有成员可在何处访问( )。A通过子类的对象访问 B本类及子类的成员函数中C通过该类对象访问 D本类的成员函数中40. 如果没有为一个类定义任何构造函数的情况下,下列描述正确的是( )。A编译器总是自动创建一个不带参数的构造函
16、数B这个类没有构造函数C这个类不需要构造函数D该类不能通过编译1析构函数是一个函数体为空的成员函数。2函数重载可以实现动态多态,虚函数可以实现静态多态。3若有定义:doublex35;则x数组列下标的上限是5,下限是1。4不能在类的构造函数中对其静态数据成员进行初始化。5在C+中,可以使用关键字struct定义类。6. 若有说明:int a34=0,则只有元素a00可得到初值0。7. 字符串作为一维数组存放在内存中。8. 字符数组中的一个元素存放一个字符。9. 字符数组中的最后一个字符必须是0。10. 形参为指针变量时,实参必须是数组名。void Swap(int a, int B.;int
17、main() int x(5), y(10);x= y=y Swap(x,y); return 0;int func1(int n);int func2(int n); int sum; sum = func2(5);int func1(int n) if(n=1) return 1; else return n*func1(n-1);int func2(int n) int s = 0; for(int i=1; i=n; i+) s += func1(i); return s;int i=1,s=3;do s+=i+;if (s%7=0) continue;else +i; while(s
18、15);couti;class AAstatic int n;AA() n+;int AA:n=0;AA:n=nAA d1;d1.nAA d2;d2.nAA d3,d4;4. 用公式:/6=1/(11)+1/(22)+1/(33)+. 求的近似值, 直到最后一项的值小于10e-6为止。5. 编写函数arraymin,求n个整数的数组x中的最小数及其下标,找出最小数及其下标;并在主函数中定义一个10个整数的数组a(341,91,100,35,22,36,1,88,9,29),调用函数arraymin打印数组a的最小数及其下标。6. 定义一个Box(盒子)类,在该类定义中包括数据成员: lengt
19、h(长)、width(宽)和height(高);成员函数: 构造函数Box,设置盒子长、宽和高三个初始数据;用函数volume 计算并输出盒子的体积。在main函数中,要求创建Box对象,长、宽和高分别为1,3,5,求盒子的体积。20. 多行注释的开始标记符和结束标记符分别为_和_。21. 若n为整型,则表达式n=(float)2/3的值是 。22. C+目标程序经_后生成扩展名为exe的可执行程序文件。23. 要在屏幕上显示Hello,world!(要求带双引号)应执行语句cout=0|x=0) coutabcdelse coutwxyz屏幕上显示的是_。25. 当使用关键字_ 作为函数返回
20、类型时,该函数不返回任何值。26. 在类中必须声明成员函数的_,成员函数的_部分可以写在类外。27. 如果需要在被调函数运行期间,改变主调函数中实参变量的值,则函数的形参应该是_类型或_类型。28. 当一个变量被声明为另一个变量的引用时,此变量就成为被引用变量的_。此时,对其中一个变量值的修改,_(会/不会)影响到另一个变量的值。29. 友员不是类的成员,但必须在_予以声明,它具有存取类的_成员的特权。30. 如果需要在被调函数运行期间,改变主调函数中实参变量的值,则函数的形参应该是_类型或_类型。31. 下面程序将字符数组a复制到字符数组b中。char a=I am a boy.,b20;i
21、nt i;for(i=_ _;ai!=_;_;41. 由C+源程序文件编译而成的目标文件的默认扩展名为( )。A cpp Bexe C obj D lik42. 将小写字母n赋值给字符变量one_char,正确的操作是( )。A one_char = nB one_char = nC one_char = 110;D one_char = N43. 在C+中使用流进行输入输出,其中专用于从键盘进行输入的流是( )。Acerr Bcin Ccout Dcfile44. 包含自定义头文件file.h的预处理指令是( )。A#define B#include file.h C#define file.h D#includefile.h45. 用于标识十六进制前缀或后缀是( )。A 无 B后缀L或e C前缀零 D前缀0x46. 设存在整型变量int x,则下列句与其它三项含义不同的是( )。Aint* p=&x;Bint& p=x; Cint & Dint &p=x;47. 在定义类成员时,为产生封装性,则
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1