更多“程序段如下,则以下说法中正确的是()。 int k=-5; while(k=0) k=k+1;”相关问题
  • 第1题:

    设有程序段int k=10;while(k=0)k=k-1;则语句k=k-1执行10次。()

    此题为判断题(对,错)。


    参考答案:错误

  • 第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题:

    有以下程序includemain(){int k=5,n=0;while(k>0){switch(k){defhult:break;case 1:n+

    有以下程序 #include<stdio.h> main() {int k=5,n=0; while(k>0) {switch(k) {defhult:break; case 1:n+=k: case 2: case 3:n+=k; } k--; } printf("%d\n",n); } 程序运行后的输出结果是( )

    A.0

    B.4

    C.6

    D.7


    正确答案:D
    解析:因为没有break语句,当k=2的时候,会顺序执行两条语句,k=1的时候,会顺序执行3条语句。

  • 第4题:

    有以下程序: #include<stdio.h> main( ) { char*s="[2]34";int k=0,a=0; whil(s[k+1]!=\0) { k++; if(k%2=o){a=a+(s[k]-0+1);continue; } a=a+(s[k]-0); printf("k=%d a=%d\n",k,a); } 程序运行后的输出结果是( )。

    A.k=6 a=11

    B.k=3 a=14

    C.k=4 a=12

    D.k=5 a=15


    正确答案:C
    输出结果:k=1a=2k=2a=4k=3a=7k=4a=12

  • 第5题:

    以下程序的输出结果是______。 main() { char*s="121"; int k=0,a=0,b=0; do {k++; if(k%2==0){a=a+s[k]-'\0';continue;} b=b+s[k]-'\0';a=a+s[k]-'\0'; }while(s[k+1]); printf("k=%d a=%d b=%d\n",k,a,b); }

    A.k=3 a=98 b=49

    B.k=3 a=99 b=50

    C.k=2 a=99 b=50

    D.k=2 a=98 b=49


    正确答案:C
    解析:第1次循环中,k=1,不执行if分支,s[k]=‘2’,因此b=2,a=2因s[k+1]=‘1’进入第2次循环,k=2,执行if分支,s[k]=‘1’,使a=3,进而提前结束本次循环,s[k+1]=‘\0’,则退出循环,所以k=2,a=3,b=2。

  • 第6题:

    有以下程序段:int k=0,a=1,b=2,c=3;k=ac ? c:k;执行该程序段后,k的值是()。A.3B.2C

    有以下程序段: int k=0,a=1,b=2,c=3; k=a<b ? b:a; k=k>c ? c:k; 执行该程序段后,k的值是( )。

    A.3

    B.2

    C.1

    D.0


    正确答案:B
    解析:本题中因为ab为“真”,所以第1个条件表达式的值为b的值2,所以k=2。然后又因为k>c为“假”,所以第2个表达式的值为k的值2。所以本题应该选择B。

  • 第7题:

    有以下程序: include main ( ) {int k=5,n =0; while ( k>0){switch (k) {default: b

    有以下程序: #include <stdio, h>main ( ) { int k=5,n =0; while ( k>0) { switch (k) { default: break; case 1 : n+ =k; case 2 : case3 : n+ =k; } k--; printf( "% d \n" ,n);}程序运行后的输出结果是( )。

    A.0

    B.4

    C.6

    D.7


    正确答案:D
    解析:在程序中,当L的值为5和4时,case都没有与其匹配的值,所以执行default语句;当k=3时,执行n+=k;得n=3;当L=2时,执行case2:然后顺序执行case3:n+=k;得n=5;当k=1时,执行case1:n+=k;得n=6,然后顺序执行case2:和case3:n+=k;使得n=7。

  • 第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题:

    程序段如下   int k=1    while(!k= =O){k=k+1;printf(“%d\n”,k);}    说法正确的是()

    • A、while循环执行2次
    • B、循环是无限循环
    • C、循环体语句一次也不执行
    • D、循环体语句执行一次

    正确答案:B

  • 第10题:

    下面程序段不是死循环的是()

    • A、 int  j=100; while(1){j=j%100+2;if(j>100)break;}
    • B、 for( ; ; );
    • C、 int k=0; do{ ++k;}while(k>=0);
    • D、 int s=36; while(s);--s;

    正确答案:A

  • 第11题:

    单选题
    以下程序段运行时语句k=k+1执行次数为()。 k=-10 do k=k+1 loop while k=0
    A

    11

    B

    无数次

    C

    9

    D

    10


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

  • 第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);


    正确答案: B
    解析:
    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题:

    程序段如下 int k=-20; while (k=0)k=k+1; 则以下说法中正确的是( )

    A.while循环执行20次

    B.循环是无限循环

    C.循环体语句一次也不执行

    D.循环体语句执行一次


    正确答案:C

  • 第14题:

    有以下程序段: int k=0,a=1,b=2,c=3; k=ac?c:k; 执行该程序段后,k的值是

    有以下程序段: int k=0,a=1,b=2,c=3; k=a<b?b:a; k=k>c?c:k; 执行该程序段后,k的值是 ______。

    A.3

    B.2

    C.1

    D.0


    正确答案:B
    解析:三目运算符的一般形式为(表达式1)?(表达式2):(表达式3),当(表达式1)值为真时,(表达式2)的值为整个表达式的值;当(表达式1)值为假时,(表达式3)的值为整个表达式的值。题中执行表达式“k=ab?b:a”后,k=2,将此值代入后一个表达式“k=k>c?c:k,由于“k>c”值为假,故k的值还等于原来k的值,即2。

  • 第15题:

    请阅读以下程序:includevoid fun(int s[]){static int j=0; dos[j]+=s[j+1]; while(++

    请阅读以下程序: #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.23445

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

  • 第16题:

    有以下程序段

    s=1.0;

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

    printf("%f\n",s);

    请填空,使以下程序段的功能与上面的程序段完全相同。

    s=1.0; k=1;

    while( 【 9 】).

    { s=s+1.0/(k*(k+1)); k=k+1;}

    printf( "%f\n",s);


    正确答案:
    【答案】k<=n
    【知识点】while语句与for语句互化
    【解析】while语句的条件即为for语句中三个表达式中的第二个表达式。

  • 第17题:

    23 有如下程序段,该程序段循环的次数是______。 Dim i As Integer Dim j As Integer Dim k As Integer k=0 For i = 0 To 10 Step 3 For j = 1 To 5 If j > 3 Then k = k + 4: Exit For k=k+1 Print k Next j If i > 8 Then Exit For Next i

    A.9

    B.10

    C.11

    D.12


    正确答案:D

  • 第18题:

    设有程序段: int k=12: while(k=1)k=k一1; 则下列描述中正确的是( )。A.while循环执行10次SXB

    设有程序段: int k=12: while(k=1)k=k一1; 则下列描述中正确的是( )。

    A.while循环执行10次

    B.循环是无限循环

    C.循环体语句一次也不执行

    D.循环体语句执行一次


    正确答案:C
    本题考查while,while循环表达式k=1是个赋值表达式而不是逻辑表达式,k的初值为12不符合循环条件,所以循环体一次也不执行。

  • 第19题:

    现有如下程序段 #include "stdio.h" main() { int k[30]={12,324,45,6,768,98,21,34,453,456}; int count=0,i=0; while(L[i]) { if(k[i]%2==0||k[i]%5==0)count++; i++; } printf("%d,%d\n",count,i);} 则程序段的输出结果为

    A.7,8

    B.8,8

    C.7,10

    D.8,10


    正确答案:D
    解析:在C语言中,定义一维数组的语句一般形式如下:
      类型名  数组名[常量表达式];
      一维数组的引用形式为:数组名[下标表达式]。count表示能被2整除或被5整除的个数,i则计算有多少个数组元素。

  • 第20题:

    程序段如下intk=1;while(!k==0){k=k+1;printf("%d\n",k);}说法正确的是()。

    A.while循环执行2次

    B.循环是无限循环

    C.循环体语句一次也不执行

    D.循环体语句执行一次


    正确答案:B

  • 第21题:

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


    正确答案:0

  • 第22题:

    以下程序段运行时语句k=k+1执行次数为()。 k=-10 do k=k+1 loop while k=0

    • A、11
    • B、无数次
    • C、9
    • D、10

    正确答案:D

  • 第23题:

    单选题
    程序段如下   int k=1    while(!k= =O){k=k+1;printf(“%d\n”,k);}    说法正确的是()
    A

    while循环执行2次

    B

    循环是无限循环

    C

    循环体语句一次也不执行

    D

    循环体语句执行一次


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

  • 第24题:

    单选题
    有以下程序:#includemain(){ char *s=12134; int k=0,a=0; while(s[k+1]!='\0') {  k++;  if(k%2==0)  {   a=a+s[k]-'0'+1;   continue;  }  a=a+(s[k]-'0'); } printf(k=%d a=%d,k,a);}程序运行后的输出结果是(  )。
    A

    k=6 a=11

    B

    k=3 a=14

    C

    k=4 a=12

    D

    k=5 a=15


    正确答案: A
    解析:
    第一次循环,k=1,s[1]=2,执行a=a+s[1]-'0'=2;第二次循环,k=2,s[2]=1,执行a=a+s[2]-'0'+1=2+2=4;第三次循环,k=3,s[3]=3,执行a=a+s[3]-'0'=4+3=7;第四次循环,k=4,s[4]=4,执行a=a+s[k]-'0'+1=7+5=12,可得到结果k=4,a=12。答案选择C选项。