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

上传人:夺命阿水 文档编号:589622 上传时间:2023-09-01 格式:DOCX 页数:22 大小:38.57KB
返回 下载 相关 举报
由机械语言到高级语言程序编写与编译练习题答案解析解析.docx_第1页
第1页 / 共22页
由机械语言到高级语言程序编写与编译练习题答案解析解析.docx_第2页
第2页 / 共22页
由机械语言到高级语言程序编写与编译练习题答案解析解析.docx_第3页
第3页 / 共22页
由机械语言到高级语言程序编写与编译练习题答案解析解析.docx_第4页
第4页 / 共22页
由机械语言到高级语言程序编写与编译练习题答案解析解析.docx_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《由机械语言到高级语言程序编写与编译练习题答案解析解析.docx》由会员分享,可在线阅读,更多相关《由机械语言到高级语言程序编写与编译练习题答案解析解析.docx(22页珍藏版)》请在课桌文档上搜索。

1、第6章由机械语言到高级语言:程序编写与编译一、关于计算机语言,下列说法不正确的是。(八)所有源程序最后都需被转换为汇编语言程序,机械才能够执行;(B)所谓“高级语言”和“低级语言”是指其和机械硬件的相关程度,不涉及机械硬件的语言为高级语言,而与机械硬件相关的语言则为低级语言;(C)低级语言程序执行效率高是因为用低级语言编程时可以充分利用硬件的各类特殊性,而高级语言则只能利用硬件的标准结构;(D)高级语言编程效率高是因为其可用大粒度积木块来构造程序,比一行行语句、一条条指令来编程效率高出很多。(E)上述有不正确的。答案:A解释:本题考查对“计算机语言”的理解。(八)所有源程序最后都需被转换为机械

2、语言程序,机械才能够执行,所以(八)错误;(B)(C)和(D)的叙述都是正确的。具体内容请参考第六章视频之“从机械语言到汇编语言”和第六章课件。二、关于计算机语言,下列说法不正确的是。(八)汇编语言和机械语言是以指令为单位来编写程序;(B)高级语言是以语句为单位来编写程序,一条语句相当于若干条指令(或说条语句可用若干条指令来实现);(C)面向对象语言或可视化构造语言是以对象(类)为单位来编写程序,一个对象相当于若干条语句(或说一个对象可用若干条语句来实现);(D)咱们可以设计一种新语言,让用户以其更熟悉的对象(类)来编写源程序,然后提供一个编译器将该源程序转换成某种已普遍利用的高级语言源程序,

3、就可让机械执行该程序。(E)上述有不正确的。解释:本题考查对“计算机语言”的理解。(八)(B)(C)和(D)的叙述都是正确的,所以选择(E)。具体内容请参考第六章视频之“从机械语言到汇编语言”和第六章课件。3、关于计算机语言的编译,下列说法不正确的是。(八)需要“分词”,将其中的常量、变量名和保留字识别出来,并分类及编号;(B)需要识别每一条语句所对应的“模式”。任意语句的常量和变量名被归为“标识符”类别,而标识符与保留字的不同组合关系组成了语句的模式;计算机语言是由有限的语句模式组成的;(C)对每一种模式,都有相应的组合构造方式,即模式可被以为是由原子模式或说大体模式通过组合的方式构造出来的

4、,对原子模式或大体模式可以事前写好其相应的目口号言的指令或语句;(D)依照模式由原子模式的组合顺序,可将模式语句转换成目口号言的指令或语句;进一步依照分类及编号将常量、变量名代入形成最终的目口号言程序,完成编译;(E)上述有不正确的。答案:E解释:本题考核计算机语言编译的大体思想。(八)(B)(C)和(D)的叙述都是正确的,所以选择(E)o具体内容请参考第六章视频之“高级语言编译器-大体思想”和第六章课件。4、从语言编译角度看计算机语言,下列说法不正确的是。(八)计算机语言就是由标识符和保留字组成的,标识符是可由程序员按规则任意命名的符号,而保留字则是编译器识别语句模式的重要符号:(B)计算机

