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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、国家二级( C语言)机试模拟试卷 8及答案与解析 一、选择题 1 下列叙述中正确的是( )。 ( A)一个算法的空间复杂度大,则其时间复杂度也必定大 ( B)一个算法的空间复杂度大,则其时间复杂度必定小 ( C)一个算法的时间复杂度大,则其空间复杂度必定小 ( D)算法的时间复杂度与空间复杂度没有直接关系 2 算法的有穷性是指( )。 ( A)算法程序的运行时间是有限的 ( B)算法程序所处理的数据量是有限的 ( C)算法程序的长度是有限的 ( D)算法只能被有限的用户使用 3 对长度为 n的线性表 排序,在最坏情况下,比较次数不是 n(n 1)/2的排序方法是( )。 ( A)快速排序 (

2、B)冒泡排序 ( C)直接插入排序 ( D)堆排序 4 结构化程序设计的基本原则不包括( )。 ( A)多态性 ( B)自顶向下 ( C)模块化 ( D)逐步求精 5 在面向对象方法中,不属于 “对象 “基本特点的是( )。 ( A)一致性 ( B)分类性 ( C)多态性 ( D)标识唯一性 6 程序流程图中带有箭头的线段表示的是( )。 ( A)图元关系 ( B)数据流 ( C)控制流 ( D)调用关系 7 软件设计中模块划分应遵循的准则是( )。 ( A)低内聚低耦合 ( B)高内聚低耦合 ( C)低内聚高耦合 ( D)高内聚高耦合 8 数据库应用系统中的核心问题是( )。 ( A)数据库

3、设计 ( B)数据库系统设计 ( C)数据库维护 ( D)数据库管理员培训 9 在数据库设计中,将 E-R图转换成关系数据模型的过程属于( )。 ( A)需求分析阶段 ( B)概念设计阶段 ( C)逻辑设计阶段 ( D)物理设计阶段 10 有三个关系 R、 S和 R如下:由关系 R和 S通过运算得到关系 T,则所使用的运 算为( )。 ( A)并 ( B)自然连接 ( C)笛卡尔积 ( D)交 11 以下叙述中正确的是( )。 ( A)实用的 C语言源程序总是由一个或多个函数组成 ( B)用户自己定义的函数只能调用库函数 ( C)不同函数的形式参数不能使用相同名称的标识符 ( D)在 C语言的

4、函数内部,可以定义局部嵌套函数 12 以下叙述中错误的是( )。 ( A) C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令 ( B) C程序经过编译、链接步骤之后才能形成一个真正可执行的二进制机器指令文件 ( C) 用 C语言编写的程序称为源程序,它以 ASCII代码形式存放在一个文本文件中 ( D)语言源程序经编译后生成后缀为 .obj的目标程序 13 有以下程序 #include main() char c1,c2; c1=A+8-4; c2=A+8-5; printf( “%c,%dn“,c1,c2); 已知字母 A的 ASCII码为 65,程序运行后的输出结果是(

5、 )。 ( A) E,68 ( B) D,69 ( C) E,D ( D)输出无定值 14 设有两行定义 语句: int scanf; float case; 则以下叙述正确的是( )。 ( A)第 2行语句不合法 ( B)两行定义语句都合法 ( C)第 1行语句不合法 ( D)两行定义语句都不合法 15 以下能正确表述算式 sin(2r+30)的 C语言表达式是( )。 ( A) sin(2*3.14*r+3.14*30/180.0) ( B) sin(2*r+ 30 ) ( C) sin(2*3.14*r+ 30 ) ( D) sin(2*3.14*r+30*3.14/360.0) 16

6、以下选项中,合法 的一组 C语言数值常量是( )。 ( A) 12. 0Xa23 4.5e0 ( B) 028 .5e-3 -0xf ( C) .177 4e1.5 0abc ( D) 0x8A 10,000 3.e5 17 设有定义: char s81; int i=0; 以下不能将一行(不超过 80个字符)带有空格的字符串正确读入的语句或语句组是( )。 ( A) scanf(“%s“,s); ( B) while(si+=getchar()!=n);si=0; ( C) gets(s); ( D) do scanf(“%c“, while(si+!=n); si=0; 18 以下能正确输

7、出字符 a 的语句是( )。 ( A) printf(“%s“, “a“); ( B) printf(“%s“, a); ( C) printf(“%c“, “a“); ( D) printf(“%d“, a); 19 若有定义 int x,y; 并已正确给变量赋值,则以下选项中与表达式 (x-y)?(x+) : (y+)中的条件表达式 (x-y) 等价的是( )。 ( A) (x-y0) ( B) (x-y0) ( D) (x-y=0) 20 有以下程序 #include main() char a=H; a = ( a=A char a=A, b=B; void fun1() a=C; b

8、=D; main() fun1( ); printf(“%c %c “,a,b); fun2(E, F); 程序的运行结果是( )。 ( A) C D E F ( B) A B E F ( C) A B C D ( D) C D A B 30 有以下程序 #include int m1(int x,int y) return x main() char c25=“6938“,“8254“ , *p2; int i, j, s=0; for( i=0; i0 ; j+=2 ) s=10*s+pij-0; printf(“%dn“,s); 程序运行后的输出结果是( )。 ( A) 6385 ( B

9、) 9824 ( C) 4528 ( D) 6938 33 设有定义: int x=0, *p; 紧接着的赋值语句正确的是( )。 ( A) p=NULL; ( B) *p=NULL; ( C) p=x; ( D) *p=x; 34 有以下程序 #include void fun(char *p) +p; printf(“%sn“,*p); main() char *a = “Morning“, “Afternoon“, “Evening“, “Night“; fun(a); 程序的运行结果是( )。 ( A) Afternoon ( B) fternoon ( C) Morning ( D)

