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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、国家二级( C语言)笔试模拟试卷 143及答案与解析 1 下列叙述中错误的是 ( )。 ( A)一种数据的逻辑结构可以有多种存储结构 ( B)数据的存储结构与数据的处理效率无关 ( C)数据的存储结构与数据的处理效率密切相关 ( D)数据的存储结构在计算机中所占的空间不一定是连续的 2 下列叙述中错误的是 ( )。 ( A)线性表是由 n个元素组成的一个有限序列 ( B)线性表是一种线性结构 ( C)线性表的所有结点有且仅有一个前件和后件 ( D)线性表可以是空表 3 下列关于栈的描述中错误的 是 ( )。 ( A)栈是先进先出的线性表 ( B)栈只能顺序存储 ( C)栈具有记忆作用 ( D)

2、对栈的插入与删除操作中,不需要改变栈底指针 4 对长度为 n的线性表进行顺序查找,在最坏情况下需要比较的次数为 ( )。 ( A) 125 ( B) n/2 ( C) n ( D) n+1 5 下列叙述中正确的是 ( )。 ( A)在模块化程序设计中,一个模块应该尽量多的包括与其他模块联系的信息 ( B)在自顶向下、逐步细化的设计过程中,首先应设计解决问题的第一个细节 ( C)在模块化程序设计中,一 个模块内部的控制结构也要符合结构化原则 ( D)在程序设计过程中,不能同时采用结构化程序设计方法与模块化程序设计方法 6 下列特征中不是面向对象方法的主要特征的是 ( )。 ( A)多态性 ( B

3、)继承 ( C)封装性 ( D)模块化 7 有下列二叉树,对此二叉树中序遍历的结果为 ( )。 ( A) BDYEACFXZ ( B) DYBEAFCZX ( C) ABCDEFXYZ ( D) ABDYECFXZ 8 下列不属于软件工程的 3个要素的是 ( )。 ( A) 32具 ( B)过程 ( C)方法 ( D)环境 9 设计软件结构是在软件生命周期的 ( )。 ( A)软件定义期 ( B)软件开发期 ( C)软件维护期 ( D)以上三个都不是 10 下列工具中为需求分析常用工具的是 ( )。 ( A) PAD ( B) PFD ( C) N-S ( D) DFD 11 下列叙述中正确的

4、是 ( )。 ( A) C程序由函数组成 ( B) C程序由主函数构成 ( C) C程序由函数和过程构成 ( D)在 C程序中无论是整数还是实数,都可以正确无误的表示出来 12 设有定义下列: inta=1,b=2,c=3,d=4,m=2,n=2; 则表达式 (m=a B) int a,b,c; a=(-x=y+)?x:+y; b=+X; C=y; ( A) a=5,b=5,c=5 ( B) a=4,b=5,c=5 ( C) a=5,b=6,c=5 ( D) a=1,b=5,c=6 14 下列程序的输出结果是 ( )。 main() int a=1,b=2; printf(“%d,%dn“,-

5、a,+B) ; ( A) 1,2 ( B) 1,3 ( C) 0,2 ( D) 0,3 15 下列变量声明合法的是 ( )。 ( A) short.a=1.4e-1; ( B) double b=l+3e2.8; ( C) long do=0xfdaL; ( D) float2_aaa=1e-3; 16 在函数 scanf的格式控制中,格式说明的 类型与输入项的类型应该对应匹配。如果类型不匹配,系统将 ( )。 ( A)不予接收 ( B)并不给出出错信息,但不能得到正确的数据 ( C)能接收到正确输入 ( D)给出出错信息,不予接收输入 17 若有下列定义 (设 int类型变量占 2个字节 )

6、: float x=123.4567; 则下列语句: printf(“x=%5.2f“,x); 输出的结果是 ( )。 ( A) x=123.46 ( B) 123.4567 ( C) x=123.4567 ( D) 123.46 18 下列程序的输出结果是 ( )。 #include stdio.h main() int i; for(i=1;i =10;i+) if(i*i =20) printf(“%dn“,i*i); ( A) 49 ( B) 36 ( C) 25 ( D) 64 19 若执行下列的程序时,从键盘上输入 1和 2,则输出结果是 ( )。 #include stdio.h

