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

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

  • 第2题:

    下列选项,不正确的是

    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,循环结束。

  • 第3题:

    下列选项,不正确的是

    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) 后缺少结束符分号“;”。

  • 第4题:

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

  • 第5题:

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

  • 第6题:

    为了判断两个字符串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))条件为真。

  • 第7题:

    若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

  • 第8题:

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

  • 第9题:

    设i、j、k均为int型变量,则执行完for(i=0,j=10;i<=j;i++,j--) k=i+j;语句后,k的值为______。


    正确答案:10
    10 解析:该for语句以i为0、j为10初始化,循环条件是i=j,每次循环后i增1、j减1,循环体是将i与j的和赋给k。这样变量k将保存的是最后一次赋给它的值。一次循环后i为1、j为9,二次循环后i为2、j为 8,……,五次循环后i为5、j为5,继续第六次循环,将i与j的和10存于k后,i为6、j为4,结束循环。所以循环执行后k为10。

  • 第10题:

    int i=0;do i++;while(i<10);在这个的do-while循环语句中,其循环体语句被执行的次数为()。

    A8

    B9

    C10

    D11


    C

  • 第11题:

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

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

    正确答案:C

  • 第12题:

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

    3

    B

    2

    C

    1

    D

    0


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

  • 第13题:

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

  • 第14题:

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

  • 第15题:

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


    正确答案:5
    5

  • 第16题:

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

    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)后缺少结束符分号“;”。

  • 第17题:

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


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

  • 第18题:

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

    A.9

    B.-2

    C.-1

    D.8


    正确答案:D

  • 第19题:

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

    A.3

    B.2

    C.1

    D.0


    答案:B

  • 第20题:

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

  • 第21题:

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

  • 第22题:

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

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

    正确答案:B

  • 第23题:

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

    3

    B

    2

    C

    1

    D

    0


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

  • 第24题:

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