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

上传人:confusegate185 文档编号:503407 上传时间:2018-11-29 格式:DOC 页数:27 大小:74.50KB
下载 相关 举报
[计算机类试卷]国家二级(C语言)笔试模拟试卷243及答案与解析.doc_第1页
第1页 / 共27页
[计算机类试卷]国家二级(C语言)笔试模拟试卷243及答案与解析.doc_第2页
第2页 / 共27页
[计算机类试卷]国家二级(C语言)笔试模拟试卷243及答案与解析.doc_第3页
第3页 / 共27页
[计算机类试卷]国家二级(C语言)笔试模拟试卷243及答案与解析.doc_第4页
第4页 / 共27页
[计算机类试卷]国家二级(C语言)笔试模拟试卷243及答案与解析.doc_第5页
第5页 / 共27页
点击查看更多>>
资源描述

1、国家二级( C语言)笔试模拟试卷 243 及答案与解析 1 下面关于对象概念的描述中,错误的是 ( A)对象就是 C语言中的结构体变量 ( B)对象代表着正在创建的系统中的一个实体 ( C)对象是一个状态和操作 (或方法 )的封装体 ( D)对象之间的信息传递是通过消息进行的 2 设计程序时,应采纳的原则之一是 ( )。 ( A)程序的结构应有助于读者的理解 ( B)限制 GOTO语句的使用 ( C)减少或取消注释行 ( D)程序越短越好 3 数据的存储结构是指 ( A)数据所占的存储空间量 ( B)数据 的逻辑结构在汁算机中的表示 ( C)数据在计算机中的顺序存储方式 ( D)存储在外存中的

2、数据 4 程序设计方法要求在程序设计过程中, ( )。 ( A)先编制出程序,经调试使程序运行结果正确后再画出程序的流程图 ( B)先编制出程序,经调试使程序运行结果正确后再在程序中的适当位置处加注释 ( C)先画出流程图,再根据流程图编制出程序,最后经调试使程序运行结果正确后再在程序中的适当位置处加注释 ( D)以上 3种说法都不对 5 设有下列二叉树: 对此二叉树中序遍历的结果为_。 ( A) ABCDEF ( B) DBEAFC ( C) ABDECF ( D) DEBFCA 6 在下列选项中, _不是一个算法一般应该具有的基本特征。 ( A)确定性 ( B)可行性 ( C)无穷性 (

3、D)拥有足够的情报 7 概要设计是软件系统结构的总体设计,以下选项中不属于概要设计的是 ( )。 ( A)把软件划分成模块 ( B)确定模块之间的调用关系 ( C)确定各个模块的功能 ( D)设计每个模块的伪代码 8 在数据结构中,从逻辑上可以把数据结构分为 _。 ( A)动态结构和静态结构 ( B)紧凑结构和非紧凑结构 ( C)线性结构和非线性结构 ( D)内部结构和外部结构 9 算法的时间复杂度是指 _。 ( A)执行算法程序所需要的时间 ( B)算法程序的长度 ( C)算法执行过程中所需要的基本运算次数 ( D)算法程序中的指令条数 10 数据独立性是数据库技术的重要特点之一,所谓数据独

4、立性是指 _。 ( A)数据与程序独立存放 ( B)不同的数据被存放在不同的文件中 ( C)不同的数据只能被对应的应用程序所使用 ( D)以上三种说法都不对 11 下列程序输出的结果 是 ( )。 main() int a; a=-4+4*5-6;printf(“%d“,a); a=4+4%5-6;printf(“%d“,a); a=-3+4%6/5;printf(“%d“,a); a=(7+6)%5/2;printf(“%d“,a); ( A) 102-3 1 ( B) 10-22 1 ( C) 11-22 1 ( D) 1022 1 12 以下说法正确的是 ( )。 ( A)宏定义是 C语

5、句,要在行 末加分号 ( B)可以使用群 undefine提前结束宏名的使用 ( C)在进行宏定义时,宏定义不能嵌套 ( D)双引号中出现的宏名也要进行替换 13 若函数调用时的实参为变量,以下关于函数形参和实参的叙述中正确的是( )。 ( A)函数的实参和其对应的形参共占同一存储单元 ( B)形参只是形式上的存在,不占用具体存储单元 ( C)同名的实参和形参占同一存储单元 ( D)函数的形参和实参分别占用不同的存储单元 14 定义结构体数组 struct Stu int num; char name20; x51=1, “ZHAO”,2, “QIAN”,3, “SUN”,4, “LEE”,5

