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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、国家二级( C语言)机试模拟试卷 4及答案与解析 一、选择题 1 算法的有穷性是指( )。 ( A)算法程序的运行时间是有限的 ( B)算法程序所处理的数据量是有限的 ( C)算法程序的长度是有限的 ( D)算法只能被有限的用户使用 2 对长度为 n的线性表排序,在最坏情况下,比较次数不是 n(n 1)/2的排序方法是( )。 ( A)快速排序 ( B)冒泡排序 ( C)直接插入排序 ( D)堆排序 3 设数据元素的集合 D= 1,2,3,4,5 ,则满足下列关系 R的数据结构中为线性结构的是( )。 ( A) R= (1,2), (3,4), (5,1) ( B) R= (1,3), (4,

2、1), (3,2), (5,4) ( C) R= (1,2), (2,3), (4,5) ( D) R= (1,3), (2,4), (3,5) 4 结构化程序设计的基本原则不包括( )。 ( A)多态性 ( B)自顶向下 ( C)模块化 ( D)逐步求精 5 在面向对象方法中,不属于 “对象 “基本特点的是( )。 ( A)一致性 ( B)分类性 ( C)多态性 ( D)标识唯一性 6 程 序流程图中带有箭头的线段表示的是( )。 ( A)图元关系 ( B)数据流 ( C)控制流 ( D)调用关系 7 构成计算机软件的是( )。 ( A)源代码 ( B)程序和数据 ( C)程序和文档 ( D

3、)程序、数据及相关文档 8 在数据库设计中,将 E-R图转换成关系数据模型的过程属于( )。 ( A)需求分析阶段 ( B)概念设计阶段 ( C)逻辑设计阶段 ( D)物理设计阶段 9 有三个关系 R、 S和 T如下由关系 R和 S通过运算得到关系 T,则所使用的运算为( )。 ( A)并 ( B)自然连接 ( C)笛卡尔积 ( D)交 10 设有表示学生选课的三张表,学生 S(学号,姓名,性别,年龄,身份证号 ),课程 C(课号,课名 ),选课 SC(学号,课号,成绩 ),则表 SC的关键字(键或码)为( )。 ( A)课号,成绩 ( B)学号,成绩 ( C)学号,课号 ( D)学号,姓名,

4、成绩 11 以下叙述中错误的是( )。 ( A) C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令 ( B) C程序经过编译、链接步骤之后才能形成一个真正可执行的二进制机器指令文件 ( C)用 C语言编写的程序称为 源程序,它以 ASCII代码形式存放在一个文本文件中 ( D)语言源程序经编译后生成后缀为 .obj的目标程序 12 下列叙述中错误的是( )。 ( A)一个 C语言程序只能实现一种算法 ( B) C程序可以由多个程序文件组成 ( C) C程序可以由一个或多个函数组成 ( D)一个 C函数可以单独作为一个 C程序文件存在 13 设有两行定义语句: int sca

5、nf; float case; 则以下叙述正确的是( )。 ( A)第 2行语句不合法 ( B)两行定义语句都合法 ( C)第 1行语句不合法 ( D)两行 定义语句都不合法 14 以下选项中,合法的一组 C语言数值常量是( )。 ( A) 12. 0Xa23 4.5e0 ( B) 028 .5e-3 -0xf ( C) .177 4e1.5 0abc ( D) 0x8A 10,000 3.e5 15 有以下程序 #include main() int x=010, y=10; printf(“%d,%dn“, +x, y-); 程序运行后的输出结果是( )。 ( A) 9,10 ( B) 1

