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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、国家二级( C语言)笔试模拟试卷 51及答案与解析 1 在下列选项中, _不是一个算法一般应该具有的基本特征。 ( A)确定性 ( B)可行性 ( C)无穷性 ( D)拥有足够的情报 2 希尔排序法属于 _类型的排序法。 ( A)交换类排序法 ( B)插入类排序法 ( C)选择类排序法 ( D)建堆排序法 3 下列关于队列的叙述中正确的是 _。 ( A)在队列中只能插入数据 ( B)在队列中只能删除数据 ( C)队列是先进先出的线性表 ( D)队列是先进后出的线性表 4 对长度为 N的线性表进行顺序查找,在最坏情况下所需要的比较次数为_。 ( A) N+1 ( B) N ( C) (N+1)/

2、2 ( D) N/2 5 信息隐蔽的概念与下述 _概念直接相关。 ( A)软件结构定义 ( B)模块独立性 ( C)模块类型划分 ( D)模拟耦合度 6 面向对象的设计方法与传统的面向过程的方法有本质不同,它的基本原理是_。 ( A)模拟现实世界中不同事物之间的联系 ( B)强调模拟现实世界中的算法而不强调概念 ( C)使用现实世界的概念抽象地思考问题从而自然 地解决问题 ( D)鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考 7 在结构化方法中,软件功能分解属于软件开发中的 _阶段。 ( A)详细设计 ( B)需求分析 ( C)总体设计 ( D)编程调试 8 软件调试的目的是 _。

3、 ( A)发现错误 ( B)改正错误 ( C)改善软件的性能 ( D)挖掘软件的潜能 9 按条件 f对关系 R进行选择,其关系代数表达式为 _。 ( A) RR ( B) ( C) f(R) ( D) f(R) 10 数据库的物理设计是为 一个给定的逻辑结构选取一个适合应用环境的 _的过程,包括确定数据库在物理设备上的存储结构和存取方法。 ( A)逻辑结构 ( B)物理结构 ( C)概念结构 ( D)层次结构 11 表示关系 xyz应使用 C语言表达式 ( ) ( A) (x y) else printf(“%f“, -x); ( C) if(x 0); x x+1; printf(“%f“,

4、 x); else printf(“%f“, -x); ( D) if(x 0) x=x+1; printf(“%f“, x) else printf(“%f“, -x); 14 以下叙述中正确的是 ( ) ( A)在 C程序中,语句之间必须要用分号 (;)分隔 ( B)在 C程序中 #include行和 #define行不是 C语句 ( C)程序中的注释部分可有可无,通常可以省略 ( D)当输入数值数据时,对于整型变量只能输入整型值:对于实型变量只能输入实型值 15 以下语句的输出结果是 ( ) printf(“%d, %d, %un“, 016, 16, -16); ( A) 16, 16

5、, 65420 ( B) 14, 16, 6542 ( C) 16, 16, -16 ( D) 14, 16, -16 16 以下选项中,与 k=n+完全等价的表达式是 ( ) ( A) k=n, n=n+1 ( B) n=n+1, k n ( C) k=+n ( D) k+=n+1 17 以下合法的赋值语句是 ( ) ( A) x=y 100 ( B) d-; ( C) x+y; ( D) c=int(a+b) ; 18 设 a、 b, c为 int型变量,若从键盘给 a、 b, c输入数据,则正确的输入语句是( ) ( A) scanf(“%d%d%d“, a, b, c) ; ( B)