10、 orning 35 有以下程序 #include #include void fun( double *p1,double *p2,double *s) s = (double *)calloc( 1,sizeof(double) ); *s = *p1 + *( p2+1 ); main() double a2 = 1.1, 2.2 , b2 = 10.0, 20.0 , *s=a; fun( a, b, s ); printf( “%5.2fn“, *s); 程序的输出结果是( )。 ( A) 1.10 ( B) 11.10 ( C) 12.10 ( D) 21.10 36 若要使用 C

11、数学库中的 sin函数,需要在源程序的头部加上 #include 关于引用数学库,以下叙述正确的是( )。 ( A)通过引用 math.h文件,说明 sin函数的参数个数和类型,以及函数返回值类型 ( B)将数学库中 sin函数链接到编译生成的可执行文件中,以便能正确运行 ( C)将数学库中 sin函数的源程序插入到引用处,以便进行编译链接 ( D)实际上,不引用 math.h文件也能正确调用 sin函数 37 设有宏定义: #define IsDIV(k,n) ( ( k%n=1) ? 1 : 0) 且变量 m已正确定义并赋值,则宏调用: IsDIV(m,5) int y;int z; st

12、ruct ord a; ( B) struct ord int x;int y;int z; struct ord a; ( C) struct ord int x;int y;int z; a; ( D) struct int x;int y;int z; a; 39 有以下程序 #include typedef struct int b, p; A; void f(A c) /* 注意: c是结构变量名 */ int j; c.b += 1; c.p+=2; main() int i; A a=1,2; f(a); printf(“%d,%dn“, a.b, a.p); 程序运行后的输出结

13、果是( )。 ( A) 1,2 ( B) 2,4 ( C) 1,4 ( D) 2,3 40 有以下程序 #include main() unsigned char a=8, c; c = a3; printf(“%dn“, c); 程序运行后的输出结果是( )。 ( A) 1 ( B) 16 ( C) 32 ( D) 0 二、程序填空题 41 给定程序中,函数 fun的功能是:判定形参 a所指的 NN(规定 N为奇数 )的矩阵是否是 “幻方 ”,若是,则函数返回值为 1; 若不是,则函数返回值为 0。 “幻方 ”的判定条件是:矩阵每行、每列、主对角线及反对角线上元素之和都相等。 例如,以下 3

14、3的矩阵就是一个 “幻方 ”: 4 9 2 3 5 7 8 1 6 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构 ! 试题程序: #include #define N 3 int fun(int(*a)N) int i,j, m1, m2, low, eolum; m1=m2=0; for(i=0; i #include char*fun(char*s, char*t) char*p, *r,*a; /*found*/ a=Null; while(*s) p=s; r=t; while(*r) /*fo

15、und*/ if(r=p)r+;p+; else break; if(*r= 0)a=s; S+: return a; void main() char s100, t100,*p; printf(“nPlease enter string S: “) scanf(“ s“, s); printf(“nPlease enter substring t: “); scanf(“ s”,t); p=-fun(s, t); if(p) pfintf(“nThe result is: sn“,p); else pfintf(“nNotfound!n“); 四、程序设计题 43 编写函数 fun,其功能

16、是:删除一个字符串中指定下标的字符。其中, a指向原字符串,删除指定字符后的字符串存放在 b所指的数组中, n放指定的下标。 例如,输入一个字符串 “wodd”,然后输入 3,则调用该函数后的结果为 “word”。 注意;部分源程序给出如下。 请勿改动主函数 main和其他函数中的任何内容,仅在函数 fun的花括 号中填入你编写的若干语句。 试题程序: #include #include #define LEN 20 void fun(char a, ehar b, int n) void main() char strlLEN, str2LEN; int n: printf(“Enterth