6、1,10 ( C) 010,9 ( D) 10,9 16 以下能正确表述算式 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) 17 设有定义: char s81; int i=0; 以下不能将一行(不超过 80个字符)带有空格的字符串正确读入的语句或语句组是( )。 ( A) scanf(“%s“,s); ( B) while(si+=getchar()!=n);si=0; (

7、C) gets(s); ( D) do scanf(“%c“, while(si+!=n); si=0; 18 以下语句的输出结果是 printf(“%dn“, strlen(“t“065xffn“);( )。 ( A) 5 ( B) 8 ( C) 14 ( D)输出项不合法,无正常输出 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 = (

8、 a=A for( ; y0; y-) if(y%3=0) printf(“%d“, -y); 程序的运行结果是( )。 ( A) 852 ( B) 963 ( C) 741 ( D) 875421 22 关于 “while(条件表达式 )循环体 “,以下叙述正确的是( )。 ( A)条件表达式的执行次数总是比循环体的执行次数多一次 ( B)循环体的执行次数总是比条件表达式的执行次数多一次 ( C)条件表达式的执行次数与循环体的执行次数一样 ( D)条件表达式 的执行次数与循环体的执行次数无关 23 若变量已正确定义 for( x=0,y=0; ( y!=99 char *pm=mm; int

9、 i; for(i=0; i int * sum(int data) static int init = 0; init += data; return main() int i, *p; for (i=1; i void fun( int x, int y, int *c, int *d ) *c = x+y; *d = x-y; main() int a=4, b=3, c=0, d=0; fun ( a, b, printf( “%d %dn“ , c, d ); 程序的输出结果是( )。 ( A) 7 1 ( B) 4 3 ( C) 3 4 ( D) 0 0 32 若有说明和语句: c

10、har str=“Hello“, *p; p=str;,则此时 *(p+5)中的值为( )。 ( A) 0 ( B) o ( C) o的地址 ( D)不确定的值 33 设有定义: int x=0, *p; 紧接着的赋值语句正确的是( )。 ( A) p=NULL; ( B) *p=NULL; ( C) p=x; ( D) *p=x; 34 有以下程序 #include void fun(int *s, int n1, int n2) int i, j, t; i=n1; j=n2; while( i main() char c25=“6938“,“8254“ , *p2; int i, j,

11、s=0; for( i=0; i0 ; j+=2 ) s=10*s+pij-0; printf(“%dn“,s); 程序运行后的输出结果是( )。 ( A) 6385 ( B) 9824 ( C) 4528 ( D) 6938 36 以下叙述中正确的是( )。 ( A)在 C语言中,预处理命令行都以 “#“开头 ( B)预处理命令行必须位于 C源程序的起始位置 ( C) #include 必须放在 C程序的开头 ( D) C语言的预处理不能实现宏定义和条件编译的功能 37 有以下程序 #include #define PT 3.5 ; #define S(x) PT*x*x ; main()

12、int a=1, b=2; printf(“%4.1fn“ , S(a+b); 程序运行后的输出结果是( )。 ( A)程序有 错无输出结果 ( B) 31.5 ( C) 7.5 ( D) 14.0 38 下面结构体的定义语句中,错误的是( )。 ( A) struct ord int x;int y;int z; struct 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 有以下

13、程序 #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); 程序运行后的输出结果是( )。 ( 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

14、( B) 16 ( C) 32 ( D) 0 二、程序填空题 41 给定程序中,函数 fun的功能是:求出形参 ss所指字符串数组中最长字符串的长度,其余字符串左边用字符 *补齐,使其与最长的字符串等长。字符串数组中共有 M个字符串,且串长小于 N。 请在程序的下划线处填人正确的内容并把下划线删除,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构 ! 试题程序: #include #include #define M 5 #define N 20 void fun(char(*ss)N) int i, j, k=O, n, m, len; for (i=

15、0: in) /*found*/ n=len;【 1】 =i; for(i=0; i=0 j-) ss【 i】【 m】 =ssij; for(j=0; j int fun(int*b) int k, a1, a2, i=0; for(k=10; k void fun(char*a,char*h,char*P) main() char s 81, *t, *f; prinff(“Entera string: n”); gets(s); t=f=s; while(*t) t+; t-; while(*t=*) t-; while(*f=*) f+; fun(s, f,t); prinff(“The

16、 string after deleted: n”); puts(s); 国家二级( C语言)机试模拟试卷 4答案与解析 一、选择题 1 【正确答案】 A 【试题解析】 算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。有穷性是指算法程序的运行时间是有限的。 2 【正确答案】 D 【试题解析】 在最坏的情况下,堆排序需要比较的次数为 O(nlog2n),所以选择D. 3 【正确答案】 B 【试题解析】 关系 R中的每个结点由两个部分构成,分别是数据域和指针域。选项 B)中可以看出,元素序列为 5 4132 ,符合线性结构的条件。选项A)、选项 C)和选项 D)中分别有两个根结点

17、,不符合线性结构的条件。所以答案选 B)。 4 【正确答案】 A 【试题解析】 结构化程序设计的思想包括:自顶向下、逐步求精、模块化、限制使用 goto语句,所以选择 A)。 5 【正确答案】 A 【试题解析】 对象有如下一些基本特点:标识唯一性、分类性、多态性、封装性、模块独立性好。所以选择 A)。 6 【正确答案】 C 【试题解析】 在数据流图中,用标有名字的箭头表示数据流。在程序流程图中,用标有名字 的箭头表示控制流。所以选择 C. 7 【正确答案】 D 【试题解析】 计算机软件的定义为:与计算机系统的操作有关的计算机程序、规程、规则,以及可能有的文件、文档及数据。答案选 D 8 【正确

18、答案】 C 【试题解析】 E R图转换成关系模型数据则是把图形分析出来的联系反映到数据库中,即设计出表,所以属于辑设计阶段。 9 【正确答案】 D 【试题解析】 自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉,所以 B)错误。笛卡尔积 是用 R集合中元素为第一元素, S集合中元素为第二元素构成的有序对,所以 C)错误。根据关系 T可以很明显的看出是从关系 R与关系 S中取得相同的关系组所以取得是交运算,选择 D)。 10 【正确答案】 C 【试题解析】 学号是学生表 S的主键,课号是课程表 C的主键,所以选课表 SC的关键字就应该

