ImageVerifierCode 换一换
格式:DOC , 页数:19 ,大小:52.50KB ,
资源ID:498854      下载积分:2000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-498854.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文([计算机类试卷]国家二级C语言机试(选择题)模拟试卷49及答案与解析.doc)为本站会员(testyield361)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

[计算机类试卷]国家二级C语言机试(选择题)模拟试卷49及答案与解析.doc

1、国家二级 C语言机试(选择题)模拟试卷 49及答案与解析 一、选择题 1 下列叙述中正确的是 ( A)程序执行的效率与数据的存储结构密切相关 ( B)程序执行的效率只取决于程序的控制结构 ( C)程序执行的效率只取决于所处理的数据量 ( D)以上说法均错误 2 下列与队列结构有关联的是 ( A)函数的递归调用 ( B)数组元素的引用 ( C)多重循环的执行 ( D)先到先服务的作业调度 3 以下叙述中正确的是 ( A) int* p1; int * p2; int *p3;都是合法的定义指针变量的 语句 ( B)指针变量只能通过求地址运算符( 与 p=0;是等价的语句 ( D)语句 p=NUL

2、L;执行后,指针 p指向地址为 0的存储单元 4 一个栈的初始状态为空。现将元素 1,2,3,A,B,C依次入栈,然后再依次出栈,则元素出栈的顺序是 ( A) 1,2,3,A,B,C ( B) C,B,A,1,2,3 ( C) C,B,A,3,2,1 ( D) 1,2,3,C,B,A 5 下面属于白盒测试方法的是 ( A) 等价类划分法 ( B)逻辑覆盖 ( C)边界值分析法 ( D)错误推测法 6 下面对对象概念描述正确的是 ( A)对象间的通信靠消息传递 ( B)对象是名字和方法的封装体 ( C)任何对象必须有继承性 ( D)对象的多态性是指一个对象有多个操作 7 软件设计中模块划分应遵循

3、的准则是 ( A)低内聚低耦合 ( B)高耦合高内聚 ( C)高内聚低耦合 ( D)以上说法均错误 8 下面描述中不属于数据库系统特点的是 ( A)数据共享 ( B)数据完整性 ( C)数据冗余度高 ( D)数据独立性高 9 数据库设计过程不包括 ( A)概念设计 ( B)逻 辑设计 ( C)物理设计 ( D)算法设计 10 在数据管理技术发展的三个阶段中,数据共享最好的是 ()。 ( A)人工管理阶段 ( B)文件系统阶段 ( C)数据库系统阶段 ( D)三个阶段相同 11 以下叙述中正确的是 ( A)程序必须包含所有三种基本结构才能成为一种算法 ( B)我们所写的每条 C语句,经过编译最终

4、都将转换成二进制的机器指令 ( C)如果算法非常复杂,则需要使用三种基本结构之外的语句结构,才能准确表达 ( D)只有简单算法才能在有限的操作步骤之后结束 12 以下叙述中正确的是 ( A)在算法设计时,可以把复杂任务分解成一些简单的子任务 ( B)在 C语言程序设计中,所有函数必须保存在一个源文件中 ( C)只要包含了三种基本结构的算法就是结构化程序 ( D)结构化程序必须包含所有的三种基本结构,缺一不可 13 以下叙述中正确的是 ( A)只能在函数体内定义变量,其他地方不允许定义变量 ( B)常量的类型不能从字面形式上区分,需要根据类型名来决定 ( C)预定义的标识符是 C语言关键字的一种

5、,不能另作它用 ( D)整型常量和实型常量都是数值型常量 14 以下叙述中正确的是 ( A)在 C程序中的八进制和十六进制,可以是浮点数 ( B)整型变量可以分为 int型、 short型、 long型和 unsigned型四种 ( C)八进制数的开头要使用英文字母 o,否则不能与十进制区分开 ( D)英文大写字母 X和英文小写字母 x都可以作为二进制数字的开头字符 15 以下叙述中正确的是 ( A)在 scanf函数中的格式控制字符串是为了输入数据用的,不会输出到屏幕上 ( B)在使用 scanf函数输入整数或实数时,输入数据之间只能用空格来分隔 ( C)在 printf函数中,各个输出项只

6、能是变量 ( D)使 用 printf函数无法输出百分号 % 16 以下叙述中正确的是 ( A)在 scanf函数的格式串中,必须有与输入项一一对应的格式转换说明符 ( B)只能在 printf函数中指定输入数据的宽度,而不能在 scanf函数中指定输入数据占的宽度 ( C) scanf函数中的字符串,是提示程序员的,输入数据时不必管它 ( D)复合语句也被称为语句块,它至少要包含两条语句 17 以下叙述中正确的是 ( A)逻辑 “或 “(即运算符 |)的运算级别比算术运算要高 ( B) C语言的关系表达式: 0 main() inta=2,4,6,8,*p=a,i; for(i=0;i4;i

7、+) ai=*p+; printf(“%dn“,a2); 程序的输出结果是 ( A) 2 ( B) 8 ( C) 4 ( D) 6 28 以下叙述中正确的是 ( A)语句 int a43 = 1,2, 4,5; 是错误的初始化形式 ( B)语句 int a43 = 1,2,4,5; 是错误的初始化形式 ( C)语句 int a3 = 1,2,4,5; 是错误的 初始化形式 ( D)在逻辑上,可以把二维数组看成是一个具有行和列的表格或矩阵 29 以下叙述中正确的是 ( A)字符串常量 “Hello“会被隐含处理成一个无名字符型数组,它有 5个元素 ( B)不能用字符串常量对字符数组名进行整体赋值

8、操作 ( C) char str7 = “string!“; 在语法上是合法的,运行也是安全的 ( D) char *str; str = “Hello“;与 char str; str = “Hello“;效果是一样的 30 以下叙述中正确的是 ( A)在语句 char str = “string!“;中,数组 str的大小等于字符串的长度 ( B)语句 char str10 = “string!“; 和 char str10 = “string!“; 并不等价 ( C)对于一维字符数组,不能使用字符串常量来赋初值 ( D)对于字符串常量 “string!“,系统已自动在最后加入了 0字符,

9、表示串结尾 31 设有定义 charstr=“Hello“; 则语句 printf(“%d%d“,sizeof(str),strlen(str); 的输出结 果是 ( A) 5,5 ( B) 6,6 ( C) 6,5 ( D) 5,6 32 在 32位编译器上,设有定义 char*str1=“Hello“,str2=“Hello“;, 则以下语句 printf(“%d%d“,sizeof(str1),sizeof(str2); 的输出结果是 ( A) 5 6 ( B) 5 5 ( C) 6 6 ( D) 4 6 33 以下叙述中正确的是 ( A)任何情况下都不能用函数名作为实参 ( B)函数既

10、可以直接调用自己,也可以间接调用自己 ( C)函数的递归调用不需要额外开销 ,所以效率很高 ( D)简单递归不需要明确的结束递归的条件 34 以下叙述中正确的是 ( A)函数的形式参数不属于局部变量 ( B)对于变量而言, “定义 “和 “说明 “这两个词实际上是同一个意思 ( C)在复合语句中不能定义变量 ( D)全局变量的存储类别可以是静态类 35 以下叙述中正确的是 ( A)在一个程序中,允许使用任意数量的 #include命令行 ( B)在包含文件中,不得再包含其他文件 ( C) #include命令行不能出现在程序文件的中间 ( D)虽然包含文件被修改了,包含该文件的源程序也 可以不

11、重新进行编译和连接 36 以下叙述中正确的是 ( A)函数的返回值不能是结构体类型 ( B)在调用函数时,可以将结构体变量作为实参传给函数 ( C)函数的返回值不能是结构体指针类型 ( D)结构体数组不能作为参数传给函数 37 以下叙述中正确的是 ( A)结构体数组名不能作为实参传给函数 ( B)结构体变量的地址不能作为实参传给函数 ( C)结构体中可以含有指向本结构体的指针成员 ( D)即使是同类型的结构体变量,也不能进行整体赋值 38 .设有如下的说明和定义 struct inta; char*s; x,*p= x.a=4; x.s=“hello“; 则以下叙述中正确的是 ( A) (p+

12、)- a与 p+- a都是合语法的表达式,但二者不等价 ( B)语句 +p- a; 的效果是使 p增 1 ( C)语句 +p- a; 的效果是使成员 a增 1 ( D)语句 *p- s+; 等价于 (*p)- s+; 39 下面关于位运算符的叙述,正确的是 ( A) |表示 “按位或 “的运算 ( B) #表示 “按位异或 “的运算 ( C) 执行后,指针 p并不是指向地址为 0的存储单元,而是具有一个确定的值 -“空 “。因此 A选项正确。 4 【正确答案】 C 【试题解析】 栈的修改是按后进先出的原则进行的,所以顺序应与入栈顺序 相反,故选 C。 5 【正确答案】 B 【试题解析】 白盒测

13、试法主要有逻辑覆盖、基本路径测试等。逻辑覆盖测试包括语句覆盖、路径覆盖、判定覆盖、条件覆盖、判断 -条件覆盖,选择 B。其余为黑盒测试法。 6 【正确答案】 A 【试题解析】 对象之间进行通信的构造叫做消息, A正确。多态性是指同一个操作可以是不同对象的行为, D错误。对象不一定必须有继承性, C错误。封装性是指从外面看只能看到对象的外部特征,而不知道也无须知道数据的具体结构以及实现操作, B错误。 7 【正确答案】 C 【试题解析 】 根据软件设计原理提出如下优化准则: 划分模块时,尽量做到高内聚、低耦合,保持模块相对独立性,并以此原则优化初始的软件结构。 一个模块的作用范围应在其控制范围之

14、内,且判定所在的模块应与受其影响的模块在层次上尽量靠近。 软件结构的深度、宽度、扇入、扇出应适当。 模块的大小要适中。 C正确。 8 【正确答案】 C 【试题解析】 数据库系统的特点为高共享、低冗余、独立性高、具有完整性等,C错误。 9 【正确答案】 D 【试题解析】 数据库设计过程 主要包括需求分析、概念结构设计、逻辑结构分析、数据库物理设计、数据库实施、数据库运行和维护阶段。答案为 D选项。 10 【正确答案】 C 【试题解析】 数据管理发展至今已经历了三个阶段:人工管理阶段、文件系统阶段和数据库系统阶段。其中最后一个阶段结构简单,使用方便逻辑性强物理性少,在各方面的表现都最好,一直占据数

15、据库领域的主导地位,所以选择 C。 11 【正确答案】 B 【试题解析】 C语言程序可以不包含三种基本结构 ,也可以包含其中的一种或多种 ,所以 A错误。三种基本结构可以表示任何复杂的算 法 ,所以 C错误。正确的算法 ,不管是简单算法还是复杂算法都可以在有限的操作步骤之后结束 ,这是算法的有穷性 ,所以 D错误。 12 【正确答案】 A 【试题解析】 C语言的程序中 ,函数不一定都放在同一个源文件中 ,可以分别放在不同源文件中 ,通过 #include命令来引用 ,所以 B错误。结构化程序可以包含三种基本结构中的一种或几种 ,所以 C,D错误。 13 【正确答案】 D 【试题解析】 变量可以

16、定义在函数体外也可以定义在函数体内 ,所以 A错误。常量的类型可以从字面形式上区分 ,比如 1为整型常量 ,1.0为实 型常量 ,a为字符型常量 ,所以 B错误。预定义的标识符不是 C语言的关键字 ,所以 C错误。 14 【正确答案】 B 【试题解析】 C程序中的实型常量只有十进制一种数制 ,所以 A错误。八进制数以 0打头 ,所以 C错误。 C语言中整数只有十进制、八进制、十六进制三种没有二进制数制 ,所以 D错误。 15 【正确答案】 A 【试题解析】 scanf函数中的格式控制字符串是为了输入数据用的 ,无论其中有什么字符 ,也不会输出到屏幕上 ,所以 A正确。 scanf()的格式控制

17、串可以使用其他非空白字符 ,如逗号 ,但在输入时必须输 入这些字符 ,以保证匹配就可以 ,所以 B错误。Printf函数可以输出常量也可以输出变量 ,所以 C错误。 Prinf函数可以用 “%“来输出百分号 %,所以 D错误。 16 【正确答案】 A 【试题解析】 在 printf和 scanf函数中都可以指定数据的宽度 ,所以 B错误。scanf()的格式控制串可以使用其他非空白字符 ,如逗号 ,但在输入时必须输入这些字符 ,以保证匹配 ,所以 C错误。复合语句可以由任意多条语句构成 ,可以使一条也可以没有 ,所以 D错误。 17 【正确答案】 D 【试题解析】 B选项中, (x 0)&(x

18、10)的值是 1或 0,条件是 x 0 并且 x 10。但是 0 x 10这种写法的结果任何时候都是 1; C选项中,逻辑 “非 “(即运算符 !)的运算级别是最高的; A选项中,算术运算符优先级较高,关系和逻辑运算符优先级较低。因此 D选项正确。 18 【正确答案】 B 【试题解析】 A选项中, if语句的嵌套没有规定层数; C选项中,可以在 else子句中再嵌套 if语句; D选项中,改变 if-else语句的缩进格式,不会改变程序的执行流程,需要注意 if和 else的配对问题。因此 B选项正确。 19 【 正确答案】 A 【试题解析】 B选项中, for语句中需要先求解先求解表达式 1

19、; C选项中, for语句使用最为灵活,它完全可以取代 while 语句; D选项中,对于死循环,也可以使用 for语句。因此 A选项正确。 20 【正确答案】 A 【试题解析】 break语句通常用在循环语句和开关语句中。当 break用于开关语句 switch中时 ,可使程序跳出 switch而执行 switch以后的语句;当 break语句用于do-while、 for、 while循环语句中时 ,可使程序终止循环而执行循环后面的语句, 即满足条件时便跳出循环。 continue语句的作用是跳过循环体中剩余的语句而强行执行下一次循环。 B、 C和 D三个选项中均有错误。因此 A选项正确。

20、 21 【正确答案】 C 【试题解析】 A选项中, 0表示结束; B选项中,字符常量是用单引号括起来的一个字符; D选项中, “是双引号符。因此 C选项正确。 22 【正确答案】 B 【试题解析】 A选项中,字符变量在定义时可以赋初值; C选项中,同一英文字母的大写和小写形式代表的是不同的字符常量; D选项中,转义字符以反斜线 “开头的。因此 B选项正确。 23 【正确答案】 C 【试题解析】 B选项中,函数调用时,函数名称是需要区分大小写的; A选项中,函数名不允许以数字开头; D选项中,在函数中允许有多个 return语句,但每次调用只能有一个 return 语句被执行。因此 C选项正确。

21、 24 【正确答案】 C 【试题解析】 B选项中,如果 p是指针变量,则 *p表示变量 p所指向的地址的值; A选项中,如果 p是指针变量,则 &p表示变量 p的地址; D选项中,如果 p是指针变量, *p+1表示将 p所指的值加上 1,而 *(p+1)表示的是先将指针右移一位再取所指向变量的值。因此 C选项正确。 25 【正确答案】 D 【试题解析】 B选项中,所谓函数类型是指函数返回值的类型。在语言中允许一个函数的返回值是一个指针 (即地址 ),这种返回指针值的函数称为指针型函数;C选项中,函数的参数不仅可以是整型、实型、字符型等数据,还可以是指针类型; A选项中,虽然不同基类型的指针变量

22、占用字节数是相同的 ,但是不能混用。因此 D选项正确。 26 【正确答案】 A 【试题解析】 B选项中,表达式 a+1不是非法的; C选项中, *(a+1)即指 a1;D选项中, *&a1不是非法的。因此 A选项正确。 27 【正确答案】 D 【试题解析】 本题通过语句 “*p=a“将一维数组 a 的首地址的值赋值给变量 p,即p的值为 2。执行 for循环, ai=*p+,指将 p的值赋给 ai后,再进行 +操作,因此 4次循环后 a2的值为 6。因此 D选项正确。 28 【正确答案】 D 【试题解析】 二维数组在初始化时,可以省略第 1维,但是不可以省略第 2维。可以为部分数组元素初始化。

23、 B选项、 C选项和 A选项内的初始化都没有错误。因此 D选项正确 29 【正确答案】 B 【试题解析】 字符串中的字符依次存储在内存中一块连续的区域内,并且把空字符 0自动附加到字符串的尾部作为字符串的结束标志。故字符个数为 n的字符串在内存中应占( n+1)个字节。选项 A中有 6个元素,其中包含结尾字符, C选项中字符串常量包含 8个字符,所以不能赋值在 str7中, D选项后者赋值错误。 30 【正确答案】 D 【试题解析】 字符串中的字符依次存储在内存中一块连续的区域内,并且把空字符 0自动附加到字符串的尾部作为字符串的结束标志。故字符个数为 n的字符串在内存中应占( n+1)个字节

24、。 B选项中两者等价, C选项中可以使用字符串常量来给一维字符数组赋值,就像 B选项中一样, A选项中数组长度比字符串长度小一个字节,字符串中包含隐含的结尾符。 31 【正确答案】 C 【试题解析】 本题考查 sizeof和 strlen对字符串的处理不同之处, sizeof求出字符串的字符个数,包括结尾符。 Strlen求出字符串的实际字符,不包括结尾符。所以答案为 6,5, C选项正确。 32 【正确答案】 D 【试题解析】 本题主要考查了指向字符串的指针和字符数组, str1为一个字符指针,所 以 sizeof为 4, str2为字符数组,其中包含 6个字符,所以答案为 4 6. 33

25、【正确答案】 B 【试题解析】 在某些情况下,函数名可以作为实参传递,所以 A选项错误。函数递归调用使用栈区来递归,需要额外开销,并且效率不高, C选项错误。递归调用需要明确指出递归结束条件,否则就陷入死循环了。 34 【正确答案】 D 【试题解析】 声明变量不分配空间,定义变量要分配空间,所以 B选项错误。符合语句中可以定义变量,所以 C选项错误。函数的形参属于局部变量,所以 A选项错误。 35 【正确答案】 A 【试题解析】 本题考查预处理中文件包含的概念,包含文件中可以包含其他文件, B选项错误, #include可以出现在程序文件的中间, C选项错误,包含文件被修改了,包含该文件的源程

26、序必须重新进行编译和连接。 36 【正确答案】 B 【试题解析】 本题考查结构体变量作为函数参数,函数返回可以是结构体类型,也可以是结构体类型的指针,结构体数组可以作为参数传给函数。 37 【正确答案】 C 【试题解析】 本题考查结构体变量作为函数参数,结构体变量的地址可以作为参数传给函数,结构体数组名就 是一个地址,可以传给函数,如果是同类型的结构体变量,可以整体赋值。 38 【正确答案】 C 【试题解析】 本题考查结构体变量的引用, +p- a的效果是使成员 a增 1,p+- a不合法, *p- s+为字符 e,与 (*p)- s+不等价。 39 【正确答案】 C 【试题解析】 本题考查位运算。 为按位异或, |为按位或, 表示按位取反。所以 C选项正确。 40 【正确答案】 B 【试题解析】 在 C语言中,或更精确地说成 C标准函数库中表示文件结束符( end of file)。在 while循环中以 EOF作为文件结束标志,这种以 EOF作为文件结束标志的文件,必须是文本文件。在文本文件中,数据都是以字符的 ASCII代码值的形式存放。我们知道, ASCII代码值的范围是 0255,不可能出现 -1,因此可以用 EOF作为文件结束标志。

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1