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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、国家二级( C语言)笔试模拟试卷 138及答案与解析 1 按照 “先进后出 ”原则组织数据的数据结构是 ( )。 ( A)队列 ( B)栈 ( C)双向链表 ( D)二叉树 2 常采用的两种存储结构是 ( )。 ( A)顺序存储结构和链式存储结构 ( B)散列方法和索引方式 ( C)链表存储结构和数组 ( D)线性存储结构和非线性存储结构 3 树是结点的集合,它的根结点的数目是 ( )。 ( A)有且只有 1个 ( B) 1或多于 1 ( C) 0或 1 ( D)至少有 2个 4 已知一个有序线性表 为 (13,18,24,35,47,50,62,83,90,115,134) ,当用二分法查找

2、值为 90的元素时,查找成功的比较次数为 ( )。 ( A) 1 ( B) 2 ( C) 3 ( D) 9 5 结构化程序设计主要强调的是 ( )。 ( A)程序的规模 ( B)程序的效率 ( C)程序设计语言的先进性 ( D)程序的易读性 6 结构化程序设计的核心和基础是 ( )。 ( A)结构化分析方法 ( B)结构化设计方法 ( C)结构化设计理论 ( D)结构化编程方法 7 在面向对象方法中, ( )描述的是具有相似属性与操作的一组对象。 ( A)属性 ( B)事件 ( C)方法 ( D)类 8 需求分析阶段的任务是 ( )。 ( A)软件开发方法 ( B)软件开发工具 ( C)软件开

3、发费用 ( D)软件系统功能 9 有下列二叉树,对此二叉树前序遍历的结果为 ( )。 ( A) ACFXDBEYZ ( B) ABEFXYZCD ( C) ABCDEFXYZ ( D) ABDYECFXZ 10 设 R是一个二元关系, S是一个三元关系,则下列运算中正确的是 ( )。 ( A) R-S ( B) RS ( C) Rs ( D) R S 11 下列说法不正确的是 ( )。 ( A)一个 C语言源程序可以由一个函数组成也可以由多个函数组成 ( B) main()中的 “()”是函数的参数部分,括号内可为空,但括号不能省略 ( C) C语言程序是以函数为基本单位的 ( D)在 C语言

4、程序中,注释行只能位于一条语句的后面 12 sizeof(float)是 ( )。 ( A)一种函数调用 ( B)一种函数定义 ( C)一个浮点表达式 ( D)一个整型表达式 13 下列合法的声明语句是 ( )。 ( A) int_abc=50; ( B) double int=3+5e2.5 ( C) long do=1L; ( D) float 3_asd=3e-3; 14 下列叙述中正确的是 ( )。 ( A)在赋值表达式中,赋值号的左边既可以是变量,也可以是任意表达式 ( B)实型变量中允许存放整型数 ( C)若 a和 b类型相同,在执行了赋值 a=b后, b中的值将放入 a中,但 b

5、中的值不变 ( D)在 C程序中,求余运算符 “%”两边的类型相同时才能进行运算 15 设 x、 y和 z是 int型变量,且 x=4, y=6, z=8,则下列表达式中值为 0的是( )。 ( A) x ( B) char c=32; ( C) float f=f+1.1; ( D) double x=12.3E2.5; 18 若 ch为 char型变量, k为 int型变量 (已知字符 a的 ASCII码是 97),则执行下列语句后输出的结果为 ( )。 ch=b; k=10; printf(“%x,%o,“,ch,ch,k); printf(“k:%dn“,k); ( A)因变量类型与格

