C++程序设计复习题_第1页
C++程序设计复习题_第2页
C++程序设计复习题_第3页
C++程序设计复习题_第4页
C++程序设计复习题_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C+语言程序设计复习题一、知识点:1. 一个C+程序的执行是从本程序的 main函数开始,到main函数结束2. 在C+h语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为 char int 1o ng in t=floatdouble3. 在0_t、void、_xy、四个标识符中,合法的标识符是 _xy4. int k=7,x=12;则能使值为3的表达式是(x%=k) (k%=5)5 假设所有变量均为整型,则表达式(a=2,b=5,b+,a+b)的值是86. for (i=0, x=0; !x&iv=5; i+)中,for 循环的次数为 67. 函数声明void BE(

2、int, int=5);存在着语法错误。8. C+语言的跳转语句中,break是无条件跳转语句,而continue不是9. 关于构造函数的描述中,构造函数不可以重载是错误的。10. 定义析构函数时,应该注意无形参,也不可重载11. 友元的作用是提高程序的运用效率12. 对于结构中定义的成员,其隐含访问权限为public13. 说明语句 example;中,example是结构体类型名是不正确的14. 在C+语言中,要求运算数必须是整型的运算符是 %15. 在foo-1、2b、new和_256字符串中,正确的 C+标识符是_25616. 要定义数组A,使得其中每个元素的数据依次为:3、9、4、&

3、 0、0、0,可以如下定义:int A =3,9,4,8,0,0,0,; int A 7 =3,9,4,8,0,0,0;int A 7=3,9,4,8;17. 有如下语句:int k=0;$dok+=5;cout$; while(k0)cout*;输出字符$和*的个数分别是4和2018. 针对数组定义int data10; 则用*data可访问到数组的首元素;用data9 可访问到数组的末元素;用data10访问数组元素会超出数组边界19. 在C+中,用于实现编译时多态性的是重载函数20. 有如下程序:#i ncludevoid fun (i nt x, int y) int t = x; x

4、 = y; y = t; int main()int a2 = 23, 42;fun( a1, a0);cout a0 , a1 stde ndl;return 0;输出结果是 23,42 21在声明: class Foo int bar;;中,Foo类的成员bar是公有数据成员22将两个字符串连接起来组成一个字符串时,选用strcat( )23. 对于C+与C语言的关系的描述,C+和C语言都是面向对象的描述是错误的24. 由C+目标文件连接而成的可执行文件的缺省扩展名为exe25. 在 int b 3=1,3,2,4,5,6,0;b22的值是 626. 在运算符 +(双目)、*(单目)、=A

