若变量已正确定义,要求程序段完成求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);

题目

若变量已正确定义,要求程序段完成求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);


相似考题
更多“若变量已正确定义,要求程序段完成求5! 的计算,不能完成此操作的程序段是()。A.for(i=1,p=1;i<=5;i ”相关问题
  • 第1题:

    下列程序段中的变量已正确定义: for(i=0;i<4;i++,i++) for(k=1;k<3;k++);printf("*"); 程序段

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

    A.********

    B.****

    C.**

    D.*


    正确答案:D
    D。【解析】本题中第二个for循环语句的后面有一个分号,所以两个for循环语句的执行语句为空。当两个for循环语句执行完后,再执行printf语句输出一个星号。所以正确答案为选项D。

  • 第2题:

    若变量已正确定义,要求程序段完成求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中for循环了5次,而每次循环的时候,都将p的值重新赋值为1后,再乘以当前数字i,最后的结果为5,显然不是5!的值,同样的分析可知选项A、选项C和选项D计算的都是5!。

  • 第3题:

    下列程序段中的变量已正确定义: for(i=0;i<4;i++,i++)for(k=1;k<3;k++);printf("*&qu

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

    for(i=0;i<4;i++,i++)

    for(k=1;k<3;k++);printf("*");

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

    A.********

    B.****

    C.**

    D.*


    正确答案:D
    D。【解析】本题中第二个for循环语句的后面有一个分号,所以两个for循环语句的执行语句为空。当两个for循环语句执行完后,再执行printf语句输出一个星号。所以正确答案为选项D。

  • 第4题:

    以下程序段中的变量已正确定义 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是正确的。

  • 第5题:

    若i是int型变量,且有下面的程序段: for(i=4;i<6;i++) printf((i%2)?("**%d\n"):("##%d\n"),i); 上面程序段的输出结果是______。

    A.**4 ##5

    B.##4 **5

    C.**4 **5

    D.##4 ##5


    正确答案:B
    解析:函数printf中的参数是三目条件表达式,循环控制变量i值为4时, i%2为0,格式控制字符串为"##%d\n",输出为##4;循环控制变量i值为5时,i%2为1,格式控制字符串为"**%d\n",输出为*5,两次输出不在同一行。

  • 第6题:

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

    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选项。

  • 第7题:

    设变量已正确定义,则以下能正确计算f=n!的程序是( )。 A.f=0; for(i=1;i<=n;i++)f*=i;SXB

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

    A.f=0; for(i=1;i<=n;i++)f*=i;

    B.f=1;for(i=1;i<n;i++)f*=i;

    C.f=1;for(i=n;i>1;i++)f*=i;

    D.f=1;for(i=n;i>=2;i--)f*=i;


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

  • 第8题:

    若变量已正确定义,要求程序段完成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。

  • 第9题:

    若变量inti,intsum=0,要求程序段完成求1加到100的和的,能完成此操作的程序段不正确的是()

    • A、for(i=1;i<=100;i++)sum+=i;
    • B、for(i=1;i<=100;i++)sum=i;
    • C、for(i=1;i<=100;i++)sum=sum+i;
    • D、for(i=0;i<=100;i++)sum+=i;

    正确答案:B

  • 第10题:

    已经int i;int sum=0,要求求1加到10的和,能完成此操作的程序段正确的是()。

    • A、for(i=1;i<10;i++)sum+=i;
    • B、for(i=1;i<11;i++)sum=i;
    • C、for(i=1;i<=10;i++)sum=sum+i;
    • D、for(i=0;i<=20;i++)sum+=i;

    正确答案:C

  • 第11题:

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

    *******

    B

    ****

    C

    **

    D

    *


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

  • 第12题:

    单选题
    若变量inti,intsum=0,要求程序段完成求1加到100的和的,能完成此操作的程序段不正确的是()
    A

    for(i=1;i<=100;i++)sum+=i;

    B

    for(i=1;i<=100;i++)sum=i;

    C

    for(i=1;i<=100;i++)sum=sum+i;

    D

    for(i=0;i<=100;i++)sum+=i;


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

  • 第13题:

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

    A.f=0; for(i=1;i<=n;i++)f*=i;

    B.f=1; for(i=1;i<n;i++)f*=i;

    C.f=1; for(i=n;i>1;i++)f*=i;

    D.f=1; for(i=n;i>=2;i--)f*=i;


    正确答案:D
    解析: 要正确计算函数f=n!,由n!的数学定义可知n!=n*(n-1)*(n-2)*……*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的初值为1,在for循环语句中,f依次乘以n,n+1,n+2,……,所以选项C)不正确。在选项D)中,f的初值为1,在for循环语句中,f依

  • 第14题:

    有F面的程序段.其功能是按图1所示的规律输出数据

    Dim a(3,5)As Integer

    For i=1 To 3

    For i=1 To 5

    a(i,j)=i+j

    Print a(i,j);

    Next

    Print

    Next

    若要按图2所示的规律继续输出数据,则接在上述程序段后面的程序段应该是

    A.For i=i To 5 For j=1 To 3 Print a(j,i); Next Print Next

    B.For i=1 To 3 For i=1 To 5 Print a(j,i); Next Print Next

    C.For j=1 To 5 FOr i=1 TO 3 Print a(j,1); Next Print Next

    D.For i=1 To 5 For j=1 To 3 Print a(i,j); Next Print Print Next Next


    正确答案:A
    解析:题目的意思是要把原矩阵倒置,可以这样理解:把原矩阵按列取出,然后重新按行排列,所以答案A)正确,答案B)、C)、D)错误。

  • 第15题:

    设变量已正确定义,则以下能正确计算n!的程序段是______。

    A.f=0; for(i=1; i<=n; i++)f*=i;

    B.f=1; for(i=1; i<n; i++)f*=i;

    C.f=1; for(i=n; i>1; i++)f*=i;

    D.f=1; for(i=n; i>=2; i--)f*=i;


    正确答案:D
    解析:A选项,将f赋值为0,结果得到0,因为0乘任何数都为0;B选项,in,计算的是(n-1)!,C选项将陷入死循环。

  • 第16题:

    有下面的程序段,其功能是按图1所示的规律输出数据: Dim a(3,5)As Integer For i=1 To 3 For j=1 To 5 a(i,j)=i+j Print a(i,j); Next Print Next

    若要按图2所示的规律继续输出数据,则接在上述程序段后面的程序段应该是( )。

    A.For i=1 To 5 For j=1 To 3 Print a(j,i); Next Print Next

    B.For i=1 T0 3 For j=1 To 5 Print a(j,i); Next Print Next

    C.For j=l To 5 For i=1 To 3 Print a(j,i); Next Print Next

    D.For i=1 To 5 For=1 To 3 Print a(i,j): Next Print Next


    正确答案:A
    A。【解析】本题是要得出矩阵的倒置,首先本题定义了一个3行5列的矩阵,转换完成后要变成5行3列,把原来的行元素变成后来的列元素,所以先输出j,再输出i。故本题答案为A选项。

  • 第17题:

    若变量已正确定义,有以下程序段 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”。

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

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

    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
    解析:本题考核的知识点是C语言在生活中的简单应用。选项B中for循环了5次,而每次循环的时候,都将p的值重新赋值为1后,再乘以当前数字i,最后的结果为5,显然不是51的值,同样的分析可知选项A、选项C和选项D计算的都是5!。所以,4个选项中选项B符合题意。

  • 第20题:

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


    正确答案:OK

  • 第21题:

    若变量已正确定义,要求程序段完成求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

  • 第22题:

    若变量已正确定义,以下不能正确计算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

  • 第23题:

    单选题
    假设堆内存分配均成功,则下面程序段完全正确的是()。
    A

    int*p=newint(3);cout<;<;*p;deletep;

    B

    int*p=newint[5]={1,2,3,4,5};for(inti=0;i<;5;i++)cout<;<;p;delete[]p;

    C

    int*p=newint[5];for(inti=0;i<;5;i++,p++){*p=i;cout<;<;*p;}delete[]p;

    D

    以上程序段均正确


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

  • 第24题:

    单选题
    有如下程序段: S:=0; i:=1; while i<=5 do begin s:=s+i; i:=i+1; end; 执行该程序段后,变量i的值为()
    A

    1

    B

    3

    C

    5

    D

    6


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