6、式描述符的类型不匹配,输出无定值 ( B)输出项与格式描述符个数不符,输出为 0值或不定值 ( C) 62,142,k=%d ( D) 62,142,k=%10 19 有下列程序: fun(int x,int y)return(x+y); main() inta=l1b=2,c=3,sum; sum=fun(a+,b+,a+b),C+); printf(“%dn“,sum); 执行后的输出结果是 ( )。 ( A) 6 ( B) 7 ( C) 8 ( D) 9 20 下列程序的输出结果是 ( )。 main() int a=4,b=5,c; if(a b) c=a*b;printf(“%d,%

7、d,%dn“,b,a,c); else c=b/a; printf(“%d,%d,%dn“,b,a,c); ( A) 4,5,12 ( B) 20 ( C) 5,4,20 ( D) 12 21 下列程序的输出结果是 ( )。 main() int i=1 j=2,k=3; if(i+=1 ( A) 1 2 3 ( B) 2 3 4 ( C) 2 2 3 ( D) 2 3 3 22 下列程序的输出结果是 ( )。 #include stdio.h main() int a=0,i; for(i=1;i 5;i+) switch(i) case 0: case 3:a+=1; case 1: ca

8、se2:a+=2; default:a+=3; printf(“%d“,a); ( A) 19 ( B) 18 ( C) 6 ( D) 8 23 在 C语言中, while和 dowhile 循环的主要区别是 ( )。 ( A) dowhile 的循环体不能是复合语句 ( B) dowhile 允许从循环体外转到循环体内 ( C) whil8的循环体至少被执行一次 ( D) dowhile 的循环体至少被执行一次 24 若各选项中所用变量已正确定义, fun()函数中通过 return语句返回一个函数值,下列选项中错误的程序是 ( )。 ( A) main() x=fun(2,10); flo

9、at fun(int a,int b) ( B) float fun(int a,int b) main() x=fun(i,j); ( C) float fun(int,int); main() x=fun(2,10); float fun(int a,int b) ( D) main() float fun(int I,intj); x=fun(i,j); float fun(int a,int b) 25 判断 char型变量 c1是否为小写字母的正确表达式为 ( )。 ( A) a =c1 =z ( B) (c1 =a)c1 =z) ( C) (a= c1(z =c1) ( D) (c

10、1 =a) while(-k) printf(“%d“,k-=3); printf(“n“); 执行后的输出结果是 ( )。 ( A) 1 ( B) 2 ( C) 4 ( D)死循环 27 若函数调用时,参数为基本数据类型的变量,下列叙述中正确的是 ( )。 ( A)实参与其对应的形参共占存储单元 ( B)只有当实参与其对应的形参同名时才共占存储单元 ( C)实参与其对应的形参分别占用不同的存储单元 ( D)实参将数据传递给形参后,立即释放原先占用 的存储单元 28 在 C语言程序中,下列说法正确的是 ( )。 ( A)函数的定义和函数的调用均可以嵌套 ( B)函数的定义不可以嵌套,但函数的调

11、用可以嵌套 ( C)函数的定义可以嵌套,但函数的调用不可以嵌套 ( D)函数的定义和函数的调用均不可以嵌套 29 下列说法中不正确的是 ( )。 ( A)指针是一个变量 ( B)指针中存放的是数值 ( C)指针可以进行加、减等算术运算 ( D)指针变量占用存储空间 30 若有定义和语句: int*pp,*p,a=20,b=10; pp=p=p=printf(“%d,%dn“,*p,*pp); 则输出结果是 ( )。 ( A) 20,10 ( B) 20,20 ( C) 10,20 ( D) 10,10 31 下列二维数组的说明中,不正确的是 ( )。 ( A) float a4=0,1,8,5

12、,9; ( B) int a34; ( C) )#define N 5 float a N3; ( D) int a 29.5; 32 若有定义: “int a 23;”则对 a数组的第 i行第 j列元素的正确引用为 ( )。 ( A) *(*(a+i)+j) ( B) (a+i)j ( C) *(a+i+j) ( D) *(a+i)+j 33 下列能正确进行字符串赋值的是 ( )。 ( A) char s5=“ABCDE“; ( B) char s5=A,B,C,D,E; ( C) char*s;s=“ABCDE“; ( D) char*s;printf(“%s“,s); 34 若有说明 c

13、har s130=“abc“,s2=“defghi“;,则在使用函数 strcat(s1,s2)后,结果是 ( )。 ( A) s1的内容更新为 abcdefghi ( B) s1的内容更新为 defghi0 ( C) s1的内容更新为 defghiabc0 ( D) s1的内容更新为 abcdefghi0 35 设有变量说明 int(*p)m,其中的标识符 p是 ( )。 ( A) m个指向整型变量的指针 ( B)指向 m个整型变量的指针 ( C)一个指向具有 m个整型元素的一维数组的指针 ( D)具有 m个指针元素的一维指针数组,每个元 素都指向整型变量 36 下列描述中正确的是 ( )。

