

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C+程序设计基础复习题A一、填空题1.算法的基本控制结构包括: _,_,_ 。2.在 C+中有三种参数传递方式:_ 、_ 和_。3.下面是一个输入半径,输出其面积和周长的C+程序,在下划线处填上正确的语句。#in cludeusing n amespace std_ pi=3.14159void mai n()double r;cout r=double l=2.0*pi*r ;double s=pi*r*r ;cout n The long is: lencjlcout The area is sendl4.若有定义语句:int a=3,b=2;,则表达式 ab?a :b 的值是_ 。5.类
2、的成员包括_和_ 种,在面向对象的术语中,前者称为属性、后者称为方法。其访问权限有三种,由符号 _ 、_ 和_旨定,其中具有 _权限的成员只有类中的成员函数才能访问、而具有 _权限的成员在任何函数中都可访问。6.构造函数是一个特殊的成员函数,其特殊性表现在创建对象时会 _ 。构造函数名必须与 _相同。7.函数重载是指一组函数具有相同的 _,在函数调用时,编译程序根据_ 的个数和类型确定使用那一个版本。二、选择题1.C+源程序文件的默认扩展名为()。A. cppB. exeC. objD. lik2.设有数组定义:char array=China;则数组 array 所占的空间为()。A.4 个
3、字节B. 5 个字节 C. 6 个字节 D. 7 个字节3.下列选项中,与实现运行时多态性无关的是 ()。A. 重载函数 B. 虚函数 C. 指针 D. 引用4.若 a 是 int 类型变量,则计算表达式 a=1000%999 的值是()。A. 0B. 1C. 2D. 35.下面程序段中, for 循环的执行次数是 ()。int i=10;for(i=1;i10;i+)cout *;6.以下叙述中错误的是 ()。A. 对于 double 类型数组,不可以直接用数组名对数组进行整体输入或输出B.数组名代表的是数组所占存储区的首地址,其值不可改变C. 程序执行中,数组元素的下标越界时,系统给出 “
4、下标越界 ”的出错信息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;A. 9B. 10C. 8D. 7b=a+;cout b;的输出应为 ()。A. 4B. 5 C. 6 D.1
5、0. 程序段int i,a;for(i=0;i=10;i+)a=i;cout i;的输出应为 ()。A. 0B. 9 C. 10 D.11. 下列有关函数重载的叙述中,错误的是 ()。A. 函数重载就是用相同的函数名定义多个函数B.重载函数的参数列表必须不同C. 重载函数的返回值类型必须不同D. 重载函数的参数可以带有默认值12. 下列变量名中, ()是合法的。A. CHINA B. byte-size C. double D. A+a13. 下列各种函数中,( )不是类的成员函数A.构造函数B.析构函数C.友元函数D.拷贝构造函数14.下列()是正确的语句。11A. ;B. a=17C.x+
6、yD.coutn15.循环 while(int i=0) i-;执行次数是()。A. 0B. 1C.5D.无限16.使用操作符 setw 对数据进行格式输出时, 需要包含()文件。A. iostreamB. fstreamC.ioma nipD.stdlib17. 对 C+语言和 C 语言的兼容性,描述正确的是()A . C+兼容 CB . C+部分兼容 CC. C+不兼容 CD . C 兼容 C+18. 对使用关键字 new 所开辟的动态存储空间,释放时必须使用()A. free B. create C. delete D . realse19. 如没有使用 private 关键字定义类的数
7、据成员,则默认为()A . private B . public C . protectedD . frie nd20. 使用值传递方式将实参传给形参,下列说法正确的是()A .形参是实参的备份B .实参是形参的备份C .形参和实参是同一对象D .形参和实参无联系三、判断题1. C+语言规定,标识符中的字母一般区分大、小写。2. 控制台标准输入设备一般是指键盘。3. 使用 while 和 do-while 循环时,循环变量初始化的操作应在循环语句之前处理。4. 循环体中 continue 语句的作用是结束整个循环的执行。5. 关系表达式的值是 0 或 1。6用 class 定义的类中,默认的访
8、问权限是私有的。7. 个类中必须要有公有成员和私有成员。8.如果在一个程序块中有两个变量具有相同的名字,并且都有效,只是它们的作用域 不同,则优先访问作用域较小的那个变量。9. 类中成员函数都是公有的,数据成员都是私有的。10. 构造函数不能重载。四、写出程序运行结果(注意结果的输出格式。)1.void mai n()int a33,*p,i;P=&a00;for(i=0;i9;i+)Pi=i;for(i=0;i3;i+)cout a1i;2.#i nclude using n amespace std;#i ncludeint f1(i nt x)static int z=3,y=0
9、;y+;z+;return(x+y+z);void mai n()int a=1,k;for(k=0;k3;k+) coutf1(A.endl;3.#include long sub(int num)int i;long subsum=1; for(i=1;i=num;i+) subsum *= i;return( subsum );void main()int i; long sum=0; for(i=1;i=5;i+)sum += sub(i);cout i , sum endl;4. #include using namespace std; class Personpublic:Per
10、son()cout Construct Person endl;Person()cout Destruct Person endl;class Student:public Personpublic:Student()cout Construct Student endl;Stude nt()cout Destruct Student endl;;class Teacher:public Pers onpublic:Teacher()cout Con struct Teacher en dl;Teacher()cout Destruct Teacher en dl;void main()Stu
11、de nt s;Teacher t;11111.编程求数列 1,2,3,4,5, 输出结果。2.写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的消息。3.定义一个时间类 Time,包含 3 个保护数据成员 Hour(小时),Minute(分钟),second(秒)以及两个公有成员函数 SetTime()用来为对象设置时间,ShowTime()用来 输出显示时间。定义该类的构造函数,初始化对象的 Hour,Mi nute 和 Seco nd; 主函数中定义两个对象,时间分别为 15 点 38 分 42 秒和 3 点 4 分 5 秒,并且输出。编程题的所有大于等于 0.000001 的
12、数据项之和并C+程序设计基础复习题B一、填空题8.面向对象的程序设计中的对象是对一个客观实体的 _ 和_ 的封装体。9.C+语言中的每条基本语句以 _ 作为结束符,每条复合语句是以 _字符作为开始符,以 _ 字符作为结束符的。10. 有一种只在循环语句或 switch 语句中使用的流程控制语句,表示该语句的关键字11. 下面程序的功能是计算 1-3+5-7+-99+101 的值存在 s 中,请填空#i nclude mai n()int i,t=1,s=0;for(i=1;iv=101;_ )s=s+i*t;t=_ ;12._在 C+语言中,逻辑假用示。24.类的私有成员可在何处被访问()A.
13、减少代码量, 加快访问速度C.增加代码量, 减缓访问速度B.减少代码量,减缓访问速度13. 执行“ cout char(A+4)endl; ”语句后得到的输出结果为 _。14. 算术表达式-2x5 对应的 C+表达式为_ 。15. 假定一个一维数组的定义为“ char * a8;”,则该数组所含元素的个数为_ ,所占存储空间的字节数为 _ 。16. 若要访问指针变量 p 所指向的数据,应使用表达式 _ 。17. 表达式:26%3=_ 32/5=_ 。18. C+源程序文件的扩展名是 _,头文件的扩展名是_19. 在 C+中,声明布尔类型变量所用的关键字是 _,定义虚函数所用的关键字是_。、选择
14、题21. 由 C+目标文件连接而成的可执行文件的默认扩展名为()22.在下列成对的表达式中,运算结果类型相同的一对是()23.内联函数的特点是()A. cppB. exeC. objD. likA. 7/2 和 7.0/2.0B. 7/2.0 和 7/2C. 7.0/2 和 7/2D. 7.0/2.0 和 7.0/2A.本类的成员函数中B.本类及子类的成员函数中C. 通过对象名在任何位置D. 不可访问25. 类的构造函数在以下什么情况下会被自动调用 ()。A. 定义成员函数时 B. 定义对象时C. 定义数据成员时 D. 定义友元函数时26. 下列关于析构函数描述正确的是 (A. 可以重载C.
15、返回类型必须是 void 类型27. 下列哪个编译指令属于条件编译指令A. #include B. #define28.在每个C+程序中都必须包含有这样一个函数,该函数的函数名为()设 x 和 y 均为 bool 量,则 x&y 为真的条件是 ()。A. 它们均为真 B. 其中一个为真 C. 它们均为假返回相加结果,则该成员函数的声明语句为 ()。A. AB operator+(AB & a , AB & B.)。B. 函数体中必须有 delete 语句D. 不能指定返回类型() 。A. mainB. MAINC. nameD. functionC. #else D.
16、#pragma29.D. 其中一个为假30.面的哪个保留字不能作为函数的返回类型? ()。A. voidB. intC. newD. long31. 假定要对类 AB 定义加号操作符重载成员函数,实现两个AB 类对象的加法,并B. AB operator+(AB & A.32. 变量的指针,其含义是指该变量的 ()A.值B.地址C.名D. 一个标志33. 派生类的成员函数不能访问基类的 ()。A. 公有成员和保护成员B. 公有成员C. 私有成员D. 保护成员34. 数字字符 0 的 ASCII 值为 48,若有以下程序void main()char a=1, b=2;cout b+ ,
17、;cout b-a endl;程序运行后的输出结果是 ( ) 。A. 3,2 B. 50,2C. 2,2 D. 2,5035. 执行下列程序段后,正确的结果是 ()。int i=0, s=1;while(i3)s+=i;i+;cout s;A. 5B. 6C. 4D. 336. 执行下列程序段后,正确的结果是 ()。#include using namespace std;void main()char a7=abcdef;C. operator+(AB A.D. AB & operator+( )char b4=ABC;strcpy(a,B.;cout a5;A. eB. fC. 0
18、D.无输出37.下列带缺省值参数的函数说明中, 正确的说明是()。A.int Fun (i nt x,i nt y=2,i nt z=3);B.int Fun (i nt x=1,i nt y,i ntz=3);C.int Fun (i nt x,i nt y=2,i nt z);D.int Fun (i nt x=1,i nt y,i nt z);38.拷贝构造函数的作用是()。A.进行数据类型的转换B.用对象调用成员函数C.用对象初始化对象D. 用- 般类型的数据初始化对象39.类的私有成员可在何处访问()A 通过子类的对象访问B 本类及子类的成员函数中C 通过该类对象访问D 本类的成员函
19、数中40.如果没有为一个类定义任何构造函数的情况下,下列描述正确的是()A 编译器总是自动创建一个不带参数的构造函数B 这个类没有构造函数C 这个类不需要构造函数D 该类不能通过编译三、判断题 正确的划错误的划X1 析构函数是一个函数体为空的成员函数 2函数重载可以实现动态多态,虚函数可以实现静态多态。3.若有定义:doublex35;则 x 数组列下标的上限是 5,下限是 1 4不能在类的构造函数中对其静态数据成员进行初始化。5. 在 C+中,可以使用关键字 struct 定义类。6. 若有说明:int a34=0,贝 U 只有元素 a00可得到初值 07. 字符串作为一维数组存放在内存中。
20、8. 字符数组中的一个元素存放一个字符。9. 字符数组中的最后一个字符必须是0。10. 形参为指针变量时,实参必须是数组名。四、写出程序运行结果(注意结果的输出格式。)1.#in cludeusing n amespace std;void Swap(i nt a, int B.;int mai n()int x(5), y(10); coutx=x y=vvyvve ndl;Swap(x,y); coutx=xy=ye ndl;return 0;2.#i nclude using n amespace std;int fun c1(i nt n);int fun c2(i nt n);voi
21、d mai n()int sum;sum = fun c2(5);cout sum en dl;int fun c1(i nt n)if(n=1)return 1;elsereturn n*func1(n-1);int func2(int n)int s = 0;for(int i=1; i=n; i+)s += func1(i); return s;3.#include using namespace std; #include void main()int i=1,s=3;dos+=i+;if (s%7=0) continue; else +i; while(s15);couti;4.#i
22、nclude using namespace std; class AApublic: static int n;AA() n+; ;int AA:n=0;void main()coutAA:n=AA:n endl;AA d1;coutd1.n endl;AA d2;coutd2.n endl;AA d3,d4;coutd1.n endl;coutd2.n=0|x=0) coutabcd ; else coutwxyz;屏幕上显示的是25. 当使用关键字_作为函数返回类型时,该函数不返回任何值。26. 在类中必须声明成员函数的 _ ,成员函数的_ 部分可以写在类外。27. 如果需要在被调函数运
23、行期间,改变主调函数中实参变量的值,贝 U 函数的形参应该是_ 型或_ 型。28. 当一个变量被声明为另一个变量的引用时,此变量就成为被引用变量的_ 。此时,对其中一个变量值的修改, _ (会/不会)影响到另一个变量的值。29. 友员不是类的成员,但必须在 _以声明,它具有存取类的 _ 成员的特权。30. 如果需要在被调函数运行期间,改变主调函数中实参变量的值,贝 U 函数的形参应该是_ 型或_ 型。31. 下面程序将字符数组 a 复制到字符数组 b 中mai n()char a=l am a boy.,b20;int i;for(i=_ ;ai!=0;i+)二、选择题41. 由 C+源程序文
24、件编译而成的目标文件的默认扩展名为()。A.cppB. exeC. objD. lik42. 将小写字母 n 赋值给字符变量 one_cha,正确的操作是()。A.on e_char =n;B. on e_char = n;C. on e_char = 110;D. on e_char =N;43. 在 C+中使用流进行输入输出,其中专用于从键盘进行输入的流是()A. cerrB . cinC . coutD . cfile44. 包含自定义头文件 file.h 的预处理指令是()。A . #defi ne B . #i nclude file.h C . #defi ne file.h45.
25、 用于标识十六进制前缀或后缀是 ()。A 无B 后缀 L 或 e C.前缀零 D 前缀 Ox46. 设存在整型变量 int x ,则下列句与其它三项含义不同的是 ()。A. int* p=&x ;B. int& p=x; C. int & p=x; D. int &p=x ;47. 在定义类成员时,为产生封装性,则需使用哪个关键字 ( ) 。A. public B. publish C. protected D. private48. 函数默认参数在函数原型中说明,默认参数必须放在参数序列的 ()。A 前部 B 中部 C 后部 D 两端49. 设存在函数 int
26、 min(int, int)返回两参数中较小值,若求 15, 26, 47 三者中最小值,下列表达式中错误的是 ()。A.int m=min(min(15 , 26), min(15, 47);B.int m=min(15, 26, 47);C.int m=min(15, min(47, 26);D.int m =min(min(47, 26), 16);50. 下列函数不能和函数 void print(char)构成重载的是()。D . #i ncludefile.hA. int print(int) ;B. void print(char, char);C. int print(char)
27、;D. void print(int, int);51. 下面正确的字符常量是 ()。A.cB.C.WD.52.下列字符串中不能作为 C+标识符使用的是()53. 执行语句序列的输出结果是 ()。int i=0;while(i25)i+=3;couti;A 24B 25C 27D 2854.下列符号中可以用作 C+标识符的是()。A radiusB foobarC else D55.若a 是 int 类型变量,则表达式 a=25/3%3 的值是()A 3B 2C 156. 以下叙述中不正确的是 ()。A 在不同的函数中可以使用相同名字的变量B 函数中的形参是局部变量C 在一个函数内部定义的变量
28、只在本函数范围内有效D 在一个函数内部定义的变量在所有函数内部有效57. 变量的引用,其含义是指该变量的 ()。A值B 类型C别名58. 已知定义:char s10;则下面不表示 s1的地址的是(As+1B*(s+1)C&s0+159. 通常拷贝构造函数的参数是 ()。A WHILEB userC _1varD 9starsA .对象B .对象的成员C.对象的引用D .对象的指针3roomD 0D .地址)。D . &s160.派生类对象的构造顺序是先调用()A 派生类的构造函数C.内嵌对象的构造函数B 基类的构造函数D .友元类的构造函数三、判断题正确的划W错误的划X1.如果
29、派生类的成员函数的原型与基类中被定义为虚函数的成员函数原型相同,那么,这个函数自动继承基类中虚函数的特性。2. 在 C+中,关键字 class 与 struct 具有完全相同的作用。3. 若有定义:double x35;则 x 数组行下标的上限是 3,下限是 1。4说明函数原型时不需要指明每个参数的类型,只需要说明每个参数的名字就可以了。5.如果在一个程序块中有两个变量具有相同的名字,并且都有效,只是它们的作用域 不同,则优先访问作用域较大的那个变量。6. 用数组名作函数参数时传递的是数组的值。7. 全局变量可以被任何一个函数中的任何一个表达式使用。8. 一个函数可以带回一个整型值、字符值、实型值等,也可以带回指针型的数据。9. 表达式 i+与+i 在任何场合功能完全相同。10. 在赋值表达式中,赋值号左边的变量和右边的表达式之值的数据类型可以不相同。四、 写出程序运行结果(注意结果的输出格式。)5.#i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB 31604.61-2025食品安全国家标准食品接触材料及制品2,2,4,4-四甲基-1,3-环丁二醇迁移量的测定
- 武汉电力职业技术学院《高级英语F1》2023-2024学年第二学期期末试卷
- 河南工业和信息化职业学院《学前教育评价》2023-2024学年第二学期期末试卷
- 贵州民族大学《应用统计学》2023-2024学年第一学期期末试卷
- 江西理工大学《电气工程及其自动化专业英语》2023-2024学年第二学期期末试卷
- 益阳师范高等专科学校《中国古代文学(6)》2023-2024学年第一学期期末试卷
- 绥化学院《创业教育》2023-2024学年第二学期期末试卷
- 新疆铁道职业技术学院《3dsmax三维设计》2023-2024学年第二学期期末试卷
- 江苏建筑职业技术学院《医学科研方法与统计分析》2023-2024学年第二学期期末试卷
- 长春工业大学人文信息学院《实验数据分析》2023-2024学年第二学期期末试卷
- 内科学肺炎(课件)
- 110kV变电站主接线一次接线图
- LS/T 3246-2017碎米
- GB/T 13738.2-2008红茶第2部分:工夫红茶
- 第7课《大雁归来》课件(共41张PPT) 部编版语文八年级下册
- 如何正确摆放四肢功能位
- 特劳特-定位课件
- 农业面源污染进展课件
- 家庭农场经营与管理培训课件
- 中国重症脑血管病管理共识课件
- 转炉炼钢设备与工艺课件
评论
0/150
提交评论