由机械语言到高级语言程序编写与编译练习题答案解析解析_第1页
由机械语言到高级语言程序编写与编译练习题答案解析解析_第2页
由机械语言到高级语言程序编写与编译练习题答案解析解析_第3页
由机械语言到高级语言程序编写与编译练习题答案解析解析_第4页
由机械语言到高级语言程序编写与编译练习题答案解析解析_第5页
已阅读5页,还剩13页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第6章由机械语言到高级语言:程序编写与编译

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

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

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

的语言为高级语言,而与机械硬件相关的语言则为低级语言;

(C)低级语言程序执行效率高是因为用低级语言编程时可以充分利用硬件的各类特殊

性,而高级语言则只能利用硬件的标准结构;

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

条指令来编程效率高出很多。

(E)上述有不正确的。

答案:A

解释:

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

(A)所有源程序最后都需被转换为机械语言程序,机械才能够执行,所以(A)错误;

(B)(C)和(D)的叙述都是正确的。

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

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

(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)。

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

五、关于普通计算机语言(或说程序)的大体组成要素,下列说法最完整的是。

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

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

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

(D)都不完整。

答案:C

解释:

本题考核程序的大体组成要素。

程序的大体组成要素包括常量与变量、表达式、语句和函数,所以(C)正确,(A)和(B)

叙述不完整。

具体内容请参考第六章视频之“计算机语言(程序)的大体组成要素(I)”和第六章课

件。

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

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

值;

(B)由常量、变显和各类比较运算符构造的表达式,被称为比较表达式,其结果只能为

逻辑“真”或“假”;

(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*5的值,结果为。

(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)为真,(B<C)=(30<100)为真,所以(A>B)and(B<

C)为真,(C)选项正确;

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

<100)=(90<100)为真,所以(A>B+20)or(B+60<C)为真,(C)选项正确;

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

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

(7)A*5=40*5=200,A〈A*5为4CK200为真,(D)选项正确;

(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<Y)or(Y<Z))的值,

结果为。

(A)真;(B)假;

答案:A

(2)计算表达式((X>Y)AND(Y>Z))OR((X<Y)AND(Y〈Z))的值,

结果为。

(A)真;(B)假;

答案:B

(3)计算表达式((X>Y)AND(Y>Z))OR((X<Z)AND(Y〈Z))的值,

结果为。

(A)真;(B)假;

答案:A

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

(A)真;(B)假;

答案:B

解释:

本题考核表达式的计算.

(D(X>Y)=(21>15)为真,(Y>Z)=(15>22)为假,因此((X>Y)or(Y>Z))为真,(X<Y)=

(21<15)为假,(Y(Z)二(15(22)为真,因此((X<Y)or(Y〈Z))为真,所以((X>Y)or(Y>Z))

and((X<Y)or(Y〈Z))为真,(A)选项正确;

(2)(X>Y)=(21>15)为真,(Y>Z)=(15>22)为假,因此((X〉Y)and(Y>Z))为假,(X<Y)=

(21Q5)为假,(Y〈Z)⑤15<22)为真,因此((X〈Y)and(Y<Z))为假,所以((X>Y)AND

(Y>Z))OR((X<Y)AND(Y<Z))为假,(B)选项正确;

(3)(X>Y)=(21〉15)为真,(Y〉Z)=(15>22)为假,因此((X>Y)and(Y>Z))为假,(X<Z)=

(21<22)为真,(Y<Z)=(15<22)为真,因此((X<Y)and(Y〈Z))为真,所以((X>Y)AND

(Y>Z))OR((X<Z)AND(Y<Z))为真,(A)选项正确;

(4)X>Y与X<=Y不能同时成立,而如果“and”为真时,必需左右两边同时成立,所

以(X>Y)and(X<=Y)为假,(B)选项正确;

具体内容请参考第六章视频之“计算机语言(程序)的大体组成要素G)”和第六章课

件。

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

N=101;

IfN/2==0Then

N=N/2;

Else

N=N*3+1;

EndIf

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

(A)101;(B);(0304:(D):

答案:C

解释:

本题考核分支结构。

已知N:101,则N/2=50不等于0,不符合If语句的条件,所以进入Else语句,N

=N*3+1=101*3+1=304,所以(C)正确。

具体内容请参考第六章视频之“计算机语言(程序)的大体组成要素G)”和第六章课

件。

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

X=Z+Y;

IfY<Z{

X=X-Y;}

Else(

X=X-Z;}

X=X-Y;

IfX<Z(X=Y+20;}

X=X-Z;

IfX>Y

{X=X-Y;}

(1)已知X=10,Y=20,Z=30该程序执行完成后,X的值为°

(A)1();(B)20;©30;(D)4();(E)_L述都不对。

答案:A

(2)已知X=10,Y=50,Z=30该程序执行完成后,X的值为。

(A)10;(B)20;;C)30;(D)40;(E)上述都不对。

答案:D

(3)已知己30,Y=30,Z=30该程序执行完成后,X的值为。

(A)10;(B)20:X)30;(D)40;(E)上述都不对。

答案:B

解释:

本题考核分支结构。

(1)程序开始执行,X=Z+Y=30+20=50,¥<Z=20<30为真,所以执行X

=X-Y=50-20=30,接着X=X-Y=30-20=10,X<Z=10<30为

真,所以执行X=Y+20=20+20=40,接着X=X-Z=40-30=10,X>Y=

10>20为假,所以程序结束,最终X=10,(A)正确。

(2)程序开始执行,X=Z+Y=30+50=80,Y<Z=50<30为假,所以执行X

=X-Z=80-30=50,接着X=X-Y=50-50=0,X<Z=0<30为真,