7、 main() int a,b,s; scanf(“%d%d“, S=a; if(a B) s=b; s=s*s; printtf(“%dn“,s); ( A) 1 ( B) 4 ( C) 2 ( D) 9 20 有下列程序: main() int t,a=1,b=5,C=-2; while(a b C) t=a;a=b;b=t;c+; printf(“%d,%d,%d“,a,b,C) ; 程序的输出结果是 ( )。 ( A) 1,5,0 ( B) 1,5,-2 ( C) 5,1,-1 ( D) 5,1,-2 21 运行下列程序,若从键盘输入字母 “a”,则输出结果是 ( )。 Char c;

8、 c=getchar(); if(c =a else if(c =g else printf(“input error!n“); putchar(C) ; ( A) f ( B) t ( C) e ( D) d 22 在 C语言中,函数调用时 ( )。 ( A)实参和形参各占独立的存储单元 ( B)实参和形参共用存储单元 ( C)由系统自动确定实参和形参是否共用存储单元 ( D)由用户指定实参和形参是否共用存储单元 23 下列程序的输出结果是 ( )。 #include stdio.h int b=2; int func(int*A) b+=*a;retum b; main() int a=1

9、,t=2; t+=func( printf(“%dn“,t); ( A) 4 ( B) 5 ( C) 6 ( D) 8 24 若有定义 float a=25,b,*p=,则下列对赋值语句 *p=a;和 p=的正确解释为( )。 ( A)两个语句都是将变量 a的值赋予变量 p ( B) *p=a是使 p指向变量 a,而 p=,下列叙述中正确的是 ( )。 ( A)数组 a和 b的长度相同 ( B) a数组长度小于 b数组长度 ( C) a数组长度大于 b数组长度 ( D)上述三种说法都不对 27 下列程序的输出结果是 ( )。 void f(int*x,int*y) int t; t=*x,*x

10、=*y;*y=t; main() int a8=1,2,3,4,5,6,7,8,i,*p,*q; p=a;q= while(p q) f(p,q);p+;q-; for(i=0;i 8;i+)printf(“%d,“,ai); ( A) 8,2,3,4,5,6,7,1 ( B) 5,6,7,8,1,2,3,4 ( C) 1,2,3,4,5,6,7,8 ( D) 8,7,6,5,4,3,2,1 28 对两个数组 a和 b进行下列初始化: char m=“1234567“; char n=1,2,3,4,5,6,7; 则下列叙述正确的是 ( )。 ( A)数组 m与数组 n完全相同 ( B)数组

11、m与数组 n长度相同 ( C)数组 m比数组 n长 1 ( D)数组 m与数组 n中都存放字符串 29 下列程序的输出结果是 ( )。 #include stdio.h main() char a=a,b,c,d,e,f,0; int i,j; i=sizeof(A) ; j=strlen(A) ; printf(“%d,%d“,i,j); ( A) 7,7 ( B) 7,6 ( C) 6,6 ( D) 6,7 30 设变量已正确定义 ,则下列能正确计算 f=n!的程序段是 ( )。 ( A) f=0; for(i=1;i =n;i+)f*=i; ( B) f=1; for(i=1;i n;i

12、+)f*=i; ( C) f=1; for(i=n;i 1;i+)f*=i; ( D) f=1; for(i=n;i =2;i-)f*=i; 31 设有定义: int nl=0,n2,*p=,下列赋值语句中与 n2=n1;语句等价的是 ( )。 ( A) *p=*q; ( B) p=q; ( C) *p= ( D) p=*q; 32 设已包含头文件 string.h,下列程序段的运行结果是 ( )。 char s1=“ACDEF“; char s2=“ABC“; strcpy(s1,s2) ; printf(“%d“,strlen(s1) ); ( A) 3 ( B) 4 ( C) 6 ( D

13、) 5 33 设 fp为指向某二进制文件的指针,且已读到此文件末尾,则函数 feof(fp)的返回值为 ( )。 ( A) EOF ( B)非 0值 ( C) 0 ( D) NULL 34 下列程序执行的输出结果是 ( )。 #inClude stdio.h main() char a24; strcpy(a,“are“);strcpy(a1,“you“); a03= printf(“%sn“,A) ; ( A) are int s=ADD(m+n)*k; printf(“s=%d“,s); ( A) sum=18 ( B) sum=10 ( C) sum=9 ( D) sum=25 37 当

14、说明一个结构体变量时系统分配给它的内存是 ( )。 ( A)各成员所需要内存量的总和 ( B)结构中第一个成员所需的内存量 ( C)成员中占内存最大者所需的容量 ( D)结构中最后一个成员所需要的内存量 38 下列语句段中,正确的是 ( )。 ( A) struct int x; float y; int a2; unsigned b3; char name10; ; ( B) structstu unsigneda3; unsigned b4; x; int*p= ( C) struc tsu int a; float x4; y=1,1.0; floatdat a=y.x; ( D) st

15、mct nd int a,b; unsigned c2=5; ; 39 设 x=011050,则 x=x,其中 buffer代表的是( )。 ( A)存放读入数据项的存储区 ( B)一个指向所 读文件的文件指针 ( C)一个指针,是指向输入数据存放在内存中的起始地址 ( D)一个整型变量,代表要读入的数据项总数 41 在算法的 4个特性中,算法必须能在执行有限个步骤之后终止指的是算法的_特性。 42 按照逻辑结构分类,结构可以分为线性结构和非线性结构,栈属于 _。 43 栈中允许进行插入和删除的一端叫做 _。 44 在面向对象程序设计中,从外面看只能看到对象有外部特征,而不知道也无须知道数据的

16、具体结构以及实现操作的算法,这称为对象的 _。 45 软件工程研究的内容主要包括: _技术和软件工程管理。 46 表示 “整数 x的绝对值大于 5”时值为 “假 ”的 C语言表达式是 _。 47 设 y为血型变量,请写出描述 “y是偶数 ”的表达式 _。 48 下列程序的运行结果是 _。 main() int x=1,y=2,z=3; printf(“%d,“,x y?y:x); primf(“%d,“,z y?x+:y+); primf(“%d,%d“,x,y); 49 下列 程序段中循环体的执行次数是 _。 a=15; b=0 dob+=2;a-=2+b;while(a =0); 50 语

17、句 “int(*ptr)();”的含义是 _是指向函数的指针,该函数返回一个血型数据。 51 下列程序的输出结果是 _。 #include stdio h int t(int x,int y,int cp,int dp) cp=x*x+y*y; dp=x*x-y*y; main() int a=1,b=8,c=7,d=9; t(a,b,c,D) ; primf(“%d,%d%dn“,c,D) ; 52 13在内存中占 1个字节, “12“在内存中占 _个字节。 53 #define命令出现在程序中函数的外面,宏名的有效范围为 _。 54 下列程序段的运行结果是 _。 char str=“ABC

18、D“,*p=str; printf(“%dn“,*(p+3); 55 下列程序中的数组 a包括 10个整数元素 ,分别将前项和后项之和存入数组 b,并按每行 4个元素输出数组 bo请填空。 #include stdio h main() int a10,b10,i; for(i=0;i 10;i+) scanf(“%d“, for(i=0;i 9;i+) _; for(i=0;i 9;i+) if(i%4=0)printf(“n“); printf(“%3d“,bi); 国家二 级( C语言)笔试模拟试卷 143答案与解析 1 【正确答案】 B 【试题解析】 数据的存储结构分为顺序结构和链式结

19、构,一个数据的逻辑结构可以有多种存储结构。顺序结构中数据元素所占的存储空间是连续的,而链式存储结构中,数据元素所占的存储空间不一定是连续的。数据的存储结构与数据的处理效率密切相关。 2 【正确答案】 C 【试题解析】 线性表是一种线性结构,由 n(n0)个元素组成,所以线性表可以是空表。但是在线性表中,第一个结点没有前件,最后一个结点没有后件,其他结点有且只有一个前件和后件,所以选项 C)是错误的。 3 【正确答案】 B 【试题解析】 栈是限定只能在表的一端进行插入和删除操作的线性表,入栈和出栈都是在栈顶进行,它们的操作特点是先进后出,因此具有记忆作用。栈可以采用顺序存储,也可以采用链式存储。

20、 4 【正确答案】 C 【试题解析】 对线性表进行顺序查找时,从表中的第一个元素开始,将给定的 值与表中逐个元素的关键字进行比较,直到两者相符,查找到所要找的元素为止。在最坏情况下,要查找的元素是表的最后一个元素或查找失败,这两种情况都需要将这个元素与表中的所有元素进行比较,因此比较次数为 n。 5 【正确答案】 C 【试题解析】 在模块化程序设计中,模块之间的联系可以通过程序的控制结构来实现,在自顶向下、逐步细化的设计过程中,首先要考虑全局目标,而不是细节。在程序设计中模块化和结构化可以同时使用,一个模块的内部结构也要符合结构化设计原则。 6 【正确答案】 D 【试题解析】 面向对 象设计方

21、法与面向过程设计方法有本质的不同,其基本原理是:使用现实世界的概念抽象地思考问题从而自然地解决问题。其特点包括:分类性、多态性、封装性、模块独立性、继承和多态性等。模块化是结构化程序设计的特点。 7 【正确答案】 B 【试题解析】 对二叉树的中序遍历是指:首先遍历左子树,然后访问根结点,最后遍历右子树。在遍历左、右子树时,注意依旧按照 “左子树一根结点一右子树 ”的顺序。本题的遍历顺序是这样的: 首先访问左子树: BDEY: 在左子树BDEY中,也按中序遍历,先访问左子树 DY;在左子树 DY中, 也按中序遍历,先访问左子树,左子树没有,则访问根结点 D,然后访问右子树 Y; 接着访问根 B,

22、再访问右子树 E; 访问左子树 BDEY后,接着访问根结点八,接着访问右子树 CFXZ; 右子树 CFXZ的访问顺序同理可得: FCZX。 8 【正确答案】 D 【试题解析】 软件工程包括 3个要素,即方法、工具和过程。方法是完成软件工程项目的技术手段:工具支持软件的开发、管理和文档生成:过程支持软件开发的各个环节的控制、管理。 9 【正确答案】 B 【试题解析】 设计软件结构是在软件概要设计阶段进行的,而概要 设计属于软件开发期。 10 【正确答案】 D 【试题解析】 需求分析常用的工具有数据流图 (DFD)、数据字典 (DD)、判定树和判定表。 PAD(问题分析图 )、 PFD(程序流程图

23、 )、 N-S(盒式图 )都是详细设计的常用工具,不是需求分析的工具。 11 【正确答案】 A 【试题解析】 本题涉及 C语言最基本的两个知识点: C程序是由函数构成的,有且仅有一个主函数,也可以有其他的函数; 整数在允许的范围内可以准确无误的表示出来,但计算机的存储能力有限,不能表示无限精度的实数。 12 【正确答案 】 C 【试题解析】 在逻辑与 ”定义了一个字符型数组并进行了初始 化, C语言规定,在字符串的末尾自动加上串结束标记 0,因此数组 m的长度是 8;而数组 n是按照字符方式对数组进行初始化,系统不会自动加上串结束标记 0,因此数组 n的长度是7。 29 【正确答案】 B 【试

24、题解析】 sizeof()函数的功能是返回字符串所占的字节数, strlen()函数的功能是返回字符串的长度,其中 0是一个转义字符,它占存储空间,但不计入串的长度。 30 【正确答案】 D 【试题解析】 要正确计算函数 f=n!,由 n!的数学定义可知 n!=n*(n-1)*(n-2)*1 。在选项 A中,由于 f的初值为 0,在 for循环语句中, f依次乘以1,2,3, n 。最后计算 f=n!=0,所以选项 A不正确。在选项 B中, f的初值为1,在 for循环语句中, f依次乘以 1,2, 3,(n -1)。最后计算得到 f=(n-1)!,所以选项 B不正确。在选项 C)中, f的初

25、值为 1,在 for循环语句中, f依次乘以n,n+1,n+2, ,所以选项 C)不正确。在选项 D)中, f的初值为 1,在 for循环语句中, f依次乘以 n,n-1,n-2,2 。最后计算 f=n!,所以选项 D)正确。 31 【正确答案】 A 【试题解析】 在定义指针变量 p和 q时,分别把变量 n2和 n1的地址赋给了指针变量 p和 q,所以 *p和 *q中内容就分别是变量 n2和 n1的值,所以语句 *p=*q与语句 n2=n1等价。因此选项 A正确。 32 【正确答案】 A 【试题解析】 头文件 string.h是字符串处理函数对应的头文件,要想调用 C语言的库函数时,都要在程序