6、, “ZHOU”; for(i=1; inext; while(p)s+=p-data; p=p-next; return(s); 52 以下程序运行后的输出结果是 _。 int fun(int a) int b=0; static int c=3; b+: c+; return(a+b+c); main() int i, a=5; for(i=0; i 3; i+)printf(“ d d“, i, fun(a); prinff(“n“); 53 面向对象的模型中,最基本的概念是对象和 _。 54 以下程序的输出结果是 _。 main() char s=“abcdef“; s3=0; pri

7、ntf(“%sn“, s); 55 下面程序段的输出结果是【 】。 int x=5; doprintf(“%d “,x-=4); while (!(-x); 56 以下函数用来求出数组的最大元素在数组中的下标并存放在 k所指的存储单元中。请填空。 #include conio.h #include stdio.h int fun(int*s, int t, int*k) int i; *k=0; 【 】 if(s*k si)*k=i; return【 】; main() int a10=876, 675, 896, 101, 301, 401, 980, 431, 451, 777, k; c

8、lrscr(); fun(a, 10, else if(【 】 )flag=1; num+ return 【 】 ; 国家二级( C语言)笔试模拟试卷 243 答案与解析 1 【正确答案】 A 【试题解析】 对象是由数据和容许的操作组成的封装体,与客观实体有直接的对应关系,对象之间通过传递消息互相联 系,来模拟现实世界中不同事物彼此之间的联系, B)、 C)、 D)是正确的,对象的思想广泛应用于 C+、 Java等语言中,因此 A)错误。 2 【正确答案】 A 【试题解析】 程序设计的风格主要强调程序的简单、清晰和可理解性,以便读者理解。程序滥用 GOTO语句将使程序流程无规律,可读性差;添加

9、注释行有利于对程序的理解,不应减少或取消,程序的长短要依据实际的需要而定,并不是越短越好。 3 【正确答案】 B 【试题解析】 数据的存储结构是数据元素在计算机存储器内的表示。数据的存储结构是逻辑结构用计算 机语言的实现,即建立数据的机内表示。 4 【正确答案】 D 【试题解析】 程序设计的过程应是先画出流程图,然后根据流程图编制出程序,所以选项 A错误。程序中的注释是为了提高程序的可读性,注释必须在编制程序的同时加入,所以,选项 B 和选项 C错误。综上所述,本题的正确答案为选项D。 5 【正确答案】 B 【试题解析】 中序遍历是指首先遍历左子树,然后访问根结点,最后遍历右子树;并且在遍历左

10、、右子树时,仍然先遍历左子树,然后访问根结点,最后遍历右子树的一种二叉树遍历算法。 6 【正确答案】 C 【试题解析】 一个算法,一般应具有以下几个基本特征: 可行性 确定性 有穷性 拥有足够的情报。 7 【正确答案】 D 【试题解析】 概要设计是数据库的总体设计,其目的就是按照需求规格说明书把软件依据功能划分为多个模块,然后确定每个模块要实现的功能,最后确定模块之间的调用关系。而设计每个模块的伪代码则属于详细设计。所以只有最后一个不属于概要设计范畴。 8 【正确答案】 C 【试题解析】 逻辑结构反映数据元素之间的逻辑关系,线性结构表示数据元素之间一对一的关系,非线性结构表示数据元素 之间一对

11、多或多对一的关系。 9 【正确答案】 C 【试题解析】 所谓算法的时间复杂度,是指执行算法所需要的计算工作量。 10 【正确答案】 D 【试题解析】 数据独立性是数据与程序间的互不依赖性,即数据库中数据独立于应用程序而不依赖于应用程序。也就是说,数据的逻辑结构、存储结构与存取方式的改变不会影响应用程序。选项 A、 B、 C三种说法都是错误的。 11 【正确答案】 A 【试题解析】 本题考查 %和 /算符的使用。如果两个数不能整除,只取结果的整数部分,小数部分全部舍去。运算符 “%”要求两个运算对象都为整型,其结果是整数除法的余数。表达式: a=-4+4*5-6=-4+20-6=10;表达式:

12、a=4+4%5-6=4+4-6=2;表达式: a=-3+4%6/5=-3+0=-3;表达式: a=(7+6)%5/2=13%5/2=1。 12 【正确答案】 B 【试题解析】 本题考查宏的使用规则: 字符替换格式: #define标识符字符串,行末不加分号; 双引号中出现的宏名不替换; 如果提前结束宏名的使用,程序中可以使用 #undefine; 在进行宏定义时,宏定义能层层置换,能够嵌套。 13 【正确答案】 D 【试题解析】 在 C语言中,函数的实参单元与形参单元在内存中分配不同的存储单元。在调用函数时,给形参分配临时存储单元,并将实参对应的值传递给形参,在被调用函数中对形参存储单元中的值

