参考答案和解析
正确答案:C
更多“for(k=0;k=5;k++){;}循环体空语句,执行了()次。A、5B、1C、6D、4”相关问题
  • 第1题:

    下列程序的输出结果是______。 main() { char *s="12134211"; int v[4]={0,0,0,0},k,i; for(k=0;s[k];k++) { switch(s[k]) { case '1':i=0; case '2':i=1; case '3':i=2; case '4':i=3; } vii]++; } for(k=O;k<4;k++) printf("%d ",v[k]); }

    A.4211

    B.0008

    C.4678

    D.8888


    正确答案:B

  • 第2题:

    若k是int类型变量,且有以下for语句: for(k=-1;k<O;k++)printf("****\n"); 下面关于语句执行情况的叙述中正确的是( )。、

    A.循环体执行一次

    B.循环体执行两次

    C.循环体一次也不执行

    D.构成无限循环 ‘


    正确答案:A
    本题考查简单的for语句,程序中当k<0时循环才执行,所以答案选择A。

  • 第3题:

    以下程序的输出结果是( )。 main { char*s="12134211"; int v[4]=(0,0,0,0),k,i; for(k=0;s[k];k++) { switch(s[k]) { case1:i=0; case2:i=1; case3:i=2; case4:i=3;} } v[i]++: } for(k=0;k<4;k++)printf("%d",v[k]);

    A.4 2 1 1

    B.0 0 0 8

    C.4 6 7 8

    D.8 8 8 8


    正确答案:B
    本题考查switch,case语句,当k=0时,循环体成立,执行switch后表达式的值为1,执行case1,i的值为0,因为没有break语句,继续执行其后的语句,到最后一个语句时i的值为3,此时v[i]++,v[3]=1,接着执行k++后,k的值为1,当k=1时,循环成立。执行switch后的表达式的值为2,执行case2,i的值为1,因为没有break语句,继续执行其后的语句,到最后一小语句时,i的值为3,此时v[i]++,v[3]=2,接着执行k++后,k的值为2,依次下去,case4也会执行,最后i的值一定为3,到v[3]=8时循环结束,而v[0]~v[2]的值一直没有变化,故选择B选项。

  • 第4题:

    若i和k都是int类型变量,有以下for语句

    for(i=0,k=一1;k=l;k++)printf(“*****-\n”);

    下面关于语句执行情况的叙述中正确的是

    A.循环体执行两次

    B.循环体执行一次

    C.循环体一次也不执行

    D.构成无限循环


    正确答案:D
    解析:for循环的执行过程为:(1)计算表达式i=O,k=l。(2)计算表达式k=1,若其值为非0.执行循环体:若其值为0,结束循环。(3)执行一次for循环体。(4)计算表达式k++,转向步骤(2)。本题中表达式k=l的值为0,故构成无限循环。

  • 第5题:

    设i和k都是int类型,则for循环语句( )。

    for(i=0,k=-1;k=1;i++,k++) printf("****\n");

    A 循环结束的条件不合法

    B 循环体一次也不执行

    C 循环体只执行一次

    D 是无限循环


    正确答案:D

  • 第6题:

    对于以下程序,   main( )  { int a[5],*p;    int k;    for(k=0,p=a;k<5;k++,p++)     scanf(“%d”,p);    for(;k>0;k--)     printf(“%d”,*(--p));  }  若输入为:1 2 3 4 5(注:表示回车),则输出结果是多少?


    正确答案:输出结果是54321

  • 第7题:

    下面哪一个循环会导致死循环()

    • A、for (int k = 0; k < 0; k++)
    • B、for (int k = 10; k > 0; k--)
    • C、for (int k = 0; k < 10; k--)
    • D、for (int k = 0; k > 0; k++)

    正确答案:D

  • 第8题:

    循环语句:for(k=1;k<=5;k++){;}循环结束后,k的值为()。

    • A、5
    • B、1
    • C、6
    • D、4

    正确答案:C

  • 第9题:

    若变量已正确定义且k的值是4,计算表达式(j=k++)后,()正确的。

    • A、j=4,k=5
    • B、j=4,k=4
    • C、j=5,k=4
    • D、j=5,k=5

    正确答案:A

  • 第10题:

    语句“for($k=0;$k=1;$k++){}”和语句“for($k=0;$k==1;$k++){}”的执行次数分别为()。

    • A、无限次和0
    • B、0和无限次
    • C、都是无限次
    • D、都是0

    正确答案:A

  • 第11题:

    单选题
    有以下程序: #include  main() {  int i=1,k=0;  for(;i<6;)  {   switch(i%3)   {    case 0:k++;    case 1:k++;break;    case 2:k++;continue;   }   i+=1;  }  printf(%d,k); } 程序的运行情况是(  )。
    A

    形成无限循环

    B

    输出6

    C

    输出5

    D

    输出4


    正确答案: A
    解析:
    本题执行过程为:i=1,k=0,i<6成立,执行for循环:i%3=1,匹配case1,k=1,退出switch,i=2;i<6成立,执行for循环:i%3=2,匹配case2,k=2,执行continue,退出switch,且不执行i+=1,i=2不变,i<6成立,执行下一次for循环,以后的循环情况完全一致,i=2不会改变,形成无限循环。答案选择A选项。

  • 第12题:

    单选题
    以下能够实现计算5!的程序段是(  )。
    A

    int fac=1,k=0;do{k++;fac*=k;}while(k<5);

    B

    int fac=0,k=1;do{fac*=k;k++;}while(k<5);

    C

    int fac=1,k=1;do{k++;fac*=k;}while(k<=5);

    D

    int fac=1,k=0;do{fac*=k;k++;}while(k<5);


    正确答案: A
    解析:
    do…while循环语句一般形式为:do{循环体}while(表达式),执行过程为:首先执行循环体,之后判断表达式,表达式为真,则再一次执行循环体,否则退出循环。A项:k=1,fac=1*1,判断k<5,条件成立进行下一次循环,直到k=5,fac=1*2*3*4*5,k<5时退出循环,实现计算5!。B项:fac从0开始,做乘法一直都是0,无法实现5!。C项:k=2,fac=1*2,循环条件成立,直到k=6,fac=1*2*3*4*5*6才因循环条件不成立退出循环,实现6!。D项:k=0,fac=1*0=0,之后做乘法一直为0,无法实现5!。答案选择A选项。

  • 第13题:

    有以下程序#include <stdio.h>void fun(int s[]){ static int j=0; do s[j]+=s[j+1]; while(++j<2);}main(){ int k,a[10]={1,2,3,4,5}; for(k=1;k<3;k++) fun(a); for(k=0;k<5;k++) printf("%d",a[k]);}程序的运行结果是A.34756 B.23445C.35745 D.12345


    正确答案:C
    在本题中,首先定义了一个fun函数,函数中的形参是一个数组,该函数中首先定义了一个静态整型变量j并赋了初值,注意,静态变量的作用域是整个程序,而非该函数。从该函数的程序段不难看出该函数的作用是通过一个循环求形参数组中相邻两个元素(具体根据j确定)的和,并保存。
    在主函数中,定义了一个数组并赋初值,然后用循环调用fun函数。
    当k=1时,调用fun函数,此时刚开始j的值为0,那么fun函数分别计算数组a中的第一个元素与第二个元素的和与第二个元素与第三个元素的和,并分别保存为数组的第一个元素和第二个元素,结果分别为3和5。
    当k=2时,调用fun函数,此时j的值为2,那么fun函数只计算数组a中的第三个元素与第四个元素的和,并保存为数组的第三个元素,结果为7。
    循环结束,经过该层循环后,数组a中各元素的值分别为3、5、7、4、5,最后用循环输出结果为35745。因此,答案选C。

  • 第14题:

    若k是int类型变量,且有以下for语句

    for(k=-1;k<0;k++) printf(”****\n”);

    下面关于语句执行情况的叙述中正确的是

    A)循环体执行一次

    B)循环体执行两次

    C)循环体一次也不执行

    D)构成无限循环


    正确答案:A
    【答案】A
    【知识点】for语句
    【解析】开始进入循环时,k的值是-1, 小于0所以条件满足,执行一次循环体。k++后值为0,所以条件不满足,结束循环。

  • 第15题:

    下面程序输出的是( )。 main { int t=l;fun(fun(t));} fun(int h) { static int a[3]={1.2.3}; int k; for(k=0;k<3;k++)a[k]+=a[k]-h; for(k=0;k<3;k++)printf("%d",a[k]); printf("\n"); return(a[h]);}

    A.1,2,3, 1,5,9,

    B.1,3,5, 1,3,j,

    C.1,3,5, 0,4,8,

    D.1,3。5, -1,3,7,


    正确答案:D
    本题考查双重函数调用及for循环使用,fun函数中第一个for循环语句的作用是给数组a赋值。当第一次调用fun函数时,把实参1传给形参,输出a数组的元素为1,3,5;第二次调用fun函数时,由于数组a为静态局部变量,故输出a数组的元素为一1,3,7。

  • 第16题:

    以下程序的输出结果是 void fun(int*s) { static int j=0; do s[j]+=s[j+1]; while(++j<2);} main() { int k,a[10]={1,2,3,4,5}; for(k=1;k<3;k++)fun(a); for(k=0;k<5;k++)printf("%d",a[k]);}

    A.34756

    B.23345

    C.35745

    D.12345


    正确答案:C
    解析:本题考查了通过数组首地址引用数组元素的方法。第一次执行fun(a)后,a[0]=3,a[1]=5。第二次执行fun(a)时,因为static变量j保存着上次执行时的值为2,所以a[2]=7,最后数组a={3,5,7,4,5}。故正确答案为选项C)。

  • 第17题:

    (22)若i和k都是int类型变量,有以下for语句

    for(i=0,k=-1;k=1;k++) printf("*****\n");

    下面关于语句执行情况的叙述中正确的是

    A)循环体执行两次

    B)循环体执行一次

    C)循环体一次也不执行

    D)构成无限循环


    正确答案:D

  • 第18题:

    语句“for($k=0;$k==1;$k++);”的执行次数是()。

    • A、0
    • B、1
    • C、无限次
    • D、以上答案都不对

    正确答案:A

  • 第19题:

    下面哪一个循环会导致死循环?()

    • A、for(intk=0;k<0;k++)
    • B、for(intk=10;k>0;k--)
    • C、for(intk=0;k<10;k--)
    • D、for(intk=0;k>0;k++)

    正确答案:C

  • 第20题:

    程序段int k=10; while(k=0) k=k-1循环体语句执行()次.


    正确答案:0

  • 第21题:

    语句for($k=0;$k=1;$k++);和语句for($k=0;$k==1;$k++);执行的次数分别是:()

    • A、无限和0
    • B、0和无限
    • C、都是无限
    • D、都是0

    正确答案:A

  • 第22题:

    单选题
    下面哪一个循环会导致死循环()
    A

    for (int k = 0; k < 0; k++)

    B

    for (int k = 10; k > 0; k--)

    C

    for (int k = 0; k < 10; k--)

    D

    for (int k = 0; k > 0; k++)


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

  • 第23题:

    单选题
    语句for($k=0;$k=1;$k++);和语句for($k=0;$k==1;$k++);执行的次数分别是:()
    A

    无限和0

    B

    0和无限

    C

    都是无限

    D

    都是0


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