26、中嵌入该函数对应的头文件,否则无法使用库函数。 strcpy(s1,s2)把 s2中的字符串复制到 s1中,所以结果就为 s2的长度。 33 【正确答案】 B 【试题解析】 ANSI C提供的 feof函数的功能是判断 fp所指的文件的位置是否已达到文件尾,如果达到文件尾,则 feof函数的值为 1,否则为 0,表示文件尚未结束。 34 【正确答案】 A 【试题解析】 strcpy(a,“are“)中数组名 a代表数组首地址的地址常量,该操作把are复制到 a中, a03= 数据类型 成员名 2; 数据类型 成员名 n; ; struct为关键字,是结构的标识符; 中包围的是组成该结构的成员项

27、;每个成员的数据类型既可以是简单的数据类型,也可以是复杂的数据类型。整个定义作为一个完整的语句,用分号结束。结构类型名称是可以省略的,此时定义的结构称为无名结构。 39 【正确答案】 A 【试题解析】 本题主要考查按位与运算, x=011050的二进制形式为0001001000101000, 01252的二进制形式为 0000001010101010,两者相与得0000001000101000。 40 【正确答案】 C 【试题解析】 数据块读取函数调用形式: fread(buffer,size,count,fp)。 fread函数参数说明: “buffer”是一个指针,对 fread来说,它是

