单选题若k是int类型变量,且有以下for语句:for(k=-1;k<0;k++)printf(****);下面关于语句执行情况的叙述中正确的是(  )。A 循环体执行一次B 循环体执行两次C 循环体一次也不执行D 构成无限循环

题目
单选题
若k是int类型变量,且有以下for语句:for(k=-1;k<0;k++)printf(****);下面关于语句执行情况的叙述中正确的是(  )。
A

循环体执行一次

B

循环体执行两次

C

循环体一次也不执行

D

构成无限循环


相似考题
参考答案和解析
正确答案: B
解析:
for语句中,由变量k控制循环体的执行,用来输出星号。第一次循环,k=-1,满足条件k<0,执行循环体,进入下一次循环。此时k=0,不满足循环条件k<0,退出循环。因此,循环体仅执行了一次。答案选择A选项。
更多“若k是int类型变量,且有以下for语句:for(k=-1;k<0;k++)printf(****);下面关于语句执行情”相关问题
  • 第1题:

    定义如下变量和数组:

    int k;

    int a[3][3]={9,8,7,6,5,4,3,2,1};

    则下面语句的输出结果是

    for(k=0;k<3;k++)printf("%d",a[k][k]);

    A.7 5 3

    B.9 5 1

    C.9 6 3

    D.7 4 1


    正确答案:B

  • 第2题:

    将下面的语句段(A) 补充完整,使其和语句段(B) 在功能上完全等价。

    (a) double s=0.0;

    【 】;

    int k=0;

    do{

    s+=d;

    k++;

    d=1.0/(k*k+1);

    }while(【 】);

    (b) double s=1.0;

    for(int k=1;k<=10;k++) s+=1.0/(k*(k+1));


    正确答案:d=1.0 k=10
    d=1.0 k=10 解析:本题考核while循环与for循环之间的转换。只要把握住循环的起始条件、结束条件和变量控制,就易解这种类型的题目。

  • 第3题:

    若有定义:int k;,以下程序段的输出结果是______。for(k=2;k<6;k++,k++)printf("%d",k);


    正确答案:

    本题主要考查for循环语句。for循环的增量表达式为逗号表达式,相当于k+=2;,即每次循环后k增加2。第一次循环时,k=2,因此输出##2;第二次循环时k=4,输出##4。此后k=6,不满足循环条件。

  • 第4题:

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

    A.循环体执行一次

    B.循环体执行两次

    C.循环体一次也不执行

    D.构成无限循环 ‘


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

  • 第5题:

    有以下程序

    #include<stdio.h>

    void fun(int *s)

    { static int j=0;

    do { s[j]=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]);

    printf("\n");

    }

    程序运行后的输出结果是

    A) 12345

    B)23445

    C)34756

    D) 35745


    正确答案:D
    【答案】D
    【知识点】static变量的使用
    【解析】静态局部变量在函数内定义,它的生存期为整个源程序。第一次k=1调用结束后,s[0]的值为3,s[1]的值为5,j的值为2。当k=2时,继续调用函数fun,此时j的值为2,但是因为do while语句先执行后判断,所以执行了s[2]=s[2]+s[3],所以s[2]的值变成了7。循环结束回到主函数,k的值为3,不满足条件结束循环。最后打印输出a数组元素的值。

  • 第6题:

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


    正确答案:5
    5

  • 第7题:

    若int类型数据占两个字节,则下列语句 int k=-1; printf("%d,%u\n",k,k); 的输出为( )

    A.-1,-1

    B.-132,767

    C.-132,768

    D.-165,535


    正确答案:D

  • 第8题:

    以下程序的输出结果是 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)。

  • 第9题:

    对于以下程序,   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

  • 第10题:

    设j和k都是int类型,则for循环语句 for(j=0,k=-1;k=1;j++,k++) printf("****/n");().

    • A、循环结束的条件不合法
    • B、是无限循环
    • C、循环体一次也不执行
    • D、循环体只执行一次

    正确答案:B

  • 第11题:

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

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

    正确答案:A

  • 第12题:

    单选题
    若i和k都是int类型变量,有以下for语句:for(i=0,k=-1;k=1;k++)printf("* * * * *");下面关于语句执行情况的叙述中正确的是(  )。
    A

    循环体执行两次

    B

    循环体执行一次

    C

    循环体一次也不执行

    D

    构成无限循环


    正确答案: D
    解析:
    本题中for循环判断条件为k=1,这个语句是赋值语句,总是正确的,所以会陷入无限循环中。答案选择D选项。

  • 第13题:

    若ch为char型变量,k为int型变量(已知字符a的ASCIl码是97),则执行下列语句后输出的结果为( )。 ch=b; k=10: printf("%X,%o,",ch,ch,k); printf("k=%%d\n",k);

    A.因变量类型与格式描述符的类型不匹配,输出无定值

    B.输出项与格式描述符个数不符,输出为0值或不定值

    C.62,142,k=%d

    D.62,142,k=%l0


    正确答案:C
    第1个printf函数,格式说明的个数是2,而输出项的个数是3,所以对于多余的输出项k不予输出;第2个printf函数,有两个%说明,第1个%后面的字符要原样输出。本题考查printf函数的格式。①“%x”和“%o”分别表示以十六进制和八进制无符合型输出整型数据(不带前导ox或o);②printf函数中格式说明符之前插入的任何字符都原样输出;③格式说明与输出项的个数也要相等,如果格式说明的个数少于输出项的个数,则对于多余的输出项不予输出。

  • 第14题:

    若有以下的说明和语句: int t[3][3],*pt[3],k; for(k=0;k<3;k++) pt[k]=&t[k][0];则在执行for语句后,*(*(pt+1)+2)表示的数组元素是______。

    A.t[2][0]

    B.t[2][2]

    C.t[1][2]

    D.t[2][1]


    正确答案:C
    解析:pt是指向整型变量的指针数组,pt+1即pt[1]表示第2行的首地址,*(pt+1)表示第2行第1个元素即t[1][0]的地址,*(pt+1)+2表示第2行第3个元素即t[1][2]的地址,(*(pt+1)+2)则表示第2行第3个元素。

  • 第15题:

    设已定义i和k为int类型变量,则以下for循环语句_______。 for(i=0;k=-1,k=1;i++,k++) printf("****\n");

    A.判断循环结束的条件不合法

    B.是无限循环

    C.循环一次也不执行

    D.循环只执行一次


    正确答案:B
    解析:本题定义了一个for循环,循环变量是i,但由于本题并没有设置循环条件,所以循环的条件永远默认为真,即无限次执行循环。

  • 第16题:

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

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

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

    A)循环体执行一次

    B)循环体执行两次

    C)循环体一次也不执行

    D)构成无限循环


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

  • 第17题:

    下面程序输出的是( )。 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。

  • 第18题:

    若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,故构成无限循环。

  • 第19题:

    设已定义i和k为int类型变量,则以下for循环语句______。 for(i=0;k=-1,k=1,i++,k++) printf("****\n");

    A.判断循环结束的条件不合法

    B.是无限循环

    C.循环—次也不执行

    D.循环只执行一次


    正确答案:B
    解析:本题定义了一个for循环,循环变量是i,但由于本题并没有设置循环条件,所以循环的条件永远默认为真,即无限次执行循环。

  • 第20题:

    若k是int型变量,且有下面程序片段: k=-3; if(k<=0)printf(" ") else printf("& &a

    若k是int型变量,且有下面程序片段: k=-3; if(k<=0)printf("# # # #") else printf("& & & &") 上面程序片段的输出结果是 ( )

    A.# # # #

    B.& & & &

    C.# # # & & & &

    D.有语法错误,无输出结果


    正确答案:D

  • 第21题:

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

    • 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

  • 第22题:

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

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

    正确答案:A

  • 第23题:

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

    无限次和0

    B

    0和无限次

    C

    都是无限次

    D

    都是0


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

  • 第24题:

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

    无限和0

    B

    0和无限

    C

    都是无限

    D

    都是0


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