14、 ( A)在 C语言程序中预处理是指完成宏替换和文件包含指定的文件的调用 ( B)预处理指令只能位于 C源程序文件的首部 ( C)预处理命令可以放在程序中的任何位置 ( D)预处理命令结尾需要加分号 37 若有结构体定义: struct stu int num; char sex; int age; a1,a2; 则下列语句中错误的是 ( )。 ( A) printf(“%d%c,%d“,a1); ( B) a2.age=a1.age; ( C) a1.age+; ( D) a1.num=5; 38 C语言结构体类型变量在程序执行期间 ( )。 ( A)所有成员一直驻留在内存中 ( B)没有成

15、员驻留在内存中 ( C)部分成员驻留在内存中 ( D)只有一个成员驻留在内存中 39 在位运算中,操作数每右移两位,其结果相当于 ( )。 ( A)操作数乘以 2 ( B)操作数除以 2 ( C)操作数除以 4 ( D)操作数乘以 4 40 在 “文件包含 ”预处理语句的使用形式中,当 #include后面的文件名用 “(双撇号 )括起时,寻找被包含文件的方式是 ( )。 ( A)直接按系统设定的标准方式搜索目录 ( B)先在源程序所在的目录搜索,如没找到,再按系统设定的标准方式搜索 ( C)仅仅搜索源程序所在目录 ( D)仅仅搜索当前目录 41 设一棵完全二叉树共有 700个结点,则在该二叉

16、树中有 _个叶子结点。 42 常用的黑箱测试有等价类划分法、 _和错误推测法 3种。 43 数据库管理系统常见的数据模型有层次模型、网状模型和 _3种。 44 通常,将软件产品从提出、实现、使 用维护到停止使用退役的过程称为_。 45 数据库保护分为:安全性控制、 _、并发性控制和数据的恢复。 46 已有定义: char c= ;int a=1,b;(此处 c的初值为空格字符 ),执行 b=!c后 b的值为 _。 47 以下程序的输出结果是 _。 main( ) int y=9; for(;y 0;y-) if(y%3=0) printf(“%d“,-y);continue; 48 下面 程序

17、的功能是:计算 1 10之间的奇数之和与偶数之和,请填空。 #include stdio.h main( ) int a,b,c,i; a=c=0; for(i=0;i =10;i+=2) a+=i; _; c+=b; printf(“偶数之和 =%dn“,a); printf(“奇数之和 =%dn“,c-11); 49 设有以下定义和语句,则 *(*(p+2) +1) 的值为 _。 int a32=10,20,30,40,50,60,(*p) 2; p=a; 50 以下程序的输出结果是 _。 #include stdio.h void swap(int *a, int *b) int *t;

18、 t=a;a=b;b=t; main( ) int i=3,j=5,*p= i,*q= j; swap(p,q); printf(“%d %dn“,*p,*q); 51 以下程序的输出结果是 _。 #include stdio.h main( ) int a5=2,4,6,8,10,*p; p=a;p+; printf(“%d“,*p); 52 阅读下列程序,则程序的输出结果为 _。 #include “stdio.h“ struet ty int data; char c; main( ) street ty a=30,x; fun(a); printf(“%d%c“,a.data,a.c)

19、; fun(struct ty b) b.data=20; b.c=y; 53 以下程序的运行结果是 _。 #include stdio.h main( ) FILE *fp;int a10=1,2,3,0,0,i; fp=fopen(“d2.dat“,“wb“); fwtite(a,sizeof(int) ,5,fp); fwrite(a,sizeof(int) ,5,fp); fclose(fp); fp=fopen(“d2.dat“,“rb“); fread(a,sizeof(int) ,10,fp); fclose(fp); for(i=0;i 10;i+)printf(“%d“,ai

20、); 国家二级( C语言)笔试模拟试卷 138答案与解析 1 【正确答案】 B 【试题解析】 栈是一种特殊的线性表,其插入和删除运算都只在线性表的一端进行 ,而另一端是封闭的。进行插入、删除的一端称为栈顶,封闭的一端称为栈底。栈顶元素是最后被插入的元素,也是最后被删除的,是按先进后出的原则组织数据的。 2 【正确答案】 A 【试题解析】 线性表的存储通常要用两种存储结构:顺序存储结构和链式存储结构。 3 【正确答案】 C 【试题解析】 树具有明显的层次关系,即树是一种层次结构。在树结构中,根结点在第一层上。当树为非空时,树中有且只有一个根结点,当树为空时,树中根结点的数目为 0。 4 【正确答

