itgle.com
更多“如有定义int a=2,b=3; 则执行语句 a++||b++后,变量b的值为()。”相关问题
  • 第1题:

    已知inti,a;执行语句i=(a=3,a++,--a,a+4,a+5,++a);后,变量i的值为()

    A、2

    B、3

    C、4

    D、5


    参考答案:C

  • 第2题:

    假设a和b为int型变量,则执行以下语句后,b的值为 ______。 a=1;b=10; do {b-=a;a++; }while(b--<0);

    A.9

    B.-2

    C.-1

    D.8


    正确答案:D
    解析:本题程序第一轮循环后b的值为9,在进行循环条件测试时,先取b的现值9与0比较,然后再将b减1。由于90不成立,因此循环结束,这时b的值已变成8,本题正确答案为D。

  • 第3题:

    设有C语言变量说明“static int a[][2]={{1,2),(3,4}};int *pa,(*pb)[2];”,则执行语句“pa=pb=&

    设有C语言变量说明“static int a[][2]={{1,2),(3,4}};int *pa,(*pb)[2];”,则执行语句“pa=pb=&a[0][0];”后,(*(pa+1))的值为(31)。

    A.2

    B.3

    C.&a[0][1]

    D.&a[1][0]


    正确答案:A
    解析:对于语句“pa=pb=&a[0][0];”赋值后pb已经变为列指针,则pa也是列指针。在进行TC编译时,会出现“Warning:Suspiciouspointerconversioninfunctionmain”的提示信息,表明pb由行指针变为列指针。

  • 第4题:

    设a、b、c都是整型变量,如果a的值为1,b的值为2,则执行c = a++‖b++;变量b的值是【 8 】。


    正确答案:
    【答案】2
    【知识点】||运算符的考察
    【解析】||运算符只要有一项为真结果就为真,且如果前面表达式已经为真后满表达式不再执行。所以b的值还是2。

  • 第5题:

    假设a、b均是整型变量,则表达式a=2,b=5,a++,b++,a+b值为______。


    正确答案:9
    9 解析:本题考核运算符的应用,题中的逗号运算符用于将多个表达式串在一起,逗号运算符的左边总是不返回的,这就是说,最右边表达式的值才是整个表达式的值。逗号运算符的结合性为从左到右。所以从左开始计算,a被赋值为2,b被赋值为5,然后a和b分别自增1,最后返回a+b,即9。

  • 第6题:

    假设变量intVar为一个整型变量,则执行赋值语句int Var="2"+3之后,变量intVar的值是【 】。


    正确答案:5
    5 解析:本题考查不同类型之间的运算。在不同类型常数进行运算时,系统常先进行强制类型转换。在本题中,进行“2”+3运算时,首先将字符串”2”转换为数值然后再和3进行加运算,结果为5;而 “2”+“3”则为字符串之间相加,结果为“23”,而在赋值给intVar时,系统又强制将字符串按CInt转换为23。因此正确答案是50

  • 第7题:

    若a的值为1,则执行语句if((a++<0)||(a>0))? a++;后,a的值是( )。

    A.3

    B.2

    C.1

    D.0


    答案:B

  • 第8题:

    若有定义语句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。

  • 第9题:

    假定a和b为int型变量,则执行以下语句后b的值为( )

    a=1; b=10;

    do b-=a; a++;

    }while<(b--<0);

    A. A.9

    B.-2

    C.-1

    D.8


    正确答案:D
    在这个程序段中,循环开始前变量a的值为1,b的值为10,每次循环从变量b减去a,并让a增1,并在循环条件判定时,又让b减去1。第一次循环后,变量b的值变成9,变量a的值变为2,循环判断时,因b的值大于0,循环条件不成立,结束循环。但在循环判断时,让b减去了1,所以循环结束时,变量b的值为8。正确的解答是D。

  • 第10题:

    执行下面的语句后,a、b、c的值分别是() int a=2; int b=(a++)*3; int c=(++a)*3;

    • A、2、6、6
    • B、4、9、9
    • C、4、6、12
    • D、3、9、9

    正确答案:C

  • 第11题:

    单选题
    若有定义语句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选项。

  • 第12题:

    单选题
    有如下函数定义:void func(int a,int&b)a++;b++;若执行代码段:int x=0;y=1;func(x,y);则变量x和y的值分别是(  )。
    A

    0和1

    B

    1和1

    C

    0和2

    D

    1和2


    正确答案: D
    解析:
    函数func中形参a采用传值调用,函数func对a加1不会影响实参x的值;形参b是传址调用,函数func对b加1的同时会改变实参y的值。因此,调用函数func后,x=0,y=2。

  • 第13题:

    若a为int类型变量,则执行以下程序段后a的值为()。 a=5;a*=a/=a++;

    A.2

    B.1

    C.40

    D.3


    参考答案A

  • 第14题:

    已知函数定义“voidfun(inta,intb){b++;a++;}”,则执行“intx=2,y=3;fun(x,y);”后,变量x、y的值分别为()。

    A.3,4

    B.3,3

    C.2,4

    D.2,3


    正确答案B

  • 第15题:

    有如下函数定义: void funC(int a,int&B. {a++;b++;} 若执行代码段: int x=0,Y = 1; funC(X,Y); 则变量x和y的值分别是( )。

    A.0和1

    B.1和1

    C.0和2

    D.1和2


    正确答案:C
    函数参数的3种传递方式:①将变量名作为形参和实参,即传值方式;②传递变量指针;③引用形参本题中实参x为传值方式,所以x的值不会改变;Y为引用形参,所以会改变。故本题答案为c。

  • 第16题:

    假设a和b为int型变量,则执行以下语句后b的值为( )。 a=1;b=10; do { b-=a;a++;} while(b--<0);

    A.9

    B.-2

    C.-l

    D.8


    正确答案:D
    当b为10时,执行b-=a,此时b为9,接着b--表达式值为9,b的值为8,大于0,while不成立,退出循环,故选择D选项。

  • 第17题:

    假设a和b为int型变量,则执行以下语句后b的值为( )。

    A.9

    B.-2

    C.-1

    D.8


    正确答案:D
    当b为10时,执行b-=a,此时b为9,接着b——表达式值为9,b的值为8,大于0,while不成立,退出循环,故选择D选项。

  • 第18题:

    若a的值为1,则执行语句if((a>0)||(a++<0))? a++;后,a的值是( )。A.3B.2C.1D.0

    若a的值为1,则执行语句if((a>0)||(a++<0))? a++;后,a的值是( )。

    A.3

    B.2

    C.1

    D.0


    答案:B

  • 第19题:

    下列说法中正确的是( )。

    A.运算符*的优先级要低于sizeof的优先级

    B.若a=5.4,b=4,则执行(int)(a/b,a++)后a的值为6

    C.已知a=4,b=5,max=(++a<b++)? a++:++b,则max的值为5

    D.a=1;b=5;--a&&b++;,执行后b的值为5


    正确答案:D
    解析:选项A运算符有不同的含义;选项B中表达式执行后a的值应为6.4;选项C中表达式执行后max的值为7。

  • 第20题:

    若有定义语句“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。

  • 第21题:

    设a为int变量,执行a=1/2+1/2;语句后,a的值为()


    正确答案:0

  • 第22题:

    假设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+B.的值为()。


    正确答案:9

  • 第23题:

    单选题
    若有定义: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选项。

  • 第24题:

    填空题
    假设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+B.的值为()。

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