13、进行运算,最后通过 return语句把函数值返回调用函数。当调用结束后,形参单元被释放,实参单元仍保留并维持原值。 14 【正确答案】 A 【试题解析】 本题主要考查结构体数组。 xi num是结构体 xi中的 num成员, xi name2是结构体 xi中 name成员的第 3个元 素。第一次循环, i=1,输出 x1num, x1 name2的值,即 2A;第二次循环, i=2,输出 x2 num,x2 name2的值,即 3N;第三次循环, i=3,输出 x3 num, x3 name2的值,即 4E;第四次循环, i=4,输出 x4 num, x4 name2的值,即 5O。 15 【

14、正确答案】 B 【试题解析】 本题考查宏定义的使用。本题定义了 3个宏名分别是 N、 M和NUM。对 NUM展开得 2*M+1=2*N+1+1=22+1+1=6。因此正确答案是 B。 16 【正确答案】 A 【试题解析】 x以 0开头是以八进制的形式赋值的,输出时要输出其对应的十六进制。 0210对应的十六进制是 88。 17 【正确答案】 D 【试题解析】 栈实际也是线性表,只不过是一种特殊的线性表。栈是只能在表的一端进行插入和删除运算的线性表,通常称插入、删除的这一端为栈顶,另一端勾栈底。队列是只允许在一端删除,在另一端插入的顺序表,允许删除的一端叫做队头,允许插入的一端叫做队尾。 18

15、【正确答案】 D 【试题解析】 逗号运算符的结合性为从左到右,其一般 形式为 “表达成 1,表达式 2”,整个表达式的值为表达式 2的值。故 4个选项中选项 D符合题意。 19 【正确答案】 C 【试题解析】 用高级语言编写的程序称为 “源程序 ”,而计算机只能识别和执行由0和 1组成的二进制指令,所以高级语言必须先用 种称为 “编译程序 ”的软件,把源程序翻译成二进制形式的 “目标程序 ”。 20 【正确答案】 C 21 【正确答案】 D 22 【正确答案】 C 【试题解析】 本题考查的是二维数组的定义和初始化方法。 C语言中,在定义并初始化二维数组时,可以省略数组第一维 的长度,但是不能省

16、略第二维的长度。故选项 C)错误。 23 【正确答案】 B 【试题解析】 此程序考查了 for循环和 x+。对于大循环,有两个 x+,其中循环 3次,对于小循环,循环三次,但是运行了两次 x+,所以最后结果是 6+2=8。 24 【正确答案】 B 【试题解析】 解答本题需要注意两个知识点: 结构体变量的长度是其内部成员长度的总和,本题中, struct date中包含 year、 month、 day这 3个整型变量,一个整型变量占 2个字节: sizeof 是求所占字节数的运算符。 25 【正确答案】 A 26 【正确答案】 D 27 【正确答案】 B 28 【正确答案】 A 【试题解析】

17、本题考查文件使用方式标识符,以 “a+”方式打开一个已存在的文件,则表示保留文件中原有的数据,文件的位置指针在文件末尾,此时,可以进行追加或读操作。 29 【正确答案】 A 【试题解析】 在本题中 ,p 和 q同为指向字符类型数据的指针。 *q 和 p0同为字符型数据。选项 B)、 C)和 D)都符合题目的要求 ;选项 A)计算得出的是指针类型数据所占的内存字节数。 30 【正确答案】 D 【试题解析】 主要考查了一维数组的定义、初始化及元素的引用方法。第 5行代码中 scanf 输入数据时 ,要求输入项为地址 ,而数组名即为数组的首地址 ,所以不应该再在前面加取地址符号 没有前件的结点只有一

18、个 ,称为树的根结点 ;每一个结点可以 有多个后件 ,它们都称为该结点的子结点 ;没有后件的结点称为叶子结点。 43 【正确答案】 完善性 【试题解析】 软件维护活动包括以下几类 :改正性维护、适应性维护、完善性维护和预防性维护。改正性维护是指在软件交付使用后 ,为了识别和纠正软件错误、改正软件性能上的缺陷、排除实施中的误使用 ,应当进行的诊断和改正错误的过程 ;适应性维护是指为了使软件适应变化 ,而去修改软件的过程 ;完善性维护是指为了满足用户对软件提出的新功能与性能要求 ,需要修改或再次开发软件 ,以扩充软件功能、增强软件性能、改进加工效率、提高软件的 可维护性 ;预防性维护是为了提高软件

