单选题以下能够实现计算5!的程序段是(  )。Aint fac=1,k=0;do{k++;fac*=k;}while(k5);Bint fac=0,k=1;do{fac*=k;k++;}while(k5);Cint fac=1,k=1;do{k++;fac*=k;}while(k=5);Dint fac=1,k=0;do{fac*=k;k++;}while(k5);

单选题
以下能够实现计算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);


参考解析

解析:
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选项。

相关考题:

单选题下面不属于软件开发阶段任务的是(  )。A测试B可行性研究C设计D实现

单选题栈和队列的共同点是(  )。A都是先进后出B都是先进先出C只允许在端点处插入和删除元素D没有共同点

单选题以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。#include #define N 10void fun(int x[N]){ int i=0; while(iAx+iBx[i+1]Cx+(i++)Dx[++i]

单选题下列不属于软件设计阶段任务的是(  )。A软件总体设计B算法设计C制定软件确定测试计划D数据库设计

单选题有以下程序:#include#includemain(){ chars[]=Beijing; printf(%d,strlen(strcpy(s,China)));}程序运行后的输出结果是(  )。A5B7C12D14

单选题有如下程序:#include main(){ int a =0,b=1; if(++a==b++)  printf(T); else  printf(F); printf(a=%d,b=%d,a,b); printf();}程序运行后的输出结果是(  )。ATa=0,b=1BFa=1,b=2CTa=1,b=2DFa=0,b=2

单选题设某二叉树的前序遍历为ABC,中序遍历为CBA,则该二叉树的后序遍历为(  )。ABCABCBACABCDCAB

单选题有如下程序段:int k;for(k=2;k==0;) printf(%d,k--);则for循环体执行的次数是(  )。A0次B1次C2次D无限次