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

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

1、国家二级( C语言)机试模拟试卷 90及答案与解析 一、选择题 1 下列叙述中正确的是 ( )。 ( A)循环队列是队列的一种链式存储结构 ( B)循环队列是队列的一种顺序存储结构 ( C)循环队列是非线性结构 ( D)循环队列是一种逻辑结构 2 下列关于线性链表的叙述中,正确的是 ( )。 ( A)各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致 ( B)各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续 ( C)进行插入与删除时,不需要移动表中的元素 ( D)以上说法均不正确 3 一棵二叉树共有 25个结点,其中 5个是叶子结点,则度为 l的结点数为 (

2、)。 ( A) 16 ( B) 10 ( C) 6 ( D) 4 4 在下列模式中,能够给出数据库物理存储结构与物理存取方法的是 ( )。 ( A)外模式 ( B)内模式 ( C)概念模式 ( D)逻辑模式 5 在满足实体完整性约束的条件下 ( )。 ( A)一个关系中应该有一个或多个候选关键字 ( B)一个关系中只能有一个候选关键字 ( C)一个关系中必须有多个候选关键字 ( D)一个关系中可以 没有候选关键字 6 有三个关系 R、 S和 T如下: 则由关系 R和 S得到关系 T的操作是 ( )。 ( A)自然连接 ( B)交 ( C)除 ( D)并 7 下面描述中,不属于软件危机表现的是

3、( )。 ( A)软件过程不规范 ( B)软件开发生产率低 ( C)软件质量难以控制 ( D)软件成本不断提高 8 下面不属于需求分析阶段任务的是 ( )。 ( A)确定软件系统的功能需求 ( B)确定软件系统的性能需求 ( C)需求规格说明书评审 ( D)制定软件集成测试计划 9 在黑盒测试方法中,设计 测试用例的主要根据是 ( )。 ( A)程序内部逻辑 ( B)程序外部功能 ( C)程序数据结构 ( D)程序流程图 10 在软件设计中不使用的工具是 ( )。 ( A)系统结构图 ( B) PAD图 ( C)数据流图 (I)FD图 ) ( D)程序流程图 11 以下选项中关于程序模块化的叙

4、述错误的是 ( )。 ( A)可采用自底向上、逐步细化的设计方法把若干独立模块组装成所要求的程序 ( B)把程序分成若干相对独立、功能单一的模块,可便于重复使用这些模块 ( C)把程序分成若干相对独立的模块 ,可便于编码和调试 ( D)可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序 12 以下叙述中正确的是 ( )。 ( A)用 C语言编写的程序只能放在一个程序文件中 ( B) C程序书写格式严格,要求一行内只能写一个语句 ( C) C程序中的注释只能出现在程序的开始位置和语句的后面 ( D) C程序书写格式自由,一个语句可以写在多行上 13 以下不合法的数值常量是 ( )

5、。 ( A) 8 0E0 5 ( B) le1 ( C) 011 ( D) Oxabcd 14 以下关于 C语言数据类 型使用的叙述中错误的是 ( )。 ( A)若要处理如 “人员信息 ”等含有不同类型的相关数据,应自定义结构体类型 ( B)若要保存带有多位小数的数据,可使用双精度类型 ( C)若只处理 “真 ”和 “假 ”两种逻辑值,应使用逻辑类型 ( D)整数类型表示的自然数是准确无误差的 15 设有定义: int k=0:以下选项的四个表达式中与其他三个表达式的值不相同的是 ( )。 ( A) +k ( B) k+=1 ( C) k+ ( D) k+1 16 有如下程序段: int x=

6、12: double y=3 141593; prinff(“ d 8 6f”, x, y); 其输出结果是 ( )。 ( A) 123 141593 ( B) 12 3 141593 ( C) 12, 3 141593 ( D) 123 1415930 17 已知字符 A的 ASCII代码值是 65,字符变量 c1的值是 A, c2的值是 D。则执行语 ffJ printf(“ d, d t, c1, c22);的输出结果是 ( )。 ( A) 65, 68 ( B) A, 68 ( C) A, B ( D) 65, 66 18 以下选 项中,当 x为大于 1的奇数时,值为 0的表达式是 (

7、 )。 ( A) x 2=0 ( B) x 2 ( C) x 2 1=0 ( D) x 2=1 19 有以下程序: #include main() int x; scant。 (“ d”, &x); if(x main() int a=7; while(a一一 ); pfinff(“ d n”, a); 程序运行后的输出结果是 ( )。 ( A) 0 ( B)一 1 ( C) 1 ( D) 7 21 有以下程序: #include main() charb, c; int i: b=a: c=A: for(i=0; i main() int i, j, x=0; for(i=0; i main