5、语言概念了大体元素的集合,和大体元素的组合构造规则,所谓大体元素即是指标识符和保留字,所谓组合构造规则即是指语句的书写模式,即不同标识符和保留字的组合规则;(C)标识符可以是常量、变量名,也可以是函数名;保留字可以是赋值符号如“=”、语句结束符号如“;”、大体运算符号如程序段落符号如“”等,保留字还可以是其他语句模式的标志性符号。(D)上述有不正确的。答案:D解释:本题考核从语言编译角度理解计算机语言。(八)(B)(C)的叙述都是正确的,所以选择(D)。具体内容请参考第六章视频之“高级语言编译器-大体思想”和第六章课件,五、关于普通计算机语言(或说程序)的大体组成要素,下列说法最完整的是。(八

6、)常量与变量和表达式;(B)常量与变量、表达式和语句;(C)常量与变量、表达式、语句和函数;(D)都不完整。答案:C解释:本题考核程序的大体组成要素。程序的大体组成要素包括常量与变量、表达式、语句和函数,所以(C)正确,(八)和(B)叙述不完整。具体内容请参考第六章视频之“计算机语言(程序)的大体组成要素(D”和第六章课件。六、关于表达式,下列说法不正确的是。(八)由常量、变量及各类算术运算符构造的表达式,被称为算术表达式,其结果为一数值;(B)由常量、变量和各类比较运算符构造的表达式,被称为比较表达式,其结果只能为逻辑“真”或“假”;(C)由常量、变量和各类逻辑运算符构造的表达式,被称为逻辑

7、表达式,其结果只能为逻辑“真”或“假”;(D)比较表达式中不能含有算术表达式,逻辑表达式中可以含算术表达式。(E)上述有不正确的。答案:D解释:本题考查对“表达式”的理解。比较表达式和逻辑表达式中都可以含算术表达式,所以(D)错误;(八)(B)和(C)的叙述都是正确的。具体内容请参考第六章视频之“计算机语言(程序)的大体组成要素(D”和第六章课件。7、已知AFO;B=30;C=100;D=50,逻辑“与”运算符为and,“或”运算符为。r,“非”运算符为not。围绕这些已知条件回答问题:(1)计算表达式(A+(C-B)*3)/D的值,结果为。(八)5;(B)-5;(C)10;(D)4;答案:A

8、(2)计算表达式(A*A-B*B)+D的值,结果为。(八)70;(B)150;(C)570;(D)750;答案:D(3)计算表达式(AB)and(BB+20)or(B+60A+B+D的值,结果为。(八)120;(B)100;(C)真;(D)假;答案:D(6)计算表达式AA*5的值,结果为。(八)400;(B)240;(C)真;(D)假;答案:B(7)计算表达式AY)and(XB)=(4030)为真,(BCC)=(30B)and(BB+20)=(4030+20)=(4050)为假,(B+60C)=(30+60100)=(90B+20)or(B+60A+B+D为100X20为假,(D)选项正确;(

9、6)A+A*5=40+40*5=240,(B)选项正确;(7)A*5=40*5=200,AA*5为40Y与XCY不能同时成立,而如果“and”为真时,必需左右两边同时成立,所以(XY)and(XY)or(YZ)and(XY)AND(YZ)OR(XY)AND(YY)AND(YZ)OR(XZ)AND(YY)and(XCY)的值,结果为。(八)真;(B)假;答案:B解释:本题考核表达式的计算。(1)(XY)=(2115)为真,(YZ)=(1522)为假,因此(XY)or(YZ)为真,(XY)=(2115)为假,(YZ)=(1522)为真,因此(XY)or(YY)or(YZ)and(XY)=(2115

10、)为真,(YZ)=(1522)为假,因此(XY)and(YZ)为假,(XVY)=(2K15)为假,(Ya)=(1522)为真,因此(XY)and(YY)AND(YZ)OR(XY)=(2115)为真,(YZ)=(1522)为假,因此(XY)and(YZ)为假,(XZ)=(2122)为真,(YZ)=(1522)为真,因此(XY)AND(YZ)OR(XY与XCY不能同时成立,而如果“and”为真时,必需左右两边同时成立,所以(XY)and(X=Y)为假,(B)选项正确;具体内容请参考第六章视频之“计算机语言(程序)的大体组成要素(I)”和第六章课件。(9) 程序,并回答问题:N=101;IfN2=0

11、ThenN=N/2;ElseN=N*3+1;EndIf该程序执行完成后,N的值为。(八)101;(B);(C)304;(D);答案:C解释:本题考核分支结构。己知N=101,则N/2=50不等于0,不符合If语句的条件,所以进入ElSe语句,N=N*3+1=101*3+1=304,所以(C)正确。具体内容请参考第六章视频之“计算机语言(程序)的大体组成要素(D”和第六章课件。10,已知程序如下,回答下列问题:X=Z+Y;IfYZX=x-Y;Else(X=X-Z;X=X-Y;IfXYX=X-Y;(1)已知X=10,Y=20,Z=30该程序执行完成后,X的值为。(八)10;(B)20;(C)30;

12、(D)40;(E)上述都不对。答案:A(2)已知X=10,Y=50,Z=30该程序执行完成后,X的值为。(八)10;(B)20;(C)30;(D)40;(E)上述都不对。答案:D(3)已知X=30,Y=30,Z=30该程序执行完成后,X的值为。(八)10;(B)20;(C)30;(D)40;(E)上述都不对。答案:B解释:本题考核分支结构。(1)程序开始执行,X=Z+Y=30+20=50,YZ=2030为真,所以执行X=X-Y=50-20=30,接着X=X-Y=30-20=10,XZ=10Y=1020为假,所以程序结束,最终X=10,(八)正确。(2)程序开始执行,X=Z+Y=30+50=80

13、,YZ=5030为假,所以执行X=X-Z=80-30=50,接着X=X-Y=50-50=0,XZ=0Y=4050为假,所以程序结束,最终X=40,(D)正确。(3)程序开始执行,X=Z+Y=30+30=60,YZ=3030为假,所以执行X=X-Z=60-30=30,接着X=X-Y=30-30=0,XZ=0Y=2030为假,所以程序结束,最终X=20,(B)正确。具体内容请参考第六章视频之“计算机语言(程序)的大体组成要素(I)”和第六章课件。11 .读程序,并回答问题:X=I;Y=2;Sum=O;DoSum=X+Y;X=X+1;Y=Y+1;While(Sum=20)(1)该程序执行完成后,SU

14、m的值为。(八)20;(B)21;(C)19;(D)18;答案:B(2)该程序执行完成后,X的值为。(八)8;(B)9;(C)10;(D)11;答案:D解释:本题考核循环结构。DOTVhile结构先执行一遍Do部份,然后判断是不是符合条件,若符合条件则接着执行Do部份直至条件为假,此时程序结束。(1)程序开始执行,Sum=X+Y=1+2=3,X=X+1=1+2=3,Y=Y+1=2+1=3,此时SUm=320,条件为假,程序结束。所以该程序执行完成后,SUln的值为21,(B)正确。(2)由题知,该程序执行完成后,X的值为H,(D)正确.具体内容请参考第六章视频之“计算机语言(程序)的大体组成要

15、素(I)”和第六章课件。12 .读程序,并回答问题:(10) N=6;(20) X=0;(30) Y=I;(40) ForI=1ToN-IStep1(50) Z=X+Y;(60) X=Y;(70) Y=Z;(80) NextI(1)该程序执行完成后,Z的值为。(八)3;(B)5;(C)8;(D)13:答案:C(2)程序行(60)执行了多少次?次数为。(八)4;(B)5;(C)6;(D)7;答案:B解释:本题考核循环结构。For循环条件是I从1到N-I,即从1到5,I=I时,Z=X+Y=O+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

16、+Y=l+2=3,X=Y=2,Y=Z=3;1=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=I到5共执行了5次,程序行(60)是For循环中的一部份,所以也执行了5次,(B)正确。具体内容请参考第六章视频之“计算机语言(程序)的大体组成要素(D”和第六章课件。13.读程序,并回答问题:(10) K=0;(20) I=2;(30) While(I=8)(40) K=K+I;(50) 1=1+2;(51) 程序执行完成后,K的值为。(八)35;(B)20;(C)

17、36;(D)12;答案:B(2)程序行(40)执行了多少次?次数为。(八)2;(B)4;(C)6;(D)8;答案:B解释:本题考核循环结构。(1)程序开始执行,I=2=8,条件为真,执行K=K+I=0+2=2,1=1+2=2+2=4;T=4=8,条件为真,执行K=K+I=2+4=6,I=I+2=4+2=6;T=6=8,条件为真,执行K=K+T=6+6=12,T=I+2=6+2=8;T=88,条件为假,程序结束。所以该程序执行完成后,K的值为20,(B)正确。(2)由(1)知,程序行(40)执行了4次,(B)正确。具体内容请参考第六章视频之“计算机语言(程序)的大体组成要素(1)”和第六章课件。

18、14.已知函数FaCt的程序如下,回答下列问题:1.ongIntFact(intn)(LongIntx;If(n1)x=Fact(n-l);returnn*x;elsereturn1;)(I)FaCt(4)的值为(八)10;(B)24;(C)120;(D)15;答案:B解释:(2)在执行FaCt(5)的进程中,FaCt函数被挪用的次数为。(八)3;(B)4;(C)5;(D)6;答案:C解释:本题考查对函数的理解和运用。(1)该程序是计算阶乘,即FaCt(n)=n!,该程序的流程图如图所示,所以Fact(4)=4!=24,(B)正确,具体进程如图(b)所示。(2)由题(D中图(b)知,在执行Fa

19、Ct(4)的进程中,FaCt函数被挪用了4次,所以在执行FaCt(5)时,FaCt函数会被挪用5次,(C)正确。具体内容请参考第六章视频之“计算机语言(程序)的大体组成要素(11)”和第六章课件。15.己知函数FaCt的程序如下,回答下列问题:1.ongIntFact(intn)LongIntx;If(n1)x=Fact(n-1);return(n+x)*2;elsereturn1;)(I)FaCt(4)的值为(八)14;(B)24;(C)44;(D)64;答案:C解释:本题考核算法的循环结构由程序分析可知,挪用函数4次,因此FaCt(4)的值为44。具体内容请参考第六章视频之“计算机语言(程

20、序)的大体组成要素”和第六章课件。(2)在执行FaCt(4)的进程中,Faet函数被挪用的次数为。(A) 3;(B)4;(C)5;(D)6;答案:B解释:本题考核算法的循环结构由程序分析可知,挪用函数4次,因此FaCt(4)的值为44。具体内容请参考第六章视频之“计算机语言(程序)的大体组成要素”和第六章课件。16.已知程序如下,回答下列问题:main()inti,n;longsum=0,p=1;*n;(B) sum=1!+2!+.+n!;(C) sum=1+2+3+.+n;(D) sum=l*2+2*3+(n-l)*n;(E)上述都不正确。答案:B解释:本题考核算法的分析及循环结构的分析很明

21、显是1到n的阶乘,选B。具体内容请参考第六章视频之“计算机语言(程序)的大体组成要素”和第六章课件。17.已知程序如下,回答下列问题:(10) main()(20) intcounter;(30) .*(N-1);(B) product=1+2+3+.+(NT);(C) product=1*3*5*.*(N-I);(D) product=1+3+5+.+(N-I);(E)上述都不正确。答案:C解释:由程序可知,为求1*3*5*.*(N-I)的值。具体内容请参考第六章视频之“计算机语言(程序)的大体组成要素”和第六章课件。(2)当程序行(60)执行了3次以后,PrOdUCt和CoUnter的值别

22、离为。(A) 105,5;(B) 15,7;(C) 15,5;(D) 105,7;(E)上述都不正确。答案:C解释:本题考核算法与结构分析在程序执行3次时,Product带入可知为15,Counter为5。具体内容请参考第六章视频之“计算机语言(程序)的大体组成要素”和第六章课件。18.已知如下多元素变量,回答下列问题:(D已知1=2;JM;则MIJ的值为。(八)44;(B)83;(C)22;(D)21;(E)上述都不正确。答案:A解释:本题考核数据结构及算法分析。(1)看表得知M24=440具体内容请参考第六章视频之“计算机语言(程序)的大体组成要素”和第六章课件。(2)已知1=2;J=2;

23、则MI+1J+1的值为O(八)39;(B)11;(C)0;(D)16:(E)上述都不正确。解释:本题考核数据结构及算法分析。(2)看表得知M33=0。具体内容请参考第六章视频之“计算机语言(程序)的大体组成要素”和第六章课件。(3)已知1=1:J=I;则MI+lJ+2的值为(八)13;(B)47;(C)8;(D)10;(E)上述都不正确。答案:B解释:本题考核数据结构及算法分析。(3)看表得知M2l+2=47具体内容请参考第六章视频之“计算机语言(程序)的大体组成要素”和第六章课件。(4)执行下列程序,回答问题。(10) intI=3,J;(20) intSuml=O,Sum2=0;(30)

24、ForJ=Ito4Step1(40) Suml=Suml+MIJ;(50) Sum2=Sum2+MJI;上述程序执行完成后,SUlnl和SUnI2的值别离为。(A) 576,576;(B) 136,175;(C) 149,105;(D) 105,149;(E)上述都不正确。解释:本题考核数据结构及算法分析。(4)4次循环SumI=I49,SUm2=105。具体内容请参考第六章视频之“计算机语言(程序)的大体组成要素”和第六章课件。(5)执行下列程序,回答问题。(10) intJ;(20) intSuml=O,Sum2=0;(30) ForJ=Ito4Step1(40) Suml=Suml+MJ

25、J;(50) Sum2=SUm2+M5-J5-J;)上述程序执行完成后,SUnll和SUm2的值别离为。(A) 95,95;(B) 95,66;(C) 66,95;(D) 66,66;(E)上述都不正确。答案:D解释:本题考核数据结构及算法分析。(5)4次循环SUlnl=66,SUm2=66。具体内容请参考第六章视频之“计算机语言(程序)的大体组成要素”和第六章课件。(6)执行下列程序,回答问题。(10) intJ;(20) intSuml=O,SUm2=0;(30) ForJ=Ito4Step1(40) Suml=Suml+MJJ;(50) Sum2=Sum2+M5-JJ;上述程序执行完成后

26、,SUml和SUm2的值别离为。(A) 95,95;(B) 95,66;(C) 66,95;(D) 66,66;(E)上述都不正确。答案:C解释:本题考核数据结构及算法分析。(6) 4次循环SUmI=66,Sum2=95具体内容请参考第六章视频之“计算机语言(程序)的大体组成要素”和第六章课件。19 .关于不同抽象层面的计算机,下列说法不正确的是。(八)实际机械层面之上,不同层次的计算机即是指各类层次的软件系统;(B)实际机械层面之上,不同层次的计算机,其本质是为用户提供一个计算机语言,用户可用该语言表达具体的操作需求,同时提供一个编译器将操作需求转换为机械可以执行的程序,最终实现用户的操作需

27、求:(C)不同抽象层次的计算机指的是各类抽象层次的硬件系统,只有硬件计算机才能被称为计算机;(D)上述有不正确的。答案:C解释:C选项中,不同抽象层次的计算机指的不仅是各类层次的硬件系统,一样包括软件系统,同理,不只有硬件计算机被称为计算机,比如虚拟机。所以C选项错误。具体内容请参考第六章视频之“不同抽象层级计算机(虚拟机械)”和第六章课件。20 .关于不同抽象层面的计算机,由低层向应用层(高层)的大体层次划分是。(八)实际机械微程序机械操作系统机械汇编语言机械高级语言机械;(B)高级语言机械汇编语言机械操作系统机械实际机械微程序机械;(C)微程序机械实际机械操作系统机械汇编语言机械高级语言机械;(D)上述有不正确的。答案:C解释:本题考核不同抽象层面计算机的概念。不同抽象层面的计算机,由低层向应用层(高层)的大体层次划分是微程序机械-实际机械操作系统机械汇编语言机械高级语言机械;所以C选项正确。具体内容请参考第六章视频之“不同抽象层级计算机(虚拟机械)”和第六章课件。

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

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号