更多“假定a和b为int型变量,则执行以下语句后b的值为:  a=1; b=10; do { b-=a; a++;} while(b--<0);”相关问题
  • 第1题:

    假设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。

  • 第2题:

    执行下列程序段后,a值为(27)a=1 ;b=0;if((a++>++b)? a++: b--)a+=b

    A.2

    B.3

    C.4

    D.5


    正确答案:A
    解析:先计算(a++>++b)?a++:b-→(1>1)?a++:b--→a=2,b=0

  • 第3题:

    下面程序的运行结果是()。includemain(){ int a=1,b=10;do{b-=a;a++;}while(b--<0);pri

    下面程序的运行结果是( )。 #include <stdio.h> main() { int a=1,b=10; do {b-=a;a++;}while(b--<0); printf("a=%d,b=%d\n",a,b); }

    A.a=3,b=11

    B.a=2,b=8

    C.a=1,b=-1

    D.a=4,b=9


    正确答案:B
    解析:本题考查两个知识点:自加自减运算符和do-while循环语句。do-while循环条件是b--0,所以循环体语句只执行一次。

  • 第4题:

    假设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选项。

  • 第5题:

    下列选项,不正确的是

    A.for(inta=1;a<=10;a++) ;

    B.int a=1; do { a++; }while(a<=10) ;

    C.int a=1; while(a<=10) { a++; }

    D.for(int a=1;a<=10;a++) a++;


    正确答案:B
    解析:本题考查的是基本循环语句的使用,选项A) ,选项C) 和选项D) 都为正确的形式,在选项B) 中的while(a=10) 后缺少结束符分号“;”。

  • 第6题:

    设X为int型变量,则执行以下语句后,x的值为( )。 x=10:x=x-=x——x:

    A.10

    B.20

    C.40

    D.30


    正确答案:A
    执行x=x-=x-x语句可写成x=x-(x-x),可看出结果为10,故A选项正确。

  • 第7题:

    假设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选项。

  • 第8题:

    为了判断两个字符串s1和s2是(31)假定a和b为int型变量,则执行以下语句后b的值为

    ( )


    正确答案:D
    判断两个字符串s1和s2是否相等,不能使用关系运算符来判定,因此选项A是错误的。选项B是将s2赋值给s1,没有判断两个字符串是否相等,对于用静态数组名存放的数组,这种赋值是不允许的,因此选项B也是错误的。选项c的if(strcpy(s1,s2))是把字符串s2复制到s1上,也没有判断两个字符串是否相等,因此选项c也是错误的。只有选项D的if(!strcmp(sl,s2))是判断两个字符串sl和s2是否相等,当相等时,函数sfrcmp返回值是0,if(!strcmp(s1,s2))条件为真。

  • 第9题:

    若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

  • 第10题:

    设X、y、Z、t均为int型变量,则执行以下语句后,t的值为( ) x=y=z=1;t=++x||++y&&++z;

    A.不定值

    B.2

    C.l

    D.0


    正确答案:C
    语句序列“x=y=z=l;t=++x||++y&&++z;”使变量x的值为1,变量t是赋一个逻辑表达式的值。在C语言中,由逻辑与和逻辑或构成的逻辑表达式有特别的计算规则,顺序计算各逻辑子表达式,并当一旦能得到逻辑表达式的结果时,就立即结束逻辑表达式的计算,不再计算后继逻辑子表达式。本题的逻辑表达式是两个运算分量的逻辑或,而且左运算分量++X的值为非0,立即得到逻辑或运算的结果为1,并将1赋给变量t,所以变量t的值为1。正确解答为C。

  • 第11题:

    假定x=5,则执行“int a=(! X? 10:20);”语句后a的值为()。
    20

  • 第12题:

    设x,y,z,t均为int型变量,则执行以下语句后,t的值为()。x=y=z=1;t=++x||++y&&++z;

    • A、不定值
    • B、2
    • C、1
    • D、0

    正确答案:C

  • 第13题:

    设x为int型变量,则执行以下语句后,x的值为______。 x=10;x+x-=x-x;

    A.10

    B.20

    C.40

    D.30


    正确答案:B
    解析:赋值运算符按照“从右往左”的结合顺序。因此,先执行x-=x-x,即x=x-(x-x)=10;再执行x+=x,即x=x+x=20,故正确选项为B。

  • 第14题:

    设有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由行指针变为列指针。

  • 第15题:

    下列选项,不正确的是

    A.for(int a=1;a< =10;a++);

    B.int a=1; do { a++; }while(a<=10)

    C.int a=l; while(a<=10) { a++; }

    D.for(int a=1;a<=10;a++) a++;


    正确答案:C
    解析:在进入最后一次循环时a=10,在循环体内执行“a++;”后a=11,执行完该次循环体计算for循环的增量部分后a=12小于10,循环结束。

  • 第16题:

    执行下面的程序后,a的值为( )。 main { int a,b; for(a=1,b=1;a<=10;a++) { if(b%3==l) { b+=3; continue;} b-=5;}}

    A.7

    B.8

    C.9

    D.10


    正确答案:D
    本题考查continue的用法,continue语句的作用是结束本次循环,直接进行下次循环。所以在程序中,只有当a=10时,才退出循环,故选择D选项。

  • 第17题:

    执行语句序列“int k=0; do k++; while(k*k<20);”后,k的值为______。


    正确答案:5
    5

  • 第18题:

    下列选项,不正确的是( )。

    A.for(int a=1;a<=10;a++);

    B.int a=1; do { a++: }while(a<=10);

    C.int a=1; while(a<=10) { a++: }

    D.for(int a=1;a<=10;a++)a++;


    正确答案:B
    本题考查的是基本循环语句的使用,选项A,选项C和选项D都为正确的形式,在选项B中的while(a<=10)后缺少结束符分号“;”。

  • 第19题:

    现有定义int k=1;则执行语句while(++k<4);后,k的值为( )


    正确答案:A
    while循环是先判断循环条件之后再进入循环体。这个题目的循环体是空语句,每次做的仅仅是判断循环的条件,由于++运算优先于,所以每次都先++,后比较。

  • 第20题:

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

    A.9

    B.-2

    C.-1

    D.8


    正确答案:D

  • 第21题:

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

    A.3

    B.2

    C.1

    D.0


    答案:B

  • 第22题:

    假定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。

  • 第23题:

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

    • A、3
    • B、2
    • C、1
    • D、0

    正确答案:B

  • 第24题:

    单选题
    若a的值为1,则执行语句if((a++0))?a++;后,a的值是()
    A

    3

    B

    2

    C

    1

    D

    0


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