28、读入数据的存放地址。对fwrite来说,是要输出数据的地址。 “size”是要读写的字节数: “count”是要进行读写多少个 size字节的数据项; “fp”是指文件型指针。 41 【正确答案】 有穷性 【试题解析】 算法的 4个基本特性包括:可靠性、确定性、有穷性和拥有足够的情报,其中,算法的有穷性指的是算法必须在有限的时间内完成,即算法必须在执行有限个步骤之后终止。 42 【正确答案】 线性结构 【试题解析】 数据的逻辑结构,是指数据元素之间的逻辑关系,分为线性结构和非线性结构,常见的线性结构有线性表、栈和队列等,常见的非线性结构有树、二叉树等。 43 【正确答案】 栈顶 【试题解析】

29、栈是限定在表的一端进行插入和删除操作的线性表。在表中,允许插入和删除 的一端叫做 “栈顶 ”,不允许插入和删除的一端叫做 “栈底 ”。 44 【正确答案】 封装性 【试题解析】 对象具有下列 5个基本特点: 标识唯一性; 分类性; 多态性; 封装性; 模块独立性好。其中,封装性是指从外面看只能看到对象的外部特征,对象的内部特征即处理能力的实行和内部状态,对外是不可见的,对象的内部状态只能由其自身改变。 45 【正确答案】 软件开发 【试题解析】 软件工程包括软件开发技术和软件工程管理。其中软件开发技术包括:软件开发方法学、开发过程、开发工具和软件工具环境,其主体内容 是软件开发方法学:软件工程

