[计算机类试卷]国家二级(C语言)机试历年真题试卷汇编17及答案与解析.doc
《[计算机类试卷]国家二级(C语言)机试历年真题试卷汇编17及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)机试历年真题试卷汇编17及答案与解析.doc(28页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)机试历年真题试卷汇编 17及答案与解析 一、选择题 1 下列叙述中正确的是 ( )。 ( A)循环队列有队头和队尾两个指针,因此,循环队列是非线性结构 ( B)在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况 ( C)在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况 ( D)循环队列中元素的个数是由队头指针和队尾指针共同决定的 2 下列各序列中不是堆的是 ( )。 ( A) (91, 85, 53, 36, 47, 30, 24, 12) ( B) (91, 85, 53, 47, 36, 30, 24, 12) ( C) (47, 91, 53,
2、85, 30, 12, 24, 36) ( D) (91, 85, 53, 47, 30, 12, 24, 36) 3 设循环队列为 Q(1: m),其初始状态为 front=rear=m。经过一系列入队与退队运算后, front=15, rear=20。现要在该循环队列中寻找最大值的元素,最坏情况下需要比较的次数为 ( )。 ( A) 4 ( B) 6 ( C) m一 5 ( D) m一 6 4 定义无符号整数类为 UInt,下面可以作为类 UInt实例化值的是 ( )。 ( A)一 369 ( B) 369 ( C) 0 369 ( D)整数集合 1, 2, 3, 4, 5 5 一个栈的初
3、始状态为空。现将元素 1、 2、 3、 4、 5、 A、 B、 C、 D、 E依次入栈,然后再依次出栈,则元素出栈顺序是 ( )。 ( A) 12345ABCDE ( B) EDCBA54321 ( C) ABCDE12345 ( D) 54321EDCBA 6 如下所示的系统结构图的最大出扇数是 ( )。( A) n ( B) 1 ( C) 3 ( D) 4 7 软件设计中模块划分应遵循的准则是 ( )。 ( A)低耦 合、低内聚 ( B)高耦合、高内聚 ( C)低耦合、高内聚 ( D)内聚与耦合无关 8 软件的生命周期是指 ( )。 ( A)软件产品从提出、实现、使用维护到停止使用退役的过
4、程 ( B)软件从需求分析、设计、实现到测试完成的过程 ( C)软件的开发过程 ( D)软件的运行维护过程 9 在数据库设计中,描述数据间内在语义联系得到 E R图的过程属于 ( )。 ( A)逻辑设计阶段 ( B)需求分析阶段 ( C)概念设计阶段 ( D)物理设计阶段 10 一个运动队有多个队员,一个队员仅属于一个 运动队,一个队一般都有一个教练,则实体运动队和队员的联系是 ( )。 ( A)一对多 ( B)一对一 ( C)多对一 ( D)多对多 11 以下叙述中错误的是 ( )。 ( A)使用三种基本结构构成的程序只能解决简单问题 ( B)结构化程序由顺序、分支、循环三种基本结构组成 (
5、 C) C语言是一种结构化程序设计语言 ( D)结构化程序设计提倡模块化的设计方法 12 C源程序中不能表示的数制是 ( )。 ( A)十进制 ( B)八进制 ( C)二进制 ( D)十六进制 13 关于 C语言标 识符,以下叙述中错误的是 ( )。 ( A)标识符可全部由数字组成 ( B)标识符可全部由下画线组成 ( C)标识符可全部由小写字母组成 ( D)标识符可全部由大写字母组成 14 若有定义语句: int x=10;,则表达式 x一 =x+x的值为 ( )。 ( A) 10 ( B)一 20 ( C) 0 ( D)一 10 15 以下叙述中正确的是 ( )。 ( A)分支结构是根据算
6、术表达式的结果来判断流程走向的 ( B)在 C语言中,逻辑真值和假值分别对应 1和 0 ( C)对于浮点变量 x和 y,表达式: x=y是非法的,会出编译错误 ( D)关系运算符两边的运算对象可以是 C语言中任意合法的表达式 16 与数学表达式 x =y =z对应的 C语言表达式是 ( )。 ( A) (x =y) (y =x) ( B) (x =y =z) ( C) (x =y)!(y =z) ( D) (x =y)&(y =z) 17 有以下程序: #include main() int a=010, b=0X10, c=10; printf(“ d, d, d n“, a, b, c);
7、 程序的运行结果是 ( )。 ( A) 10, 10, 10 ( B) 8, 16, 10 ( C) 8, 10, 10 ( D) 8, 8, 10 18 设有定义: int a, b; float x, y;,则以下选项中对语句所做的注释叙述错误的是 ( )。 ( A) scanf(“ d d“, &a, &b, &x); *多余的输入项不能获得输入数据 * ( B) scanf(“ d d f“, a, &b); *多余的格式符 f完全不起作用 * ( C) scanf(“ d f d“, &a, &b, &x); *输入项与格式符类 型不匹配,变量 b和 x得不到正确的输入数据 * (
8、D) scanf(“Input: d d“, &a, &b); *格式串中允许加入格式符以外的字符串 * 19 有以下程序: #include main() int x=1, y=0; if(!x)y+; else if(x=0) if(x)y+=2: else y+=3; printf(“ d n“, y); 程序运行后的输出结果是 ( )。 ( A) 0 ( B) 2 ( C) 1 ( D) 3 20 若有以下程序: #include main() int s=0, n; for(n=0; n main() int a=1, b=1; while(a一一 ) b一一: printf(“ d
9、 d n“, a, b); 程序的运行结果是 ( )。 ( A)一 1 1 ( B) 0 0 ( C)一 1 0 ( D) 1 1 24 以下数组定义中错误的是 ( )。 ( A) int x23=1, 2, 3, 4, 5, 6; ( B) int x3=0; ( C) int x3=1, 2, 3, 4, 5, 6; ( D) int x23=1, 2, 3, 4, 5, 6; 25 有以下程序: #include main() char *p1=0: int *p2=0: float *p3=0: printf(“ d d d n“, sizeof(p1), sizeof(p2), si
10、zeof(p3); 程序运行后的输出结果是 ( )。 ( A) 4 4 4 ( B) 1 4 8 ( C) 1 2 4 ( D) 1 1 4 26 设已有定义: float x则以下对指针变量 p进行定义且赋初值的语句中正确的是 ( )。 ( A) float *p=&x; ( B) int *p=(float)x; ( C) float p= x; ( D) float *p=1024; 27 设有定义: char*c;。以下选项中能够使字符型指针 c正确指向一个字符串的是 ( )。 ( A) char str=“string“; c=str ( B) scanf(“ s“, c); ( C
11、) c=getchar(); ( D) *c=“string“; 28 有以下 程序 (说明:字母 A的 ASCII码值是 65): #include void fun(char *s) while(*s) if(*s 2)printf(“ c“, *s); s+; main() char a=“BYTE“: fun(a); printf(“ n“); 程序运行后的输出结果是 ( )。 ( A) BY ( B) BT ( C) YT ( D) YE 29 以下叙述正确的是 ( )。 ( A) C语言函数不可以单独编译 ( B) C语言程序是由过程和函数组成的 ( C) C语言函数可以嵌套调用,
12、例如: fun(fun(x) ( D) C语言中除了 main函数外,其他函数不可作为单独文件形式存在 30 有以下程序: #include int f(int x); main() int n=1, m; m=f(f(f(n); printf(“ d n“, m); int f(int x) return x*2; 程序运行后的输出结果是 ( )。 ( A) 4 ( B) 2 ( C) 8 ( D) 1 31 有以下程序: #include void fun(int a, int n) int i, t; for(i=0; i #include char *scrap(char *s1, c
13、har *s2) if(strcmp(s1, s2) typedef struct stu char name10; char gender; int score; STU; void f(STU a, STU *b) *b=a: printf(“ s c d“, b一 name, b一 gender, b一 score); main() STU a=“Zhao“, M, 290, b=“Qian“, f, 350; f(a, &b); printf(“ s c d n“, b name, b gender, b score); 程序运行后的输出结果是 ( )。 ( A) Zhao m 290
14、 Zhao m 290 ( B) Qian f 350 Zhao m 290 ( C) Qian f 350 Qian f 350 ( D) Zhao m 290 Qian f 350 40 以下程序用来统计文件中字符的个数 (函数 feof用于检查文件是杏结束,结束时返回非零 ): #include main() FILE *fp; long num=0; fp=fopen(“fname dat“, “r“); while(_) fgetc(fp); hum+; printf(“num= d n“, num); fclose(fp); 下面选项中,填入横线处不能得到正确结果的是 ( )。 (
15、 A) feof(fp)=NULL ( B) !feof(fp) ( C) feof(fp) ( D) feof(fp)=0 二、程序填空题 41 下列给定程序中,函数 fun的功能是建立一个 NXN的矩阵。矩阵元素的构成规律是:最外层元素的值全部为 1;从外向内第 2层元素的值全部为 2;第 3层元素的值全部为 3, 以此类推。例如,若 N=5,生成的矩阵为: 1 1 1 1 1 1 2 2 2 1 1 2 3 2 1 1 2 2 2 1 1 1 1 1 1 请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。 注意:不得增行或删行,也不得更改程序的结构 ! 试题程序: #
16、include #define N 7 *found* void fun(int(*a)【 1】 ) int i, j, k, m; if(N 2=0)m=N 2; else m=N 2+1; for(i=0; i #include long fun(int k) *found* if k1 return(k*fun(k一 1); return 1; void main() int k=10: printf(“ d!= 1d n“, k, fun(k); 四、程序设计题 43 编写一个函数,该函数可以统计一个长度为 2的字符串在另一个字符串中出现的次数。 例如,假定输入的字符串为 “asd a
17、sasdfgasd as zx67 asd mklo”,子字符串为 ”as”,则应当输出 6。 注意:请勿改动主函数 main和其他函数中的任何内容,仅在函数 fun的花括号中填入所编写的若干语句。 试题程序: #include #include #include #include int fun(char *str char *substr) void main() FILE *wf; char str81, substr3; int n; system(“CLS“); printf(“输入主字符串: “); gets(str); printf(“输入子字符串: “); gets(subst
18、r); puts(str); puts(substr); n=fun(str, substr); printf(“n= d n“, n); * wf=fopen(“out dat“, “w“); n=fun(, “asd asasdfg asd as zx67 asdmklo“, “as“); fprintf(wf, “ d“, n); fclose(wf); * 国家二级( C语言)机试历年真题试卷汇编 17答案与解析 一、选择题 1 【正确答案】 D 【试题解析】 循环队列有队头和队尾两个指针,但是循环队列仍是线性结构,因此 A错误;在循环队列中需要队头与队尾两个指针来共同反映队列中元素的
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 历年 汇编 17 答案 解析 DOC
