itgle.com
参考答案和解析
正确答案:B
解析:++和*的运算优先级别相同,且从右到左结合,y=*px++也就是y=*(px++),++运算只对px有效。这里++是后置的,应当先将px所指向的变量*px(也就是变量x)的值赋给变量y,然后px才增1。
更多“执行以下语句的结果为______。 int x=3,y;int*px=&x;y=*px++;A.x=3,y=4B.x=3,y=3C.x=4,y=4D.x ”相关问题
  • 第1题:

    下列程序的执行结果是()。includeclass Sample{int x,y;public:Sample(){x=y=0;)Sam

    下列程序的执行结果是( )。 #include<iostream.h> class Sample { int x,y; public: Sample(){x=y=0;) Sample(int a,int b){x=a;y=b;} ~Sample() { if=(x==y) cout<<“x=y”<<endl; else cout<<“x!=y”<<endl; } void disp() { cout

    A.x=2,y=2

    B.x=3,y=3

    C.x=2,y=3

    D.x=3,y=2


    正确答案:C
    解析: 本题考查的是类的构造函数和析构函数。首先,Samplesl(2,3);会调用含有两个参数的构造函数Sample(inta,intb){x=a,y=b,),disp()函数输出成员变量x和y的值:x=2,y=3;然后结束时调用析构函数,因为x和y值不等,故输出x!=y。

  • 第2题:

    有以下程序

    void f( int y, int *x)

    { y=y+*x; *X=*X+y; }

    main()

    { int x=2,y=4;

    f(y,&x);

    printf("%d %d\n",x,y);

    }

    执行后输出结果是______。


    正确答案:8 4
    8 4 解析:本题考核的知识点是函数的调用、值传递和地址传递的区别。“值传递”指实参将值传递给形参后,实参与形参再无联系。也就是说对行参的改变将不影响实参;地址传递是指地址或数组名作为形参时的参数传递,这种情况下对形参的改变将对实参产生影响.函数 f(Y*x)的作用是让y的值加上指针x所指向变量的值,让指针x所指向变量的值加上y的值。由于形参y是传值的,形参x是传地址的,故调用该函数后,作为实参的y的值将不改变,而实参x的值将改变,故最后输出的y的值为4,而x的值为8。

  • 第3题:

    以下程序的执行结果是______。 include void main() { int x=5 y=2; cout<

    以下程序的执行结果是______。

    include<iostream.h>

    void main()

    {

    int x=5 y=2;

    cout<<! (y==x/2)<<",";

    cout<<(y!=x%3)<<",";

    cout<<(x>0 && y<0=<<",";

    cout<<(x!=y||x>=y)<<endl;

    }


    正确答案:0001
    0,0,0,1

  • 第4题:

    下列程序的执行结果是( )。 include include Class TestClass

    下列程序的执行结果是( )。 #include<iostream.h> #include<stdlib.h> Class TestClass { public: int x,y; TestClass(){x=y=0;} TestClass(int a,int b){x=a;y=b;} void disp() { cout<<"x="<<x<<",y="<<y<<end1; } }; void main() { TestClass s1(2,3); s1.disp(); }

    A.x=2,y=2

    B.x=3,y=3

    C.x=2,y=3

    D.x=3,y=2


    正确答案:C
    解析:由主函数入手,定义了类TestClass的对象s1(2,3),当类对象进入其作用域时调用构造函数,构造函数应该是调用具有参数的“TestClass(int a,int b){x=a;y=b;)”。然后引用成员函数disp(),则输出为“cout”x=“x”,y=“yendl;”。

  • 第5题:

    下面程序的运行结果是()。includeclass Sample{int x, y;public:Sample() { x=y=0;

    下面程序的运行结果是( )。#include<iostream.h>class Sample{int x, y;public:Sample() { x=y=0; }Sample(int a, int b) { x=a; y=b; }void (lisp(){cout<<"x="<<x<<",y="<<y<<end1;}};void main(){Sample s(2,3), *p=&s;p->disp();}

    A.x=1, y=2

    B.x=2, y=4

    C.x=2, y=3

    D.x=4, y=3


    正确答案:C

  • 第6题:

    设int x=10,y=3,z;,以下语句的输出结果是______。printf("%d\n",z=(x%y,x/y));

    A.1

    B.0

    C.4

    D.3


    正确答案:D

  • 第7题:

    下列程序的输出结果是includeclass Myclass{public : Myclass( int i=0,int j=0){x

    下列程序的输出结果是 #include<iostream.h> class Myclass{ public : Myclass( int i=0,int j=0) {x=i; y=j; } void show( ){cout<<"x="<<x<<" "<"y="<<y<<endl;} void show( )const{cout<<"x="<

    A.x=4,y=3;x=7,y=8

    B.x=3,y=4;x=7,y=8

    C.x=7,y=8;x=4,y=3

    D.x=8,y=7;x=7,y=8


    正确答案:A
    解析:在Myclass类中定义了两个同名函数show,其中一个是常成员函数。在main函数中定义了两个对象myl,my2,其中对象my2是常对象。这两个对象调用成员函数show时,通过对象myl调用的是没有用const修饰的一般成员函数,而通过对象my2调用的是const修饰的常成员函数。

  • 第8题:

    下列程序的执行结果是()。 includeclass Sample{ int x,y; public: Sample() {x=y=0

    下列程序的执行结果是( )。 #include<iostream.h> class Sample { int x,y; public: Sample() {x=y=0;} Sample(int a,int b) {x=a;y=b;} ~Sample() { if(x==y) cout<<"x=y"<<end1; else cout<<"x!=y"<<end1; } void disp() { cout<<"x="<<x<<",y="<<y<<end1; } }; void main() { Sample s1(2,3); s1.disp(); }

    A.x=2,y=2

    B.x=3,y:3

    C.x=2,y=3

    D.x=3,y=2


    正确答案:C
    解析:此题考查的是类的构造函数和析构函数。首先,Sample s1(2,3)会调用含有两个参数的构造函数Sample(int a,int b){x=a;y=b;},disp()函数输出成员变量x和y的值:x=2,y=3;然后结束时调用析构函数,因为x和y值不等,故输出x!=y。

  • 第9题:

    下列程序的执行结果是()。includeincludeclass TestClass{public:intx,y

    下列程序的执行结果是( )。 #include<iostream.h> #include<stdlib.h> class TestClass { public: intx,y; TestClass(){x=y=0;} TestClass(int a,int b){x=a;y=b;} void disp() { cout<<"X"="<<X<<",y="<<y<<endl; }

    A.x=2,y=2

    B.x=3,y=3

    C.x=2,y=3

    D.x=3,y=2


    正确答案:C
    解析: 由主函数入手,定义了类TestClass的对象s1(2,3),当类对象进入其作用域时调用构造函数,构造函数应该是调用具有参数的“TestClass(int a,int b)x=a;y=b;)”。然后引用成员函数disp(),则输出为“cout”x=“x”,y=“yendl;”。即x=2,y=3。

  • 第10题:

    下列程序的执行结果是( )。 #inClude<iostream.h) #include(stdlib.h) class TestClass { public: int x,y; TestClass(){x=y=0;} TestClass(int a,int b){x=a;y=b;} void disp() { cout<<"x="<<x<<",y="<<y<<endl; } }; void main() {

    A.x=2,y=2

    B.x=2,y=3

    C.x=3,y=2

    D.x=3,y=3


    正确答案:B
    解析: 由主函数入手,定义了类TestClass的对象s1(2,3),当类对象进入其作用域时调用构造函数,构造函数应该是调用具有参数的“TestClass(mta,intb){x=a,y=b)”。然后引用成员函数disp(),则输出为“cout"x="”x ",y="yendl;”。即x=2,y=3。

  • 第11题:

    执行以下程序后的输出结果为( )。includeclass Sample{int x, y;public:Sample() {

    执行以下程序后的输出结果为( )。#include<iostream. b>class Sample{ int x, y; public: Sample() { x=y=0;} Sample(int a, int b) {x=a; y=b; } void disp () { cout<<"x="<<x<<"y="<<y<<end1; }};void main(){ Sample s(2,3), *p=&s; p->disp();}

    A.x=1, y=3

    B.x=2, y=4

    C.x=3, y=2

    D.x=2, y=3


    正确答案:D

  • 第12题:

    设有如下类:

    class MyPoint {

    void myMethod() {

    int x, y;

    x = 5; y = 3;

    System.out.print( " ( " + x + ", " + y + " ) " );

    switchCoords( x, y );

    System.out.print( " ( " + x + ", " + y + " ) " );

    }

    void switchCoords( int x, int y ) {

    int temp;

    temp = x;

    x = y;

    y = temp;

    System.out.print( " ( " + x + ", " + y + " ) " );

    }

    }

    如果执行myMethod()方法,则输出结果为?

    A. (5, 3、(5, 3、(5, 3、

    B. (5, 3、(3, 5、(3, 5、

    C. (5, 3、(3, 5、(5, 3、


    正确答案:C

  • 第13题:

    设x,y,t均为int型变量,执行语句:

    x=y=3;

    t=++x||++y;

    完成后,y的值为

    A.不确定

    B.4

    C.3

    D.1


    正确答案:C
    t=++x或++y,当++x不为0的时候,即++x为真,则不需要再继续判断++y,那么y就不再执行自加,因此y=3.

  • 第14题:

    以下程序运行后的输出结果是【】。 include void fun(int x,int y) {x=x+y;y=x-y

    以下程序运行后的输出结果是【 】。

    include<iostream.h>

    void fun(int x,int y)

    { x=x+y;y=x-y;x=x-y;

    cout<< x << "," <<y << " ,";}

    void main( )

    { int x=2,y=3;fun(x,y);

    cout<< x << "," << y << endl;}


    正确答案:3223
    3,2,2,3 解析:main函数和fun函数中的变量x和y都是局部变量,它们各自独立,在本题 fun函数中:接入实参的值传递:x=2,y=3,执行:x=x+y后,x=5,y=3,执行:x=x-y后,x=5,y=3,执行:y=x-y后,x=3,y=2。所以,第一次执行cout显示结果是3和2返回到main函数中,输出main函数中的x和y的值2,3。

  • 第15题:

    下列程序执行后,屏幕的输出是()。includeusing namespace std;void swap(int x,int y)

    下列程序执行后,屏幕的输出是( )。 #include<iostream> using namespace std; void swap(int x,int y) { int temp=x; x=y; y=temp; cout<<"x="<<x<<"",y=""<<y<<end1; } int main() { int x=3,y=2; swap(x,y); cout<<"x="<<x<<",y="<<y<<end1; return 0; }

    A.x=3,y=2 x=3,y=2

    B.x=2,y=3 x=3,y=2

    C.x=2,y=3 x=2,y=3

    D. x=3,y=2 x=2,y=3


    正确答案:B

  • 第16题:

    设x、y、t均为int型变量,执行以下语句后,y的值为______。x=y=3;t=++x||++y;

    A.不定值

    B.4

    C.3

    D.1


    正确答案:C

  • 第17题:

    下列程序的运行结果为 include class Location { protected: int X,Y;

    下列程序的运行结果为 #include<iostream.h> class Location { protected: int X,Y; publiC: void SeX(int myx){X=myx;} void SetY(int myy){Y=myy;} void showxy( ) {cout<<"X=" <<X<<" " <<"Y"=<< Y<< endl;} }; Class Rectangle :public Location{

    A.X=3 Y=5 X=3 Y=5 H=4 W=6

    B.X=3 Y=5 X=3 Y=5 H=3 W=6

    C.X=3 Y=5 X=3 Y=4 H=4 W=6

    D.X=3 Y=5 X=3 Y=3 H=4 W=6


    正确答案:A
    解析:本题是一道简单的成员函数应用题,考生只要按着主函数中生成的类Rectangle的对象r1进行成员函数的调用即可得到答案。

  • 第18题:

    下列程序的输出结果是includeclass Myclass{public:Myclass(int i=0,int j=0){x=i;

    下列程序的输出结果是 #include<iostream.h> class Myclass{ public:Myclass(int i=0,int j=0) { x=i; y=j; } void show( ) {cout < <"x=" < < x < <" " <"y=" < < y < < endl;} void show( ) const{cout < <"x=" < <" " < <"y=" < < y < < endl;} privated: int x; int y; }; void main( ) { Myclass my1(3,4) ; const my2(7,8) ; my1.show( ) ;my2.show( ) ;}

    A.x=4,y=3;x=7,y=8

    B.x=3,y=4;x=7,y=8

    C.x=7,y=8;x=4,y=3

    D.x=8,y=7;x=7,y=8


    正确答案:A
    解析:在Myclass类中定义了两个同名函数show,其中一个是常成员函数。在main函数中定义了两个对象my1、my2,其中对象my2是常对象。这两个对象调用成员函数show时,通过对象my1调用的是没有用const修饰的一般成员函数,而通过对象my2调用的是const修饰的常成员函数。

  • 第19题:

    设x、y、t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为( )。

    A.不定值

    B.4

    C.3

    D.1


    正确答案:C
    解析:在||运算中,当第一个表达式的值为真时,第二个表达式将不再运算。由于在表达式t=++t||++y;中,t的值为非0,即第一个表达式的值为真,第二个表达式将不再运算,所以y的值没有变化,仍然为3。所以,4个选项中选项C符合题意。

  • 第20题:

    执行以下语句后的输出结果是______。int x=3,y=0;printf("%d,%d”,-1>x>-10&&1y>

    执行以下语句后的输出结果是______。 int x=3,y=0; printf("%d,%d”,-1>x>-10&&1<x<10,-1>y>-10&&1<y<10);

    A.1 2

    B.1 1

    C.1 2

    D.2 2


    正确答案:B

  • 第21题:

    下面程序的输出结果是 ( ) main( ) {int x,y,z; x=0;y=z=-1; x+=-z - - -y printf("x=%d\n",x); }

    A.x=4

    B.x=0

    C.x=2

    D.x=3


    正确答案:C

  • 第22题:

    执行以下语句后的输出结果是______。int x=10,y=3,z;printf("%d\n",z=(x%y,x/y));

    A.1

    B.0

    C.4

    D.3


    正确答案:D

  • 第23题:

    下列程序的输出结果是includeclass Myclass{ public:My class(inti=0,int j=0) {x=

    下列程序的输出结果是 #include<iostream.h> class Myclass{ public:My class(inti=0,int j=0) { x=i; y=j; } void show(){cout<<"x=" <<x<<" " <"y=" <<y<<endl;} void show()const{cout<<"x="<<""<<"y="<<y<<endl;} privated: int x; int y; }; void main() { Myclassmy1(3,4); const my2(7,8); myl.show();my2.show();}

    A.x=4,y=3;x=7,y=8

    B.x=3,y=4;X=7,y=8

    C.x=7,y=8;x=4,y=3

    D.x=8,y=7;x=7,y=8


    正确答案:A
    解析:在Myclass类中定义了两个同名函数show,其中一个是常成员函数。在main函数中定义了两个对象myl,my2,其中对象my2是常对象。这两个对象调用成员函数show时,通过对象myl调用的是没有用,const修饰的一般成员函数,而通过对象my2调用的是const修饰的常成员函数。