6、put(“%d%d%d“, a, b, c); ( C) input(“%d%d%d“, a, b, c); ( D) scanf(“%d%d%d“, unsinged long w=5; double x=1.42, y=5.2 则以下符合 C语言语法的表达式是 ( ) ( A) a+=a-=(b=4)*(a=3) ( B) x%(-3); ( C) a a*3 2 ( D) y float(i) 21 能正确表示逻辑关系 “a10或 a0“,的 C语言表达式是 _。 ( A) a =10 or a =0 ( B) a =0|a =10 ( C) a =10b+; printf(“a=%d,

7、b=%dn“, a,B) ; 该程序的输出结 果是 _。 ( A) a=2,b=1 ( B) a=1,b=1 ( C) a=1,b=0 ( D) a=2,b=2 24 有如下程序 main() float x=2.0,y; if(x 0.0)y=0.0; else if(x10.0)y=1.0/x; else y=1.0; printf(“%fn“, y); 该程序输出结果是_。 ( A) 0 ( B) 0.25 ( C) 0.5 ( D) 1 25 有以下函数定义: void fun(int n,double x) 若以下选项中的变量都已正确定义并赋值,则对函数 fun正确调用语句是 ( A

8、) fun(int y,double m); ( B) k=fun(10,12.5); ( C) fun(x,n); ( D) void fun(n, x); 26 有如下程序 main() int i,sum; for(i=1;i =3; sum+)sum +=i; printf(“%dn“,sum); 该程序的执行结果是 _。 ( A) 6 ( B) 3 ( C)死循环 ( D) 0 27 下列函数定义中,会出现编译错误的是 _。 ( A) max(int x,int y,int *z) *z=x y?x:y; z=x y?x:y; return z; ( B) int max(int x

9、,y) int z; ( C) max(int x,int y) int z; z=x y?x:y; return(z); ( D) int max(int x,int y) return x y?x:y; 28 有如下程序 main() int x=3; do prinff(“ d“,x-); while(!x); 该程序的执行结果是 _。 ( A) 321 ( B) 3 ( C)不输出任何内容 ( D)陷入死循环 29 设有声明语句 char a=72;,则变量 a_。 ( A)包含 1个字符 ( B)包 含 2个字符 ( C)包含 3个字符 ( D)声明不合法 30 有以下程序段: ma

10、in() int a=5, *b, *c; c= r=func(func(x,y), z); printf(“%dn“,r); 该程序的输出结果是 _。 ( A) 12 ( B) 13 ( C) 14 ( D) 15 34 有如下程序段 int *p,a=10, b=1; p= 执行该程序段后, a的值为 _。 ( A) 12 ( B) 11 ( C) 10 ( D)编译出错 35 有以下程序: int *f(int *x,int*y) if(*x *y)return x; else return y; main() int a=7, b=8, *p, *q, *r; p= printf(“%

11、d,%d,%dn“,*p,*q, *r); 程序运行后输出结果是 _。 ( A) 7,8,8 ( B) 7,8,7 ( C) 8,7,7 ( D) 8,7,8 36 有如下程序: long fib(int n) if(n 2) return(fib(n-1)+fib(n-2); else return(2); main() printf(“%ldn“,fib(3); 该程序的输出结果是 _。 ( A) 2 ( B) 4 ( C) 6 ( D) 8 37 下面程序的输出结果是 _。 main() char str10, c=a; int i=0; for (;i 5; i+) stri=c+;

12、printf(“%s“,str); ( A) abcde ( B) a ( C)不确定 ( D) bcdef 38 在 C语言中,函数中变量的隐含存储类别是 _。 ( A) auto ( B) static ( C) extern ( D)无存储类别 39 有如下程序: #define n 2 #define m N+1 #define NUM 2*m+1 main() int i; for(i=1; i =NUM; i+)printf(“%dn“,i); 该 程序中的 for循环执行的次数是 _。 ( A) 5 ( B) 6 ( C) 7 ( D) 8 40 假设在 turboc2.0采用

13、small模式编译如下程序 main() char a4=a, b; char *b=“abc“; printf(“%d,%d“,sizeof(A) ,sizeof(B) ); 其输出结果为 _。 ( A) 4,2 ( B) 4,4 ( C) 4,3 ( D) 2,2 41 有以下函数 char *fun(char*p) return p; 该函数的返回值是 _。 ( A)无确切的值 ( B)形参 p中存放的地址值 ( C)一个临时存储单元的地址 ( D)形参 p自身的地址值 42 有如下程序段: #include stdio.h #define Max(a,B) a b?a:b main()

14、 int a=5,b=6,c=4,d; d=c+Max(a,b); printf(“%d“, d); 其输出结果为_。 ( A) 10 ( B) 5 ( C) 6 ( D)编译错误 43 有如下程序段 int a=14,b=15,x; char c=A; x=(a 执行该程序段后, x的值为 _。 ( A)真 ( B)假 ( C) 0 ( D) 1 44 下述关于 C语言文件的操作的结论中,正确的是 _。 ( A)对文件操作必须先关闭文件 ( B)对文件操作必须先打开文件 ( C)对文件操作顺序无要求 ( D)对文件操作前必须先测文件是否存在,然后 再打开文件 45 下列关键字中,不属于 C语

15、言变量存储类别的是 _。 ( A) register ( B) auto ( C) extern ( D) public 46 有如下说明: int a10=1, 2, 3, 4, 5, 6, 7, 8, 9, 10, *p=a; 则数值为 9的表达式是 _。 ( A) *p+9 ( B) *(p+8) ( C) *p+=9 ( D) p+8 47 若有以下定义: int t32;,能正确表示 t数组元素地址的表达式是 _。 ( A) ( A) 5 ( B) 6 ( C) 7 ( D) 8 49 有如下程序: main() int a33=1, 2, 3, 4), 5, 6, i,j,s=0;

16、 for(i=1; i 3; i+) for(j=0; j =i; j+) s+=aij; printf(“%dn“,s); 该程序的输出结果是 _。 ( A) 18 ( B) 19 ( C) 20 ( D) 21 50 若已建立如下图所示的单向链表结构:在该链表结构中,指针 p、 s分别指向图中所示结点,则不能将 s所指的结点插入到链表末尾仍构成单向链表的语句组是 _。 ( A) p=p- next; s- next=p; p- next=s; ( B) p=p- next; s- next=p- next; p- next=s; ( C) s- next=NULL; p=p- next;

17、p- next=s; ( D) p=(*p).next; (*s).next=(*p).next; (*p).next=s; 51 在具有 n个单元、顺序存储的循环队列中,队满时,共有【 】个元素。 52 开发软件所需要的高成本和产品的低质量之间有着尖锐的矛盾,这种现象被人们称之为【 】。 53 数据模型是数据库系统中用于提供信息表示和操作手段的结构形式。实际数据库系统中所支持的数据模型主要有层次模型、网状模型和【 】 3种。 54 程序的运行结果为【 】。 main() int x, y, z; x=24; y=024; z=0x24; printf(“%d, %d, %dn“, x, y,

18、 z); 55 在线性表的顺序存储中,元素之间的逻辑关系是通过【 】决定的;在线性表的链接存储中,元素之间的逻辑关系是通过【 】决定的。 56 若输入 12、 3、 2、 5、 7,则以下程序的运行结果为【 】。 int max, min; void max_min_value(); main() int i, number5; printf(“输入 5个整数; n“); for(i=0; i 5; i+) scanf(“%d“, ,实参与形参的个数应相等,类型应一致,在调用函数时,不要指定其返回类型,对于返回类型为 void的函数,不能作为赋值表达式的组成部分,所以选 C。 26 【正确答案

19、】 C 【试题解析】 在循环过程中, i的值一直没有被改变,所以这是一个死循环。 27 【正确答案】 B 【试题解析】 在 C语言中,不可以在函数的参数声明列表中用一个类 型名指定多个参数。故选项 B是错误的。其正确的表示方式应为: int max(int x,int y) 或 int max(x,y) int x,y; 28 【正确答案】 B 【试题解析】 本题 x赋初值为 3,当执行 printf(“%d“,x-);时,由于 x-的作用是先运算 x,再将 x的值减 1,所以, printf输出的 x值为 3,等输出后, x的值减 1变为 2,继续执行,判断条件 !x为假,循环只被执行一次。

20、 29 【正确答案】 A 【试题解析】 转义字符常量 “xx可以把 后面的数字转换为对应的 ASCII字符。 30 【正确答案】 C 【试题解析】 指针变量是用来存放地址的。 后, p指向整数 a, *p即 p的目标变量,也就是 a;所以 a=*p+b等价于 a=a+b,可知 a的值最终为 11。 35 【正确答案】 B 【试题解析】 f函数的功能是返回地址为 x,y的两个数中值较的数的地址,本题输出结果是 7,8,7。 36 【正确答案】 B 【试题解析】 函数 fib内部有两个递归调用,当 n=3时, fib(n-1)返回 2, fib(n-2)也返回 2,所以 fib(n-1)+fib(

21、n-2)的值为 4。 37 【正确答案】 C 【试题解析】 字符串少一个结束标志,所以输出的结果不确定。 38 【正确答案】 A 【试题解析】 函数中变量的存储类别包括 auto, static, extern,其中 auto为隐含存储类别, static为静态存储类别, register是寄存器存储类别。 39 【正确答案】 B 【试题解析】 在 C语言中,宏定义在编译时将被直接替换,所以 NUM最后会被替换成 2*N+1+1,即 2*2+1+1,值为 6。因此, for循环执行的次数为 6。 40 【正确答案】 A 【试题解析】 用 small模式编译,指针变量占 2个字节。 sizeof

22、(array):数组名array代表数组本身, sizeof函数测出的是整个数组的大小。 a数组的大小为 4, b指针变量的大小为 2。 41 【正确答案】 B 【 试题解析】 p本身就是一个字符型指针变量,返回 p也就是返回变量 p中存放的地址值。 42 【正确答案】 B 【试题解析】 在 C语言中,宏定义是直接替换的,所以在 c+a b?a:b这个条件表达式中, c+a b为真,所以用 a的值作为整个表达式的值,而 a的值为 5,所以整个表达式的值为 5。 43 【正确答案】 D 【试题解析】 as的确已插到了链表的末尾,但它的 next却并没有为 NULL,而是指向了它的直接前趋 p,这

23、样它就不是一个单向链表 (单向链表最后一个结点的 next指针一定是一个NULL)。 51 【正确答案】 n-1 52 【正确答案】 软件危机 53 【正确答案】 关系模型 54 【正确答案】 24, 20, 36 55 【正确答案】 相邻位置 邻接指针 56 【正确答案】 max=12, min=2 57 【正确答案】 1, 1 3, 3 9, 9 58 【正确答案】 6, 2, 11, 34, 23, 21 59 【正确答案】 I HAVE A TEST 60 【正确答案】 1 3 4 12 23 12 is the 4th number 61 【正确答案】 unsigned int getbits() value&0100000 z= value+1

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