19、的可维护性、可靠性等 ,为以后的进一步改进软件打下良好基础。 44 【正确答案】 概要 45 【正确答案】 实体 或 实体集 或 Entity 【试题解析】 本题考查数据库的 E-R图。 E-R模型中,有三个基本的抽象概念:实体、联系和属性。 E-R图是 E-R模型的图形表示法,在 E-R图中,用矩形框表示实体,菱形框表示联系,椭圆形框表示属性。因此,划线处应填入 “实体 ”或 “实体集 ”或 “Entity”。 46 【正确答案】 需求分析 【试题解析】 需求分析阶段的 工作主要包括需求获取、需求分析、编写需求规格说明书和需求评审等 4方面,产生的主要文档为软件需求规格说明书。它可以为用户、

20、分析人员和设计人员之间的交流提供方便,直接支持目标软件系统的确认,也可以作为控制软件开发进程的依据。 47 【正确答案】 SunDan 20042 【试题解析】 f函数中形参 1用的是显式传地址的方式,因此 p- name的值发生改变,而形参 2用的传值的方式,在调用时不改变实参的值,因此 p- num的值不发生变化。 48 【正确答案】 关系 【试题解析】 模型是用二维表的形 式来表示实体和实体间联系的数据模型。从用户观点来看,关系的逻辑结构是一个二维表,在磁盘上以文件形式存储。一个关系就是一张二维表。 49 【正确答案】 b=i+1 【试题解析】 本题考查了 for循环语句的执行过程。 i

21、+=2是修正表达式,执行一次循环体后 i的值就增加 2, i的初始值为 0,每次加 2后的和累加至 a,所以 a的值就是 1 10之间的偶数之和; b的值是 1 11 之间的奇数和,但在输出 b值时,c去掉多加的 11,即为 1 10之间的奇数之和。 50 【正确答案】 4 【试题解析】 在主函数中,语句 p=a;p+使用指针 p 指向数组 a1,所以输出结果为 4。 51 【正确答案】 struct link *head 【试题解析】 考查用指针引用结构体变量成员数据的方法。因为本题中是用结构体变量构成了链表 ,所以要从链表头节点 ,逐个节点的引用结构体的数据域 ,需要有指向结构体变量的指针

22、 ,依次指向各个节点 ,即 p=p-next,而用指针引用结构体成员数据的方法为 :p-data。 52 【正确答案】 010111212。 【试题解析】 当 i=0时,执行 b+; c+; ”后 c=4, b=1, 因此 a+b+c=10, 10为先输出的值,所以输出 010;当 i=1时,返回 fun 函数中,此时 b又为 0,而 c为4,因为它是静态局部变量,保持上一次计算的结果,直到整个程序的结束,当执行完 “b+; c+; ”后 c为 5,因此返回到主函数值为 11,输出结果为 111;当 i=2时, c为 5,当执行完 “b+; c+; ”后 c为 6,输出的结果为 212,故最后

23、的结果为 010111212。 53 【正确答案】 类 54 【正确答案】 abc 【试题解析】 字符串的结束标记 0,当输出一个存放在字符数组中的字符串时,只需输出到 0为止,而不管其后有什么数据。本题给字符数组 s的元素 s3赋值为 0,故只能输出 3个字符 “abc”。 55 【正确答案】 1-4 【试题解析】 题目中首先让 x=5,然后进入 do-while循环体,输出 x-4的值 1,此时 x为 1,表达式 !(-x)的值为 !(0)为真 (此时 x变为 0),所以再次执行循环体,输出 x-4的值 -4,此时 x为 -4,表达式 !(-x)的值为 !(5)为假,退出循环。故输出结果是

24、 1 -4。 56 【正确答案】 for(i=0; i t; i+) 0 【试题解析】 本题中直接使用指针变量 k,但在使用时要注意对 k的指针运算,此外,一开始应使 *k的值为数组中的某一下标值,即 *k=0。 57 【正确答案】 *s+ flag=0 或 *(s-1)= num 【试题解析】 在统计字符串单词个数的算法中,本题的 flag 是为了记录一个单词是否结束。第 18空应填 *s+;如果某个字符不是空格,则必需判断它是否是单词,如是,则使得 flag的标志为 1, num的值加 1。本题判断方法是:先判断 s所指向的字符是否为空格,如果是则使得 flag=0,否则判断前一 个字符是否是空格,如果是则说明这个字符是一个单词的开始,将 flag 标志为 1, num的值加 1,如果不是,则不必记录。故第 19空应 flag=0或 *(s-1)=;最后一个空格需填写的是返回的单词的个数,即 num。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

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