8、() int i, t3=9, 8, 7, 6, 5, 4, 3, 2, 1; for(i=0; i void fun(int*s, int nl, int n2) int i, j, t; i=nl; j=n2; while(i main() int aE44=1, 4, 3, 2, 8, 6, 5, 7, 3, 7, 2, 5, 4, 8, 6, 1,i, k, t; for(i-0; i char sl10=“abcd!”, *s2=“ n123 ”; prinff(“ d d n”, strlen(s1), strlen(s2); 则输出结果是 ( )。 ( A) 10 7 ( B)

9、10 5 ( C) 5 5 ( D) 5 8 31 有以下程序: #include void funl(char*P) char*q; q=p: while(*q!= 0) (*qq)+; (*q)+; q+: main() char a=“Program”, *P; P-D&a3; funl(P); printf(“ s n”, a); 程序执行后的输出结果是 ( )。 ( A) Prphsbn ( B) Prohsbn ( C) Progsbn ( D) Program 32 有以下函数: int ltaa(char*s) char*t=s; while(*t+); t一一; return

10、(ts); 以下关于 aaa函数功能叙述正确的是 ( )。 ( A)将串 s复制到串 t ( B)比较两个串的大小 ( C)求字符串 8的长度 ( D)求字符串 s所占字节数 33 有以下程序: #include int fun(int a, int B) if(b=0)retum a; else return(fun(一一 a,一一 h); main() printf(“ d n”, fun(4, 2); 程序运行后的输出结果是 ( )。 ( A) 1 ( B) 2 ( C) 3 ( D) 4 34 以下选项中叙述错误的是 ( )。 ( A) C程序函数中定义的自动变量,系统不自动赋确定的初

11、值 ( B)在 C程序的同一函数中,各复合语句内可以定义变量,其作用域仅限本复合语句内 ( C) C程序函数中定义的赋有初值的静态变量,每调用一次函数,赋一次初值 ( D) C程序函数的形参不可以说明为 static型变量 35 有以下程序段: struct st int x; int*y; *pt; int a=1, 2, b=3, 4; struct st c2=10, a, 20, b; pt=c: 以下选项中表达式的值为 11的是 ( )。 ( A) +pt一 x ( B) pt一 x ( C) *pt一 y ( D) (pt+)一 x 36 有以下程序: #include strue

12、t Sint n; int a20; ; void f(int, *a, int n) int t; tbr(i=0; i #include typedef struetchar name9; char sex; float score2; STU; void f(STU a) STU b=“Zhao”, m, 85 0, 90 0; int i; strcpy(a name, b name); a sex=b sex: for(i=0; i #define f(X)x*x*x main() int a=3, s, t; s=f(a+1); t=f(a+1); printf(“ d, d n”

13、, s, t); 程序运行后的输出结果是 ( )。 ( A) 10, 64 ( B) 10, 10 ( C) 64, 10 ( D) 64, 64 39 有以下程序: #include main() ehar a=4; printf(“ d n”, a=a #include #include void WriteText(FILE*); void ReadText(FILE*); main() FILE* fp; if(fp=fopen(“myfie4 txt”, “W”)=NULL) prinff(“open fail! n”); exit(0); WriteText(fp); fclose

14、(fp); if(fp=fopen(“myle4 txt”, “r”)=NULL) prinff(“open fail! n”); exit(0); ReadText(fp); fclose(fp); *found* void WriteText(FILE1) char str81; prinff(“ nEnter string with一 1 to end: n”); gets(str); while(strcmp(str, ”一 1”)!=0) *found* fputs(2, fw); fputs(“ n”, fw); gets(str); void ReadText(FILE*fr)

15、char str81; printf(“ nRead file and output to screen: n”); fgets(str, 81, fr); while(!feof(fr) *found* printf(” s”, 3); fgets(str, 81, fr); 三、程序修改题 42 下列给定程序中函数 fun的功能是:用冒泡法对 6个字符串进行升序排列。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件 MODll C中,不得增行或删行,也不得更改程序的结构 ! #include #include #define MAXLINE 20 fun(char*ps

16、tr6) int i, j; char*P; for(i=0; i0) P=*(pstr+i); *found* *(pstr+i)=pstr+j; *(pstr+j)=P; main() int i: char*pstr6, str6MAXLINE; for(i=0; i #include void NONO(); int fun(char*t) main() char s26; prinff(“请输入一个字母组成的字符串: ”); gets(s); if(fun(s)printf(“ s是由连续字母组成的字符串 n”, s); else prinff(“ s不 是由连续字母组成的字符串 !

17、 n”, s); NONO(); void NONO() *本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 * FILE*fp, *wf; int i; char s26, *P; fp=fopen(“c: test in dat”, “r”); wf=fopen(“c: test out dat”, “W”); for(i=0; ix为 10,+pt一 x为 11, *pt一 y为 1, (pt+)一 x为 20,所以答案为 A。 36 【正确答案】 C 【试题解析】 题目中定义了一个结构体类型 s,然后定义了一个结构体变量 s并初始化,执行 f函数后,将 s中元素 a的每个元

18、素都加上 i,这里需要注意最后一个元素没有加 i,所以最终答案为 C选项。 37 【正确答案】 D 【试题解析】 本题考查结构体的相关操作以及传值、传址的区别,该题中调用 f函数后,会生成参数 c的一个副本,而不会改变 c的值,所以 c值维持原值,选项D正确。 38 【正确答案】 A 【试题解析】 本题考查宏定义的用法,宏定义只是做个简单的替换,所以本题中执行 f(a+1)=a+1*a+1*a+1=3*a+1=10, f(a+1)=(a+1)*(a+1)*(a+1)=64,所以答案为A选项。 39 【正确答案】 B 【试题解析】 本题考查位运算,题目中将 4向 左移一位然后重新赋值给 a, 4

19、左移一位为 8,程序运行结果为 8,选项 B正确。 40 【正确答案】 A 【试题解析】 考查文件操作函数 fopen的基础知识,以 ”w”方式打开文件,只能写不能读。选项 A正确。 二、程序填空题 41 【正确答案】 (1)*fw (2)str (3)str 三、程序修改题 42 【正确答案】 (1)for(j=i+1; j6; j+) (2)*(pslr+i)=*(pstr+j); 四、程序设计题 43 【正确答案】 int fun(char, *t) iht len=strlen(t); if(1en2) return 0: char before_ch=t0; char current_ch: int flag=1: for(int i=1; ti!= 0; +i) currentch=ti; if(before_ch!=current_ch一 1) flag=0: break; beforech=currentch; return flag;

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

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

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