第6章由机器语言到高级语言程序编写与编译练习题答案解析.docx

上传人:b****9 文档编号:25320229 上传时间:2023-06-07 格式:DOCX 页数:24 大小:165.04KB
下载 相关 举报
第6章由机器语言到高级语言程序编写与编译练习题答案解析.docx_第1页
第1页 / 共24页
第6章由机器语言到高级语言程序编写与编译练习题答案解析.docx_第2页
第2页 / 共24页
第6章由机器语言到高级语言程序编写与编译练习题答案解析.docx_第3页
第3页 / 共24页
第6章由机器语言到高级语言程序编写与编译练习题答案解析.docx_第4页
第4页 / 共24页
第6章由机器语言到高级语言程序编写与编译练习题答案解析.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

第6章由机器语言到高级语言程序编写与编译练习题答案解析.docx

《第6章由机器语言到高级语言程序编写与编译练习题答案解析.docx》由会员分享,可在线阅读,更多相关《第6章由机器语言到高级语言程序编写与编译练习题答案解析.docx(24页珍藏版)》请在冰豆网上搜索。

第6章由机器语言到高级语言程序编写与编译练习题答案解析.docx

第6章由机器语言到高级语言程序编写与编译练习题答案解析

第6章由机器语言到高级语言:

程序编写与编译

1、关于计算机语言,下列说法不正确的是_____。

(A)所有源程序最后都需被转换为汇编语言程序,机器才能够执行;

(B)所谓“高级语言”和“低级语言”是指其和机器硬件的相关程度,不涉及机器硬件的语言为高级语言,而与机器硬件相关的语言则为低级语言;

(C)低级语言程序执行效率高是因为用低级语言编程时可以充分利用硬件的各种特殊性,而高级语言则只能使用硬件的标准结构;

(D)高级语言编程效率高是因为其可用大粒度积木块来构造程序,比一行行语句、一条条指令来编程效率高出很多。

(E)上述有不正确的。

 

答案:

A

解释:

本题考核对“计算机语言”的理解。

(A)所有源程序最后都需被转换为机器语言程序,机器才能够执行,所以(A)错误;(B)(C)和(D)的叙述都是正确的。

具体内容请参考第六章视频之“从机器语言到汇编语言”以及第六章课件。

2、关于计算机语言,下列说法不正确的是_____。

(A)汇编语言和机器语言是以指令为单位来编写程序;

(B)高级语言是以语句为单位来编写程序,一条语句相当于若干条指令(或者说一条语句可用若干条指令来实现);

