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

合集下载

大学计算机第6讲-由机器语言到高级语言-程序编写编译

大学计算机第6讲-由机器语言到高级语言-程序编写编译
X = X - Y; } Else {
X= X - Z; } X = X + Y; If X > Z { X = Y; } X = X - Z; If X>Y { X = X - Y; }
高级语言(程序)的基本构成要素 (4)分支结构?
语句与程序控制 分支 结构
X
315-30300
Y
50
Z
80
战德臣 教授
Harbin Institute of Technology
由机器语言到高级语言 (1)为什么需要计算机语言?
战德臣 教授
为什么程序编写越来越方便?
高级语言程序怎样才能被机器执行?
由机器语言到高级语言 (1)为什么需要计算机语言?
算法、计算机语言与计算机程序
步骤书写的规范、语法规则、标准的集合 是人和计算机都能理解的语言
“高级语言”怎样表达“程序”的要素?
高级语言(程序)的基本构成要素 (1)计算机语言程序的基本构成要素有哪些?
认识计算机语言程序
战德臣 教授
变量
保留字
“ 保留字”为编译器 识别和处理语句而确 定的一些特定符号
常量
K = 0;
For I =1 to 100 Step 1
{ If I<=50 && I > 30 语句 { K = K+I; }
计算机语言---汇编语言---汇编程序(编译器)
汇编语言程序处理过程
战德臣 教授
汇编 语言
用助记符号书写程 序的规范、语法规 则、标准的集合
是人和计算机都能 理解的语言
汇编语言 源程序
助记符号
转换规则
{ 助记符号,机器指令}

C语言程序设计试题及答案解析

C语言程序设计试题及答案解析

C语言程序设计试题第1、2、3章 概述、类型、表达式一、选择题1、 一个C程序由若干个C函数组成,各个函数在文件中的位置顺序为:( )A、 任意B、 第一个函数必须是主函数,其他函数任意C、 必须完全按照执行的顺序排列D、 其他函数可以任意,主函数必须在最后2、 下列四个叙述中,正确的是:( )A、 C程序中的所有字母都必须小写B、 C程序中的关键字必须小写,其他标示符不区分大小写C、 C程序中的所有字母都不区分大小写D、 C语言中的所有关键字必须小写3、 下列四个叙述中,错误的是:( )A、 一个C源程序必须有且只能有一个主函数B、 一个C源程序可以有多个函数C、 在C源程序中注释说明必须位于语句之后D、 C源程序的基本结构是函数4、 下面不是C语言合法标识符的是:( )A、abcB、5nC、_4mD、x35、 以下叙述不正确的是:( )A. 分号是C语句的必要组成部分B. C程序的注释可以写在语句的后面C. 函数是C程序的基本单位D. 主函数的名字不一定非用main来表示6、 C语言中允许的基本数据类型包括:( )A. 整型、实型、逻辑型B. 整型、实型、字符型C. 整型、字符型、逻辑型D. 整型、实型、逻辑型、字符型7、 C语言中能用八进制表示的数据类型为:( )A、字符型、整型B、整形、实型C、字符型、实型、双精度型D、字符型、整型、实型、双精度型8、 下列属于C语言合法的字符常数是:( )A、’\97’B、”A”C、’\t’D、”\0”9、 在C语言(VC环境)中,5种基本数据类型的存储空间长度的排列顺序为:( )A、char<int<=long int <=float<doubleB、char=int<long int <=float<doubleC、char<int<long int=float=doubleD、char=int=<long int <=float<double10、 在C语言中(VC环境),一定是长整型常数的是:( )A、0LB、4962710C、0412765D、0xa34b7fe11、 若有以下定义语句char c1=’b’, c2=’e’;printf(“%d,%c\n”,c2-c1,c2-‘a’+’A’);则输出结果是:( )A、2,MB、3,EC、2,ED、输出项与相应的格式控制不一致,输出结果不确定12、 以下合法的赋值语句是:( )A、x=y=100B、d--;C、x + yD、c = int(a+b);13、 设变量t为int型,下列选项中不正确的赋值语句是:( )A、++t;B、n1=(n2=(n3=0));C、k=i==m;D、a=b+c=1;14、 在以下一组运算符中,优先级最高的是:( )A、<=B、==C、%D、&&15、 下列能正确表示a≥10或a≤0的关系表达式是:( )A、a>=10 or a<=0B、a<=10 || a>=0C、a>=10 || a<=0D、a>=10 && a<=016、 下列只有当整数x为奇数时,其值为“真”的表达式是:( )A、x%2==0B、!(x%2==0)C、(x-x/2*2)==0D、! (x%2)17、 设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是:( )A、1 0< a < 15B、!(a<=10 || a>=15)C、a>10 && a<15D、!(a<=10) && !(a>=15)18、 已知x=43, ch=’A’,y=0;则表达式(x>=y&&ch<’B’&&!y)的值是:( )A、0B、语法错C、1D、“假”19、 表达式17%4 /8的值为:( )A、0B、1C、2D、320、 语句printf(“%d”,(a=2)&&(b= -2));的输出结果是:( )A、无输出B、结果不确定C、-1D、121、 一个可执行的C程序的开始执行点是:( )A. 程序中的第一个语句B. 包含文件中的第一个函数C. 名为main的函数D. 程序中的第一个函数22、 组成C语句的一个必不可少的符号是:( )A. 逗号B. 引号C. 冒号D. 分号23、 若将int、long、float等类型的数据进行混合运算,其结果的数据类型是:( )A. intB. longC. floatD. double24、 下述是C语言中有关变量定义的几个说法,正确的是:( )A. 变量可以不定义直接使用B. 一个说明语句只能定义一个变量C. 几个不同类型的变量可在同一语句中定义D. 变量可以在定义时进行初绐化25、 与x * = y + z等价的赋值表达式是:( )A. x = y + zB. x = x * y + zC. x = x * (y + z)D. x = x + y * z26、 当代电子计算机能够自动地处理指定的问题是因为:( )A.计算机是电动的B.有解决该问题的计算机程序C.事先存储了解决该问题的程序D.以上都不是27、 以下叙述中最准确的是:( )A.计算机程序是处理某一问题所有指令的集合B.计算机程序是处理某一问题所用到的所有数据的集合C.计算机程序是处理某一问题的所有指令及其数据的集合D.计算机程序是处理某一问题的所有指令及其数据的有序集合28、 关于计算机程序设计,以下描述最准确的是:( )A.程序设计就是用语言来编写程序B.程序设计就是用计算机语言来编写程序C.程序设计就是用计算机程序设计语言来编写程序D.程序设计就是用计算机能识别的语言来编写程序29、 目前编写计算机程序一般采用的是:( )A.机器语言 B.汇编语言 C.高级语言 D.英语30、 设计一个计算机程序最基本的工作是:( )A.制定正确的算法 B.选择合理的数据结构C.制定正确的算法和选择合理的数据结构 D.以上都不是31、 算法具有五个特性,以下选项中不属于算法特性的是:( )A.有穷性 B.简洁性 C.可行性 D.确定性32、 下述哪一个不是结构化程序基本结构:( )A.顺序 B.选择 C.循环 D.嵌套33、 C语言是一种:( )A.机器语言 B.汇编语言 C.高级语言 D.以上都不是34、 C语言源程序的扩展名为:( )A..exe B..c C..obj D..cpp35、 C程序编译后最终产生(即计算机执行)的文件的扩展名为()A..exe B..c C..obj D..cpp36、 下列各项中,不是C语言的特点是:( )A.语言简洁、紧凑,使用方便B.程序执行效率高,可移植性好C.能实现汇编语言的大多数功能D.有较强的网络操作功能37、 构成C语言源程序的基本单位是:( ) A.子程序 B.过程 C.文本 D.函数38、 下列叙述正确的是:( )A.C语言源程序可以直接在DOS环境中运行B.编译C语言源程序得到的目标文件可以直接在DOS环境中运行C.C语言源程序经过编译、连接得到的可执行程序可以直接在DOS环境中运行D.C语言源程序可以直接在VC++环境中运行39、 某C程序由一个主函数main()和一个自定义函数max()组成,则该程序:( )A.写在前面的函数先开始执行B.总是从main()函数开始执行C.总是从max()函数开始执行D.写在后面的函数先开始执行40、 以下叙述不正确的是:( )A.分号是C语句的必要组成部分B.C程序的注释可以写在语句的后面C.函数是C程序的基本单位D.主函数的名字不一定用mian表示41、 以下为C语句的是:( )A.a=8 B.a++; C.if(a>8) D.#include <stdio.h>以下不是C语句的是:( )A.a=8; B.a++; C.if(a>8); D.for(i=1;i<5;i++)42、 以下所列语句中,合法的语句是:( )A.a=1,b=2 B.++a; C.a=a+1=5 D.y=int(a);43、 C程序中的复合语句指的是:( )A.并列的多个C语句 B.写在同一行中的多个C 语句C.用一对大括号对括的多个C语句 D.就是函数体中的语句44、 当一个很长的C语句(中间无字符串)在一行写不下(超出屏幕的宽度)时,应该:( )A.由系统自动换行 B.立即按回车键换行C.在任意一个空格处按回车键换行D.输入一个分号后并按回车键换行换行45、 在x值处于-2~2,4~8时值为“真”,否则为“假”的表达式是:( )。

(完整版)高级语言与编译程序概述自测题

(完整版)高级语言与编译程序概述自测题

第一章高级语言与编译程序概述一、单项选择题1.将编译程序分成若干个“遍”是为了____。

A. 提高程序的执行效率B. 使程序的结构更加清晰C. 利用有限的机器内存并提高机器的执行效率D. 利用有限的机器内存但降低了机器的执行效率2.构造编译程序应掌握____。

A. 源程序B. 目标语言C. 编译方法D. 以上三项都是3.编译程序绝大多数时间花在____上。

A. 出错处理B. 词法分析C. 目标代码生成D. 管理表格4. ____不可能是目标代码。

A. 汇编指令代码B. 可重定位指令代码C. 绝对指令代码D. 中间代码5.使用____可以定义一个程序的意义。

A. 语义规则B. 词法规则C. 产生规则D. 左结合规则6.词法分析器的输入是____。

A. 单词符号B. 源程序C. 语法单位D. 目标程序7.中间代码生成时所遵循的是____。

A. 语法规则B. 词法规则C. 语义规则D. 等价变换规则8.编译程序是对____。

A. 汇编程序的翻译B. 高级语言程序的解释执行C. 机器语言的执行D. 高级语言的翻译9.词法分析应遵循____。

A. 语义规则B. 语法规则C. 构词规则D. 等价变换规则10.若源程序是高级语言编写的程序,目标程序是____,则称它为编译程序。

A. 汇编语言程序或高级语言程序B. 高级语言程序或机器语言程序C. 汇编语言程序或机器语言程序D. 连接程序或运行程序11.编译过程中,词法分析阶段的任务是____。

A.识别表达式B. 识别语言单词C. 识别语句D. 识别程序二、多项选择题:1.编译程序各阶段的工作都涉及到____。

A. 语法分析B. 表格管理C. 出错处理D. 语义分析E. 词法分析2.如果编译程序生成的目标程序是机器代码程序,则源程序的执行分为两大阶段:____和____。

A. 编译阶段B. 汇编阶段C. 运行阶段D. 置初值阶段3.编译程序工作时, 通常有____阶段。

编译原理练习题答案

编译原理练习题答案

一、填空题:1-01.编译程序的工作过程一般可以划分为词法分析,语法分析,语义分析,之间代码生成,代码优化等几个基本阶段,同时还会伴有表格处理和出错处理.1-02.若源程序是用高级语言编写的,目标程序是机器语言程序或汇编程序,则其翻译程序称为编译程序.1-03.编译方式与解释方式的根本区别在于是否生成目标代码.1-04.翻译程序是这样一种程序,它能够将用甲语言书写的程序转换成与其等价的用乙语言书写的程序. 1-05.对编译程序而言,输入数据是源程序,输出结果是目标程序.1-06.如果编译程序生成的目标程序是机器代码程序,则源程序的执行分为两大阶段: 编译阶段和运行阶段.如果编译程序生成的目标程序是汇编语言程序,则源程序的执行分为三个阶段: 编译阶段, 汇编阶段和运行阶段.1-07.若源程序是用高级语言编写的,目标程序是机器语言程序或汇编程序,则其翻译程序称为编译程序。

1-08.一个典型的编译程序中,不仅包括词法分析、语法分析、中间代码生成、代码优化、目标代码生成等五个部分,还应包括表格处理和出错处理。

其中,词法分析器用于识别单词。

1-09.编译方式与解释方式的根本区别为是否生成目标代码。

2-01.所谓最右推导是指:任何一步αβ都是对α中最右非终结符进行替换的。

2-02.一个上下文无关文法所含四个组成部分是一组终结符号、一组非终结符号、一个开始符号、一组产生式。

2-03.产生式是用于定义语法成分的一种书写规则。

2-04.设G[S]是给定文法,则由文法G所定义的语言L(G)可描述为:L(G)={x│S x,x∈V T*} 。

2-05.设G是一个给定的文法,S是文法的开始符号,如果S x(其中x∈V*),则称x是文法的一个句型。

2-06.设G是一个给定的文法,S是文法的开始符号,如果S x(其中x∈V T*),则称x是文法的一个句子。

3-01.扫描器的任务是从源程序中识别出一个个单词符号。

4-01.语法分析最常用的两类方法是自上而下和自下而上分析法。

编译原理(第2版)课后习题答案详解

编译原理(第2版)课后习题答案详解

第1 章引论第1 题解释下列术语:(1)编译程序(2)源程序(3)目标程序(4)编译程序的前端(5)后端(6)遍答案:(1)编译程序:如果源语言为高级语言,目标语言为某台计算机上的汇编语言或机器语言,则此翻译程序称为编译程序。

(2)源程序:源语言编写的程序称为源程序。

(3)目标程序:目标语言书写的程序称为目标程序。

(4)编译程序的前端:它由这样一些阶段组成:这些阶段的工作主要依赖于源语言而与目标机无关。

通常前端包括词法分析、语法分析、语义分析和中间代码生成这些阶段,某些优化工作也可在前端做,也包括与前端每个阶段相关的出错处理工作和符号表管理等工作。

(5)后端:指那些依赖于目标机而一般不依赖源语言,只与中间代码有关的那些阶段,即目标代码生成,以及相关出错处理和符号表操作。

(6)遍:是对源程序或其等价的中间语言程序从头到尾扫视并完成规定任务的过程。

第2 题一个典型的编译程序通常由哪些部分组成?各部分的主要功能是什么?并画出编译程序的总体结构图。

答案:一个典型的编译程序通常包含8 个组成部分,它们是词法分析程序、语法分析程序、语义分析程序、中间代码生成程序、中间代码优化程序、目标代码生成程序、表格管理程序和错误处理程序。

其各部分的主要功能简述如下。

词法分析程序:输人源程序,拼单词、检查单词和分析单词,输出单词的机内表达形式。

语法分析程序:检查源程序中存在的形式语法错误,输出错误处理信息。

语义分析程序:进行语义检查和分析语义信息,并把分析的结果保存到各类语义信息表中。

中间代码生成程序:按照语义规则,将语法分析程序分析出的语法单位转换成一定形式的中间语言代码,如三元式或四元式。

中间代码优化程序:为了产生高质量的目标代码,对中间代码进行等价变换处理。

目标代码生成程序:将优化后的中间代码程序转换成目标代码程序。

表格管理程序:负责建立、填写和查找等一系列表格工作。

表格的作用是记录源程序的各类信息和编译各阶段的进展情况,编译的每个阶段所需信息多数都从表格中读取,产生的中间结果都记录在相应的表格中。

编译原理课后习题解答

编译原理课后习题解答

〈句子〉=>〈主语〉〈谓语〉
=>〈主语〉〈动词〉〈直接宾语〉
=>〈主语〉〈动词〉〈冠词〉〈名词〉
=>〈主语〉〈动词〉〈冠词〉peanut
=>〈主语〉〈动词〉the peanut
=>〈主语〉ate the peanut
=>〈冠词〉〈形容词〉〈名词〉ate the peanut
=>〈冠词〉〈形容词〉 elephant ate the peanut
=>〈冠词〉big elephant ate the peanut
=> the big elephant ate the peanut
(B) 〈句子〉=>〈主语〉〈谓语〉
=>〈主语〉〈动词〉〈直接宾语〉
=>〈冠词〉〈形容词〉〈名词〉〈动词〉〈直接宾语〉
=>〈冠词〉〈形容词〉〈名词〉〈动词〉〈冠词〉〈名词〉
〈偶数字〉::=0 | 2 | 4 | 6 | 8
3. 写一文法,使其语言是偶整数的集合,但不允许有以 0 开头的偶整数。
解:G[〈偶整数〉]:
〈偶整数〉::= 〈符号〉〈单偶数〉|〈符号〉〈首数字〉〈数字串〉〈尾偶数〉
〈符号〉::= + | — |ε
〈单偶数〉::=2 | 4 | 6 | 8
〈尾偶数〉::= 0 |〈单偶数〉
S::= a(B)a B::= bB |b|ε ( 2 ) 文法[G〈S〉]: S ::= (A)(B) A::= aA|a B::= bB|b 6. 文法 G3[〈表达式〉]: 〈表达式〉::=〈项〉|〈表达式〉+〈项〉|〈表达式〉—〈项〉 〈项〉::=〈因子〉|〈项〉*〈因子〉|〈项〉/〈因子〉 〈因子〉::=(〈表达式〉)| i 试给出下列符号串的推导: i, (i), i*i, i*i+i, i*(i+i) 解:(1)〈表达式〉=>〈项〉 =>〈因子〉

高级语言程序设计(Python)习题与答案

高级语言程序设计(Python)习题与答案

一、单选题1、计算机为什么采用二进制,而非十进制作为数制的基础?A.因为二进制比十进制计算速度快B.因为二进制比十进制表示能力更强C.因为二进制数精度更高D.因为二进制数更容易被硬件存储和计算正确答案:D2、Python语言为什么被称为高级程序设计语言?A.因为它是编译型语言B.因为它是解释型语言C.因为它比低级语言更复杂D.因为它比低级语言更抽象正确答案:D3、关于Python语言的执行过程,描述正确的是?A.可以同时执行多条语句B.由解释器一条语句一条语句地执行C.执行过的语句将不会再被执行D.由编译器将源程序转化为机器语言,然后执行正确答案:B4、下列Python程序,没有错误的是?A.print 'Hello, ' print 'World!'B.print 'Hello, I\'m Tom.'C.print 'Hello, this's Tom.'D.Print 'Hello, World!'正确答案:B5、在Spyder IDE中编写Python程序,输出“Hello World”,要求将这两个单词分两行输出,以下哪个程序不正确?A.print 'HelloWorld'B.print 'Hello\nWorld'C.print 'Hello'print 'World'D.print "Hello\nWorld"正确答案:A6、执行下列语句,输出的结果是?x = 7.0y = 5print x % yA.1B.2C.1.0D.2.0正确答案:D7、能实现下面功能的程序是?接收用户输入的一个整数。

如果输入的是偶数,则输出“True”,否则输出“False”。

A.print not bool(raw_input() % 2)B.print int(raw_input()) % 2 == 0C.print int(raw_input()) % 2 == 1D.print bool(int(raw_input()) % 2)正确答案:B8、以下程序的输出结果是?y = 0for i in range(0, 10, 2):y += iprint yA.30B.20C.9D.10正确答案:B9、以下程序的输出结果是?number = 30if number % 2 == 0:print number, 'is even'elif number % 3 == 0:print number, 'is multiple of 3'A.30 is evenB.30 is multiple of 3C.程序出错D.30 is even30 is multiple of 3正确答案:A10、以下程序的输出结果是?x = 1y = -1z = 1if x > 0:if y > 0: print 'AAA'elif z > 0: print 'BBB'A.语法错误B.BBBC.AAAD.无输出正确答案:D11、下列程序的输出结果是:def foo():m = 1def bar():n = 2return m + nm = bar()print mfoo()A.1B.3C.程序出错D.2正确答案:B12、字符串s长度为奇数,则显示中间字符的表达式为?A.s[len(s)/2 - 1]B.s[len(s)/2 + 1]C.s[len(s)/2]D.s[(len(s) + 1)/2]正确答案:C13、关于元组数据结构,下面描述正确的是:A.元组不支持切片操作B.所有元素数据类型必须相同C.支持 in 运算符D.插入的新元素放在最后正确答案:C14、一个学生的信息包括:学号、姓名、年龄、性别、电话。

第6章程序设计语言习题与答案

第6章程序设计语言习题与答案

第六章习题(1)复习题1、简述自然语言与形式语言的概念以及区别、汇编语言与机器语言的概念及区别。

自然语言是某一社会发展中形成的一种民族语言,而形式语言是进行形式化工作的元语言,它是以数学和数理逻辑为基础的科学语言。

用机器指令形式编写的程序称为机器语言,用带符号或助记符的指令和地址代替二进制代码成为语言进化的目标。

这些使用助记符语言的语言后来就被称之为汇编语言。

(P135P136)2、什么是高级程序设计语言?它有什么特点?高级语言是汇编语言的一种抽象。

高级语言的设计目标就是使程序员摆脱汇编语言细节的繁琐。

高级语言同汇编语言都有一个共性,那就是:它们必须被转化为机器语言,这个转化的过程称为解释或编译。

(1)高级语言接近算法语言,易学、易掌握;(2)高级语言设计出来的程序可读性好,可维护性强,可靠性高;(3)高级语言与具体的计算机硬件关系不大,其程序可移植性好,重用率高;(4)高级语言自动化程度高,开发周期短,利于提高程序的质量。

(P138)3、列举程序设计语言的几种范型。

程序语言大致分为命令式程序设计语言、面向对象的程序设计语言、函数式程序设计语言和逻辑型程序设计语言等范型。

(P138-140)4、简述语言虚拟机。

提示:语言虚拟机是某种语言的解释器。

语言虚拟机是建立在硬件和操作系统之上,针对不同的硬件和操作系统有不同的虚拟机,通过语言虚拟机屏蔽掉硬件的差异。

这样使得硬件系统能够支持这种语言编写的程序的有效执行。

目前最流行的语言虚拟机是Java虚拟机。

(P147)5、计算机执行用高级语言编写的程序有哪些途径?它们之间的主要区别是什么?提示:主要有编译、解释等方式,也有两种方式的混合使用的形式。

编译是使用编译器将高级语言编写的源程序转换成计算机可以执行的机器语言可执行程序,也可以理解为用编译器产生可执行程序的动作。

编译方式是一次编译,然后执行程序可以反复多次执行。

解释是另一种将高级语言转换为可执行程序的方式。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第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、关于普通计算机语言(或者说程序)的基本构成要素,下列说法最完整的是。

2 / 17(A)常量与变量和表达式;(B)常量与变量、表达式和语句;(C)常量与变量、表达式、语句和函数;(D)都不完整。

答案:C解释:本题考核程序的基本构成要素。

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

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

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

(A)由常量、变量及各种算术运算符构造的表达式,被称为算术表达式,其结果为一数值;(B)由常量、变量和各种比较运算符构造的表达式,被称为比较表达式,其结果只能为逻辑“真”或“假”;(C)由常量、变量和各种逻辑运算符构造的表达式,被称为逻辑表达式,其结果只能为逻辑“真”或“假”;(D)比较表达式中不能含有算术表达式,逻辑表达式中可以含算术表达式。

(E)上述有不正确的。

答案:D解释:本题考核对“表达式”的理解。

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

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

7、已知40;30;100;50,逻辑“与”运算符为,“或”运算符为,“非”运算符为。

围绕这些已知条件回答问题:(1) 计算表达式(A + (C – B) *3) / D的值,结果为。

(A) 5; (B) -5; (C) 10;(D) 4;答案:A3 / 17(2) 计算表达式(A * A - B * B) + D的值,结果为。

(A) 70; (B) 150; (C) 570;(D) 750;答案:D(3) 计算表达式(A > B) (B < C )的值,结果为。

(A) 100; (B) 30; (C) 真;(D) 假;答案:C(4) 计算表达式(A > B +20 ) (B +60 < C )的值,结果为。

(A) 100; (B) 30; (C) 真;(D) 假;答案:C(5) 计算表达式C > A 的值,结果为。

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

4 / 17(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) (B < C )为真,(C)选项正确;(4)(A > B +20 ) = (40 > 30 +20 ) = ( 40 >50 )为假,(B + 60 < C) = (30 + 60 <100) = (90 < 100 )为真,所以(A > B +20 ) (B +60 < C ) 为真,(C)选项正确;(5) 40+30+50 = 120,C>为100>120为假,(D)选项正确;(6)*5=40+40*5=240,(B)选项正确;(7)A*5=40*5=200,A<A*5为40<200为真,(D)选项正确;(8)X>Y与X<不能同时成立,而要是“”为真时,必须左右两边同时成立,所以(X > Y)(X<) 为假,(B)选项正确;具体内容请参考第六章视频之“计算机语言(程序)的基本构成要素(I)”以及第六章课件。

8. 已知21, 15, 22,围绕这些已知条件回答问题:(1) 计算表达式 ((X>Y) (Y>Z)) ((X<Y) (Y<Z))的值,结果为。

(A) 真;(B) 假;答案:A(2) 计算表达式 ((X>Y) (Y>Z)) ((X<Y) (Y<Z))的值,结果为。

(A) 真;(B) 假;答案:B(3) 计算表达式 ((X>Y) (Y>Z)) ((X<Z) (Y<Z))的值,结果为。

(A) 真;(B) 假;5 / 17答案:A(4) 假设不知道X、Y的值,计算表达式(X > Y) (X<)的值,结果为。

(A) 真;(B) 假;答案:B解释:本题考核表达式的计算。

(1)(X>Y)=(21>15)为真,(Y>Z)=(15>22)为假,因此((X>Y) (Y>Z))为真,(X<Y) = (21<15)为假,(Y<Z)=(15<22)为真,因此((X<Y) (Y<Z))为真,所以((X>Y) (Y>Z)) ((X<Y) (Y<Z))为真,(A)选项正确;(2)(X>Y)=(21>15)为真,(Y>Z)=(15>22)为假,因此((X>Y) (Y>Z))为假,(X<Y) = (21<15)为假,(Y<Z)=(15<22)为真,因此((X<Y) (Y<Z))为假,所以((X>Y) (Y>Z)) ((X<Y) (Y<Z))为假,(B)选项正确;(3)(X>Y)=(21>15)为真,(Y>Z)=(15>22)为假,因此((X>Y) (Y>Z))为假,(X<Z) = (21<22)为真,(Y<Z)=(15<22)为真,因此((X<Y) (Y<Z))为真,所以((X>Y) (Y>Z)) ((X<Z) (Y<Z))为真,(A)选项正确;(4)X>Y与X<不能同时成立,而要是“”为真时,必须左右两边同时成立,所以(X > Y)(X<) 为假,(B)选项正确;具体内容请参考第六章视频之“计算机语言(程序)的基本构成要素(I)”以及第六章课件。

9. 读程序,并回答问题:N = 101;20N = 2;N = N * 3 +1;该程序执行完成后,N的值为。

(A) 101; (B) 55.5; (C) 304; (D) 167.5;答案:C解释:本题考核分支结构。

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

相关文档
最新文档