17、e strlng: n”); gets(str1) printf(“Enter the position of the string deleted: ”); scanf(“ d”, n); fun(str1, str2, n); printf(“The new string is: s、 n”,str2); 国家二级( C语言)机试模拟试卷 8答案与解析 一、选择题 1 【正确答案】 D 2 【正确答案】 A 3 【正确答案】 D 【试题解析】 在最坏的情况下,堆排序需要比较的次数为 O(nlog2n),所以选择D)。 4 【正确答案】 A 【试题解析】 结构化程序设计的思想包括:自顶 向下

18、、逐步求精、模块化、限制使用 goto语句,所以选择 A)。 5 【正确答案】 A 6 【正确答案】 C 【试题解析】 在数据流图中,用标有名字的箭头表示数据流。在程序流程图中,用标有名字的箭头表示控制流。所以选择 C)。 7 【正确答案】 C 【试题解析】 软件设计中,模块划分应遵循高内聚低耦合的准则,答案选 C)。 8 【正确答案】 A 9 【正确答案】 C 【试题解析】 E R图转换成关系模型数据则是把图形分析出来的联系反映到数据库中,即设计出表,所以属于辑设计阶段。 10 【正确答案】 D 【试题解析】 自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并

19、且在结果中把重复的属性列去掉,所以 B)错误。笛卡尔积是用 R集合中元素为第一元素, S集合中元素为第二元素构成的有序对,所以 C)错误。根据关系 T可以很明显的看出是从关系 R与关系 S中取得相同的关系组所以取得是交运算,选择 D)。 11 【正确答案】 A 【试题解析】 一个 C程序可以有一个或多个程序文件,所以也可以有一个或多个函数,选项 A)正确;除了 main函数不能被其他函数调 用之外,用户自定义函数可以调用其他任意函数,选项 B)错误;函数是一个独立的模块,不同函数之间的定义相互没有影响,所以标识符可以相同,选项 C)错误;函数体内部只可以调用但是不可以定义其他函数,选项 D)错

20、误;答案选 A)。 12 【正确答案】 A 【试题解析】 C语言程序编译时将每条可执行语句转换为二进制的机器指令,但非执行语句 (如注释语句 )不被编译。所以选项 A)错误。 13 【正确答案】 A 14 【正确答案】 A 【试题解析】 本题考查用户标识符,用户自己定义的标识符不能与关键字相同,并且尽量避免和预定义标识符相同。本题中 scanf为预定义标识符,可以作为用户标识符 ;case为关键字,不能作为用户标识符,故而答案选 A)。 15 【正确答案】 A 【试题解析】 考查算术表达式的写法, C中没有 ,需要用数值 3.14代替, C中sin函数的参数为弧度,角度 30转成弧度应为 3.

21、14*30/180。故而选 A)。 16 【正确答案】 A 17 【正确答案】 A 【试题解析】 函数 scanf()输入字符串时默认空格为间隔符,所以不能输入空格,答案选 A)。 18 【正确答案】 A 19 【正确答案】 A 20 【正确答案】 A 21 【正确答案】 A 22 【正确答案】 A 23 【正确答案】 A 24 【正确答案】 A 25 【正确答案】 A 26 【正确答案】 A 27 【正确答案】 A 28 【正确答案】 A 29 【正确答案】 A 30 【正确答案】 A 31 【正确答案】 A 32 【正确答案】 A 33 【正确答案】 A 34 【正确答案】 A 35 【正

22、确答案】 A 36 【正确答案】 A 37 【正确答案】 A 38 【正确答案】 A 39 【正确答案】 A 40 【正确答案】 A 二、程序填空题 41 【正确答案】 (1)0 (2)| (3)1 【试题解析】 填空 1:变量 row存放每行的总和,变量 colum存放每列的总和,应给 row、 colum赋初值为 0,因此应该填 0。 填空 2: if判断每行的总和是否与列的总和相等、每行的总和与对角线的总和是否相等,两个条件若有一个不满足,即返回 0,因此应该填写 |. 填空 3:矩阵是 “幻方 ”函数 返回 1,因此应该填写 1。 三、程序修改题 42 【正确答案】 (1)a=NULL

23、; (2)if(*r=*P) 【试题解析】 (1)指针指向空值的关键字应为 NULL。 (2)指针变量 r和 P指向两个字符串中的字符, r和 P所指向的字符相同,则指针后移指向下一个字符,故应为 if(*r=*p)。 四、程序设计题 43 【正确答案】 void fun(char a, char b, int n) int i, k=0; for(i=0;ai!= 0; i+) if(i!=n) *将不是指定下标的字符存人数组 b中 * bk+=ai; bk= 0; /*在字符串最后加上结束标识符 * 【试题解析】 根据题意要删除字符串中指定下标的字符,也就是保留非指定下标的字符,所以 if语句为 if(i!=n),在字符串末尾加上字符串结束标识符 0。

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