(33)有以下程序段int i,n;for(i=0;i<8;i++){ n=rand()%5;switch (n){ case 1:case 3:printf("%d\n",n); break;case 2:case 4:printf("%d\n",n); continue;case 0:exit(0);}printf("%d\n",n);}以下关于程序段执行情况的叙述,正确的是A)for循环语句固定执行8次B)当产生的随机数n为4时结束循环操作C)当产生的随机数n为1和2时不做任何操作D)当产生的随机数

题目

(33)有以下程序段

int i,n;

for(i=0;i<8;i++)

{ n=rand()%5;

switch (n)

{ case 1:

case 3:printf("%d\n",n); break;

case 2:

case 4:printf("%d\n",n); continue;

case 0:exit(0);

}

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

}

以下关于程序段执行情况的叙述,正确的是

A)for循环语句固定执行8次

B)当产生的随机数n为4时结束循环操作

C)当产生的随机数n为1和2时不做任何操作

D)当产生的随机数n为0时结束程序运行


相似考题
参考答案和解析
正确答案:D
更多“(33)有以下程序段int i,n;for(i=0;i&lt;8;i++){ n=rand()%5;switch (n){ case 1:case 3:printf(" ”相关问题
  • 第1题:

    有以下程序段

    int i,n;

    for(i=0;i<8;i++)

    {n=rand()%5;

    switch(n)

    {case 1:

    case 3:printf(“%d\n”,n);break;

    case 2.

    case 4:printf(“%d\n”,n);continue;

    case 0:exit(0);

    }

    printf(“%d\n”,n);

    }

    以下关于程序段执行情况的叙述,正确的是

    A.for循环语句固定执行8次

    B.当产生的随机数n为4时结束循环操作

    C.当产生的随机数n为1和2时不做任何操作

    D.当产生的随机数n为0时结束程序运行


    正确答案:D

  • 第2题:

    有以下程序段: int i,n; for(i=0;i<8;i++) {n=rand( )%5; switch(n) {case l: case 3:printf("%d\n",n);break; case 2: case 4:print?("%d\n",n);continue; case( ):exit(0); } printf("%d\n",n); } 以下关于程序段执行情况的叙述,正确的是( )。

    A.for循环语句固定执行8次

    B.当产生的随机数n为4时结束循环操作

    C.当产生的随机数n为1和2时不做任何操作

    D.当产生的随机数n为0时结束程序运行


    正确答案:A
    程序中的if循环是固定地执行8次,属于计数器,程序是从中随机抽取一个数,然后对5进行求余再输出,共抽取8个数。所以答案为A。

  • 第3题:

    (20)有以下程序段

    int i,n;

    for(i=0;i<8;i++)

    { n=rand()%5;

    switch (n)

    { case 1:

    case 3:printf("%d\n",n); break;

    case 2:

    case 4:printf("%d\n",n); continue;

    case 0:exit(0);

    }

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

    }

    以下关于程序段执行情况的叙述,正确的是

    A)for循环语句固定执行8次

    B)当产生的随机数n为4时结束循环操作

    C)当产生的随机数n为1和2时不做任何操作

    D)当产生的随机数n为0时结束程序运行


    正确答案:D

  • 第4题:

    有以下程序段

    int i,n;

    for(i=0;i<8;i++)

    { n=rand()%5;

    switch (n)

    { case 1:

    case 3:printf("%d\n",n); break;

    case 2:

    case 4:printf("%d\n",n); continue;

    case 0:exit(0);

    }

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

    }

    以下关于程序段执行情况的叙述,正确的是

    A.for循环语句固定执行8次

    B.当产生的随机数n为4时结束循环操作

    C.当产生的随机数n为1和2时不做任何操作

    D.当产生的随机数n为0时结束程序运行


    正确答案:B

  • 第5题:

    有以下程序 #include<stdi0.h> main( ) {int a[]={2,3,5,4),i; for(i=0;i<4;i++) switch(i%2) {case 0:switch(a[i]%2) {case 0:a[i]++;break; case l:a[i]--; }break; case1:a[i]=0; } for(i=0;i<4;i++)printf("%d",a[i]);printf("\n"); } 程序运行后的输出结果是( )。

    A.3344

    B.2050

    C.3040

    D.0304


    正确答案:C
    本题考查嵌套分支语句。共输出4个值:当i=0时,i%2取余后还是0,则执行ease0语句,继续switch语句,此时i为0,数据的下标是从0开始的,a[03的值为2,则a[0]%2=0,继续执行case0,数组a[0]++,值变为3,执行break跳出第二重开关语句。出来后继续执行break,跳出第一重开关语句,继续循环;输出第一个值为3。i++后值为1,i%2=1%2取余后值为1,执行casel,将0赋给a[l],退出开关语句,输出第二个值为0。i++后值为2,i%2=2%2取余后值为0’a[2]的值为5,则a[2]%2=1,继续执行casel,数组a[2]--,值变为4,执行break跳出第二重开关语句。出来后继续执行break,跳出第一重开关语句,继续循环;输出第三个值为4。i++后值为3,i%2=3%2取余后值为1,执行casel,将0赋给a[3],退出开关语句,输出第四个值为0。结果为3040。