30、管理包括:软件管理学、软件工程经济学、软件心理学等内容。 46 【正确答案】 (x -5)&(x 5) 【试题解析】 本题考查基本逻辑表达, “整数 x的绝对值大于 5”时值为 “假 ”,即整数 x的绝对值小于等于 5,也就是整数 x要大于等于 -5且要小于等于 5。这里“且 ”用 “与 (&)”表示,所以 C语言表达式为: (x -5)& (x 5)。 47 【正确答案】 (y%2)=0 【试题解析】 因符合偶数的条件是对 2取余为 0,所以要描述 y是偶数的表达式是 (y%2)=0。 48 【正确答案】 2,2,1,3 【试题解析】 本题考查 +, -运算符和条件运算符的使用。 “表达式

31、1?表达式 2:表达式 3”的功能是:表达式 1的值若非 0,则计算表达式2的值,且表达式 2的值为最终结果;若表达式 1的值为 0,则计算表达式 3的值,且为最终结果。 本题中, x=1, y=2时, x y成立,输出 y的值 2; y=2, z=3时, z y不成立,执行 y+,输出 2后 y值增 1,所以最后一个输出 x的值不变为 1, y的值为增加后的 3。 49 【正确答案】 3 【试题解析】 本题考查 dowhile 语句形式: do循环体 while表达式 首先执行循环体语句,然后检测循环控制条件表达式的值,若为真,则重复执行循环体语句,否则退出循环。第 1次循环: b+=2,

32、b=2, a-=2+b, a=11:第 2次循环; b=4, a=5;第 3次循环: b=6, a=-3,此时再判断循环条件不满足,退出循环。 50 【正确答案】 ptr 【试题解析】 本题考查函数指针的概念。函数指针的定义格式是:类型标识符(叶旨针变量名 )()。注: “类型标识符 ”为函数返回值的类型。 51 【正确答案】 7 9 【试题解析】 因为在调用子函数时进行的是数值传递,调用子函数并不能改变实参的值,所以经过调用子函数, c、 d的值并没有发生变化还是原来的值。 52 【正确答案】 2 【试题解析】 13:表示八进制数 13表示的 ASCII字符,是一个字符,占一个字节;而 “1

33、2“是个字符串,除了八进制数 12表示的 ASCII字符占一个字节外,还有在字符串的末尾加上串结束标志 “0”,所以共有两个字节。 53 【正确答案】 从定义到本源文件结束 【试题解析】 C语言规定,宏名的有效范围 为从定义宏到本源程序结束。 54 【正确答案】 68 【试题解析】 本题考查如何用指针引用数组元素。本题先定义了一个指向字符型数组 str的指针 p,指针 p指向数组 str的首地址, p+3将指针指向 str3,*(p+3)指的是字符 “D”,输出时是以 “%d”格式输出的,即输出其相应 ASCII码值 68。 55 【正确答案】 bi=ai+ai+1 【试题解析】 将数组 a中元素 ai与 ai+1值相加后的值赋予数组 b中元素bi,即可实现将一个数组的前项和后项之和存入另一数组。

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