(C)面向对象语言或可视化构造语言是以对象(类)为单位来编写程序,一个对象相当于若干条语句((或者说一个对象可用若干条语句来实现);

(D)我们可以设计一种新语言,让用户以其更熟悉的对象(类)来编写源程序,然后提供一个编译器将该源程序转换成某种已广泛使用的高级语言源程序,就可以让机器执行该程序。

(E)上述有不正确的。

 

答案:

E

解释:

本题考核对“计算机语言”的理解。

(A)(B)(C)和(D)的叙述都是正确的,所以选择(E)。

具体内容请参考第六章视频之“从机器语言到汇编语言”以及第六章课件。

3、关于计算机语言的编译,下列说法不正确的是_____。

(A)需要“分词”,将其中的常量、变量名和保留字识别出来,并分类及编号;

(B)需要识别每一条语句所对应的“模式”。

任意语句的常量和变量名被归为“标识符”类别,而标识符与保留字的不同组合关系构成了语句的模式;计算机语言是由有限的语句模式构成的;

(C)对每一种模式,都有相应的组合构造方法,即模式可被认为是由原子模式或说基本模式通过组合的方法构造出来的,对原子模式或者基本模式可以事先写好其相应的目标语言的指令或语句;

(D)按照模式由原子模式的组合次序,可将模式语句转换成目标语言的指令或语句;进一步按照分类及编号将常量、变量名代入形成最终的目标语言程序,完成编译;

(E)上述有不正确的。

 

答案:

E

解释:

本题考核计算机语言编译的基本思想。

(A)(B)(C)和(D)的叙述都是正确的,所以选择(E)。

具体内容请参考第六章视频之“高级语言编译器-基本思想”以及第六章课件。

4、从语言编译角度看计算机语言,下列说法不正确的是_____。

(A)计算机语言就是由标识符和保留字构成的,标识符是可由程序员按规则任意命名的符号,而保留字则是编译器识别语句模式的重要符号;

(B)计算机语言定义了基本元素的集合,以及基本元素的组合构造规则,所谓基本元素即是指标识符和保留字,所谓组合构造规则即是指语句的书写模式,即不同标识符和保留字的组合规则;

(C)标识符可以是常量、变量名,也可以是函数名;保留字可以是赋值符号如“=”、语句结束符号如“;”、基本运算符号如“+”“-”“*”“/”、程序段落符号如“{}”等,保留字还可以是其他语句模式的标志性符号。

(D)上述有不正确的。

 

答案:

D

解释:

本题考核从语言编译角度理解计算机语言。

(A)(B)(C)的叙述都是正确的,所以选择(D)。

具体内容请参考第六章视频之“高级语言编译器-基本思想”以及第六章课件。

5、关于普通计算机语言(或者说程序)的基本构成要素,下列说法最完整的是_____。

(A)常量与变量和表达式;

(B)常量与变量、表达式和语句;

(C)常量与变量、表达式、语句和函数;

(D)都不完整。

 

答案:

C

解释:

本题考核程序的基本构成要素。

程序的基本构成要素包括常量与变量、表达式、语句和函数,所以(C)正确,(A)和(B)叙述不完整。

具体内容请参考第六章视频之“计算机语言(程序)的基本构成要素(I)”以及第六章课件。

6、关于表达式,下列说法不正确的是_____。

(A)由常量、变量及各种算术运算符构造的表达式,被称为算术表达式,其结果为一数值;

(B)由常量、变量和各种比较运算符构造的表达式,被称为比较表达式,其结果只能为逻辑“真”或“假”;

(C)由常量、变量和各种逻辑运算符构造的表达式,被称为逻辑表达式,其结果只能为逻辑“真”或“假”;

(D)比较表达式中不能含有算术表达式,逻辑表达式中可以含算术表达式。

(E)上述有不正确的。

 

答案:

D

解释:

本题考核对“表达式”的理解。

比较表达式和逻辑表达式中都可以含算术表达式,所以(D)错误;(A)(B)和(C)的叙述都是正确的。

具体内容请参考第六章视频之“计算机语言(程序)的基本构成要素(I)”以及第六章课件。

 

7、已知A=40;B=30;C=100;D=50,逻辑“与”运算符为and,“或”运算符为or,“非”运算符为not。

围绕这些已知条件回答问题:

(1)计算表达式 (A+(C–B)*3)/D 的值,结果为_____。

 

(A)5;(B)-5;(C)10; (D)4;

 

答案:

A

(2)计算表达式 (A*A-B*B)+D 的值,结果为_____。

(A)70;(B)150;(C)570; (D)750;

 

答案:

D

(3)计算表达式 (A>B)and(B

 

(A)100;(B)30;(C)真; (D)假;

 

答案:

C

(4)计算表达式 (A>B+20)or(B+60

 

(A)100;(B)30;(C)真; (D)假;

 

答案:

C

(5)计算表达式C>A+B+D的值,结果为_____。

(A)120;(B)100;(C)真; (D)假;

 

答案:

D

(6)计算表达式A+A*5的值,结果为_____。

(A)400;(B)240;(C)真; (D)假;

 

答案:

B

(7)计算表达式A

(A)40;(B)200;(C)160;(D)真;(E)假;

 

答案:

D

(8)计算表达式(X>Y)and(X<=Y)的值,结果为_____。

(A)真;(B)假;

 

答案:

B

解释:

本题考核表达式的计算。

(1)(A+(C–B)*3)/D=(40+(100-30)*3)/50=5,(A)选项正确;

(2)(A*A-B*B)+D=(40*40–30*30)+50=750,(D)选项正确;

(3)(A>B)=(40>30)为真,(BB)and(B

(4)(A>B+20)=(40>30+20)=(40>50)为假,(B+60B+20)or(B+60

(5)A+B+D=40+30+50=120,C>A+B+D为100>120为假,(D)选项正确;

(6)A+A*5=40+40*5=240,(B)选项正确;

(7)A*5=40*5=200,A

(8)X>Y与X<=Y不能同时成立,而要是“and”为真时,必须左右两边同时成立,所以(X>Y)and(X<=Y)为假,(B)选项正确;

具体内容请参考第六章视频之“计算机语言(程序)的基本构成要素(I)”以及第六章课件。

8.已知X=21,Y=15,Z=22,围绕这些已知条件回答问题:

(1)计算表达式((X>Y)or(Y>Z))and((X

结果为_____。

 

(A)真;(B)假;

 

答案:

A

(2)计算表达式((X>Y)AND(Y>Z))OR((X

结果为_____。

(A)真;(B)假;

 

答案:

B

(3)计算表达式((X>Y)AND(Y>Z))OR((X

结果为_____。

 

(A)真;(B)假;

 

答案:

A

(4)假设不知道X、Y的值,计算表达式(X>Y)and(X<=Y)的值,结果为_____。

 

(A)真;(B)假;

 

答案:

B

解释:

本题考核表达式的计算。

(1)(X>Y)=(21>15)为真,(Y>Z)=(15>22)为假,因此((X>Y)or(Y>Z))为真,(XY)or(Y>Z))and((X

(2)(X>Y)=(21>15)为真,(Y>Z)=(15>22)为假,因此((X>Y)and(Y>Z))为假,(XY)AND(Y>Z))OR((X

(3)(X>Y)=(21>15)为真,(Y>Z)=(15>22)为假,因此((X>Y)and(Y>Z))为假,(XY)AND(Y>Z))OR((X

(4)X>Y与X<=Y不能同时成立,而要是“and”为真时,必须左右两边同时成立,所以(X>Y)and(X<=Y)为假,(B)选项正确;

具体内容请参考第六章视频之“计算机语言(程序)的基本构成要素(I)”以及第六章课件。

9.读程序,并回答问题:

N=101;

IfN/2==0Then

N=N/2;

Else

N=N*3+1;

EndIf

该程序执行完成后,N的值为_____。

(A)101;(B)55.5;(C)304;(D)167.5;

 

答案:

C

解释:

本题考核分支结构。

已知N=101,则N/2=50不等于0,不符合If语句的条件,所以进入Else语句,N=N*3+1=101*3+1=304,所以(C)正确。

具体内容请参考第六章视频之“计算机语言(程序)的基本构成要素(I)”以及第六章课件。

10.已知程序如下,回答下列问题:

X=Z+Y;

IfY

X=X–Y;}

Else{

X=X–Z;}

X=X–Y;

IfX

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

解释:

本题考核算法与结构分析

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1