C++题目含答案_第1页
C++题目含答案_第2页
C++题目含答案_第3页
C++题目含答案_第4页
C++题目含答案_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

1、C+复习资料一、 选择题1、若X是一个bool型变量,则X&&5<3的值(    B  )   A、为true                    B、为false   C、与X的值相同           

2、; D、与X的值相反2、设a=6,执行语句 a+=4; 得到a的值为(    D   )      A、6      B、12      C、18      D、103、字符串”student”占用(   D    )个字节的空间。  &#

3、160; A、7       B、6       C、5      D、84、二维数组int b4=1,2,1,2,3,1,2,3,4的元素个数为(   A  )   A、12       B、3        C、4&

4、#160;      D、75、下列哪个不是用于实现循环结构的语句(   B   )    A、while      B、if      C、do while     D、for6、下列表达式为真的是(  B     )   A、5<3

5、0;               B、2*3>=6   C、(7= =9&&(4>0        D、(10!=2+8|(5<37、设x=5,执行语句if(x<0 cout< 的输出结果为(   C   )        

6、         A、5        B、x       C、无输出     D、08、执行语句k=30;j=k+;后k和j的值分别为(    C   )   A、k=30,j=30   B、k=30,j=31  C、k=31,j=30 

7、 D、k=31,j=319、表达式7%3+5*9-10/2的结果为(   D   )   A、42        B、43       C、40      D、4110、执行cout<<520< ” 520” ; 屏幕上显示的是 (    D    &

8、#160; A、520endl”520”             B、520endl520       C、520                        D、 520  

9、  “520”                         52011、下列数据属于字符型的是:(   C       A、123   B、true C、c   D、10.512、该for循环语句:for(i=1;i<1

10、1;i+ sum+=i; 中循环体的执行次数为 (  C  )      A、8         B、9       C、10      D、1113、对程序段:   if(x>y   z=1;      

11、;           else     z=3;   要得到z=3的结果,满足条件的一组数是(   D  )   A、x=1,y=2           B、x=1,y=0   C、x=2,y=1    &#

12、160;           D、x=2,y=314下面是关于构造函数的说法,不正确的是( A )。A. C+规定,每一个类必须有一个构造函数,没有构造函数就不能创建对象B. 如果没有提供一个类的构造函数(一个都未提供),则C+提供一个默认的构造函数,该默认构造函数是个无参构造函数,它仅仅负责创建对象C. 虽然一个类定义了一个构造函数(不一定是无参构造函数),C+仍然提供默认的构造函数D. 与变量定义类似,在用默认构造函数创建对象时,如果创建的是全局对象或静态对象,则对象的位模式全为0,否则,对

13、象值是随机的 15在下列说法中,不正确的是( B )。A. 静态成员函数不能利用this指针B. 只有非静态成员才可以使用this关键字,因为静态成员没有this指针C.析构函数不接受任何参数,也不带有任何类型的返回值D. 虚机制在构造函数和析构函数中仍然可以很好地工作,以实现多态性16声明类test的拷贝构造函数的正确形式是( D )。 A. int test B. void test C. test(void D. test(test& 17一个const对象( B )。 A. 能访问所有成员函数 B. 只能访问const成员函数C. 也能访问volatile成员函数 D

14、. 能访问const和volatile成员函数 18下面关于类的对象性质的描述,正确的是( D )。A. 对象之间不可以相互赋值 B. 不可以说明指向对象的指针C. 对象不能用作数组元素 D. 一个对象能用作另一个对象的成员19、C+源程序文件的扩展名为( A )     A、.CPP    B、.C    C、.DLL   D、.EXE20、下面的函数声明中, 哪一个是” void BC(int a, int b;”的重载函数? (  C A、

15、int  BC(int a, int b       B、 void BC(int a, char b C、float BC(int a, int b, int c = 0     D、 void BC(int a, int b=0 21 .如果a=1,b=2,c=3,d=4,则条件表达式“a>b?a:c 的值为 ( D  A. 3           

16、0; B. 2            C. 1          D. 422. 在int a3=1,3,2,4,5,6,0中,a22的值是(  C A3             B。 2       

17、0;        C。6               D。423.  已知 char c; char * const pc=asdf,(  B 是正确的。Apc=dfghB*pc=bC*pc+=yDpc=&c24. 执行下列语句后的输出结果是(C)。int hot=100;int &rad=hot;hot+=100;cout<    

18、   A0;                  B。100;      C200;                D。300;25. 下列对结构及其变量定义错误的是:( D ) Astruc

19、t MyStruct              B。struct MyStruct           int num;                     

20、;            int num;           char ch;                          

21、;       char ch;        ;                                   

22、      my; MyStruct  my;                                C  struct       

23、;                D。 struct          int num;                      

24、0;     int num;          char ch;                            char ch;     &

25、#160;                                ;my;                  &

26、#160;                    struct  my;                           &#

27、160;          26.下列关于指针运算的描述错误的是:(A ) A在一定条件下,两个指针可以相加    B在一定条件下,两个指针可以进行关系运算    C在一定条件下,指针可以为空    D在一定条件下,两个指针可以相互赋值27.在C+语言中,对函数参数默认值描述正确的是:(  D)    A函数参数的默认值只能设定一个   

28、 B一个函数的参数若有多个,则参数默认值的设定可以不连续    C函数参数必须设定默认值    D在设定了参数的默认值后,该参数后面定义的所有参数都必须设定默认值28. 不能作为函数重载判断依据的是:( D )    A参数个数   B。参数类型   C。函数名字   D。返回类型29. 以下程序的输出结果是:( B )      #include   &#

29、160;   void prt(int *x,int *y,int *z         cout<<+*x<<","<<+*y<<","<<*z+<             int a=10,c=20,b=40;     void main( 

30、;      prt(&a,&b,&c;  prt(&a,&b,&c;         A 11,42,31      B。11,41,20      C。11,21,40      D。11,41,21     

31、0;    12,21,41        12,42,20         11,21,41          12,42,2230.以下程序的输出结果是:( D )      #include       void func(

32、char *m        +m;        cout<<*m<              void main(        static char *a="morning", "afternoon", "

33、;evening"        char *p;        p=a;        func(p;             A字符o的起始地址          &

34、#160;   B。字符a的起始地址        C字符o                        D。afernoon 31.以下程序的输出结果是:(  D )       #include

35、        int  fun(char *s       char *p=s;       while (*p!='0'  p+;       return (p-s;            void main(

36、0;       cout<           A0          B。1          C。2         D。332. 不正确的标识符是(B) A. _a2 

37、0; B. 2ai C. a2_i   D. INt 33. 在 ( C 情况下适宜采用 inline 定义内联函数。 A. 函数体含有循环语句  B. 函数体含有递归语句 C. 函数代码少、频繁调用 D. 函数代码多、不常调用 34. 通过 ( A 调用虚函数时,采用动态绑定(binding。 A. 对象指针  B. 对象名 C. 成员名限定   D. 派生类名 35. 假定一个类的构造函数为 A(int aa,int bba=aa+;b=a*bb+; ,则执行  Ax(4,5; 语句后, x.a 和 x.b 的

38、值分别为 ( C 。 A. 4 和 5  B. 5 和 4 C. 4 和 20   D. 20 和 5 36. 在 C+ 中有以下 4 条语句: static int hot=200;int &rad=hot; hot=hot+100;cout< 执行这 4 条语句后输出为: ( C 。 A. 0    B. 100 C. 300   D. 200 37 对 do-whie 语言 错误 的说法是( C ) A. 可构成多重循环结构   B. 循环次数不可能为 0 C. 循环次数可能为 0  

39、D. 先执行后判断 38. 静态成员函数 没有 (B A. 返回值    B.this 指针 C. 指针参数   D. 返回类型 39. 在类中说明的成员可以使用关键字 (  A  进行修饰。   A. public           B. extern  C. cpu       D.  register 40. 下列不是描述类的成员函数的是 ( C A. 构造函

40、数 B. 析构函数 C. 友元函数 D. 拷贝构造函数 41. 若 int a3= 1 , 2 , 3 , *p ;则下列赋值语句中 正确的是(D) A. p=&a ;    B. *p=a ; C. *(a+1=a ;          D. p=a+1 42. 若 p1 、 p2 都是指向整型的指针, p1 已经指向数量 x , 要使 p2 也指向 x ,正确的是(A) A. p2=p1 ;   B.&#

41、160;p2=*p1 ; C. p2=&p1 ;   D. p2=*p1 ; 43. 在类中说明的成员可以使用关键字 (A 进行修饰。 A. private     B. extern C. auto     D. register44. 在 int a=3,*p=&a; 中, *p 的值是 ( D 。 A. 变量 a 的地址值   B. 无意义 C. 变量 p 的地址值   D. 3 45. 假定 AB 为一个类,则执行 AB x ;语句时将自动调用该类的

42、(B 。 A. 有参构造函数 B. 无参构造函数 C. 拷贝构造函数 D. 赋值构造函数 46. 如果 class 类中的所有成员在定义时都没有使用关键字 pubilc, private,protected ,则所有成员缺省定义为: ( C 。 A. public   B. protected C. private   D. static 47 语句 int (*p( ; 的含义是( A) A.p 是一个指向函数的指针变量,该函数的返回值是一个整型数据 B.p 是指针变量,指向一个整型数据 C.p 是一个指向一维数据的指针变量 D.p 是指针函数48.

43、在 C+ 中实现封装是借助于 (B A. 枚举  B. 类 C. 数组   D. 函数 49.设int a=3,b=4,c=5;表达式(a+b>c&&b=c的值是(  C  。  A. 2          B. -1  C. 0          D. 1  50. 设int x = 1,2,3,4,5,6,* p

44、 = x;则值为3的表达式是  (B) A. p + = 2, * + + p B. p + = 2, * p + + C. p + = 3, * p D. p + = 2, + + * p51. 关于类概念的描述中,( D )是错误的。A类是抽象数据类型的实现; B类是具有共同行为的若干对象的统一描述体;C类是创建对象的样板; D类不是C中的一种数据类型;52. 在32位机中,double型字宽为( D )字节。A2; B4;C 6; D853. 在int a3=1,0,3,2,4,5,6,0;中a22的值是(C)。A0; B5; C6; D254. 对于double (*p10;

45、的描述,( A )是正确的。A. p是一个指向数组的指针,所指向的数组是10个double型元素;B. p是一个指向某个数组中第10个元素的指针,该元素是double型变量;C. p5表示某个数组的第10个元素的值;D. p是一个具有10个元素的指针数组,每个元素是一个double型指针;55. 下述关于开关语句的描述中,( A )是正确的。A. 开关语句中default子句可以没有,也可以有一个;B. 开关语句中每个语句序列中必须有break语句;C. 开关语句中default子句只能放在最后;D. 开关语句中case子句后面的表达式可以是整形表达式。56. 下列( D)是引用调用;A形参是

46、指针,实参是地址值; B形参和实参都是变量;C形参是数组名,实参是数组名; D形参是引用,实参是变量。57. ( A )是析构函数的特征。A. 一个类中只能定义一个析构函数; B. 析构函数与类名不同;C. 析构函数的定义只能在类体内; D. 析构函数可以有各个或多个参数。;58. 关于new运算符的下列描述中,( D 是错的。A. 它可以用来动态创建对象和对象数组;B. 使用它创建的对象或对象数组可以使用运算符delete删除;C. 使用它创建对象时要调用构造函数;D. 使用它创建对象数组时必须指定初始值。 59. 已知fun(int是类Test的公有成员函数,p是指向成员函数fun(的指针

47、,采用( D )是正确的:Ap=fun; Bp=Test:fun(; Cp=fun(; Dp=Test:fun;60. 关于对象概念的描述中,(A )是错误的。A. 对象就是C语言中的结构变量; B. 对象代表着正在创建的系统中的一个实体; C. 对象是一个状态和操作(或方法)的封装体; D. 对象之间的信息传递是通过消息进行的;61. 下列给字符数组进行初始化中,( A )是正确的。A. char s1 ="12345abcd" B. char s23="xyz" C. char s33= 'a', 'x', '

48、y' D. char s423="xyz","mnp"62. 对于int *pa5;的描述,( D )是正确的。A. pa是一个指向数组的指针,所指向的数组是5个int型元素;B. pa是一个指向某个数组中第5个元素的指针,该元素是int型变量;C. pa5表示某个数组的第5个元素的值;D. pa是一个具有5个元素的指针数组,每个元素是一个int型指针;63. 下述静态数据成员的特征中,( D )是错误的。A. 说明静态数据成员时前边要加修饰符static;B. 静态数据成员要在类体外进行初始化;C. 引用静态数据成员时,要在静态数据成员名前加&

49、lt;类名>和作用域运算符;D. 静态数据成员不是所有对象所共用的。64、下列的各类函数中,( C )不是类的成员函数。A. 构造函数; B. 析构函数; C . 友元函数; D. 拷贝构造函数;二、 填空题1、一个基本语句的最后一个字符是(    ;  .2、与int x=100;  while(x>0   cout<<P;x-;     等效的for语句是(     for(x=100;x>0;x-&#

50、160;    )。3、执行for(int i=1;i<30;i+ cout<<”*”;将输出(  29    )个*号。4、数学函数sqrt(49的结果为(7),pow(3,3的结果为:(27)。5、C+程序主要有三种基本控制结构,分别是顺序结构、条件分支结构和(   循环结构    )。 6在c+中,除具有 循环 、 switch 语句的函数不能说明为内联函数外,其它函数都可以说明为内联函数。7在c+中,封装可以由 publ

51、ic 、private 和 protect 等关键字提供。8若example是已定义的类,在程序结束之前,共计存在 2 个对象。#include”example”main(example X(0;X=5;X.print(;X=example(10;X.print(;9在c+中,如果在多条继承路径有一个公共的基类,如果想使这个公共的基类只产生一个拷贝,则可以将这个基类说明为 虚基类 。使用关键字 virtual 说明。10静态成员为该类的所有 对象 共享,它们被存储于一个 中。 15 在C语言中,编程的单位是_函数_;在C+语言中,编程的单位是_对象_。 16 类是对具有共同属性和行为的一类事物

52、的抽象描述,共同属性被描述为类中的 _数据成员_,共同行为被描述为类中的_函数成员_。 17 类的具体表现是通过定义_成员函数_来操作的。 18 对类中的成员函数和属性的访问是通过_public_、_private_和_protect_这3 个关键字来控制的。 19 一般情况下,按照面向对象的要求,把类中的数据成员(属性定义为_private_权 限,而把成员函数(方法定义为_public_权限。 20 在类定义中,数据和成员函数默认权限是_private_。 21 类中构造函数有_一个或多_个,析构函数有_一_个。 22 类中的构造函数是一个特殊的成员函数,它由类的对象_生成时_调用,它的作

53、用 是_初始化_。 23 在定义类的对象时,C+程序将自动调用该对象的_构造函数_函数初始化对象自身。 24 在撤销类的对象时,C+程序将自动调用该对象的_析构_函数。 25 _new_运算符对指定类型对象动态分配内存并返回_true 或false_。 26 _delete_运算符删除(25题中的运算符所动态分配的内存空间。 27 假定用户没有给一个名为MyClass的类定义构造函数,则系统为其定义的默认构造 函数形式为_ MyClass(;_。 28 假定用户没有给一个名为MyClass的类定义析构函数,则系统为其定义的默认析构 函数形式为_MyClass(;_。 29 在类中定义和实现的函

54、数称为_内联函数_。 30 非成员函数应声明为类的_友元函数(friend_才能访问这个类的private成员。 31 若要把类FriendClass定义为类MyClass的友元类,则应在类MyClass的定义中加入 语句_friend FriendClass;_。 32 若要把函数void FriendFunction(定义为类MyClass的友元函数,则应在类MyClass 的定义中加入语句_ friend FriendFunction(; _。 33 下面的类中定义了一个关于星期的枚举类型,请完成下面的程序。 class MyClass public: enum Week Sun,Mon

55、,Tue,Wed,Thur,Fri,Sat ; Week week; void fun(MyClass &my _my.week_= _wed_; /将对象my的week赋值为所定义的枚举类型 /值为3的枚举量 34 在下面程序的横线处填上适当的语句,使该程序执行结果为10。 #include class MyClass public: _void setx(int ax=a;_或_ MyClass(int xthis.x=x;_ /为x置值 _int getx(return x;_ /取x值 private: int x; ; void main( MyClass my(10; co

56、ut << my.GetNum( << endl; 35 完成下面的类定义。 class MyClass public: MyClass( x = 0; _friend_ int GetNum(_MyClass _ my; private: int x; ; int GetNum(_ MyClass _ my return my.x; 1 在C+中,函数的参数有两种传递方式,它们是值传递和  引用传递 。2 当一个成员函数被调用时,该成员函数的 this指针 指向调用它的对象。3 在基类和派生类中,派生类可以定义其基类中

57、不具备的数据和操作。对两个有相同名字的数据成员进行访问时,如果没有  作用域说明符 ,对此数据成员的访问将出现歧义。4 拷贝构造函数使用 &  作为参数初始化创建中的对象。5 在公有继承的情况下,基类数据成员在派生类中的访问权限 不变  。6 描述命题"A小于B或小于C"的表达式为  A 。 7   用 new 申请某一个类的动态对象数组时,在该类中必须能够匹配到   构造函数 ,否则应用程序会产生一个编译错误。 9   为了避免可能出现的歧义, C+ 对 ifels

58、e 语句配对规则规定为: else 总是与 最接近的还未配对的 if   配对。 10   设 "int a=3,b=4,c=5;" ,表达式 " ( a+b ) >c&&b=c" 的值是 false   。 11   面向对象的程序设计有四大特征,它们是 抽象、封装、继承   、多态   。 12   在 C+ 中,定义重载函数时,应至少使重载函数的 参数个数或参数类型   ; 13   构造函数与析构函数除功能不同外,在定义形式上

59、,它们的区别还包括构造函数名与类名相同,而析构函数名是在类名前加一个 。 16   在 C+ 类中, const 关键字可以修饰对象和成员函数, const 对象不能 被更新   , const 成员函数不能 更新对象的数据成员   。 17   举出 C+ 中两种用户自定义的数据类型: 结构体   、枚举类型   。 18  C+ 中没有字符串类型,字符串是通过   数组 来表示的,每一个字符串都有一个结尾字符 0   。 19  C+ 中没有输入输出语句,输入输出是通过   流操作

60、 实现的,   写出一条打印整型变量 n 的输出语句 : cout< 。 20 、在语句 int a10; 中, 10 的含义是 数组的大小为 10 。 21 、在函数中有这样的语句来申请空间: int *p=new int10; 要释放该空间应使用语句: delete p 。 22 、函数重载的条件是 函数名相同,参数的个数或形参类型不同 。 23 、对于类中的非静态函数成员,都包含一个默认的指针 this ,它代表 正在被成员函数操作的对象 。 24 、已知变量 x 的值是 3 ,则表达式 x+=3,x+,x+2 的值是 9 。 25 、类 X 的静态整型数据成员 i 的初

61、值是 10 ,定义的方法是 static int i=10; 。 26 、结构数据成员的默认访问权限是 pirvate 。 27 、要使语句 p=new double125; 能够正常执行,变量 p 的定义应为 double *p   。 28 、语句 char c20="Good morning" c4=0; cout< 的执行结果是 Good 。 三、 程序填空1、以下程序实现求1100这100个整数的和的运算。#include void main( int  i ,sum;      

62、; sum=0;for(i=1; i < 100     ;  i+          sum+=i                ;cout<<”sum=”< 2、以下程序实现从键盘输入两个整数a和b,输出其中大者的功能(不考虑相等的情况)#i

63、nclude void main(  int a,b                      cin>>a>>b;        if(    a>b         

64、    cout<<”最大值为:”<        else                 cout<<”最大值为:”< 3.设有一函数,其代码如下:int power (x,n int i,p; for (p=1,i=1; i<=n;+i p=p*x;    &#

65、160; return(p;现要求取消变量i,重写该函数如下,请在空白上填上适当内容。int  power (int x,int nint p;for ( p=1 ; n>0; _n-_p=p*x; return (p;4.本程序用古典的Eratosthenes的筛法求从2起到指定范围内的素数。如果要找出2至10中的素数,开始时筛中有2到10的数,然后取走筛中的最小的数2,宣布它是素数,并把该素数的倍数都取走。这样,第一步以后,筛子中还留下奇数3、5、7、9:重复上述步骤,再取走最小数3,宣布它为素数,并取走3的倍数,于是留下5、7。反复重复上述步骤,直  至筛中为空

66、时,工作结束,求得2至10中的全部素数。程序中用数组sieve表示筛子,数组元素sievei的值为1时,表示数i在筛子中,值为-1时表示数i已被取走。 #include const int MAX=22500;void main(  unsigned int i , range , factor , k ;   int sieveMAX ;   cout<<"please input the range : "   cin>>range;  /*range指出在

67、多大的范围内寻找素数 */   for (i=2 ; i<=range ; i+  /* 筛子初始化 */        sievei=1          factor=2 ;   while (factor<=range  if ( sievefactor =1       

68、;         /*筛子最小数是素数 */        cout<         k=factor;        while (k<=range    /*移走素数的倍数 */ sievek=-1       

69、;         /*筛中的个数减一 */  k=k+factor      ;                 factor+ ;    四、 程序阅读1、 int a,b,s;        &

70、#160;                  2、 int x=7,y=4,z;    a=12;b=35;                        &#

71、160;   if(x>y  z=x;    s=a+b;                                else    z=y;    cout&

72、lt;<”s=”< ” z=”< 输出结果为:    s=47                      输出结果为:   z=7      3、int x=6;       

73、60;                  4、int x;while(x+<5                           for(x=1;x<10;

74、x+cout<<”good”;                         if(x%3= =0cout<<“thats the end”;                

75、    cout< 输出结果为: thats the end           输出结果为:  369            5、int n=12;               &#

76、160;         6、int i;    int data8;  if(n>5                              for(i=0;i<8

77、;i+ if(n<11  cout<<”right!”;            datai=i;else  cout<<”left!”;              for(i=7;i>=0;i-else    cout<<”center!”;  

78、60;             cout< 输出结果为:     left                  输出结果为:  76543210         &#

79、160;1、#include void main(int a,b,c,;c=2,c+=10;a = 10;b=11;a * = 2;b / = 2;c % = 2;cout< 输出结果:20,5,02、#include void main(int a = 50 , b(0 ;b = +a;cout< b = a+;cout< 输出结果:51,5152,515、#include void main(int i;for(i=4 ; i<=10 ; i+ if (i%3= =0 continue; cout< 输出结果:4578106.分析以下程序执行结果#includ

80、e int add(int x,int y    return x+y;double add(double x,double y    return x+y;void main(    int a=4,b=6;    double c=2.6,d=7.4;    cout< 解:      本题说明函数重载的使用方法,   

81、0; 这里有两个 add( 函数,一个 add( 函数的参数与返回值为 int 型,另一个的参数与返回值为 double 型,它们是根据参数类型自动区分的。 所以输出为: 10 , 10 7.分析以下程序的执行结果#include class Sample    int i;    double d;    public:        void setdata(int ni=n;    

82、0;   void setdata(double xd=x;        void disp(                    cout<<"i="<         ; void main( Sample s;

83、    s.setdata(10;     s.setdata(15.6;     s.disp(; 解:     本题说明重载成员函数的使用方法。 setdata( 成员函数有两个,根据其参数类型加以区分。所以输出为: i=10, d=15.6 8.分析以下程序的执行结果#include void main(    int a;    int &b=a;    / 变

84、量引用    b=10;    cout<<"a="< 解:     本题说明变量引用的方法。 b 是 a 的引用,它们分配相同的空间, b 的值即为 a 的值。 所以输出为 a=10 。 注意:引用是引入了变量或对明的一个 义词,引用不产生对象的副本。 9.分析以下程序的执行结果#include class Sample    int x;    public:    

85、;    Sample(;        Sample(int ax=a;        Sample(Sample &ax=a.x+1;        void disp(cout<<"x="< ; void main(     Sample s1(2,s2(s1;  &

86、#160;  s2.disp(; 解:     本题说明类拷贝构造函数的使用方法。 Sample 类的 Sample(Sample &a 构造函数是一个拷贝构造函数,将 a 对象的 x 值赋给当前对象的 x 后加 1 。 所以输出为: x=3 。 10.分析以下程序的执行结果#include void swap(int &x,int &y    int temp;    temp=x;  x=y;  y=temp;void main

87、(    int x=10,y=20;    swap(x,y;    cout<<"x="< 解:      这里的函数采用引用调用的方式,所以输出为: x=20,y=10 注意:在函数调用里,引用调用与传址调用的效果相同,但更加简洁直观。 11.分析以下程序的执行结果#include void main(    int a=10,20,30,40,*pa=

88、a;    int *&pb=pa;    pb+;    cout<<*pa< 解:      pa 为数组的指针,首先指向 a0 , pb 是 pa 的引用,当执行 pb+ 时,也使 pa 指向了 a1 ,所以输出为 :20 12 . 分析以下程序的执行结果 #include class Sample     int x;    

89、0;public:         Sample(;         Sample(int ax=a;         Sample(Sample &ax=a.x+ +10;         void disp(cout<<"x="<

90、 ; void main(     Sample s1(2,s2(s1;     s1.disp(;     s2.disp(; 解:     Sample 类的 Sample(Sample &a 构造函数是一个拷贝构造函数,将 a 对象的 x 增 1 然后加上 10 后赋给当前对象的 x ,由于 a 是引用对象,所以输出为:         x=3 

91、0;    / + 运算的结果         x=12     / 2+10 13.写出下列程序的运行结果。    #include     int f(int a     return +a;      int g(int& a     return +a;      void main(      int m=0,n=0;     m+=f(g(m;     n+=f(f(n;   

温馨提示

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

评论

0/150

提交评论