所以执行X=Y+20=50+20=70,接着X=X-Z=70-30=40,X>Y=40>50

为假,所以程序结束,最终X=40,(D)正确。

(3)程序开始执行,X=Z+Y=30+30=60,Y<Z=30<30为假,所以执行X

=X-Z=60-30=30,接着X=X-Y=30-30=0,X<Z=0<30为真,

所以执行X=Y+20=30+20=50,接着X=X-Z=50-30=20,X>Y=20>30

为假,所以程序结束,最终X=20,(B)正确。

具体内容请参考第六章视频之“计算机语言(程序)的大体组成要素(I)”和第六章课

件。

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

X=l;

Y=2;

Sum=0;

Do{Sum=X+Y;

X=X+1;

Y=Y+1;

}While(Sum<=20)

(1)该程序执行完成后,Sum的值为。

(A)20;(B)21;X)19;(D)18;

答案:B

(2)该程序执行完成后,X的值为。

(A)8;(B)9;(C;10;(D)11;

答案:I)

解释:

本题考核循环结构。

Do-While结构先执行一遍Do部份,然后判断是不是符合条件,若符合条件则接着执

行D。部份更至条件为假,此时程序结束。

(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,1=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=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循环从1=1到5共执行了5次,

程序行(60)是For循环中的一部份,所以也执行了5次,(B)正确。

具体内容请参考第六章视频之“计算机语言(程序)的大体组成要素(I)”和第六章课

件。

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

(10)K=0;

(20)I=2;

(30)While(1<=8)

(40){K=K+I;

(50)1=1+2;}

(1)该程序执行完成后,K的值为。

(A)35;(B)20:©36;(D)12;

答案:B

(2)程序行(40)执行了多少次?次数为。

(A)2;(B)4;⑹6;(D)8:

答案:B

解释:

本题考核循环结构.

(1)程序开始执行,I=2<=8,条件为真,执行K=K+I=0+2=2,1=1+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,1=1+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)正确。

⑵由⑴知,程序行:40)执行了4次,(B)正确。

具体内容请参考第六章视频之“计算机语言(程序)的大体组成要素(I)”和第六章课

件。

14.已知函数Fact的程序如下,回答下列问题:

LongIntFact(intn)

{LongIntx;

If(n>1)

{x=Fact(n-l);

returnn*x;}

elsereturn1;

)

(1)Fact(4)的值为o

(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;©44;(D)64;

答案:C

解释:

本题考核算法的循环结构

由程序分析可知,挪用函数4次,因此Fact(4)的值为44。

具体内容请参考第六章视频之“计算机语言(程序)的大体组成要素”和第六章课件。

⑵在执行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;

(B)sum=1!+2!+...+n!;

(C)sum=1+2+3+...+n;

(D)sum=l*2+2*3+:n-l)*n;

(E)上述都不正确。

答案:B

解释:

本题考核算法的分析及循环结构的分析

很明显是1到n的阶乘,选B。

具体内容请参考第六章视频之“计算机语言(程序)的大体组成要素”和第六章课件。

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

(10)main()

(20){intcounter:

(30)....*(N-1);

(B)product=1+2T+...+(N-l);

(C)product=1*3*5*...*(N-l);

(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;

(015,5;

(D)105,7;

(E)上述都不正确。

答案:C

解释:

本题考核算法与结构分析

在程序执行3次时,Product带入可知为15,Counter为5。

具体内容请参考第六章视频之“计算机语言(程序)的大体组成要素”和第六章课件。

18.已知如下多元素变量,回答下列问题:

⑴已知1=2;产4;则的值为。

(A)44;(B)83:(C)22;(D)21;(E)上述都不正确。

答案:A

解释:

本题考核数据结构及算:法分析。

(1)看表得知皿2][4]=44。

具体内容请参考第六章视频之“计算机语言(程序)的大体组成要素”和第六章课件。

(2)已知1=2;J=2;则MT4UJ+1]的值为o

(A)39;(B)11;(00;(D)16;(E)上述都不正确。

答案:C

解释:

本题考核数据结构及算法分析。

(2)看表得知M[3][3]=0。

具体内容请参考第六章视频之“计算机语言(程序)的大体组成要素”和第六章课件。

⑶已知1=1;J=l;则M[I+l][J]+2的值为o

(A)13;(B)47;(C)8;(D)10;(E)上述都不正确。

答案:B

解释:

本题考核数据结构及算法分析。

(3)看表得知M[2][l]+2-47。

具体内容请参考第六章视频之“计算机语言(程序)的大体组成要素”和第六章课件。

⑷执行下列程序,回答问题。

(10)intI=3,J;

(20)intSum1=0,Sum2=0;

(30)ForJ=1to4Step1

(40){Sumi=Sumi+M[I][J];

(50)Sum2=Sum2+M[J][I];}

上述程序执行完成后,Sumi和Sum2的值别离为。

(A)576,576;

(B)136,175;

(C)149,105;

(D)105,149;

(E)上述都不正确。

答案:C

解释:

本题考核数据结构及算法分析。

(4)4次循环Sumi=149,Sum2=105o

具体内容请参考第六章视频之“计算机语言(程序)的大体组成要素”和第六章课件。

⑸执行下列程序,回答问题。

(10)intJ;

(20)intSuml=0,Sum2=0;

(30)ForJ=1to4Step1

(40){Sumi=Sumi+M[J][J];

(50)Suin2-Sum2+M[5-J][5-J];}

上述程序执行完成后,Sumi和Sum2的值别离为。

(A)95,95;

(B)95,66;

(C)66,95;

(D)66,66;

(E)上述都不正确。

答案:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论