19、是与前两个表能够直接联系且能唯一定义的学号和课号,所以选择 C 11 【正确答案】 A 【试题解析】 C语言程序编译时将每条可执行语句转换为二进制的机器指令,但非执行语句 (如注释语句 )不被编译。所以选项 A)错误。 12 【正确答案】 A 【试题解析】 一个 C程序可以有一个或多个程序文件,也可以有一个或多个函数,所以一个 C语言程序可以实现多种算法,答案选 A 13 【正确答案】 A 【试题解析】 本题考查用户标识符,用户自己定义的标识符不能与关键字相同,并且尽量避免和预定义标识符相同。本题中 scanf为预定义标识符,可以作为用户标识符 ;case为关键字,不能作为用户标识符,故而答案

20、选 A 14 【正确答案】 A 【试题解析】 考查整型常量、实型常量。选项 B)的 “028“错,以 0开头表示为八进制 整常数,不能出现数字 8;选项 C)的 “4e1.5“错, e后面应为整数, “0abc“错,八进制整常数只能由 07构成;选项 D)的 “10,000“错, C语言没有千分号,所以答案选 A)。 15 【正确答案】 A 【试题解析】 八进制整常数以数字 “0“作为前缀,格式控制符为 “%d“表示按照十进制输出,而且自加自减运算中, +x和 -x都是先计算后使用该变量,而 x+和 x-是先使用该变量再计算,所以在输出的时候输出的是 x自加 1之后的十进制数字,即 9,还有

21、y自减之前的十进制数字,即 10,所以答案选 A 16 【正确答案】 A 【试题解析】 考查算术表达式的写法, C中没有 ,需要用数值 3.14代替, C中sin函数的参数为弧度,角度 30转成弧度应为 3.14*30/180。故而选 A 17 【正确答案】 A 【试题解析】 函数 scanf()输入字符串时默认空格为间隔符,所以不能输入空格,答案选 A 18 【正确答案】 A 【试题解析】 字符串 “t“065xffn“中共有五个转义字符,分别是 t、 “ 、 065、 xff、 n,各代表一个字符, strlen()计 算的是字符串的实际长度(不包含结束标识符),所以输出结果为 5,答案选

