niusouti.com
更多“执行完下面程序片段后,( )的结论是正确的。inta,b,c;a=1;b=2;c=(a+b>3?a++:b++);A、a的值是2,b ”相关问题
  • 第1题:

    有以下程序includemain(){intx=1,y=0,a=0,b=0; switch(x) {case1:switch(y){case0:a++

    有以下程序 #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题:

    在执行下面的程序段后,a的值是为 ______。inta,, b;for(b=1,a=1; b<=50:b++){ if(a>=10)break; if

    在执行下面的程序段后,a的值是为 ______。 int a,, b; for(b=1,a=1; b<=50:b++) { if(a>=10)break; if(a%2= =1) {a+=5; continue;} a-=3; )

    A.2

    B.6

    C.10

    D.8


    正确答案:C

  • 第3题:

    执行完下面程序片段后,结论正确的是_________。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

  • 第4题:

    有下列程序:

    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。

  • 第5题:

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


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

  • 第6题:

    以下程序的输出结果是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。

  • 第7题:

    执行下面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的语句。

  • 第8题:

    执行完下面程序片段后,()的结论是正确的。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

  • 第9题:

    下列程序的输出结果是(). 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

  • 第10题:

    设inta=11,b=2;执行下述程序段后,变量a和b的值分别是()。do{a/=b++;}while(a>b);

    • A、1,3
    • B、1,4
    • C、2,3
    • D、2,4

    正确答案: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


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

  • 第12题:

    单选题
    有以下程序#include 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,a,b);}程序的运行结果是(  )。
    A

    a=2,b=1

    B

    a=2,b=2

    C

    a=1,b=1

    D

    a=1,b=0


    正确答案: C
    解析:
    当执行swicth语句时,首先计算紧跟其后一对括号中的表达式的值,然后在switch语句体内寻找与该值吻合的case标号。如果有与该值相等的标号,则执行该标号后开始的各语句,包括在其后的所有case和default中的语句,直到switch语句体结束;每当执行到break语句时,立即跳出 switch语句体。switch语句通常总是和break语句联合使用,使得switch语句真正起到分支的作用。本题中,x=1,首先进入外层分支1,接下来y=0,再进入内层分支0,执行a++,此时a=1,接下来遇到break,跳出内层switch;由于外层分支中没有break语句,会继续执行外层分支2,执行a++,b++,此时a=2,b=1;然后遇到break语句,跳出外层switch。答案选择A选项。

  • 第13题:

    设a、b、c都是整型变量,如果a的值为1,b的值为2,则执行c=a++||b++;语句后,变量b的值是().


    正确答案:2
    a||b若a,b都为假,则a||b为假,其他都为真.如果a为真时,则对b不进行真假,所以对于c=a++||b++,因为a++时为真,所以b++不进行判断,b的值保持不变,故b=2。

  • 第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题:

    有下列程序: 、 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题:

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


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

  • 第17题:

    有以下程序: 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。

  • 第18题:

    有如下程序 main() { int x=1,a=0,b=0; switch(x){ case 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

  • 第19题:

    执行完下面的程序片段后,下面哪些结论是正确的?() 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

  • 第20题:

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


    正确答案:10

  • 第21题:

    假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是()


    正确答案:8

  • 第22题:

    单选题
    执行完下面的程序片段后,下面哪些结论是正确的?() 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
    解析: 暂无解析

  • 第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选项。