[计算机类试卷]程序语言基础知识练习试卷1及答案与解析.doc
《[计算机类试卷]程序语言基础知识练习试卷1及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]程序语言基础知识练习试卷1及答案与解析.doc(17页珍藏版)》请在麦多课文档分享上搜索。
1、程序语言基础知识练习试卷 1及答案与解析 1 在 C语言中,可以用 typedef声明新的类型名来代替已有的类型名,比如有学生链表结点: typedef struct node int data; struct node * link; NODE, * LinkList; 下述说法正确的是 _。 ( A) NODE是结构体 struct node的别名 ( B) * LinkList也是结构体 struct node的别名 ( C) LinkList也是结构体 struct node的别名 ( D) LinkList等价于 node* 2 C+语言兼容 C语言,因此, _。 ( A) C+的关
2、键字与 C语言的关键字完全相同 ( B) C+的数据类型与 C语言的数据类型完全相同 ( C) CA+编译器能编译 c语言程序 ( D) C+编译器能把 C语言程序翻译成 C+程序 3 关于编译程序进行词法分析的说法中,不正确的是 _。 ( A)词法分析主要是扫描源程序并识别记号,指出出错行号 ( B)词法分析阶段过滤掉了源程序中的注 释 ( C)词法分析阶段单词间的空白被过滤掉了 ( D)词法分析阶段对制表或回车换行字符不作处理 4 下面的 C程序代码段在运行中会出现 _错误。 int i=0; while(i 10); i=i+1; ( A)语法 ( B)类型不匹配 ( C)变量定义 (
3、D)动态语义 5 在 C语言中, main()函数可以带两个形参 argc和 argv,其中 argv可以定义为_。 ( A) int argv; ( B) char*argy; ( C) char argv; ( D) char*argv; 6 C程序代码 “while(c=getchar()!=a)putchar(c); ”中存在 _错误。 ( A)调用 ( B)语法 ( C)逻辑 ( D)运行 7 根据乔姆斯基于 20世纪 50年代建立的形式语言的理论体系,文法被分为 4种类型,即 0型 (短语文法 )、 1型 (上下文有关文法 )、 2型 (上下文无关文法 )和 3型 (正规文法 )。
4、其中, 2型文法与 (1)等价,所以有足够的能力描述多数现今程序设计的语言的语法结构。一个非确定的有穷自动机必存在一个与之等价的 (2)。从文法描述语言的能力来说, (3)最强, (4)最弱,由 4类文法的定义可知 (5)必是 2型文法。 ( A)确定的有穷自动机 ( B)图灵机 ( C)非确定的下推自动机 ( D)非确定的有穷自动机 ( E)有穷自动机 ( A)确定的有穷自动机 ( B)图灵机 ( C)非确定的下推自动机 ( D)非确定的有穷自动机 ( E)有穷自动机 ( A) 0型文法 ( B) 1型文法 ( C) 2型文法 ( D) 3型文法 ( A) 0型文法 ( B) 1型文法 (
5、C) 2型文法 ( D) 3型文法 ( A) 0型文法 ( B) 1型文 法 ( C) 2型文法 ( D) 3型文法 12 与正规式 (a|b)*等价的正规式是 _。 ( A) a*b* ( B) b*a* ( C) (a*)|(b*) ( D) (a*b*)* 13 一种最早用于科学计算的程序设计语言是 (1);一种提供指针和指针操作且不存在布尔类型的、应用广泛的系统程序设计语言是 (2);一种适合在互联网上编写程序可在不同平台上运行的面向对象程序设计语言是 (3);一种在解决人工智能问题上使用最多、有较强表处理功能的函数程序设计语言是 (4);一种以谓词逻辑为基础的,核心是事实、规 则和推
6、理机制的实用逻辑程序设计语言是 (5)。 ( A) Alogo 68 ( B) Java ( C) Lisp ( D) Prolog ( E) Fortran ( A) C ( B) Alogo 68 ( C) Java ( D) Lisp ( E) Prolog ( A) Alogo 68 ( B) Java ( C) Lisp ( D) Prolog ( E) Fortran ( A) Alogo 68 ( B) Java ( C) Lisp ( D) Prolog ( E) Fortran ( A) Alogo 68 ( B) Java ( C) Lisp ( D) Prolog ( E
7、) Fortran 18 高级程序设计语言中用于描述程序中的运算步骤、控制结构及数据传输的是_。 ( A)语句 ( B)语义 ( C)语用 ( D)语法 19 若有 C语言语句 “char r1=“abcd“, r2=a,b,c,d”,则下列说法正确的是_。 ( A)数组 r1和数组 r2存放相同的字符串 ( B)数组 r1和数组 r2的长度相同 ( C)数组 r1的长度小于数组 r2的长度 ( D)数组 r1的长度大于数组 r2的 长度 20 考查下列文法: G(VT, VN, E, P) 其中: VsubT=+,*,(,),i); VN=E, T, F;E是开始符号; P为: EE+T|T
8、 TT*F|F F(E)|i F*F+T 是该文法的一个句型,其中 (1)是句柄, (2)是素短语, (3)是该句型的直接推导, (4)是该句型的最左推导,(5)是该文法的一个句子。 ( A) F ( B) F*F ( C) F+T ( D) F*F+T ( A) F ( B) F*F ( C) F+T ( D) F*F+T ( A) F*F+i ( B) F*F+T*F ( C) F*F+F*F ( D) i*i+T ( A) F*F+T*F ( B) F*F+T ( C) F*(E)+T ( D) (E)*F+T ( A) T+(i+i) ( B) i+(i+F) ( C) i ( D)
9、(E) 25 某 C语言程序中, x是一个浮点型变量, m是一个值为正整数的整型常量,表达式 x%m(x被 m除取余数 )在 (1)时会报错,这是一种 (2)错误。 ( A)编译 ( B)预处理 ( C)编辑 ( D)运行 ( A)词法 ( B)语法 ( C)语义 ( D)运行 27 函数 f()、 g()的定义如下所示,调 用函数 f时传递给形参 x的值为 5,若采用传值 (call by value)方式调用 g(a),则函数 f的返回值为 (1);若采用传引用 (call by reference)方式调用 g(a),则函数 f的返回值为 (2)。( A) 14 ( B) 16 ( C)
10、 17 ( D) 22 ( A) 15 ( B) 18 ( C) 22 ( D) 24 29 图 7-17是一有穷自动机的状态转换图,该自动机所识别语言的特点是 (1),等价的正规式为 (2)。 ( 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 31 在高级程序设计语言中, (1)可以出现在赋值符号的左边。结构化程序的基本控制结构有
11、 (2)。 ( A)变量 ( B)常量 ( C)函数名 ( D)过程名 ( A)赋值、子程序调用、输入输出 ( B)条件语句、循环语句、过程语句 ( C)顺序语句、选择语句、循环语句 ( D)复合、分支、重复、递归 程 序语言基础知识练习试卷 1答案与解析 1 【正确答案】 A 【试题解析】 其实题中的定义相当于下述两个定义: typedef struct node int data; struct node*link; NODE; typedef struct node int data; struct node*link; )*LinkList; 前者给 struct node取了个新名字
12、 NODE,即 struct node和 NODE是等价的;后者把 struct node*命名为 LinkList。 2 【正确答案】 C 【试题解析】 C+由 C语言发展而来, C+在 C语言的基础上扩展了面向对象部分。 C+的关键字与 C语言的关键字不完全相同, C+扩展了新的关键字,如关键字 new、 const, C语言中就没有 new、 const; C+的数据类型与 C语言的数据类型也不完全相同,如 C+中有逻辑布尔型 bool、类类型 class,而 C中没有。显然, C+编译器能编译 C语言程序,但反之则不一定行。 3 【正确答案】 D 【试题解析】 在词法分析阶段,其任务是
13、从左到右逐个字符地读入源程序,对构成源程序的字符流进行扫描和分解,从而识别出一个个单词 (也称单词符号或符号 )。这里所谓的单词,是指逻辑上紧密相连的一组字符,这些字符组合在一起才表示某一含义。比如标识符是由字母开头,后跟字母或数字组成的一种单词。保留字 (关键字或基 本字 )也是一种单词,此外还有算符等。在词法分析阶段,空白(由单词间的空格、制表或回车换行字符引起的空白 )和注释都被滤掉了。在识别保留字时,词法分析程序将每个标识符对照一张保留字表进行查询,若查着则为保留字,反之则认为是用户定义的标识符。可见,词法分析阶段是查不出拼错的保留字的。在词法分析阶段,如果不符合词法规则,比如标识符不
14、是以字母开头,就会进行错误处理,指出出错行号。从上述分析可知, D错误。 4 【正确答案】 D 【试题解析】 这道题实际上是考 while的循环体和空语句。若 while的循环体只有 一条语句,则可以不用花括号括起来,如果有多条就要用花括号括起来,表示这几条语句合起来是 while的循环体。空语句指的是只有一个分号的语句 “; ”,该语句什么事都不做。程序语言中的错误一般分为语法错误、逻辑错误。语法错误指的是语句违反了形式规定而造成的错误,在这种情况下,不能通过编译而运行,编译器一般会给出错误信息并指出错误所在的行;逻辑错误指的是程序含义上的错误,出现了逻辑混乱。逻辑错误经常在运行中才体现出来
15、,称为动态语义错误。从题中 “while(i 10); ”可看出, while用一条空语句做循环体,没有循环 终止条件,因此进入死循环,这是一种运行中出现的逻辑错误,为动态语义错误。题中将赋值语句 “i=i+1; ”用花括号括起来,引诱考生误将 “i=i+1; )”看成 while的循环体,这其实是 “烟幕弹 ”。 5 【正确答案】 B 【试题解析】 在 C语言中, main()函数可以带两个形参 argc和 argv,其中 argc存储参数个数, argv存储参数表。它们的定义格式是: main(int argc,char*argv)。 6 【正确答案】 B 【试题解析】 getchar()
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 程序语言 基础知识 练习 答案 解析 DOC