22、 A)。 19 【正确答案】 A 【试题解析】 考查条件表达式。条件表达式的形式为: 表达式 1 ? 表达式 2 : 表达式 3 ,计算 “表达式 1“的值,若为 “真 “,取 “表达式 2“的值作为整个条件表达式的值;若为 “假 “,取 “表达式 3“的值作为整个条件表达式的值。本程序中要选能判定 (x-y)为 “真 “的语句,即 x! =y,或者 (x-y 0),选 A)。 20 【正确答案】 A 【试题解析】 考查条件运算符。条件表达式的 形式为: 表达式 1 ? 表达式 2 : 表达式 3 ,计算 “表达式 1“的值,若为 “真 “,取 “表达式 2“的值作为整个条件表达式的值;若为

23、“假 “,取 “表达式 3“的值作为整个条件表达式的值。字符参与运算时一般计算其 ASCII码,并且一个字母的小写 -大写 =32( ASCII码),该程序将大写字母转成对应的小写字母,答案选 A)。 21 【正确答案】 A 【试题解析】 该程序的运行过程是 y从 9开始自减,每次判定 y是否能被 3整除,若是,则输出 -y后的值,能被 3整除的 y值分别为 9、 6、 3,所以答案选A)。 22 【正确答案】 A 【试题解析】 考查 while循环的执行过程。先计算括号内表达式的值,若不为0,则执行循环体语句,若为 0则跳出 while循环,所以条件表达式的执行次数总是比循环体的执行次数多一

24、次,答案选 A)。 23 【正确答案】 A 【试题解析】 for语句的一般形式为 “for(表达式 1; 表达式 2; 表达式 3 ) 循环体语句 “,其执行流程是先计算表达式 1,之后计算表达式 2,根据表达式 2的值来判定是否进行循环,若为真,则执行循环体,循环体执行完毕之后再计算表达式 3的值。该循环的循环条件是 ( y!=99 “,所以该程序会出现编译错误,答案选 A)。 38 【正确答案】 A 【试题解析】 分号代表该结构体定义语句的结束,选项 A)的结构体没有定义完全就用该结构体另外定义 变量,用法有误,所以答案选 A)。 39 【正确答案】 A 【试题解析】 考查结构体变量作为函

25、数实参整体传递,也是一种值传参,形参的变化不能影响到实参,所以调用函数 f(a)对 a中的数据没有影响,输出结果为1,2,答案选 A)。 40 【正确答案】 A 【试题解析】 字符常量与其 ASCII码值一一对应,在计算的时候,可以使用该字符的 ASCII码参与运算,输出时会根据格式控制符输出对应的字符或者 ASCII码。右移运算符 “的运算规则是把左边运算数的各二进制位全部右移 n位, n取决于 “右边 的数值。字符 a的 ASCII码值为 8,对应二进制为 1000,所以a3=1,输出的字符 c的 ASCII码值为 1,答案选 A)。 二、程序填空题 41 【正确答案】 (1)k(2)le

26、n(3)ssij 【试题解析】 填空 1:变量 k存放最长的字符串的位置,所以应填 k。 填空 2:原字符串利用 for循环移至最右边存放,原字符串长度为 len,所以应填len。 填空 3:字符串左边用字符 *补齐,所以应填 ssij。 三、程序修改题 42 【正确答案】 (1)a2=k 10: (2)return(i); 【试题解析】 (1)a2存放十位数,所以 a2=k 10,其中 0书写错误。 (2)要返回满足条件的个数,即数组 b的元素个数,所以返回的是 i。 四、程序设计题 43 【正确答案】 void fun(char*a, char*h, char*P) int i=0; char*q=a; while(qh) ai=*q; q+; i+; while(qp) if(*q!=*) ai=*q; i+;

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