niusouti.com

若变量已正确定义,以下不能正确计算1+2+3+4+5的程序段是()。A、i=1;s=1;do{s=s+i;i++;}while(i<5);B、i=0;s=0;do{i++;s=s+i;}while(i<5);C、i=1;s=0;do{s=s+i;i++;}while(i<6);D、i=1;s=0;do{s=s+i;i++;}while(i<=5);

题目

若变量已正确定义,以下不能正确计算1+2+3+4+5的程序段是()。

  • A、i=1;s=1;do{s=s+i;i++;}while(i<5);
  • B、i=0;s=0;do{i++;s=s+i;}while(i<5);
  • C、i=1;s=0;do{s=s+i;i++;}while(i<6);
  • D、i=1;s=0;do{s=s+i;i++;}while(i<=5);

相似考题
参考答案和解析
正确答案:B
更多“若变量已正确定义,以下不能正确计算1+2+3+4+5的程序段是(”相关问题
  • 第1题:

    以下程序段中的变量已正确定义 for(=0;i<4;i++,i++) for(k=1;k<3;k++);printf("*") 程序段的输出结果是______。

    A.********

    B.****

    C.**

    D.*


    正确答案:D
    解析:本题考查的是for循环语句的使用以及分号“;”的使用,第一层for循环由于i两次自增运算故执行两次,每执行一次第一层for循环,第二条for循环语句执行三次,但由于语句后面加了分号,因此这一条空循环语句,结果当第一层的for语句执行完,跳出整个循环语句后,执行printf语句,因此执行一次printf语句,选项D是正确的。

  • 第2题:

    若变量已正确定义,有以下程序段

    A.0,0

    B.0,1

    C.1,1

    D.程序进入无限循环


    正确答案:B
    本题中,变量i的初始值等于0,执行循环体中的语句后,输出i的值为0。while后面括号中表达式i++的值为0,循环结束。此时变量i自加1,所以再次输出“1”。

  • 第3题:

    设变量已正确定义,则以下能正确计算f=n!的程序是( )。A.B.C.D.A.AB.BC.CSX

    设变量已正确定义,则以下能正确计算f=n!的程序是( )。A.

    B.

    C.

    D.

    A.A

    B.B

    C.C

    D.D


    正确答案:D
    由n!的数字定义可知n!=n*(n-1)*(n2)*…*1。在选项A中,由于f的初值为0,在for循环语句中,f依次乘以1,2,3,…,n,最后计算得到f=n!=0,所以选项A不正确。在选项B中,f的初值为1,在for循环语句中,f依次乘以1,2,3,…,(n-1),最后计算得到f=(n-1)!,所以选项B不正确。在选项C中,f的初值为l,在for循环语句中,f依次乘以n,n+1,n+2,…,所以选项C不正确。在选项D中,f的初值为1,在for循环语句中,f依次乘以n,n-1,n-2,…,2,最后计算得到f=n!,所以选项D正确。

  • 第4题:

    要求通过while循环不断读入字符,当读人字母N时结束循环,若变量已正确定义,下列正确的程序段是( )。A.

    B.

    C.

    D.

    A.A

    B.B

    C.C

    D.D


    正确答案:A
    while循环的执行过程如下:①计算while后面圆括号中表达式的值。当值为非0时,执行步骤②。当值为0时,执行步骤④。②执行循环体一次。③转去执行步骤①④退出循环。在选项A中,表达式(ch=get-char())!="N"表示输入的字符不等于N,如果这个条件表达式成立,则执行循环体,打印输出输入的字符。如果这个条件表达式不成立,即输入的字符等于N,则退出循环。所以选项A为正确答案。

  • 第5题:

    若变量已正确定义,有以下程序段: 其输出结果是( )。A.0,0B.0,1C.1,1

    若变量已正确定义,有以下程序段:其输出结果是( )。

    A.0,0

    B.0,1

    C.1,1

    D.程序进入无限循环


    正确答案:B
    对于do…while循环,程序先执行一次循环体,再判断循环是否继续。本题先输出一次i的值”0,”,再接着判断表达式i++的值,其值为0,所以循环结束。此时变量i的值经过自加已经变为l,程序再次输出i的值…1"。

  • 第6题:

    以下程序段中的变量已正确定义:

    程序段的输出结果是( )。

    A.**

    B.****

    C.*

    D.********


    正确答案:C
    由于内层循环for(k=1;k<3;k++)后面直接跟了空语句“;”所以在循环内部什么操作也不做,跳出外层循环后执行打印语句,所以打印了一个“t”,选择C。

  • 第7题:

    若变量都已正确说明,则以下程序段输出结果为( )。


    正确答案:D
    本题考查printf函数的格式和三日运算符“?:”的使用。printf函数中格式说明符之前插入的任何字符都原样输出。本题中a>b为真,所以返回”***a=97”。

  • 第8题:

    若变量已正确定义,在语句“if(W)printf("%d\n",k);”中,以下不可替代w的是( )。 A.a<>b+cS

    若变量已正确定义,在语句“if(W)printf("%d\n",k);”中,以下不可替代w的是( )。

    A.a<>b+c

    B.ch=getchar

    C.a= =b+C

    D.a++


    正确答案:A
    符号<>不是C语言中的运算符,所以不能替代。

  • 第9题:

    以下程序段中的变量已正确定义。 for(i=0;i<;4;i++,i++)for(k=1;k<;3;k++);prinff(”*”);该程序段

    以下程序段中的变量已正确定义。 for(i=0;i<;4;i++,i++)for(k=1;k<;3;k++);prinff(”*”);该程序段的输出结果是( )。

    A.*

    B.****

    C.**

    D.********


    正确答案:A
    c语言约定分号为一条语句的结束。因此for(i=0;i<4;i++,i++)for(k=1;k<3;k++);是完整的语句,对研nd();没有任何影响,最后一nff(”·’),执行一次。因此答案为A选项。

  • 第10题:

    若变量已正确定义,要求程序段完成5!的计算,不能完成此操作的程序段是 ______。

    A.for (i=1,p=1; i<=5; i+ +)p* = i;

    B.for (i=1;i<=5; i+ +) {p=1;p*=i;}

    C.i=1;p= 1;while( i<=5) { p* =i;i+ +; }

    D.i=1;p=1;do{ p*=i;i+ +; } while (i<=5);


    正确答案:B
    解析:选项B中每次执行循环体都要执行p=1,无法保存上次的运算结果,执行完while循环后p=5。

  • 第11题:

    若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是()

    • A、for(i=1,p=1;i<=5;i++)p*=i
    • B、for(i=1;i<=5;i++){p=1;p*=i;}
    • C、i=1;p=1;while(i<=5){p*=i;i++;}
    • D、i=1;p=1;do{p*=i;i++;}while(i<=5)

    正确答案:B

  • 第12题:

    单选题
    若变量已正确定义,有以下程序段 i=0; do printf(%d,,i); while(i++); printf(%d,i); 其输出结果是(  )。
    A

    0,1

    B

    0,0

    C

    1,1

    D

    程序进入无限循环


    正确答案: A
    解析:
    首先进入循环体,输出0;while(i++)是先判定i是否为0,不管判定结果如何,都执行i++。i等于0,判定结果为false,执行i++,跳出do-while循环,然后输出1。答案选择A选项。

  • 第13题:

    若变量已正确定义,有以下程序段 i—o; do printf("%d,",i);while(i++); printf("%d",i) 其输出结果是( )。

    A.0,0

    B.0,1

    C.1,1

    D.程序进入无限循环


    正确答案:B
    本题中,变量i的初始值等于0,执行循环体中的语句后,输出i的值为0。while后面括号中表达式i++的值为0,循环结束。此时变量i自加1,所以再次“1”。

  • 第14题:

    若变量已正确定义,有以下程序段 其输出结果是( )。A.0,1B.0,0 C.1,1

    若变量已正确定义,有以下程序段

    其输出结果是( )。

    A.0,1

    B.0,0

    C.1,1

    D.程序进入无限循环


    正确答案:A
    循环语句中输出o,i为。循环结束,执行循环条件后i为l,输出1,所以选择A)。

  • 第15题:

    以下程序段中的变量已正确定义

    A.A

    B.B

    C.C

    D.D


    正确答案:A
    由于内层循环for(k=1;k<3;k++)后面直接跟了空语句“;”,因此在循环内部什么操作也不做,执行完内层循环后执行打印语句,所以打印了一个“*,’故本题答案A)。

  • 第16题:

    若变量已正确定义,有以下程序段: 其输出结果是( )。A.程序段有语法错误B.3,5,3SXB

    若变量已正确定义,有以下程序段:其输出结果是( )。

    A.程序段有语法错误

    B.3,5,3

    C.3,5,5

    D.3,5,7


    正确答案:B
    两个if语句的判断条件都不满足,程序只执行了c=a这条语句,所以变量c的值等于3,变量b的值没有变化,程序输出的结果为3,5,3。

  • 第17题:

    以下程序段中的变量已正确定义: 程序段的输出结果是( )。 A.********B.****

    以下程序段中的变量已正确定义:程序段的输出结果是( )。

    A.********

    B.****

    C.**

    D.*


    正确答案:D
    本题考察for循环语句,注意第二个for语句的后面有一个分号,即printf函数不属于循环体,无论循环执行多少次,printf(”*”)语句只执行一次。因此,本题正确答案为D)。

  • 第18题:

    以下程序段中的变量已正确定义: for(i=0;i<4;i++,i++) for(k=1;k<3;k++); printf("*"); 程序段的输出结果是______。

    A.******

    B.****

    C.**

    D.*


    正确答案:D
    解析: 本题考杏for循环语句中嵌套for循环语句的情况。由于第一个for语句没有具体的执行语句,故当i=0时,k=1时,执行一次语句 printf(“*”);,程序便会跳出整个循环,故运行结果为一个星号。

  • 第19题:

    若变量已正确定义,有以下程序段:

    A)0,0

    B)0,1

    C)1,1

    D)程序进入无限循环


    正确答案:B
    do…while循环的执行过程如下:①执行do后面的循环体中的语句。②计算while后一对圆括号中表达式的值。当值为非0时,转去执行步骤①;当值为0时,执行步骤③。③退出do…while循环。对于本题变量i的初始值等于“0”,接着执行do后面的循环体中的语句,输出变量i的值0。再判断while后面括号中表达式i十的值,其值为0,所以循环结束。.此时变量i的值经过自加已经变为1,所以再次输出i的值“1”。

  • 第20题:

    要求通过while循环不断读人字符,当读入字母N时结束循环。若变量已正确定义,以下正确的程序段是 ( )。

    A.A

    B.B

    C.C

    D.D


    正确答案:A
    本题考查的知识点是:9etCharl函数和逻辑表达式的判定。题目要求“当读人字母N时结束循环”,所WE)、D)选项不对;选项B)中,作为条件的表达式的值恒成立,不符合题目要求,故本题选A)。

  • 第21题:

    若变量已正确定义,有以下程序段i—o;do printf("%d,",i);while(i++);printf("%d&q

    若变量已正确定义,有以下程序段

    i—o;

    do printf("%d,",i);while(i++);

    printf("%d",i)

    其输出结果是( )。

    A.0,0

    B.0,1

    C.1,1

    D.程序进入无限循环


    正确答案:B
    本题中,变量i的初始值等于0,执行循环体中的语句后,输出i的值为0。while后面括号中表达式i++的值为0,循环结束。此时变量i自加1,所以再次“1”。

  • 第22题:

    若所用变量都已正确定义,请填写以下程序段的输出结果() for(i=1;i<=5;i++);       printf("OK/n");


    正确答案:OK

  • 第23题:

    单选题
    以下程序段中的变量已正确定义for( i=0; i<4; i++,i++ ) for( k=1; k<3; k++ ); printf(* );该程序段的输出结果是(  )。
    A

    *******

    B

    ****

    C

    **

    D

    *


    正确答案: C
    解析:
    for语句在没有"{}"说明时仅仅是跟随其后的第一条语句,即另外一个for语句,第二个for循环有个";"结束,所以整个双重循环将被视为空语句。然后执行下一个顺序语句,即输出语句,只输出一个"*"。答案选择D选项。