参考答案和解析
正确答案: C
解析: 暂无解析
更多“执行完下面程序片段后,()的结论是正确的。int a,b,c;a=1;b=2;c= (a+b>3?a++:b++);”相关问题
  • 第1题:

    有以下程序

    #include <stdio.h>

    main()

    { int x=1,y=0,a=0,b=0;

    switch(x)

    { case 1:

    switch(y)

    { case 0:a++; break;

    case 1:b++; break;

    }

    case 2:a++; b++; break;

    case 3:a++; b++;

    }

    printf("a=%d,b=%d\n",a,b);

    }

    程序的运行结果是

    A.a=1,b=0

    B.a=2,b=2

    C.a=1,b=1

    D.a=2,b=1


    正确答案:D
    解析:本题考查switch语句,首先,x=1符合条件case 1,执行switch(y)语句,y=0符合case 0语句,执行a++并跳出switch(y)语句,此时a=1。因为case 1语句后面没有break语句,所以向后执行case 2语句,执行a++,b++,然后跳出switch(x),得a=2,b=1。

  • 第2题:

    执行完下面程序片段后,结论正确的是_________。inta,b,c;a=1;b=2;c=(a+b>3?a++:b++);

    A.a的值是1,b的值是2

    B.c的值是false

    C.a的值是2,b的值是3

    D.a的值是1,b的值是3


    正确答案:D

  • 第3题:

    下列程序执行后输出的结果是()includef(int A){ int b=0;static c=3;a=c++,b++;return

    下列程序执行后输出的结果是( ) #include<stdio.h> f(int A) { int b=0; static c=3; a=c++,b++; return(A) ; } main() { int a=2,i,k; for(i=0;i<2;i++) k=f(a++); printf("%d\n",k); }

    A.3

    B.0

    C.5

    D.4


    正确答案:D

  • 第4题:

    有下列程序:includemain(){int x=1,y=0,a=0,b=0;switch(x){ case 1:switch(y){ case 0

    有下列程序: #include <stdio.h> main() { int x=1,y=0,a=0,b=0; switch(x) { case 1: switch(y) { case 0:a++;break; case 1:b++;break; } case 2: a++;b++;break; case 3: a++;b++; } printf("a=%d,b=%d\n",a,B) ; } 程序的运行结果是( )。

    A.a=1,b=0

    B.a=2,b=2

    C.a=1,b=1

    D.a=2,b=1


    正确答案:D
    解析:本题考查的是用switch语句实现多分支选择结构,首先进入第一个switch(x)判断,进入case 1中进行嵌套判断,如果switch(y)也成立,a自加1,遇到break,退出嵌套,接着执行case 2,a自加为2,b自加为1,遇到break,结束循环,此时a=2,b=1,故选项D)正确.

  • 第5题:

    有以下程序 int fun(int x,int y){return(x+y);} main { int a=1,b=2,C=3,sum; sum=fun((a++,b++,a+b),c++ printf("%d\n",sum);) 执行后的输出结果是( )。

    A.6

    B.7

    C.8

    D.9


    正确答案:C
    sum=fun((a++,b++,a+b),c++)中a++,b++,a+b为逗号表达式,运算后取a+b的值为5,c++为3,故函数调用后输出结果为8。

  • 第6题:

    有以下程序: fun(int x,int y){return(x+y);) main { int a=1,b=2,c=2,sum; sum=fun((a++,b++,a+b),c++); printf("%d\n",sum); } 执行后的结果是( )。

    A.6

    B.7

    C.8

    D.9


    正确答案:C
    表达式a++,b++,a+b是一个逗号表达式,在逗号表达式中,从左向右进行各个表达式的运算,最后一个表达式的值就是逗号表达式的结果,所以表达式a++,b++,a+b的值为5,所以fun函数中的形参x的值为5;表达式c++先把变量C的值传给形参y,然后c的值加1,所以y的值为3,因此函数fun((a++,b++,a+b),c++)的返回值为8。

  • 第7题:

    有以下程序: fun(int x,int y){return(x+y);} main() {int a=1,b=2,c=3,Sum; sum=fun((a++,b++,a+b),c++); printf("%d",sum); } 执行后的输出结果是______。

    A.6

    B.7

    C.8

    D.9


    正确答案:C
    解析: 在fun((a++,b++,a+b),c++)函数中先计算括号内的“(a++,b++,a+b)”逗号运算符,整个逗号表达式最后的值为5;接下来调用fun()函数,此时原句变为fun(5,c++)。运算c++表示在使用完c后再将c的值加1,函数的返回值为8。

  • 第8题:

    若有定义语句“int a,b;double X;”,则下列选项中没有错误的是( )。

    A.switch(X%2) { case 0:a++;break; case l:b++;break; default:a++;b++; }

    B.switch((int)x/2.O) { case 0:a++;break; case l:b++;break; default:a++;b++; }

    C.switch((int)X%2) { case 0:a++;break; case l:b++;break; default:a++;b++; }

    D.switch((int)(x)%2) { case 0.0:a++;break; case l.0:b++;break; default:a++;b++; }


    正确答案:C
    C语言中,switch语句中的表达式和case表达式都不能是浮点类型。所以选C。

  • 第9题:

    执行下面C语言程序段的结果是( )。main( ){int x=l,a=l,b=l;switch(x){case 0:b++;case 1:a++;case 2:a++;b++;}printf(”a=%d,b=%d“,a,b);}

    A.a=2,b=2
    B.a=3,b=2
    C.a=2,b=l
    D.a=3,b=3

    答案:B
    解析:
    switch case语句语法,当匹配到了一个case条件,会从该条件开始往下执行其余所有条件语句,不再进行判断,因此这里x=1匹配到了case1,其会执行case1及case2的语句。

  • 第10题:

    执行完下面程序片段后,()的结论是正确的。int a,b,c;a=1;b=2;c= (a+b>3?a++:b++);

    • A、a的值是2,b的值是3
    • B、a的值是1,b的值是3
    • C、a的值是1,b的值是2
    • D、c的值是false

    正确答案:B

  • 第11题:

    单选题
    执行完下面的程序片段后,下面哪些结论是正确的?() int a,b,c;    a=1;    b=2;   c=(a+b>3?a++:++b);
    A

    a的值是2,b的值是3

    B

    a的值是1,b的值是3

    C

    a的值是1,b的值是2

    D

    c的值是false


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

  • 第12题:

    单选题
    若有定义:int a=0,b=0,c=0,d=0; 有C语言表达式 (a++ && b++)? c++ : d++,以下关于其执行顺序的叙述正确是(  )。
    A

    先执行a++,表达式a++的值为0,由此即可确定(a++ && b++)值为0,因此执行d++

    B

    先执行a++,表达式a++的值为0;再执行b++,表达式b++的值为0,由此可确定(a++ && b++)值为0,因此执行d++

    C

    先执行a++,表达式a++的值为1;再执行b++,表达式b++的值为1,由此可确定(a++ && b++)值为1,因此执行c++

    D

    先执行b++,表达式b++的值为1;再执行a++,表达式a++的值为1,由此可确定(a++ && b++)值为1,因此执行c++


    正确答案: D
    解析:
    把握前置运算和后置运算的基本运算规则。表达式1?表达式2:表达式3,若表达式1为真,则执行表达式2,否则执行表达式3。逻辑与运算符遵循“短路求值”策略,即在进行求值时,只要最终的结果已经可以确定是假,求值过程便告终止,表达式(a++&&b++)中,左操作数a++的值为0,已经可以确定整个逻辑表达式的结果为0,因此右操作数b++不再求解,直接执行表达式3,即d++,答案选择A选项。

  • 第13题:

    有下列程序:

    fun(int x,int y){return(x+y);}

    main()

    {inta=l1b=2,c=3,sum;

    sum=fun((a++,b++,a+b),C++);

    printf("%d\n",sum);}

    执行后的输出结果是( )。

    A.6

    B.7

    C.8

    D.9


    正确答案:C
    解析:函数fun(int x,int y)的功能是返回两个整型数据的和。在主函数中,变量a,b,c的初始值分别为 1,2,3。因此逗号表达式 “a++,b++,a+b”的值等于5,表达式c++的值为3,调用子函数的表达式为“fun(5,3);”,其返回值等8。所以变量sum的值等于8。

  • 第14题:

    有如下程序:includemain(){int x=1,a=0,b=0; switch(x) {casc 0:b++;case 1:a++;case

    有如下程序: #include<stdio.h> main() { int x=1,a=0,b=0; switch(x) { casc 0:b++; case 1:a++; case 2:a++;b++; } printf("a=%d,b=%d\n",a,b); } 该程序的输出结果是( )。

    A.a=2,b=1

    B.a=1,b=1

    C.a=1,b=0

    D.a=2,b=2


    正确答案:A
    解析:该程序的关键是要搞清楚程序执行的路线。由于x的值等于1,所以在switch语句中,程序从case1后面的语句开始执行。由于case1后面没有break语句,所以程序顺序执行case2后面的语句。程序共执行了三条语句:a++;a++;b++;所以,变量a和b最后的值分别为2和l。选项A)正确。

  • 第15题:

    有下列程序: 、 fun(int X,int y){return(x+y);) main( ) { int a=1,b=2,c=3,sum; sum=fun((a++,b++,a+b),c++); printf("%d\n",sum); } 执行后的输出结果是( )。

    A.6

    B.7

    C.8

    D.9


    正确答案:C
    函数fun(intx,inty)的功能是返回x+Y的值。在主函数中,变量a,b,c的初始值分别为1,2,3。因此逗号表达式“a++,b++,a+b”的值等于5,表达式c++的值为3,调用于函数的表达式为“fun(5,3);”,其返回值等于8。

  • 第16题:

    有下列程序:

    fun(int x,inty){retum(x+y);}

    main()

    {int a=1,b=2,c=3,sum;

    stun=fun((a++,b++,a+b) ,c++);

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

    } 执行后的输出结果是( )。

    A.6

    B.7

    C.8

    D.9


    正确答案:C
    解析:函数fun(intx,inty)的功能是返回两个整型数据的和。在主函数中,变量a,b,c的初始值分别为 1,2,3。因此逗号表达式“a++,b++,ab”的值等于5,表达式c++的值为3,调用子函数的表达式为“fun(5,3);”,其返回值等8。所以变量sam的值等于8。

  • 第17题:

    下面程序的结果为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。

  • 第18题:

    以下程序的输出结果是main() { int x=l,a=2,b=3; switch(x) { case 0:b++; case 1:a++;break; case 2:a++;b++; } printf("a=%d,b=%d\n",a,b); }


    正确答案:

    a=3,b=3


    在本题中,程序首先定于了三个整型变量x、a和b,其初值分别为1、2、3,然后执行switch选择语句,由于变量x的值为1,因此,执行case 1结构,这个结构中首先执行a++,即将变量a的值加1,然后执行break语句,执行此语句结束switch。此时,变量b的值没有发生变化。然后程序执行输出语句,根据输出语句的输出格式,最后程序的输出结果是a=3,b=3。

  • 第19题:

    若有定义语句int a,b;double x;则下列选项中没有错误的是( )。

    A.switch(x%2) {case O:a++;break; case 1:b++;break; default:a++;b++; }

    B.switch((int)x/2.0) {case O:a++;break; case 1:b++;break; default:a++;b++; }

    C.switch((int)x%2) {case O:a++;break; case 1:b++;break; default:a++;b++; }

    D.switch((int)(x)%2) {case 0.O:a++;break; case 1.0:b++;break; default:a++;b++; }


    正确答案:C
    解析:C语言中switch语句中的表达式和case表达式都不能是浮点类型。所以选c。

  • 第20题:

    执行完下面程序片段后,( )的结论是正确的。

    inta,b,c;

    a=1;

    b=2;

    c=(a+b>3?a++:b++);

    A、a的值是2,b的值是3

    B、a的值是1,b的值是3

    C、a的值是1,b的值是2

    D、c的值是false


    正确答案:B

  • 第21题:

    执行完下面的程序片段后,下面哪些结论是正确的?() int a,b,c;    a=1;    b=2;   c=(a+b>3?a++:++b);

    • A、a的值是2,b的值是3
    • B、a的值是1,b的值是3
    • C、a的值是1,b的值是2
    • D、c的值是false

    正确答案:B

  • 第22题:

    下列程序的输出结果是(). main( ) { int x=1,y=0,a=0,b=0; switch(x) { case 1:switch(y) { case 0:a++;break; case 1:b++;break; } case 2:a++;b++;break; case 3:a++;b++;break; } printf("a=%d,b=%d/n",a,b); }

    • A、a=1,b=0
    • B、a=2,b=1
    • C、a=1,b=1
    • D、a=2,b=2

    正确答案:B

  • 第23题:

    单选题
    若有定义语句int a,b;double x;则下列选项中没有错误的是(  )。
    A



    switch(x%2)
    {
     case 0:a++;break;
     case 1:b++;break;
     default:a++;b++;
    }

    B



    switch((int)x/2.0)
    {
     case 0:a++;break;
     case 1:b++;break;
     default:a++;b++;
    }

    C



    switch((int)x%2)
    {
     case 0:a++;break;
     case 1:b++;break;
     default:a++;b++;
    }

    D



    switch((int)(x)%2)
    {
     case 0.0:a++;break;
     case 1.0:b++;break;
     default:a++;b++;
    }


    正确答案: D
    解析:
    switch语句中,表达式的类型应与case语句后的常量类型保持一致,并且switch的判断条件只能为整型或字符型,case后面为常量表达式。A项,x%2得到的是浮点型数据,而case语句后的常量是整型数据,类型不一致;B项,(int)x/2.0得到的也是浮点型数据,类型不一致;D项,(int)x%2.0得到的是整型数据,而case语句后的常量是浮点型数据,类型也不一致。答案选择C选项。