X=X–Z;
IfX>Y
{X=X–Y;}
(1)已知X=10,Y=20,Z=30该程序执行完成后,X的值为_____。
(A)10;(B)20;(C)30;(D)40;(E)上述都不对。
答案:
A
(2)已知X=10,Y=50,Z=30该程序执行完成后,X的值为_____。
(A)10;(B)20;(C)30;(D)40;(E)上述都不对。
答案:
D
(3)已知X=30,Y=30,Z=30该程序执行完成后,X的值为_____。
(A)10;(B)20;(C)30;(D)40;(E)上述都不对。
答案:
B
解释:
本题考核分支结构。
(1)程序开始执行,X=Z+Y=30+20=50,YY=10>20为假,所以程序结束,最终X=10,(A)正确。
(2)程序开始执行,X=Z+Y=30+50=80,YY=40>50为假,所以程序结束,最终X=40,(D)正确。
(3)程序开始执行,X=Z+Y=30+30=60,YY=20>30为假,所以程序结束,最终X=20,(B)正确。
具体内容请参考第六章视频之“计算机语言(程序)的基本构成要素(I)”以及第六章课件。
11.读程序,并回答问题:
X=1;
Y=2;
Sum=0;
Do{ Sum=X+Y;
X=X+1;
Y=Y+1;
}While(Sum<=20)
(1)该程序执行完成后,Sum的值为_____。
(A)20;(B)21;(C)19;(D)18;
答案:
B
(2)该程序执行完成后,X的值为_____。
(A)8;(B)9;(C)10;(D)11;
答案:
D
解释:
本题考核循环结构。
Do-While结构先执行一遍Do部分,然后判断是否符合条件,若符合条件则接着执行Do部分直至条件为假,此时程序结束。
(1)程序开始执行,Sum=X+Y=1+2=3,X=X+1=1+2=3,Y=Y+1=2+1=3,此时Sum=3<=20,所以接着执行Do部分,直到Sum=X+Y=10+11=21时,此时X=10,Y=11,接着执行X=X+1=10+1=11,Y=Y+1=11+1=12,此时Sum=21>20,条件为假,程序结束。
所以该程序执行完成后,Sum的值为21,(B)正确。
(2)由
(1)题知,该程序执行完成后,X的值为11,(D)正确。
具体内容请参考第六章视频之“计算机语言(程序)的基本构成要素(I)”以及第六章课件。
12.读程序,并回答问题:
(10)N=6;
(20)X=0;
(30)Y=1;
(40)ForI=1ToN-1Step1
(50)Z=X+Y;
(60)X=Y;
(70)Y=Z;
(80)NextI
(1)该程序执行完成后,Z的值为_____。
(A)3;(B)5;(C)8;(D)13;
答案:
C
(2)程序行(60)执行了多少次?
次数为_____。
(A)4;(B)5;(C)6;(D)7;
答案:
B
解释:
本题考核循环结构。
For循环条件是I从1到N-1,即从1到5,I=1时,Z=X+Y=0+1=1,X=Y=1,Y=Z=1;I=2时,Z=X+Y=1+1=2,X=Y=1,Y=Z=2;I=3时,Z=X+Y=1+2=3,X=Y=2,Y=Z=3;I=4时,Z=X+Y=2+3=5,X=Y=3,Y=Z=5;I=5时,Z=X+Y=3+5=8,X=Y=5,Y=Z=8;程序结束。
所以该程序执行完成后,Z的值为8,(C)正确;For循环从I=1到5共执行了5次,程序行(60)是For循环中的一部分,所以也执行了5次,(B)正确。
具体内容请参考第六章视频之“计算机语言(程序)的基本构成要素(I)”以及第六章课件。
13.读程序,并回答问题:
(10)K=0;
(20)I=2;
(30)While(I<=8)
(40){K=K+I;
(50)I=I+2;}
(1)该程序执行完成后,K的值为_____。
(A)35;(B)20;(C)36;(D)12;
答案:
B
(2)程序行(40)执行了多少次?
次数为_____。
(A)2;(B)4;(C)6;(D)8;
答案:
B
解释:
本题考核循环结构。
(1)程序开始执行,I=2<=8,条件为真,执行K=K+I=0+2=2,I=I+2=2+2=4;I=4<=8,条件为真,执行K=K+I=2+4=6,I=I+2=4+2=6;I=6<=8,条件为真,执行K=K+I=6+6=12,I=I+2=6+2=8;I=8<=8,条件为真,执行K=K+I=12+8=20,I=I+2=8+2=10;I=10>8,条件为假,程序结束。
所以该程序执行完成后,K的值为20,(B)正确。
(2)由
(1)知,程序行(40)执行了4次,(B)正确。
具体内容请参考第六章视频之“计算机语言(程序)的基本构成要素(I)”以及第六章课件。
14.已知函数Fact的程序如下,回答下列问题:
LongIntFact(intn)
{LongIntx;
If(n>1)
{x=Fact(n-1);
returnn*x;}
elsereturn1;
}
(1)Fact(4)的值为_____。
(A)10;(B)24;(C)120;(D)15;
答案:
B
解释:
(2)在执行Fact(5)的过程中,Fact函数被调用的次数为_____。
(A)3;(B)4;(C)5;(D)6;
答案:
C
解释:
本题考核对函数的理解和运用。
(1)该程序是计算阶乘,即Fact(n)=n!
,该程序的流程图如图(a)所示,所以Fact(4)=4!
=24,(B)正确,具体过程如图(b)所示。
(2)由题
(1)中图(b)知,在执行Fact(4)的过程中,Fact函数被调用了4次,所以在执行Fact(5)时,Fact函数会被调用5次,(C)正确。
具体内容请参考第六章视频之“计算机语言(程序)的基本构成要素(II)”以及第六章课件。
15.已知函数Fact的程序如下,回答下列问题:
LongIntFact(intn)
{LongIntx;
If(n>1)
{x=Fact(n-1);
return(n+x)*2;}
elsereturn1;
}
(1)Fact(4)的值为_____。
(A)14;(B)24;(C)44;(D)64;
答案:
C
解释:
本题考核算法的循环结构
由程序分析可知,调用函数4次,因此Fact(4)的值为44。
具体内容请参考第六章视频之“计算机语言(程序)的基本构成要素”以及第六章课件。
(2)在执行Fact(4)的过程中,Fact函数被调用的次数为_____。
(A)3;(B)4;(C)5;(D)6;
答案:
B
解释:
本题考核算法的循环结构
由程序分析可知,调用函数4次,因此Fact(4)的值为44。
具体内容请参考第六章视频之“计算机语言(程序)的基本构成要素”以及第六章课件。
16.已知程序如下,回答下列问题:
main()
{
inti,n;
longsum=0,p=1;
...//输入n值的语句,略
for(i=1;i<=n;i++)
{
p=p*i;
sum=sum+p;
}
...//输出sum值的语句,略
}
该程序实现的功能为_____。
(A)sum=1*2*3*...*n;
(B)sum=1!
+2!
+...+n!
;
(C)sum=1+2+3+...+n;
(D)sum=1*2+2*3+(n-1)*n;
(E)上述都不正确。
答案:
B
解释:
本题考核算法的分析及循环结构的分析
很明显是1到n的阶乘,选B。
具体内容请参考第六章视频之“计算机语言(程序)的基本构成要素”以及第六章课件。
17.已知程序如下,回答下列问题:
(10)main()
(20){intcounter;
(30)...//输入N值的语句,略
(40)longproduct=1;
(50)forcounter=1toNstep2
(60){product=product*counter;}
(70)returnproduct;
(80)}
(1)该程序实现的功能为_____。
(A)product=1*2*3*...*(N-1);
(B)product=1+2+3+...+(N-1);
(C)product=1*3*5*...*(N-1);
(D)product=1+3+5+...+(N-1);
(E)上述都不正确。
答案:
C
解释:
本题考核算法与结构分析
由程序可知,为求1*3*5*...*(N-1)的值。
具体内容请参考第六章视频之“计算机语言(程序)的基本构成要素”以及第六章课件。
(2)当程序行(60)执行了3次以后,Product和Counter的值分别为_____。
(A)105,5;
(B)15,7;
(C)15,5;
(D)105,7;
(E)上述都不正确。
答案:
C
解释:
本题考核算法与结构分析
在