若变量已正确定义,要求程序段完成求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)
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

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

若变量已正确定义,下列正确的程序段是( )。

A.while(ch=getchar()=='\N')putchar(ch);

B.while((ch=getchar())=='\n')putchar(ch);

C.while((ch=getchar())!='\N')putchar(ch);

D.while((ch=getchar())!='\n')putchar(ch);


正确答案:D
解析: 本题考查两个知识点:①C语言用'\n'这个字符常量表示换行;②getchar函数的作用是从终端输入一个字符,当遇到换行时结束输入。

第3题:

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

int a=3,b=5,c=7;

if(a>b) a=b; c=a;

if(c!=a) c=b;

printf("%d,%d,%d\n",a,b,c);

其输出结果是

A) 程序段有语法错

B)3 , 5 , 3

C)3 , 5 , 5

D)3 , 5 , 7


正确答案:B

第4题:

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

第5题:

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

A.0,0

B.0,1

C.1,1

D.程序进入无限循环


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

第6题:

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

第7题:

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

第8题:

若变量已正确定义,有以下程序段 int a=3,b=5,c=7; if(a>B) a=b; c=a; if(c! =a)c=b; printf("%d,%d,%d\n",a,b,c); 其输出结果是

A.程序段有语法错

B.3,5,3

C.3,5,5

D.3,5,7


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

第9题:

若变量已正确定义,有以下程序段 其输出结果是( )。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)。

第10题:

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

A.A

B.B

C.C

D.D


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

更多相关问题