21、案】 B 【试题解析】 根据二分法查找需要两次: 首先将 90与表中间的元素 50进行比较,由于 90大于 50,所以在线性表的后半部分查找。 第二次比较的元素是后半部分的中间元素,即 90,这时两者相等,即查找成功。 5 【正确答案】 D 【试题解析】 程序不光是编写完就结束了,为了测试和维护程序,往往还有其他人阅读和跟踪程序,因此程序设计的风格应该强调简单和清晰,即程序的易读性, “清晰第一,效率第二 ”。 6 【正确答案】 C 【试题解析】 结构化程序设计的核心和基础是结构化设计理论,其中包括:结构化 分析方法、结构化设计方法和结构化编程方法。 7 【正确答案】 D 【试题解析】 类 (

22、class)描述的是具有相似属性与操作的一组对象,而一个具体对象则是其对应类的一个实例。 8 【正确答案】 D 【试题解析】 需求分析是软件定义时期的最后一个阶段,它的基本任务就是详细调查现实世界要处理的对象,充分了解原系统的工作概况,明确用户的各种需求,然后在这些基础上确定新系统的功能。 9 【正确答案】 D 【试题解析】 对二叉树的前序遍历是指:先访问根结点,然后访问左子树,最后访问右子树, 并且,在访问左、右子树时,先访问根结点,再依次访问其左、右子树。记住 3种遍历的顺序: 前序,访问根一按前序遍历左子树一按前序遍历右子树; 中序,按中序遍历左子树一访问根一按中序遍历右子树; 后序,按

23、后序遍历左子树一按后序遍历右子树一访问根。 10 【正确答案】 B 【试题解析】 关系的交 ()、并 ( )和差 (-)运算要求两个关系是同元的,显然作为二元的 R和三元 S只能做笛卡儿积运算。 11 【正确答案】 D 【试题解析】 本题涉及 C语言基本的 3个知识点: C语言是以函数为基本单位的,每一个 函数完成相对独立的功能,一个程序可以包括多个函数,但有且仅有一个主函数; 主函数 main()的圆括号内是填写参数的,可以没有参数,但括号不可以省略: 程序的注释部分应该在 “/*/” 之间,它允许出现在程序的任何位置。 12 【正确答案】 D 【试题解析】 sizeof(float)是 C

24、语言内部规定的用于计算单精度型变量 (float)在计算机的内存中所占用的字节数量的函数,返回一个整数值。 13 【正确答案】 A 【试题解析】 C语言规定,标识符是由字母、数字或下画线组成,并且它的 第一个字符必须是字母或者下画线。另外 C语言规定了一些专用的标识符,它们有着固定的含义,不能更改。 int就是表达变量类型的标识符,它不能再用做变量名和函数名。 d。是 C语言的一个关键字,也不能再用做变量名和函数名。 14 【正确答案】 B 【试题解析】 选项 A,在赋值表达式中,赋值号的左边只能是变量或者是代表某个存储单元的表达式,不能是任意表达式。在判断选项 B)时首先应该建立这样的概念,

25、整型变量中只能存放整型数,实型变量中能存放实型数,也能存放整型数。选项 C),执行表达式 a=b后,将把变量 b存储单元中 的值赋给变量 a,从而覆盖 a中原有的值,但 b中原有的值并不改变。选项 D),在 C程序中,求余运算符 “%”两边的类型均为整型数据。 15 【正确答案】 D 【试题解析】 本题考查逻辑运算符的使用。当 “p+使用指针 p指向数组 a1,所 以输出结果为 4。 52 【正确答案】 30x 【试题解析】 本题的参数传递属于值传递,所以被调用函数内不能改变调用函数中的数据。 53 【正确答案】 1,2,3,0,0,1,2,3,0,0, 【试题解析】 本题考查文件读写函数 fread和 fwrite的用法。 fwrite函数将数组a的前 5个元素输出到文件 fp中两次,共 10个字节,再调用 fread函数从文件 fp中读取这 10个字节的数据到数组 a中,此时数组 a的内容就变为1,2,3,0,0,1,2,3,0,0,最后的输出结果为 “1,2,3,0,0,1,2,3,0,0”。

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