1、第6章 由机器语言到高级语言:程序编写与编译1、关于计算机语言,下列说法不正确的是_。(A)所有源程序最后都需被转换为汇编语言程序,机器才能够执行;(B)所谓“高级语言”和“低级语言 ”是指其和机器硬件的相关程度,不涉及机器硬件的语言为高级语言,而与机器硬件相关的语言则为低级语言; (C)低级语言程序执行效率高是因为用低级语言编程时可以充分利用硬件的各种特殊性,而高级语言则只能使用硬件的标准结构;(D)高级语言编程效率高是因为其可用大粒度积木块来构造程序,比一行行语句、一条条指令来编程效率高出很多。(E)上述有不正确的。答案:A解释:本题考核对“计算机语言”的理解。(A) 所有源程序最后都需被
2、转换为机器语言程序,机器才能够执行,所以(A)错误;(B)(C)和(D)的叙述都是正确的。具体内容请参考第六章视频之“从机器语言到汇编语言”以及第六章课件。2、关于计算机语言,下列说法不正确的是_。 (A)汇编语言和机器语言是以指令为单位来编写程序;(B)高级语言是以语句为单位来编写程序,一条语句相当于若干条指令( 或者说一条语句可用若干条指令来实现); (C)面向对象语言或可视化构造语言是以对象( 类)为单位来编写程序,一个对象相当于若干条语句(或者说一个对象可用若干条语句来实现) ;(D)我们可以设计一种新语言,让用户以其更熟悉的对象(类)来编写源程序,然后提供一个编译器将该源程序转换成某
3、种已广泛使用的高级语言源程序,就可以让机器执行该程序。(E)上述有不正确的。答案:E解释:本题考核对“计算机语言”的理解。(A)(B)(C)和(D) 的叙述都是正确的,所以选择 (E)。大学计算机-计算思维练习题集具体内容请参考第六章视频之“从机器语言到汇编语言”以及第六章课件。3、关于计算机语言的编译,下列说法不正确的是_。 (A)需要“分词 ”,将其中的常量、变量名和保留字识别出来,并分类及编号; (B)需要识别每一条语句所对应的“模式”。任意语句的常量和变量名被归为“标识符”类别,而标识符与保留字的不同组合关系构成了语句的模式;计算机语言是由有限的语句模式构成的; (C)对每一种模式,都
4、有相应的组合构造方法,即模式可被认为是由原子模式或说基本模式通过组合的方法构造出来的,对原子模式或者基本模式可以事先写好其相应的目标语言的指令或语句;(D)按照模式由原子模式的组合次序,可将模式语句转换成目标语言的指令或语句;进一步按照分类及编号将常量、变量名代入形成最终的目标语言程序,完成编译; (E)上述有不正确的。答案:E解释:本题考核计算机语言编译的基本思想。(A)(B)(C)和(D) 的叙述都是正确的,所以选择 (E)。具体内容请参考第六章视频之“高级语言编译器-基本思想”以及第六章课件。4、从语言编译角度看计算机语言,下列说法不正确的是_。 (A)计算机语言就是由标识符和保留字构成
5、的,标识符是可由程序员按规则任意命名的符号,而保留字则是编译器识别语句模式的重要符号; (B)计算机语言定义了基本元素的集合,以及基本元素的组合构造规则,所谓基本元素即是指标识符和保留字,所谓组合构造规则即是指语句的书写模式,即不同标识符和保留字的组合规则; (C)标识符可以是常量、变量名,也可以是函数名;保留字可以是赋值符号如“=”、语句结束符号如“;”、基本运算符号如“+”“- ”“*”“/”、程序段落符号如“ ”等,保留字还可以是其他语句模式的标志性符号。(D)上述有不正确的。答案:D解释:本题考核从语言编译角度理解计算机语言。(A)(B)(C)的叙述都是正确的,所以选择(D)。具体内容
6、请参考第六章视频之“高级语言编译器-基本思想”以及第六章课件。大学计算机-计算思维练习题集5、关于普通计算机语言(或者说程序 )的基本构成要素,下列说法最完整的是 _。 (A)常量与变量和表达式; (B)常量与变量、表达式和语句;(C)常量与变量、表达式、语句和函数;(D)都不完整。答案:C解释:本题考核程序的基本构成要素。程序的基本构成要素包括常量与变量、表达式、语句和函数,所以(C)正确,(A)和(B)叙述不完整。具体内容请参考第六章视频之“计算机语言(程序) 的基本构成要素 (I)”以及第六章课件。6、关于表达式,下列说法不正确的是_。(A)由常量、变量及各种算术运算符构造的表达式,被称
7、为算术表达式,其结果为一数值; (B)由常量、变量和各种比较运算符构造的表达式,被称为比较表达式,其结果只能为逻辑“真”或“假”;(C)由常量、变量和各种逻辑运算符构造的表达式,被称为逻辑表达式,其结果只能为逻辑“真”或“假”;(D)比较表达式中不能含有算术表达式,逻辑表达式中可以含算术表达式。(E)上述有不正确的。答案:D解释:本题考核对“表达式”的理解。比较表达式和逻辑表达式中都可以含算术表达式,所以(D)错误;(A)(B)和(C)的叙述都是正确的。具体内容请参考第六章视频之“计算机语言(程序) 的基本构成要素 (I)”以及第六章课件。7、已知A=40 ;B=30;C=100;D=50,逻
8、辑“与”运算符为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 B +20 ) or (B +60 A +B +D的值,结果为_。(A) 120; (B) 100; (C) 真; (D) 假;答案:D(
9、6) 计算表达式A + A * 5的值,结果为_。(A) 400; (B) 240; (C) 真; (D) 假;答案:B(7) 计算表达式A Y) and (X B)=(40 30)为真,(B B) and (B B +20 ) = (40 30 +20 ) = ( 40 50 )为假,(B + 60 B +20 ) or (B +60 A+B+D为100120 为假,(D)选项正确;(6) A+A*5=40+40*5=240,(B) 选项正确;(7) A*5=40*5=200,AY与X Y) and (XY) or (YZ) and (XY) AND (YZ) OR (XY) AND (YZ
10、) OR (X Y) and (XY)=(2115)为真,(YZ)=(1522)为假,因此(XY) or (YZ)为真,(XY) or (YZ) and (XY)=(2115)为真,(YZ)=(1522)为假,因此(XY) and (YZ)为假,(XY) AND (YZ) OR (XY)=(2115)为真,(YZ)=(1522)为假,因此(XY) and (YZ)为假,(XY) AND (YZ) OR (XY与X Y) and (XY X = X Y; (1)已知X=10, Y=20, Z=30该程序执行完成后,X的值为_。(A) 10; (B) 20; (C) 30; (D) 40; (E)
11、上述都不对。答案: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,Y Y = 1020为假,所以程序结束,最终X=10,(A)正确。(2) 程序开始执行,X = Z + Y = 30 + 50 =
12、80,Y Y = 4050为假,所以程序结束,最终X=40,(D)正确。(3) 程序开始执行,X = Z + Y = 30 + 30 = 60,Y Y = 2030为假,所以程序结束,最终X=20,(B) 正确。具体内容请参考第六章视频之“计算机语言(程序) 的基本构成要素 (I)”以及第六章课件。11. 读程序,并回答问题:X=1;Y=2; Sum=0;Do Sum = X+Y;X=X+1;Y=Y+1; While (Sum 20,条件为假,程序结束。所以该程序执行完成后,Sum 的值为21,(B)正确。(2) 由(1)题知,该程序执行完成后,X的值为11,(D)正确。具体内容请参考第六章视
13、频之“计算机语言(程序) 的基本构成要素 (I)”以及第六章课件。12. 读程序,并回答问题:(10) N = 6;(20) X = 0;(30) Y = 1;(40) For I = 1 To N-1 Step 1(50) Z = X + Y;(60) X = Y;(70) Y = Z;(80) Next I(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
14、= 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)
15、是For 循环中的一部分,所以也执行了 5次, (B)正确。具体内容请参考第六章视频之“计算机语言(程序) 的基本构成要素 (I)”以及第六章课件。13. 读程序,并回答问题:(10) K = 0;(20) I = 2;(30) While (I 8,条件为假,程序结束。所以该程序执行完成后,K 的值为 20,(B) 正确。(2)由(1)知,程序行(40) 执行了4次,(B)正确。具体内容请参考第六章视频之“计算机语言(程序) 的基本构成要素 (I)”以及第六章课件。14. 已知函数Fact的程序如下,回答下列问题:Long Int Fact(int n) Long Int x;大学计算机-计
16、算思维练习题集If (n 1) x = Fact(n-1); return n*x; else return 1; (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)中图
17、(b) 知,在执行 Fact(4)的过程中,Fact函数被调用了4次,所以在执行Fact(5) 时,Fact函数会被调用5次,(C) 正确。具体内容请参考第六章视频之“计算机语言(程序) 的基本构成要素 (II)”以及第六章课件。15. 已知函数Fact的程序如下,回答下列问题:Long Int Fact(int n) Long Int x;If (n 1) x = Fact(n-1); return (n+x)*2; else return 1; (1)Fact(4)的值为 _。(A) 14; (B) 24; (C) 44; (D) 64;答案:C大学计算机-计算思维练习题集解释:本题考核算
18、法的循环结构由程序分析可知,调用函数4次,因此Fact(4)的值为44。具体内容请参考第六章视频之“计算机语言(程序) 的基本构成要素 ”以及第六章课件。(2)在执行Fact(4) 的过程中,Fact函数被调用的次数为_。(A) 3; (B) 4; (C) 5; (D) 6;答案:B解释:本题考核算法的循环结构由程序分析可知,调用函数4次,因此Fact(4)的值为44。具体内容请参考第六章视频之“计算机语言(程序) 的基本构成要素 ”以及第六章课件。16. 已知程序如下,回答下列问题:main()int i, n;long sum = 0, p = 1; . /输入n值的语句,略for (i=
19、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) int counte
20、r;(30) . /输入N 值的语句,略(40) long product = 1; (50) for counter = 1 to N step 2 (60) product = product * counter; (70) return product; (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解释:本题考核算法与结构分析由程序
21、可知,为求1*3*5*.*(N-1)的值。具体内容请参考第六章视频之“计算机语言(程序) 的基本构成要素 ”以及第六章课件。(2)当程序行(60)执行了3次以后,Product和Counter的值分别为_。(A) 105,5; (B) 15,7; (C) 15,5; (D) 105,7;(E) 上述都不正确。大学计算机-计算思维练习题集答案:C解释:本题考核算法与结构分析在程序执行3次时,Product带入可知为15,Counter为5。具体内容请参考第六章视频之“计算机语言(程序) 的基本构成要素 ”以及第六章课件。18. 已知如下多元素变量,回答下列问题:(1)已知I=2;J=4;则MIJ
22、的值为_。(A) 44; (B) 83;(C) 22; (D) 21; (E)上述都不正确。 答案:A解释:本题考核数据结构及算法分析。(1)看表得知M24=44。具体内容请参考第六章视频之“计算机语言(程序) 的基本构成要素 ”以及第六章课件。(2)已知I=2;J=2;则MI+1J+1的值为_。(A) 39; (B) 11;(C) 0; (D) 16; (E)上述都不正确。 答案:C解释:本题考核数据结构及算法分析。(2)看表得知M33=0。具体内容请参考第六章视频之“计算机语言(程序) 的基本构成要素 ”以及第六章课件。(3)已知I=1;J=1;则MI+1J+2的值为_。(A) 13; (
23、B) 47;(C) 8; (D) 10; (E)上述都不正确。 大学计算机-计算思维练习题集答案:B解释:本题考核数据结构及算法分析。(3)看表得知M21+2=47。具体内容请参考第六章视频之“计算机语言(程序) 的基本构成要素 ”以及第六章课件。(4)执行下列程序,回答问题。(10) int I = 3,J;(20) int Sum1=0,Sum2=0;(30) For J=1 to 4 Step 1(40) Sum1 = Sum1 + MIJ; (50) Sum2 = Sum2 + MJI; 上述程序执行完成后,Sum1和Sum2的值分别为_。(A) 576, 576; (B) 136,
24、175;(C) 149,105; (D) 105,149; (E)上述都不正确。 答案:C解释:本题考核数据结构及算法分析。(4)4次循环Sum1=149,Sum2=105。具体内容请参考第六章视频之“计算机语言(程序) 的基本构成要素 ”以及第六章课件。(5)执行下列程序,回答问题。(10) int J;(20) int Sum1=0,Sum2=0;(30) For J=1 to 4 Step 1(40) Sum1 = Sum1 + MJJ; (50) Sum2 = Sum2 + M5-J5-J; 上述程序执行完成后,Sum1和Sum2的值分别为_。(A) 95,95; 大学计算机-计算思维
25、练习题集(B) 95,66;(C) 66,95; (D) 66,66; (E)上述都不正确。 答案:D解释:本题考核数据结构及算法分析。(5)4次循环Sum1=66,Sum2=66。具体内容请参考第六章视频之“计算机语言(程序) 的基本构成要素 ”以及第六章课件。(6)执行下列程序,回答问题。(10) int J;(20) int Sum1=0,Sum2=0;(30) For J=1 to 4 Step 1(40) Sum1 = Sum1 + MJJ; (50) Sum2 = Sum2 + M5-JJ; 上述程序执行完成后,Sum1和Sum2的值分别为_。(A) 95,95; (B) 95,6
26、6;(C) 66,95; (D) 66,66; (E)上述都不正确。 答案:C解释:本题考核数据结构及算法分析。(6)4次循环Sum1=66,Sum2=95。具体内容请参考第六章视频之“计算机语言(程序) 的基本构成要素 ”以及第六章课件。19. 关于不同抽象层面的计算机,下列说法不正确的是_。(A)实际机器层面之上,不同层次的计算机即是指各种层次的软件系统; (B)实际机器层面之上,不同层次的计算机,其本质是为用户提供一个计算机语言,用户可用该语言表达具体的操作需求,同时提供一个编译器将操作需求转换为机器可以执行大学计算机-计算思维练习题集的程序,最终实现用户的操作需求; (C)不同抽象层次
27、的计算机指的是各种抽象层次的硬件系统,只有硬件计算机才能被称为计算机;(D)上述有不正确的。答案:C解释:本题考核不同抽象层面计算机的概念。C选项中,不同抽象层次的计算机指的不仅是各种层次的硬件系统,同样包括软件系统,同理,不只有硬件计算机被称为计算机,比如虚拟机。所以C选项错误。具体内容请参考第六章视频之“不同抽象层级计算机(虚拟机器) ”以及第六章课件。20. 关于不同抽象层面的计算机,由低层向应用层(高层) 的基本层次划分是 _。(A)实际机器微程序机器操作系统机器汇编语言机器高级语言机器; (B)高级语言机器汇编语言机器操作系统机器实际机器微程序机器; (C)微程序机器实际机器操作系统机器汇编语言机器高级语言机器;(D)上述有不正确的。答案:C解释:本题考核不同抽象层面计算机的概念。不同抽象层面的计算机,由低层向应用层(高层) 的基本层次划分是微程序机器 -实际机器- 操作系统机器 -汇编语言机器 -高级语言机器;所以C选项正确。具体内容请参考第六章视频之“不同抽象层级计算机(虚拟机器) ”以及第六章课件。