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

上传人:progressking105 文档编号:503184 上传时间:2018-11-29 格式:DOC 页数:22 大小:80.50KB
下载 相关 举报
[计算机类试卷]国家二级(C语言)机试模拟试卷5及答案与解析.doc_第1页
第1页 / 共22页
[计算机类试卷]国家二级(C语言)机试模拟试卷5及答案与解析.doc_第2页
第2页 / 共22页
[计算机类试卷]国家二级(C语言)机试模拟试卷5及答案与解析.doc_第3页
第3页 / 共22页
[计算机类试卷]国家二级(C语言)机试模拟试卷5及答案与解析.doc_第4页
第4页 / 共22页
[计算机类试卷]国家二级(C语言)机试模拟试卷5及答案与解析.doc_第5页
第5页 / 共22页
点击查看更多>>
资源描述

1、国家二级( C语言)机试模拟试卷 5及答案与解析 一、选择题 1 算法的有穷性是指( )。 ( A)算法程序的运行时间是有限的 ( B)算法程序所处理的数据量是有限的 ( C)算法程序的长度是有限的 ( D)算法只能被有限的用户使用 2 以下语句的输出结果是 printf(“%dn“, strlen(“t“065xffn“);( )。 ( A) 5 ( B) 8 ( C) 14 ( D)输出项不合法,无正常输出 3 对长度为 n的线性表排序,在最坏情况下,比较次数不是 n(n 1)/2的排序方 法是( )。 ( A)快速排序 ( B)冒泡排序 ( C)直接插入排序 ( D)堆排序 4 结构化程

2、序设计的基本原则不包括( )。 ( A)多态性 ( B)自顶向下 ( C)模块化 ( D)逐步求精 5 在面向对象方法中,不属于 “对象 “基本特点的是( )。 ( A)一致性 ( B)分类性 ( C)多态性 ( D)标识唯一性 6 程序流程图中带有箭头的线段表示的是( )。 ( A)图元关系 ( B)数据流 ( C)控制流 ( D)调用关系 7 软件设计中模块划分应遵循的准则是( )。 ( A) 低内聚低耦合 ( B)高内聚低耦合 ( C)低内聚高耦合 ( D)高内聚高耦合 8 在数据库设计中,将 E-R图转换成关系数据模型的过程属于( )。 ( A)需求分析阶段 ( B)概念设计阶段 (

3、C)逻辑设计阶段 ( D)物理设计阶段 9 有三个关系 R、 S和 R如下:由关系 R和 S通过运算得到关系 T,则所使用的运算为( )。 ( A)并 ( B)自然连接 ( C)笛卡尔积 ( D)交 10 设有表示学生选课的三张表,学生 S(学号,姓名,性别,年龄,身份证号 ),课程 C(课号,课名 ),选课 SC(学号,课 号,成绩 ),则表 SC的关键字(键或码)为( )。 ( A)课号,成绩 ( B)学号,成绩 ( C)学号,课号 ( D)学号,姓名,成绩 11 以下叙述中正确的是( )。 ( A)每个后缀为 .C的 C语言源程序都可以单独进行编译 ( B)每个后缀为 .C的 C语言源程

4、序都应该包含一个 main函数 ( C)在 C语言程序中, main函数必须放在其他函数的最前面 ( D)在 C语言程序中,只有 main函数才可单独进行编译 12 以下叙述中错误的是( )。 ( A) C语言中的每条可执行语句和非执行语句最终都将被转换成 二进制的机器指令 ( B) C程序经过编译、链接步骤之后才能形成一个真正可执行的二进制机器指令文件 ( C)用 C语言编写的程序称为源程序,它以 ASCII代码形式存放在一个文本文件中 ( D)语言源程序经编译后生成后缀为 .obj的目标程序 13 设有两行定义语句: int scanf; float case; 则以下叙述正确的是( )。

5、 ( A)第 2行语句不合法 ( B)两行定义语句都合法 ( C)第 1行语句不合法 ( D)两行定义语句都不合法 14 若有定义 int a, b, c; 以下选项中的赋 值语句正确的是( )。 ( A) a = (b = c) + 1; ( B) (a = b) = c = 1; ( C) a = (b = c) = 1; ( D) a + b = c; 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) s

6、in(2*3.14*r+30*3.14/360.0) 16 关于 C语言的变量名,以下叙 述正确的是( )。 ( A)变量名不可以与关键字同名 ( B)变量名不可以与预定义标识符同名 ( C)变量名必须以字母开头 ( D)变量名是没有长度限制的 17 设有定义: double x=2.12;,以下不能完整输出变量 x值的语句是( )。 ( A) printf(“x=%5.0fn“,x); ( B) printf(“x=%fn“,x); ( C) printf(“x=%lfn“,x); ( D) printf(“x=%0.5fn“,x); 18 设有定义: int a,b; float x,y;

