更多“int a=1, b=2, 经运算 a^=b^=a^=b 后结果”相关问题
  • 第1题:

    以下程序运行后的输出结果是( )。 include main(){ int a=1, b=7; do { b=b/2; a+=b

    以下程序运行后的输出结果是( )。

    include<stdio.h>

    main()

    { int a=1, b=7;

    do {

    b=b/2; a+=b;

    } while(b>1);

    printf("%d\n",A);

    }


    正确答案:5
    5 解析:该程序考查do-while循环。循环共进行两次。第一次循环b=3,a=4;第二次循环b=1,a=5。输出a的值为5。

  • 第2题:

    设有定义语句:int a=12;,则表达式a*=2+3的运算结果是______。


    正确答案:60
    60 解析:本题考核C++运算符运算优先级和结合性。表达式"a*=2+3,"先计算“2+3”得到5,然后计算a*=5,得到a的值为60。

  • 第3题:

    下面程序的输出结果是()。includeusing namespace std;int main(){ int a=2,b=-1,c=2;

    下面程序的输出结果是( )。 #include<iostream> using namespace std; int main() { int a=2,b=-1,c=2; if(a<b) if(b<0) c=0; else c+=1; cout<<c<<end1; return 0; }

    A.0

    B.1

    C.2

    D.3


    正确答案:C
    解析:本题常见的错误答案是:由于a>b(a=2,b=-1),所以程序进入else分支执行语句“c+=1;”,最后得到答案3。其实不然,本题考的知识点是else与if的配对问题。由于else关键词总是与它前面最近的未配对的且可见的那个if关键词配对,因此本题程序中的else是与第2个if配对。由于a>b(a=2,b=-1),那么第1个if分支后的语句就不再执行,从而输出c的值为2。

  • 第4题:

    以下程序的执行结果为()。include class Sample{int n;public:Sample(int i) {n=i;}

    以下程序的执行结果为( )。 #include <iostream.h> class Sample { int n; public: Sample(int i) {n=i;} operator++() {n++;} //前缀重载运算符 operator++(int) {n+=2;} //后缀重载运算符 void disp() { cout<<"n="<<n<<endl; } }; void main() { Sample A(2),B(2); A++; ++B; A.disp(); A.disp(); }

    A.n=4

    B.n=1

    C.n=3

    D.n=5 n=3 n=2 n=4 n=6


    正确答案:A

  • 第5题:

    下面程序的结果为 include int c; class A { private: int a; static int b; publi

    下面程序的结果为

    #include<iostream.h>

    int c;

    class A

    {

    private:

    int a;

    static int b;

    public:

    A( ) {a=0;c=0;}

    void seta( ) {a++;}

    void setb( ) {b++;}

    void setc( ) {c++;}

    void display( ) {cout < < a < < " " < < b < < " " < < c;}

    };

    int A: :b=0;

    void main( )

    {

    A a1,a2;

    a1.seta( ) ;

    a1.setb( ) ;

    al .setc( ) ;

    a2.seta( ) ;

    a2.setb( ) ;

    a2.setc( ) ;

    a2.display( ) ;

    }

    A.1 2 1

    B.1 2 2

    C.1 1 2

    D.2 2 2


    正确答案:B
    解析:C++语言中全局变量是任何函数都可以改变的量,静态变量的有效范围在定义它的类中,而普通的变量的有效性只在使用它的函数中,在本题中c为全局变量,b为静态变量,a为普通变量,b和c在类A的对象a1和s2中都自加1。所以b、c为 2,a为1。

  • 第6题:

    下面程序的结果为includeint c;class A{private:int a;static int b;public:A( ){a

    下面程序的结果为 #include<iostream.h> int c; class A { private: int a; static int b; public: A( ) {a=0;c=0;} void seta( ){a++;} void setb( ){b++;}

    A.1 2 1

    B.1 2 2

    C.1 1 2

    D.2 2 2


    正确答案:B
    解析:C++语言中全局变量是任何函数都可以改变的量,静态变量的有效范围在定义它的类中,而普通的变量的有效性只在使用它的函数中,在本题中c为全局变量,b为静态变量,a为普通变量,b和c在类A的对象a1和a2中都自加1。所以b,c为 2,a为1。

  • 第7题:

    下列函数的运行结果是()。includeintf(int a, int b){ int c;if(a>b)c=1;elseif(a==

    下列函数的运行结果是( )。 #include<iostream.h> intf( int a, int b) { int c; if(a>b) c=1; elseif(a==b)C=0; elsec=-1; return(c);} void main() {int i=2,j=3; int p=f(i,j); cout<<p;}

    A.-1

    B.1

    C.2

    D.编译出错,无法运行


    正确答案:A

  • 第8题:

    下列函数的运行结果是includeint f(int a,int b){ int c;if(a>b)c=1; else if(a==b

    下列函数的运行结果是 #include<iostream.h> int f(int a,int b) { int c; if(a>b)c=1; else if(a==b)C=0; else c=-1; return(c);} void main() { int i=2,j=3; int p=f(i,j); cout<<p;}

    A.-1

    B.1

    C.2

    D.编译出错,无法运行


    正确答案:A
    解析:本题的函数是根据a和b的值来给c赋值。

  • 第9题:

    在下面程序运行后,输出结果为 ______。includevoid count(int x[],int n,int &y

    在下面程序运行后,输出结果为 ______。 #include<iostream.h> void count(int x[],int n,int &y){ int k; y=0; for(k=0:k<n;k++) if(x[k]<0) y++; } void main(){ int b[]={2,1,-8,-3,7,2,4,6,0,-13}; int x; count(b,10,x); cout<<“x”<<x<<end1; }

    A.x=3

    B.x=5

    C.出错

    D.x=0


    正确答案:A

  • 第10题:

    int a=1, b=2, 经运算 a^=b^=a^=b 后结果为()

    • A、a=3,b=2
    • B、a=1,b=2
    • C、a=2,b=1
    • D、不知道

    正确答案:C

  • 第11题:

    单选题
    有以下程序:#include int f(int x); main(){ int n=1,m;  m=f(f(f(n))); printf(%d,m); }int f(int x) { return x*2;} 程序运行后的输出结果是(  )。
    A

    4

    B

    2

    C

    8

    D

    1


    正确答案: D
    解析:
    考查函数嵌套调用,第一次调用的是最内层的f(n),即f(1)返回值2。第二次调用中间的f(f(n)),即f(2)返回值4。最后调用最外层的f(f(f(n))),即f(4)返回值8,最后打印输出。答案选择C选项。

  • 第12题:

    单选题
    int a=1, b=2, 经运算 a^=b^=a^=b 后结果为()
    A

    a=3,b=2

    B

    a=1,b=2

    C

    a=2,b=1

    D

    不知道


    正确答案: B
    解析: 暂无解析

  • 第13题:

    下列函数的运行结果是 include int f(int a,int b) { int c; if(a>b) c=1; else i

    下列函数的运行结果是

    #include<iostream.h>

    int f(int a,int b)

    { int c;

    if(a>b) c=1;

    else if(a==b) c=0;

    else c=-1;

    return(c) ;}

    void main( )

    { int i=2,j=3;

    int p=f(i, j) ;

    cout < < p;}

    A.-1

    B.1

    C.2

    D.编译出错,无法运行


    正确答案:A
    解析:本题的函数是根据a和b的值来给c赋值。

  • 第14题:

    关于逻辑运算符的说法,正确的是( )。

    A.它们都是双目运算符,优先级相同

    B.语句“int a = 0, i = l, b; b = a&&i++;”执行后, i的值为2

    C.语句“int a = 1, i = l, b; b = a||++;”执行后,i的值为2

    D.语句“int a = 1, i = l, b; b = a&&i++;”执行后, i的值为2


    正确答案:D
    解析:选项A逻辑运算符优先级不同,而且有单目运算符;选项B中b=a&&i++;的左边表达式值为0,右边表达式不参与运算,所以i的值没有变化;选项C原因同选项B。

  • 第15题:

    有以下程序 int fa(int x) { return x*x; } int fb(int x) { return x*x*x; } int f(int (*f1)(),int (*f2)(),int x) { return f2(x)-f1(x); } main() { int i; i-f(fa, fb,2); printf("%d \n",i); } 程序运行后的输出结果是

    A.4

    B.1

    C.4

    D.8


    正确答案:C
    解析:函数f()有3个形式参数f1、f2和x,其中f1、f2是指向函数的指针变量。在main()函数中执行了函数调用“f(fa,fb,2)”,从而使f()的形式参数f1指向了fa,形式参数f2指向了fb,把实参2传给了行参变量x。函数f()中的return语句中的相当于“fb(2)-fa(2)”(fb(2)的返回值为2*2*2=8,fa(2)返回值为2*2=4)即(8-4),值为4.函数f()执行后把返回值4赋给了i,输出i的值是4.所以4个选项中C正确。

  • 第16题:

    有以下程序 int fa(int x) {return x*x;} int fb(int x) {return x*x*x;} int f(int(*f1)(),int(*f2)(),int x) { return f2(x)-f1(x);} main() {int i; i=f(fa,fb,2);pfintf(“%d\n”,i); } 程序运行后的输出结果是

    A.-4

    B.1

    C.4

    D.8


    正确答案:C
    解析:函数f()有3个形式参数f1、f2和x,其中f1、f2是指向函数的指针变量。在main()函数中执行了函数调用“f(fa,fb,2)”,从而使f()的形式参数f1指向了fa,形式参数f2指向了fb,把实参2传给了形参变量x。函数f()中的return语句相当于“fb (2)-fa(2)”(fb(2)的返回值为2*2*2=8,fa(2)返回值为2*2=4)即(8-4),值为4。函数f()执行后把返回值4赋给了i,输出i的值是4。

  • 第17题:

    表达式Int(-15.8)+Fix(-15.8)+Int(15.8)+Fix(15.8)的运算结果是( )。

    A. -1

    B. 2

    C. 0

    D. 4


    正确答案:A
    A)    【解析】本题考查函数Int的功能,Int(x)的作用是取不大于x的最小的整数,Fix(x)贝U是简单的取整数部分。

    Int(-15.8)+Fix(-15.8)+Int(15.8)+Fix(15.8)
    = (-16) +(-15)+(15)+(15)
    =(-1)

  • 第18题:

    若有定义“int a=5,b=7;”,则表达式a%-(b%2) 运算后,a的值为( )。A.0B.1C.11S

    若有定义“int a=5,b=7;”,则表达式a%-(b%2) 运算后,a的值为( )。

    A.0

    B.1

    C.11

    D.3


    正确答案:A
    本题考查“%”运算符的使用。运算符“%”是整数除法的余数。本题中表达式a%=(b%2)等价于a=a%(b%2)=5%(7%2)=5%1=0。

  • 第19题:

    以下程序运行后,输出结果是 ( ) fut(int * * s,int p[2][3]) { * * s=p[1][1];} main( ) { int a [2] [3]= {1, 3, 5, 7, 9, 11}, * p; p=(int * )malloc (sizeof(int)); fut(&p,a); printf("%d\n",* p); }

    A.1

    B.7

    C.9

    D.11


    正确答案:C

  • 第20题:

    下面程序的运算结果为 ( )。include < iostream >using namespace ~td;int i;int fun( ) { stati

    下面程序的运算结果为 ( )。 #include < iostream > using namespace ~td; int i; int fun( ) { static int i = 10; return + + i; void main ( ) { fun( ); cout <<fun() <<" ," <<i; }

    A.10,100

    B.12,100

    C.12,12

    D.11,100


    正确答案:B
    解析:fun()中的i为静态变量只在函数中可见,执行两次变为12;主函数中的i为全局变量,fun()对i的修改不影响。

  • 第21题:

    下列函数的运行结果是()。includeint f(int a,int b){int c;if(a>b)c=1;else if(a==

    下列函数的运行结果是( )。 #include<iostream.h> int f(int a,int b) {int c; if(a>b) c=1; else if(a==b)c=0 elsec=-1; return(c);} void main() {int i=2,j=3; int p=f(i,j); cout<<p:}

    A.-1

    B.1

    C.2

    D.编译出错,无法运行


    正确答案:A

  • 第22题:

    单选题
    有以下程序:#include #include void fun(int*p1,int*p2,int*s){ s=(int*)malloc(sizeof(int)); *s=*p1+*p2; free(s);}main(){ int a=1,b=40,*q=&a; fun(&a,&b,q); printf(%d,*q);}程序运行后的输出结果是(  )。
    A

    42

    B

    0

    C

    1

    D

    41


    正确答案: A
    解析:
    main函数中定义了3个变量,a,b和指针变量q,并且q存放的是a的地址,fun函数中s是重新分配的空间,将重分配的空间中存放*p1和*p2即为1和40,然后释放s,而q没有变化,仍然指向变量a,故*q仍然为1,答案选择C选项。

  • 第23题:

    单选题
    有以下程序#include #include void fun(int*p1,int*p2,int*s){ s=(int*)malloc(sizeof(int)); *s=*p1+*p2;}main(){ int a[2]={1,2}, b[2]={10,20},*s=a; fun(a,b,s); printf(%d,*s);}程序运行后的输出结果是(  )。
    A

    1

    B

    10

    C

    11

    D

    2


    正确答案: C
    解析:
    初始化后,s指向数组a的首地址,在调用函数fun时,形参s和实参s是两个独立的int型指针,在fun函数内部,形参s指向新的存储空间,但是不会影响实参s的指向。所以,在main函数中,s仍然指向数组a的首地址,输出结果是1。答案选择A选项。

  • 第24题:

    单选题
    有以下程序:#include #include void fun(int*p1,int*s){ int *t; t=(int*)malloc(2*sizeof(int)); *t=*p1+*p1++; *(t+1)=*p1+*p1; s=t;}main(){ int a[2]={1,2}, b[2]={0}; fun(a,b); printf(%d,%d,b[0],b[1]);}程序运行后的输出结果是(  )。
    A

    2,6

    B

    0,0

    C

    2,4

    D

    1,2


    正确答案: C
    解析:
    程序执行过程为:调用fun(a,b),形参p1对应实参a,形参s对应实参b,定义指针t并使其指向开辟的两个整型数据大小的内存,为第一个内存赋值为数组a第一个元素的2倍,即2,然后指针p1指向a数组第二个元素,为第二个内存赋值为数组a第二个元素的2倍,即4,最后使指针s指向动态开辟的两个内存的首地址。但对形参的操作没有影响到实参,整个过程中数组b没有发生变化,依次输出b中元素为0,0,答案选择B选项。