[计算机类试卷]国家二级(C语言)机试模拟试卷57及答案与解析.doc
《[计算机类试卷]国家二级(C语言)机试模拟试卷57及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)机试模拟试卷57及答案与解析.doc(29页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)机试模拟试卷 57 及答案与解析 一、选择题 1 下列叙述中正确的是 ( )。 ( A)循环队列是队列的一种链式存储结构 ( B)循环队列是队列的一种顺序存储结构 ( C)循环队列是非线性结构 ( D)循环队列是一种逻辑结构 2 下列关于线性链表的叙述中,正确的是 ( )。 ( A)各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致 ( B)各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续 ( C)进行插入与删除时,不需要移动表中的元素 ( D)以上 说法均不正确 3 一棵二叉树共有 25个结点,其中 5个是叶子结点,则度为 1的结点数为
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)数据流图 (DFD图 ) ( D)程序流程图 11 以下选项中关于程序模块化的叙述错
4、误的是 ( A)可采用自底向上、逐步细化的设计方法把若干独立模块组装成所要求的程序 ( B)把程序分成若干相对独立、功能单一的模块,可便于重复使用这些模块 ( C)把程序分成若干相对独立的模块,可便于编码和调试 ( D)可采用自顶向下、 逐步细化的设计方法把若干独立模块组装成所要求的程序 12 以下叙述中正确的是 ( A)用 C语言编写的程序只能放在一个程序文件中 ( B) C程序书写格式严格,要求一行内只能写一个语句 ( C) C程序中的注释只能出现在程序的开始位置和语句的后面 ( D) C程序书写格式自由,一个语句可以写在多行上 13 以下不合法的数值常量是 ( A) 8.0E0.5 (
5、B) 1.00E+01 ( C) 11 ( D) 0xabcd 14 以下关于 C语言数据类型使用的叙述中错误的是 ( A)若要处理如 “人员信息 “等含有不同 类型的相关数据,应自定义结构体类型 ( B)若要保存带有多位小数的数据,可使用双精度类型 ( C)若只处理 “真 “和 “假 “两种逻辑值,应使用逻辑类型 ( D)整数类型表示的自然数是准确无误差的 15 设有定义: int k=0; 以下选项的四个表达式中与其他三个表达式的值不相同的是 ( A) +k ( B) k+=1 ( C) k+ ( D) k+1 16 有如下程序段: int x=12; double y=3.141593;
6、 printf(“%d%8.6f“, x, y); 其输出结果是 ( A) 123.141593 ( B) 12 3.141593 ( C) 12, 3.141593 ( D) 123.141593 17 已知字符 A的 ASCII代码值是 65,字符变量 c1的值是 A, c2的值是 D。则执行语句 printf(“%d,%d“, c1, c2-2 ); 的输出结果是 ( A) 65,68 ( B) A,68 ( C) A,B ( D) 65,66 18 以下选项中,当 x为大于 1的奇数时,值为 0的表达式是 ( A) x%2=0 ( B) x/2 ( C) x%2!=0 ( D) x%2
7、=1 19 有以下程序 #include stdio.h main() int x; scanf(“%d“, if(x =3) ; else if(x!=10) printf(“%dn“, x); 程序运行时,输入的值在哪个范围才会有输出结果 ( A)小于 3的整数 ( B)不等于 10的整数 ( C)大于 3或等于 10的整数 ( D)大于 3且不等 10的整数 20 有以下程序 #include stdio.h main() int a = 7; while ( a- ) ; printf (“%dn“, a); 程序运行后的输出结果是 ( A) 0 ( B) -1 ( C) 1 ( D)
8、 7 21 有以下程序 #include stdio.h main() char b,c; int i; b= a; c = A; for (i=0; i 6; i+) if (i%2) putchar(i+b); else putchar(i+c); printf(“n“); 程序运行后的输出结果是 ( A) abcdef ( B) ABCDEF ( C) aBcDeF ( D) AbCdEf 22 有以下程序 #include stdio.h main() int i, j, x=0; for(i=0; i 2; i+) x+; for( j=0; j =3; j+) if(j%2) co
9、ntinue; x+; x+; printf(“x=%dn“,x); 程序执行后的输出结果是 ( A) x=4 ( B) x=8 ( C) x=6 ( D) x=12 23 若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是 ( A)函数的形参和实参分别占用不同的存储单元 ( B)形参只是形式上的存在,不占用具体存储单元 ( C)同名的实参和形参占同一存储单元 ( D)函数的实参和其对应的形参共占同一存储单元 24 设有以下函数: void fun(int n,char *s) 则下面对函数指针的定义和赋值均正确的是 ( A) void (*pf)(int,char); pf=
10、 ( B) void *pf(); pf=fun; ( C) void *pf(); *pf=fun; ( D) void (*pf)(int, char*); pf=fun; 25 若要求定义具有 10个 int型元素的一维数组 a,则以下定义语句中错误的是 ( A) #define n 5 int a 2*n; ( B) int n=10,an; ( C) int a5+5; ( D) #define N 10 int aN; 26 有以下程序 #include stdio.h main() int i, t3=9,8,7,6,5,4,3,2,1; for(i=0;i 3;i+) prin
11、tf(“%d “,t2-ii); 程序执行后的输出结果是 ( A) 3 5 7 ( B) 7 5 3 ( C) 3 6 9 ( D) 7 5 1 27 有以下程序 #include stdio.h void fun(int *s, int n1, int n2) int i, j, t; i=n1; j=n2; while( i j ) t=si; si=sj; sj=t; i+; j-; main() int a10=1,2,3,4,5,6,7,8,9,0, k; fun(a,0,3); fun(a,4,9); fun(a,0,9); for(k=0;k 10;k+) printf(“%d“
12、, ak); printf(“n“); 程序的运行结果是 ( A) 4321098765 ( B) 5678901234 ( C) 987654321 ( D) 987651234 28 有以下程序 #include stdio.h main() int a44= 1,4,3,2,8,6,5,7,3,7,2,5,4,8,6,1, i, k, t; for (i=0; i 3; i+) for (k=i+1; k 4; k+) if (aii akk) t=aii; aii=akk; akk=t; for (i=0; i 4; i+) printf(“%d,“, a0i); 程序运行后的输出结果
13、是 ( A) 1,1,2,6, ( B) 6,2,1,1, ( C) 6,4,3,2, ( D) 2,3,4,6, 29 以下选项中正确的语句组是 ( A) char *s; s=“BOOK!“; ( B) char *s; s=“BOOK!“; ( C) char s10; s=“BOOK!“; ( D) char s; s=“BOOK!“; 30 若有以下定义和语句 #include stdio.h char s110= “abcd!“, *s2=“n123“; printf(“%d %dn“, strlen(s1), strlen(s2); 则输出结果是 ( A) 10 7 ( B) 1
14、0 5 ( C) 5 5 ( D) 5 8 31 有以下程序 #include stdio.h void fun1(char *p) char *q; q=p; while(*q!=0) (*q)+; q+; main() char a=“Program“, *p; p= fun1(p); printf(“%sn“,a); 程序执行后的输出结果是 ( A) Prphsbn ( B) Prohsbn ( C) Progsbn ( D) Program 32 有以下函数 int aaa(char *s) char *t=s; while(*t+); t-; return(t-s); 以下关于 aa
15、a函数功能叙述正确的是 ( A)将串 s复制到串 t ( B)比较两个串的大小 ( C)求字符串 s的长度 ( D)求字符串 s所占字节数 33 有以下程序 #include stdio.h int fun(int a, int B) if(b=0) return a; else return(fun(-a,-b); main() printf(“%dn“, fun(4,2); 程序的运行结果是 ( A) 1 ( B) 2 ( C) 3 ( D) 4 34 以下选项中叙述错误的是 ( A) C程序函数中定义的自动变量,系统不自动赋确定的初值 ( B)在 C程序的同一函数中,各复合语句内可以定义
16、变量,其作用域仅限本复合语句内 ( 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 stdio.h struct S int n; int a20; ; void f(
17、int *a, int n) int i; for (i=0; i n-1; i+) ai+=i; main() int i; struct S s=10, 2,3,1,6,8,7,5,4,10,9; f(s.a, s.n); for (i=0; i s.n; i+) printf(“%d,“, s.ai); 程序运行后的输出结果是 ( A) 2,3,1,6,8,7,5,4,10,9, ( B) 3,4,2,7,9,8,6,5,11,10, ( C) 2,4,3,9,12,12,11,11,18,9, ( D) 1,2,3,6,8,7,5,4,10,9, 37 有以下程序 #include s
18、tdio.h #include string.h typedef struct char 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 2; i+) a.scorei = b.scorei; main() STU c=“Qian“, f, 95.0, 92.0; f(c); printf(“%s,%c,%2.0f,%2.0fn“, c.name, c.sex, c.sc
19、ore0, c.score1); 程序的运行结果是 ( A) Zhao,m,85,90 ( B) Qian,m,85,90 ( C) Zhao,f,95,92 ( D) Qian,f,95,92 38 有以下程序 #include stdio.h #define f(x) x*x*x main() int a=3,s,t ; s=f(a+1); t=f(a+1); printf(“%d,%dn“,s,t); 程序运行后的输出结果是 ( A) 10,64 ( B) 10,10 ( C) 64,10 ( D) 64,64 39 有以下程序 #include stdio.h main() char
20、a=4; printf(“%dn“, a=a 1 ); 程序的运 行结果是 ( A) 16 ( B) 8 ( C) 40 ( D) 4 40 设文件指针 fp已定义,执行语句 fp=fopen(“file“,“w“);后,以下针对文本文件file操作叙述的选项中正确的是 ( A)只能写不能读 ( B)写操作结束后可以从头开始读 ( C)可以在原有内容后追加写 ( D)可以随意读和写 二、程序填空题 41 下列给定程序中,函数 fun的功能足:把形参 a所指数组中的奇数按原顺序依次存放到 a0、 a1、 a2 中,把偶数从数组中删除,奇数个数通过函数值返回。 例如,若 a所指 数组中的数据最初排
21、列为: 9, 1, 4, 2, 3, 6, 5, 8, 7,删除偶数后, a所指数组中的数据为: 9, 1, 3, 5, 7,返回值为 5。 请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构 ! 试题程序: #iticlucle stdio h #define N 9 int fun(int a, int n) int i, j; j=0; for(i=0; i n; i+) /*found*/ if(ai 2=【 1】 ) /*found*/ aj=ai; 【 2】 ; /*found*/ return
22、【 3】 ; main() int bN=19, 1, 4, 2, 3, 6, 5, 8 7, i, n; printf(” nThe original clara: n”); for(i=0; i N; i+) printf(“ 4d”, bi); printf(“n”); n=fun(b, N); printf(“ nThe number of odd: d n”, n); printf(“ nThe odd number: n”); for(i=0; i n; i+) printf(“ 4d”, bi); printf(“n”); 三、程序修改题 42 下列给定程序中函数 fun的功能是
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 模拟 57 答案 解析 DOC