7、 ,则以下选项中对语句所作的注释叙述错误的是( )。 ( A) scanf(“%d%d%f“, /* 多余的格式符 %f完全不起作用 */ ( B) scanf(“%d%d“, /* 多余的输入项不能获得输入数据 */ ( C) scanf(“%d%f%d“, /* 输入项与格式符类型不匹配,变量 b和 x得不到正确的输入数据 */ ( D) scanf(“Input:%d%d“, /* 格式串中允许加入格式符以外的字符串 */ 19 若有定义 int x,y; 并已正确给变量赋值,则以下选项中与表达式 (x-y)?(x+) : (y+)中的条件表达式 (x-y) 等价的是( )。 ( A)

8、(x-y0) ( B) (x-y0) ( D) (x-y=0) 20 以下选项中与 if(a=1)a=b; else a+; 语句功能不同的 switch语句是( )。 ( A) switch(a=1) case 0:a=b;break; case 1:a+; ( B) switch(a) case 1:a=b;break; default : a+; ( C) switch(a) default:a+;break; case 1:a=b; ( D) switch(a=1) case 1:a=b;break; case 0:a+; 21 以下程序段中的变量已正确定义 for( i=0; i m

9、ain() int s12=1,2,3,4,4,3,2,1,1,1,2,3,c5=0,i; for(i=0; i int m1(int x,int y) return x main() int findmax(int,int,int),m; m=findmax(a,b,c); int findmax(int x,int y,int z) 则以下叙述正确的是( )。 ( A)在 main函数中声明了 findmax函数 ( B)在 main函数中定义了 findmax函数 ( C)在 main函数中两次调用了 findmax 函数 ( D)在 main函数内、外重复定义了 findmax函数 3

10、2 有以下程序 #include 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) 9824 ( C) 4528 ( D) 6938 33 设有定义: int x=0, *p; 紧接着的赋值语句正确的是( )。 ( A) p=NULL; ( B) *p=NULL; ( C) p=x; ( D) *p=x; 34 以下叙述中错误的是( )。 ( A)可以给指针变量赋一个整数作

11、为地址值 ( B)函数可以返回地址值 ( C)改变函数形参的值,不会改变对应实参的值 ( D)当在程序的开头包含头文件 stdio.h时,可以给指针变量赋 NULL 35 有以下函数 int fun(char *x, char *y) int n=0; while ( (*x=*y) y+; n+; return n ; 函数的功能是( )。 ( A)统计 x和 y所指字符串中最前面连续相同的字符个数 ( B)查找 x和 y所指字符串中是否有 0 ( C)将 y所指字符串赋给 x所指存储空间 ( D)统计 x和 y所指字符串中相同的字符个数 36 以下叙述中正确的是( )。 ( A)在 C语言

12、中,预处理命令行都以 “#“开头 ( B)预处理命令行必须位于 C源程序的起始位置 ( C) #include 必须放在 C程序的开头 ( D) C语言的预处理不能实现宏定义和条件编译的功能 37 有以下程序 #include #define PT 3.5 ; #define S(x) PT*x*x ; main() 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 i

13、nt 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 有以下程序 #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“,

14、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 ( B) 16 ( C) 32 ( D) 0 二、程序填空题 41 下列给定程序中,函数 fun的功能是:在形参 88所指字符串数组中查找与形参t所指字符串相同的串,找到后返回该串在字符串数组中的位置 (即下标值 ),若未找到则返回一 1。 ss所指字符串数组中共有 N个内容不同的

15、字符串,且串长小于M. 请在下划线处填人正确的内容并将下划线删除,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也 不得更改程序的结构 ! 试题程序: #include #include #define N 5 #deftne M 8 intfun(char(*ss)M, char*t) int i; /*found*/ for(i=0; i【 1】; i+) /*found*/ if(strcmp(ssi, t)=0) return【 2】; return(-1); main() char chNM=“if“,“while“,“switch“,“int“,“for”,t

16、M; int n,j; printf(“nThe original stringnn”); for(i=0; i void fun(char*a, int n) main() char s81; int n; printf(“Enter a string: n”); gets(s); printf(“Enter n: ”); scanf(“ d”, case为关键字,不能作为用户标识符,故而答案选 A)。 14 【正确答案】 A 15 【正确答案】 A 【试题解析】 考查算术表达式的写法, C中没有 ,需要用数值 3.14代替, C中sin 函数的参数为弧度,角度 30转成弧度应为 3.14*

17、30/180。故而选 A)。 16 【正确答案】 A 17 【正确答案】 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 【正确答案】 A 36 【正 确答案】 A 37 【正确答案】 A 38 【正确答案】 A 39 【正确答案

18、】 A 40 【正确答案】 A 二、程序填空题 41 【正确答案】 (1)N (2)i (3)一 1 【试题解析】 填空 1: ss中有 N个字符串,所以 i的取值范围是 0N。 填空 2:如果 ss所指字符串数组中存在与 t所指字符串相同的字符串,则返回其下标值,即 return i:。 填空 3:未找到相同字符串时的返回值为一 1,所以填入一 1。 三、程序修改题 42 【正确答案】 (1)double r; (2)while(fabs(nm)0 001) 【试题解析】 (1)程序中有 r=(m+n) 2, m=r和 n=r,而 m和 n 都是 double型的,所以定义变量 r为 double型。 (2)题目要求绝对误差不超过 0 001,所以循环条件应为 fabs(n m)0 001。 四、程序设计题 43 【正确答案】 void fun(char*a, int n) int i=0, k=0; char*P, *t; p=t=a; while(*t) t+; t-; while(*t=*) k+; t-; if(kn) while(*p 【试题解析】 通过 while循环统计字符串尾部木号的个数,然后通过 if语句比较尾部 *号数是否多于 n个,若大于则保留 n 个 *号和其余字符。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

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