参考答案和解析
B
更多“设j为int型变量,则下面for循环语句的执行结果是 for(j=9;j>3;j--) { if(j%3)break; --j; --j; } printf("%d",j);”相关问题
  • 第1题:

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


    正确答案:
    10

  • 第2题:

    以下程序的输出结果是【19】。

    #define PR(ar)printf("%d,",ar)

    main()

    { int j, a[]={1, 3, 5, 7, 9, 11, 15}, *p=a+5;

    for(j=3; j; j--)

    switch(j)

    { case 1:

    case 2: PR(*p++); break;

    case 3:PR(*(--p));

    }

    printf("\n");

    }


    正确答案:
    9,9,11

  • 第3题:

    下列循环体的执行次数是()。include main(){int i,j;for(i=0,j=1;i

    下列循环体的执行次数是( )。

    #include<stdio.h>

    main()

    {int i,j;

    for(i=0,j=1;i<j+1;i+=1,j--)

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

    }

    A.3

    B.2

    C.1

    D.0


    正确答案:C
    解析: 本题考查for循环。第一次循环前先判断循环条件,此时i=0,j=1,ij+1成立,循环第一次;第二次循环前先判断循环条件,此时i=1,j=0,(j--是先使用j的值再减1),ij+1不成立,结束循环。

  • 第4题:

    设j为Int型变量,则下面for循环语句的执行结果是( )。

    for(j=10;j>3;j--)

    { if(j%3)j--;

    --j;--j;

    printf("%d",j);

    }

    A.6 3

    B.7 4

    C.6 2

    D.7 3


    正确答案:B
    当j=10时,for循环成立,j%3为1,if条件也为真,当执行完j--后,j为9,再执行“--j;--J;”后,j的值为7,因此输出7,继续循环执行j--后j为6,当j=6时for循环成立,j%3为0,if条件为假,此时执行“--j;--j;”后,j为4,输出4,再继续循环执行j--后j为3,当j=3时,for循环不成立,退出循环,故选择8选项。

  • 第5题:

    以下程序的输出结果是#include <stdio.h>main(){ int j, a[]={1,3,5,7,9,11,13,15},*p=a+5; for(j=3; j; j--) { switch(j) { case 1: case 2: printf("%d",*p++); break; case 3: printf("%d",*(--p)); } }}


    正确答案:9911
    本题考查运算符及其结合性。题目中给出的程序的主体主要由for循环和switch语句构成,初始时定义数组a[],包括8个数据。定义指针指向a[5],for循环的循环变量初始值为3,循环条件为j!=0,增值为-1,即循环变量的取值为3,2,1。switch语句的表达式为for循环中的循环变量j。当j=3时,switch语句执行case 3后面的语句,即输出*(--p)的值,初始时,指针p指向的值为a[5]=11,*(--p)的值为a[4],即9。第2次for循环j=2,switch语句执行case 2后面的语句,即输出*p++的值,注意,运算符*和++的级别是相同的,但是结合方式为从右往左,即*p++=*(p++)。当前指针p指向a[4],输出数据为9,输出数据后令指针p执行++操作指向a[5]。第3次for循环时,j=1,switch语句执行case 1后面的语句,由于case 1后面语句为空,并且没有break语句,故继续执行case 2后面的语句,输出数据为11。执行完3次for循环后,程序结束,输出的结果为9911。

  • 第6题:

    若有下列定义(设int类型变量占2个字节): int i=8,j=9; 则下列语句: printf("i=%%d,j=%%d\n",i,j); 输出的结果是( )。

    A.i=8,j=9

    B.i=%d,j=%d

    C.i=%8,j=%9

    D.8,9


    正确答案:B
    解析: 本题考查printf函数的格式。在printf函数中,如果格式说明符中有两个%说明,则将第1个%后面的字符原样输出,并不输出其对应的变量值。

  • 第7题:

    在执行完下面的程序后,变量k的值为【 】。

    int i, j, k;

    for(i=0, j=10; i<:j; i++,j--) k=i+j;


    正确答案:10
    10

  • 第8题:

    下面程序的输出结果是includemain(){int i=010,j=10;Printf(“%d,%d”,++i,j--);}A.11,1

    下面程序的输出结果是 #include<stdio.h> main() {int i=010,j=10; Printf(“%d,%d”,++i,j--); }

    A.11,10

    B.9,10

    C.010,9

    D.10,9


    正确答案:B
    解析:程序中i的值用八进制表示(十进制为8),++i是在变量使用前自身先加1,而j--是在变量使用后自身减1。

  • 第9题:

    有以下程序: #include<stdio.h> main( ) {int i,j,m=1; for(i=1;i<3;i++) {for(j=3;j>0;j--) {if(i*j>3)break; m*=i+j; } } printf("m=%d\n",m); } 程序运行后的输出结果是( )。

    A.m=6

    B.m=2

    C.m=4

    D.m=3


    正确答案:A
    本题考查了多重for循环。当(i*j)>3时,跳出循环,本题中i=1,j=3,i*J后值为3,所以执行下边语句:m*=i+j,也可写成m=m*i+j,这时要注意优先级,所以m的值为6。

  • 第10题:

    下面for循环语句的执行结果是( )。 for(int j=10;j>3;j--) if(j%3 1=O) j--; --j; --j; System.OUt.println(j); }

    A.63

    B.74

    C.62

    D.73


    正确答案:B
    B。【解析】该题考查对for循环的理解。①当j=10时,满足条件j>3,由于for循环中j--执行了1次,j的值为9,执行if语句,j%3=0不满足条件,继续向下执行2次--j,j的值为7:②当j=7时,满足条件j>3,由于for循环中J一一执行了1次,j的值为6,执行if语句,i%3=0不满足条件,继续向下执行2次--j,j的值为4。

  • 第11题:

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

  • 第12题:

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


    正确答案:10

  • 第13题:

    下面for循环语句的执行结果是( )。 for(intj=10;j>3;j--) { if(j%3!=0) j--; --j; --j; System.out.println(j); }

    A.63

    B.74

    C.62

    D.73


    正确答案:B
    解析: 该题考查对for循环的理解。①当j=10时,满足条件j>3,由于for循环中j--执行了1次,j的值为9,执行 if浯句,j%3=0不满足条件,继续向下执行2次--j,j的值为7:②当j=7时,满足条件j>3,由于for循环中j--执行了1次,的佰为6,执行if[语句,i%3=0不满足条件,继续向下执行2次--jj的值为4。

  • 第14题:

    若有下列定义(设int类型变量占2个字节):

    int i=8,j=9;

    则下列语句:

    printf("i=%u,j=%x\n".i,j);

    输出的结果是( )。

    A.i=8,j=9

    B.8.9

    C.89

    D.i=8,i=8


    正确答案:A
    解析: 本题考查函数printf()的格式。“%x”表示以十六进制输出整型数据;“%u”表示以十进制无符号型输出整型数据。printf函数中格式说明符之前插入的任何字符都原样输出。

  • 第15题:

    ( 9 )阅读下列程序段

    int i=3 , j ;

    outer:while ( i>0 ){

    J=3;

    inner:while ( j>0 ){

    if ( j<2 ) break outer;

    System.out.println ( j+"and"+i ) ;

    j-- ;

    i--;

    }

    被输出到屏幕的第一行结果是 【 9 】


    正确答案:

  • 第16题:

    阅读下面程序

    int i=3.j;

    outer:while(i>0) {

    j=3;

    inner:while(j>0) {

    if(j<2)break outer;

    System.out.println(j+"and"+i);

    j--;

    }

    i--;

    }

    被输出到屏幕的第一行结果是______。


    正确答案:3 and 3
    3 and 3 解析:第一次执行外层循环时,为j赋初值3,然后开始执行内层循环。j=3显然满足j>0的条件,进入内层循环体执行if语句。由于不满足j2的条件,因此执行System.out.println(j+"and"+i);语句,输出屏幕的第一行结果即3 and 3。

  • 第17题:

    下面程序的运行结果是( )。 define P(A)printf("%d",A)main() {int j,a[]={1,2,3,4,5,6,7},i=5; for(j=3;j>1;j--) {switch(j) {case 1: case 2:P(a[i++]);break; case 3:P(a[--i]); } } }


    正确答案:5 5
    5 5 解析:分析程序执行过程,第一次循环时,j=3,i=5,因为switch(3),所以执行case 3,调用P(a[--i])=P(a[4])=P(5),输出5;第二次循环时,j=2,i=4,因为switch(2),所以执行case 2,调用P(a[i++])=P(a[4])=P(5),输出5,之后i自加等于5。

  • 第18题:

    下面for循环语句的执行结果是( )。 for(int j=10;j>3;j--) { if(j%3!=0) j--; --j; --j; System.out.println(j); }

    A.63

    B.74

    C.62

    D.73


    正确答案:B
    解析:该题考查对for循环的理解。①当j=10时,满足条件j>3,由于for循环中j--执行了 1次,j的值为9,执行if语句,j%3=0不满足条件,继续向下执行2次--j,j的值为7;②当j=7时,满足条件j>3,由于for循环中j--执行了1次,j的值为6,执行if语句,j%3=0不满足条件,继续向下执行2次--j,j的值为 4。

  • 第19题:

    若有下列定义(设int类型变量占2个字节):i=8,j=9;则下列语句:printf(”i=%%d,j=%%d\n”,i,j);输出的结果是( )。

    A.i=8,j=9

    B.i=%d,j=%d

    C.i=%8,j=%9

    D.8,9


    正确答案:B
    本题考查函数的输出格式。在printf函数中,格式说明符中有两个“%”,表示将第1个%后面的字符原样输出,并不输出其对应的变量值。

  • 第20题:

    有以下程序

    #include <stdio.h>

    Main()

    { int i,j,m=1;

    For{i=i;i<3;1++}

    ( For(j=3;j>0;j--)

    {iF(i+j>3)Break;

    m*=i*j;

    }

    }

    PrintF(“m=%d\n”,m)

    }

    程序运行后的输出结果是

    A.m=6

    B.m=2

    C.m=4

    D.m=5


    正确答案:A
    解析:第一次循环i=1,j=3和j=2时都能执行m*=i*j,此时得到m的值为6;然后进行第二次循环i=2,j=3时会执行break语句,内部循环直接结束,此时i再加1,也会导致退出外部循环,所以最终结果m的值为6。

  • 第21题:

    若有下列定义(设int类型变量占2个字节):int i=8,j=9;则下列语句:printf("i=%%d,j=%%d\n&quo

    若有下列定义(设int类型变量占2个字节):

    int i=8,j=9;

    则下列语句:

    printf("i=%%d,j=%%d\n",i,j);

    输出的结果是( )。

    A.i=8,j=9

    B.i=%d,j=%d

    C.i=%8,j=%9

    D.8,9


    正确答案:B
    本题考查函数的输出格式。在printf函数,格式说明符中有两个“%”说明;将第1个%后面的字符原样输出,并不输出其对应r的变量值。

  • 第22题:

    下面for循环语句的执行结果是( )。

    for(int j=10;j>3;j--)

    if(j%3 !=O)

    j--;

    --j;

    --j;

    System.out.println(j);

    }

    A.63

    B.74

    C.62

    D.73


    正确答案:B
    B。【解析】该题考查对for循环的理解。①当j=10时,满足条件j>3,由于for循环中j--执行了1次,j的值为9,执行if语句,j%3=0不满足条件,继续向下执行2次--j,j的值为7:②当j=7时,满足条件j>3,由于for循环中J一一执行了1次,j的值为6,执行if语句,i%3=0不满足条件,继续向下执行2次--j,j的值为4。

  • 第23题:

    i,j,k均为int型变量,则执行完for循环 for(i=0,j=10;i<=j;i++,j--) k=i+j; 后,k的值为()


    正确答案:10

  • 第24题:

    填空题
    i,j,k均为int型变量,则执行完for循环 for(i=0,j=10;i<=j;i++,j--) k=i+j; 后,k的值为()

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