5、 & ch=Z38. void fun(int *x, int *y) cout*x ” ”*y” ”endl; *x=3; *y=4;main() int x=1,y=2;fun(&y,&x);coutx” ”y0)41. 运行下面的程序:int f(int x,int y)x=xy? x: y; return(x);main() int d; d=f(f(12,5),f(8,10);coutd; 输出结果是 1242. void main( ) int x=1,a=0,b=0;switch(x) case 0: b+;case 1: a+;case 2: a+;b+ ; cout“a=”a

6、”, ” b=”by?x:+y 的值是 3 。45. 设原来 a=12, 则表达式 a+=a-=a*=a 的值是 0。46. 描述命题“A小于B或小于C的表达式应为AvB|AC。47. 当一个成员函数被调用时,该成员函数的 this 指针指向调用它的对象。48. 执行完下列三条语句后 , 指针变量 c 指向 a。Int a,b,*c=&a;int *&p=c;p=&b;49. 指针数组是指数组中每一个数组元素都是指针对象。50. C+语言三个循环语句分别是for语句,while语句和do, while语句51有以下程序main()int i=1,j=2,k=3;if(i +=1&(+j=3|k

7、+=3)couti ”, ”j”, ”k”endl; 程序运行结果是 23352. 若整型变量a、b、c、d中的值依次为:1、4、3、2。则条件表达式ab?a:cd?c:d 的值是 153. 设有定义语句:int a=12 ;,则表达式a*=2+3的运算结果是6054. 执行” cout43 - 18 = 43-18endl ; ” 得到 的输出结果为43-18=25.55. 要获得一数据或数据类型所占空间的字节数,应使用的操作符是 Sizeof( ) 。56. C+语言数组的下标总是从0开始;构成数组各个元素具有相同的数据类型。57. 函数调用时,实参向形参的传送分为传值调用、地址调用和引用

8、调用三种传送 方式。58. 假定p所指对象的值为25,p+1所指对象的值为46,则执行“ *p+”语句后, p 所指的对象的值为 46二、 分析程序执行结果1. #include void WF(int x,int y) x=x+y;y=x+y;cout ” subs: ” ” x,y= ” x, yendl;void main()int x=8,y=15;cout ” main: ” ” x,y= ” x,yendl;WF(x,y);x=2*x;cout ” main: ” ” x,y= ” x,yendl;WF(x,y);cout ” main: ” ” x,y= ” x, yendl;

9、答: main:x,y=8,15subs:x,y=23,38main:x,y=16,15subs:x,y=31,46main:x,y=16,152. #include void main()int x=3,y=3;switch(x%2)case 1: switch (y) case 0:coutfirstt;case 1:coutsecondt;break;default: couthellowt;case 2:coutthirdn;答: hellow third3. #include #include void main( ) char s1=ECJTU, s2=ecjtu;char s33

10、0;int ns1=strlen(s1);int nc=strcmp(s1,s2);strcpy(s3,s1);strcat(s3,s2);coutns1=ns1endl;coutnc=ncendl;couts3=s3endl;答: ns1=5nc=-1s3=ECJTUecjtu4#include void main()for (int x=0;x10;x+)if(x%2=O) continue;coutx;答:1 3 5 7 95#include void main( )int i=1;while (i=15)i+;if (i%3!=2) continue;else cout i=iendl

11、;答:i=2 i=5 i=8 i=11 i=146. #include void main()int i=1,sum=0;while(i=10)sum+ = +i;cout sum= sum , i= iendl;答: sum=65,i=117. #include void main()int i;for(i=4 ; i=10 ; i+ ) if (i%3=0) continue;couti; 答: 4578108. #include void Swap( int &a, int & b);void main()int x=10 , y=7 ; coutx=x y=yendl;Swap( x

12、, y ); coutx=x y=yendl;void Swap(int & a, int & b) int temp; temp = a ; a=b ; b=temp ; 答: x=10 y=7x=7 y=109. #include class Apublic:A();A(int i,int j);A()coutDonstructor.n;void print();private:int a,b;A:A() a=b=10;coutDefault constructor.n;A:A(int i,int j) a=i,b=j;coutConstructor.n;void A:print()cou

13、ta=a,b=bendl;void main()A m,n(15,18);m.print();n.print(); 答: Default constructor Constructor a=10,b=10 a=15,b=18 Destructor Destructor10. #include void main()int i=1,sum=0; do sum+=i+;while(i=6); coutsum=sumendl; 答: sum=2111. #include int a8=1,2,3,4,5,6,7; void fun(int b ,int n); void main( ) int m=

14、8; fun(a,m); couta7endl;void fun(int b ,int n) for (int I=0;In-1;I+) b7+=bI; 答:2112. #include long fun(int n) long s;if(n= =1 | n= =2) s=1; else s=fun(n-1)+fun(n-2); return s;void main() printf(%ldn, fun(10);答:5513. #include class AA public:AA(int i,int j) A=i;B=j;coutConstructorn;AA(AA &obj) A=obj.

15、A+1;B=obj.B+2;coutCopy_Constructorn;AA()coutDestructorn;void print()coutA=A,B=Bprint();delete pa;答: ConstructorCopy_ ConstructorA=3,B=5ConstructorA=5,B=6DestructorDestructorDestructor14. main() int i, k, a10, p3;k=5;for (i=0;i10;i+) ai =i;a0=0 a1=1 , a9=9for (i=0;i3;i+) pi =ai *(i+1);p0=0 p1=2 p2=6f

16、or (i=0;i3;i+) k+=pi *2;coutk ;答:2115. #includevoid main( )int a10=12,39,26,41,55,63,72,40,83,95;int i0=0,i1=0,i2=0; for(int i=0; i10; i+) switch (a i %3) case 0: i0+;break;case 1: i1+;break;case 2: i2+;couti0 i1 i2,endl; 答: 4 2 4 三、程序设计 1产生一个整型的长度为 10 的数组,并对该数组进行从小到大的排列 答: void main()int a 11;int i

17、 ,j , t ;cout input 10 numbers :endl;for (i=1 ;iai; coutendl; for(j=1 ; j=9 ; j+) for(i=1; iai+1 )t=ai ; ai=ai+1 ; ai+1=t ; coutthe sorted numbers : ”; for(i=1 ; i11 ; i+) coutai ” ”; 2编写程序能在屏幕上输出如下图型:11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1答: #includemain()int i,j;int a66;coutendl;for(i=0;i6;i+) for(j=0;j=i;j+) aij=1;for(i=2;i6;i+) for(j=1;ji;j+) aij=ai-1j+ai-1j-1;for(i=0;i6;i+)for(j=0;j=i;j+) coutaij ” ”; coutendl;3. 统计出具有 n 个元素的一维数组中大于等于所有元素平均值的元素个数并返回 它。答:int count(double a,int n)double aver,s;int i,i1=0;for(i=1;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论