【计算机类职业资格】软件设计师-程序语言基础知识及答案解析.doc
《【计算机类职业资格】软件设计师-程序语言基础知识及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】软件设计师-程序语言基础知识及答案解析.doc(14页珍藏版)》请在麦多课文档分享上搜索。
1、软件设计师-程序语言基础知识及答案解析(总分:32.00,做题时间:90 分钟)1.C 程序代码“while(c=getchar()!=a)putchar(c);”中存在_错误。(分数:1.00)A.调用B.语法C.逻辑D.运行图 7-17 是一有穷自动机的状态转换图,该自动机所识别语言的特点是 (1) ,等价的正规式为 (2) 。(分数:2.00)A.由符号 a、b 构成且包含偶数个 a 的串B.由符号 a、b 构成且开头和结尾符号都为 a 的串C.由符号 a、b 构成的任意串D.由符号 a、b 构成且 b 的前后必须为 a 的串A.(a|b)*(aa)*B.a(a|b)*aC.(a|b)*
2、D.a(ba)*a2.若有 C 语言语句“char r1=“abcd“,r2=a,b,c,d”,则下列说法正确的是_。(分数:1.00)A.数组 r1 和数组 r2 存放相同的字符串B.数组 r1 和数组 r2 的长度相同C.数组 r1 的长度小于数组 r2 的长度D.数组 r1 的长度大于数组 r2 的长度3.关于编译程序进行词法分析的说法中,不正确的是_。(分数:1.00)A.词法分析主要是扫描源程序并识别记号,指出出错行号B.词法分析阶段过滤掉了源程序中的注释C.词法分析阶段单词间的空白被过滤掉了D.词法分析阶段对制表或回车换行字符不作处理4.在 C 语言中,可以用 typedef 声明
3、新的类型名来代替已有的类型名,比如有学生链表结点:typedef struct nodeint data;struct node * link;NODE, * LinkList;下述说法正确的是_。(分数:1.00)A.NODE 是结构体 struct node 的别名B.* LinkList 也是结构体 struct node 的别名C.LinkList 也是结构体 struct node 的别名D.LinkList 等价于 node*5.高级程序设计语言中用于描述程序中的运算步骤、控制结构及数据传输的是_。(分数:1.00)A.语句B.语义C.语用D.语法函数 f()、g()的定义如下所示
4、,调用函数 f 时传递给形参 x 的值为 5,若采用传值(call by value)方式调用 g(a),则函数 f 的返回值为 (1) ;若采用传引用(call by reference)方式调用 g(a),则函数 f 的返回值为 (2) 。(分数:2.00)A.14B.16C.17D.22A.15B.18C.22D.246.在 C 语言中,main()函数可以带两个形参 argc 和 argv,其中 argv 可以定义为_。(分数:1.00)A.int argv;B.char*argy;C.char argv;D.char*argv;7.C+语言兼容 C 语言,因此,_。(分数:1.00)
5、A.C+的关键字与 C 语言的关键字完全相同B.C+的数据类型与 C 语言的数据类型完全相同C.CA+编译器能编译 c 语言程序D.C+编译器能把 C 语言程序翻译成 C+程序考查下列文法:G(VT,V N,E,P)其中:V T=+,*,(,),i);V N=E,T,F;E 是开始符号;P 为:EE+T|TTT*F|FF(E)|iF*F+T 是该文法的一个句型,其中 (1) 是句柄, (2) 是素短语, (3) 是该句型的直接推导, (4) 是该句型的最左推导, (5) 是该文法的一个句子。(分数:5.00)A.FB.F*FC.F+TD.F*F+TA.FB.F*FC.F+TD.F*F+TA.F
6、*F+iB.F*F+T*FC.F*F+F*FD.i*i+TA.F*F+T*FB.F*F+TC.F*(E)+TD.(E)*F+TA.T+(i+i)B.i+(i+F)C.iD.(E)在高级程序设计语言中, (1) 可以出现在赋值符号的左边。结构化程序的基本控制结构有 (2) 。(分数:2.00)A.变量B.常量C.函数名D.过程名A.赋值、子程序调用、输入输出B.条件语句、循环语句、过程语句C.顺序语句、选择语句、循环语句D.复合、分支、重复、递归根据乔姆斯基于 20 世纪 50 年代建立的形式语言的理论体系,文法被分为 4 种类型,即 0 型(短语文法)、1 型(上下文有关文法)、2 型(上下文
7、无关文法)和 3 型(正规文法)。其中,2 型文法与 (1) 等价,所以有足够的能力描述多数现今程序设计的语言的语法结构。一个非确定的有穷自动机必存在一个与之等价的 (2) 。从文法描述语言的能力来说, (3) 最强, (4) 最弱,由 4 类文法的定义可知 (5) 必是 2 型文法。(分数:5.00)A.确定的有穷自动机B.图灵机C.非确定的下推自动机D.非确定的有穷自动机E.有穷自动机F.线性有界自动机A.确定的有穷自动机B.图灵机C.非确定的下推自动机D.非确定的有穷自动机E.有穷自动机F.线性有界自动机A.0 型文法B.1 型文法C.2 型文法D.3 型文法A.0 型文法B.1 型文法
8、C.2 型文法D.3 型文法A.0 型文法B.1 型文法C.2 型文法D.3 型文法一种最早用于科学计算的程序设计语言是 (1) ;一种提供指针和指针操作且不存在布尔类型的、应用广泛的系统程序设计语言是 (2) ;一种适合在互联网上编写程序可在不同平台上运行的面向对象程序设计语言是 (3) ;一种在解决人工智能问题上使用最多、有较强表处理功能的函数程序设计语言是 (4) ;一种以谓词逻辑为基础的,核心是事实、规则和推理机制的实用逻辑程序设计语言是 (5) 。(分数:5.00)A.PascalB.AdaC.SmalltalkD.SnobolE.CF.Alogo 68G.JavaH.LispI.P
9、rologJ.FortranA.PascalB.AdaC.SmalltalkD.SnobolE.CF.Alogo 68G.JavaH.LispI.PrologJ.FortranA.PascalB.AdaC.SmalltalkD.SnobolE.CF.Alogo 68G.JavaH.LispI.PrologJ.FortranA.PascalB.AdaC.SmalltalkD.SnobolE.CF.Alogo 68G.JavaH.LispI.PrologJ.FortranA.PascalB.AdaC.SmalltalkD.SnobolE.CF.Alogo 68G.JavaH.LispI.Prolo
10、gJ.Fortran8.与正规式(a|b)*等价的正规式是_。(分数:1.00)A.a*b*B.b*a*C.(a*)|(b*)D.(a*b*)*9.下面的 C 程序代码段在运行中会出现_错误。int i=0;while(i10);i=i+1;(分数:1.00)A.语法B.类型不匹配C.变量定义D.动态语义某 C 语言程序中,x 是一个浮点型变量,m 是一个值为正整数的整型常量,表达式 x%m(x 被 m 除取余数)在 (1) 时会报错,这是一种 (2) 错误。(分数:2.00)A.编译B.预处理C.编辑D.运行A.词法B.语法C.语义D.运行软件设计师-程序语言基础知识答案解析(总分:32.0
11、0,做题时间:90 分钟)1.C 程序代码“while(c=getchar()!=a)putchar(c);”中存在_错误。(分数:1.00)A.调用B.语法 C.逻辑D.运行解析:getchar()用于接收键盘输入的字符,其值为键入的字符,putchar(c)用于在屏幕显示字符,c 可以是字符类型也可以是整型变量。C 语言中,不等号“!=”的优先级高于赋值符号“=”,因此c=getchar()!=a相当于 c=(getchar()!=a),而“getchar()!=a”是个逻辑表达式,如果键入的是a,则该表达式的值为 0,否则为 1。程序代码中的错误可分为语法错误和语义错误。程序语言的语法表
12、述的是语言的形式,或者说是语言的样子和结构。程序语言还有更重要的一个方面,就是附着于语言结构上的语义。语义揭示了程序本身的含义、施加于语言结构上的限制或者要执行的动作。程序语言的语义分为静态语义和动态语义。编译时进行的是静态语义的分析,主要包括:检查语言结构的语义是否正确,即是否结构正确的句子所表示的意思也合法;执行规定的语义动作,如表达式的求值、符号表的填写、中间代码的生成等。题目中 while 后面的括号显然没有匹配,少了一个右括号,这属于一种语法错误。运行错误是指程序能运行,在运行中出现错误。该代码不能通过编译,无法运行。图 7-17 是一有穷自动机的状态转换图,该自动机所识别语言的特点
13、是 (1) ,等价的正规式为 (2) 。(分数:2.00)A.由符号 a、b 构成且包含偶数个 a 的串B.由符号 a、b 构成且开头和结尾符号都为 a 的串 C.由符号 a、b 构成的任意串D.由符号 a、b 构成且 b 的前后必须为 a 的串解析:A.(a|b)*(aa)*B.a(a|b)*a C.(a|b)*D.a(ba)*a解析:从图中可明显看出:从 0 状态输入 a 可以到达 1 状态,从 1 状态输入 a 或 b,可以回到 1 状态,同时输入 a 也可以到 2 状态。这样的过程可以用正规式 a(a|b)*a 来表达。这样的正规式的含义为:以 a 开头和结尾,中间部分由 a、b 组成
14、的串。所以此题的答案为:B,B。2.若有 C 语言语句“char r1=“abcd“,r2=a,b,c,d”,则下列说法正确的是_。(分数:1.00)A.数组 r1 和数组 r2 存放相同的字符串B.数组 r1 和数组 r2 的长度相同C.数组 r1 的长度小于数组 r2 的长度D.数组 r1 的长度大于数组 r2 的长度 解析:其实这道题所考查的知识点是大多数人在编写程序时常犯的一个错误。很多人觉得 r1 和 r2 只是赋值形式不同,其结果一致。这种想法是错误的,r1 的初值是一个字符串,所以系统会自动为其加上一个字符串结束符/0,因此 r1 的长度为 5,而 r2 的长度为 4。注意,这里
15、比较的是数组 r1 和 r2 的大小(长度),而不是存储在其中的字符串的有效长度。由于 r2 没有结束字符/0,因此 strlen(r2)输出不定,不是预期的 4,一般输出的是 8,依具体机器而定。利用 sizeof 运算符可以计算出 r1、r2 的长度,sizeof(r1)输出的是 5,sizeof(r2)则输出 4,表示r1、r2 分别占 5、4 个字节的内存空间。3.关于编译程序进行词法分析的说法中,不正确的是_。(分数:1.00)A.词法分析主要是扫描源程序并识别记号,指出出错行号B.词法分析阶段过滤掉了源程序中的注释C.词法分析阶段单词间的空白被过滤掉了D.词法分析阶段对制表或回车换
16、行字符不作处理 解析:在词法分析阶段,其任务是从左到右逐个字符地读入源程序,对构成源程序的字符流进行扫描和分解,从而识别出一个个单词(也称单词符号或符号)。这里所谓的单词,是指逻辑上紧密相连的一组字符,这些字符组合在一起才表示某一含义。比如标识符是由字母开头,后跟字母或数字组成的一种单词。保留字(关键字或基本字)也是一种单词,此外还有算符等。在词法分析阶段,空白(由单词间的空格、制表或回车换行字符引起的空白)和注释都被滤掉了。在识别保留字时,词法分析程序将每个标识符对照一张保留字表进行查询,若查着则为保留字,反之则认为是用户定义的标识符。可见,词法分析阶段是查不出拼错的保留字的。在词法分析阶段
17、,如果不符合词法规则,比如标识符不是以字母开头,就会进行错误处理,指出出错行号。从上述分析可知,D 错误。4.在 C 语言中,可以用 typedef 声明新的类型名来代替已有的类型名,比如有学生链表结点:typedef struct nodeint data;struct node * link;NODE, * LinkList;下述说法正确的是_。(分数:1.00)A.NODE 是结构体 struct node 的别名 B.* LinkList 也是结构体 struct node 的别名C.LinkList 也是结构体 struct node 的别名D.LinkList 等价于 node*解
18、析:其实题中的定义相当于下述两个定义:typedef struct nodeint data;struct node*link;NODE;typedef struct nodeint data;struct node*link;)*LinkList;前者给 struct node 取了个新名字 NODE,即 struct node 和 NODE 是等价的;后者把 struct node*命名为LinkList。5.高级程序设计语言中用于描述程序中的运算步骤、控制结构及数据传输的是_。(分数:1.00)A.语句 B.语义C.语用D.语法解析:高级程序设计语言中用于描述程序中的运算步骤、控制结构及
19、数据传输的是语句,例如 for 语句、switch 语句。程序设计语言的语法指的是该语言中的语句、声明及其他语言结构的书写规范或规则,例如 C 语言中一个完整的语句后面不得遗漏分号。语义指的是语法结构的含义。一般地,在程序语言手册中,先给出各种语句结构的语法,然后给出该结构的语义以描述其内在含义。语用是程序语言与其使用之间的关系,通俗地说就是如何使用程序语言。函数 f()、g()的定义如下所示,调用函数 f 时传递给形参 x 的值为 5,若采用传值(call by value)方式调用 g(a),则函数 f 的返回值为 (1) ;若采用传引用(call by reference)方式调用 g(
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 软件 设计师 程序语言 基础知识 答案 解析 DOC
