1、国家二级( C语言)笔试模拟试卷 181 及答案与解析 1 对长度为 n的线性表进行顺序查找,在最坏的情况下所需要的比较次数为( )。 ( A) log2n ( B) n/2 ( C) n ( D) n+1 2 对如下二叉树: ABDECF 进行后序遍历的结果为 ( )。 ( A) ABCDEF ( B) DBEAFC ( C) ABDECF ( D) DEBFCA 3 冒泡排序在最坏情况下的比较次数是 ( )。 ( A) n(n+1)/2 ( B) nlog2n ( C) n(n-1)/2 ( D) n/2 4 两个或两个以上模块之间关联的紧密程度称为 ( )。 ( A)耦合度 ( B)内聚
2、度 ( C)复杂度 ( D)数据传输特性 5 在软件开发中,需求分析阶段产生的主要文档是 ( )。 ( A)可行性分析报告 ( B)软件需求规格说明书 ( C)概要设计说明书 ( D)集成测试计划 6 下列选项中不属于结构化程序设计方法的是 ( )。 ( A)自顶向下 ( B)逐步求精 ( C)模块化 ( D)可复用 7 程序流程图中有箭头的线段表示的 是 ( )。 ( A)图元关系 ( B)数据流 ( C)控制流 ( D)调用关系 8 在下列关系运算中,不改变关系表中的属性个数但能减少元组个数的是 ( )。 ( A)并 ( B)交 ( C)投影 ( D)笛卡儿乘积 9 下列叙述中正确的是 (
3、 )。 ( A)数据库系统是一个独立的系统,不需要操作系统的支持 ( B)数据库系统的根本目标是要解决数据的共享问题 ( C)数据库管理系统就是数据库系统 ( D)以上三种说法都不对 10 设有表示学生选课的三张表,学生 S(学 号,姓名,性别,年龄,身份证号 ),课程 C(课号,课名 ),选课 SC(学号,课号,成绩 ),则表 SC的关键字 (键或码 )为( )。 ( A)课号,成绩 ( B)学号,成绩 ( C)学号,课号 ( D)学号,姓名,成绩 11 执行以下程序后的输出结果是 ( )。 main() int a=10; a=(3*5, a+4); printf(“a=%dn“, A);
4、 12 以下程序运行后的输出结果是 ( )。 main() char c; int n=100; loat f=10; double x; x=f*=n/=(c=50); printf(“%d%fn“,n,x); 13 以下程序运行后的输出结果是 ( )。 main() int a=1,b=2,c=3; if(c=A)printf(“%dn“, C); else printf(“%dn“, B); 14 执行以下程序的输出结果是 ( )。 #include stdio.h #define M 5 #define N M+M main() int k; k=N*N*5; printf(”%dn“
5、 ,k); 15 以下程序中函数 fun的功能是:统计 person所指结构体数组中所有性别 (sex)为M的记录的个数,存入变量 n中,并作为函数值返回。请填空: #include stdio.h #define N 3 typedef struct int mum,char name10;char sex;SS; int fun(SS person) int i,n=0; for(i=0;i N;i+) if( )=M)n+; return n; main() SS WN=1,AA, F,2, BB,M,3,CC,M; int n; n=fun(W); printf(“n=%dn“, n)
6、; 16 以下程序运行后的输出结果是 ( )。 #include char*ss(char*s) char*p,t; P=s+1;t=*s; while(*p) *(P-1)=*P;P+; *(P-1)=t; return s; main() char*p,str10=“abcdefgh“; p=ss(str); printf(“%sn“,p); 17 人员基本信息一般包括:身份证号、姓名、性别、年龄等。其中可以作为主关键字的是 ( )。 18 若有定义语句: int a=5;,则表达式 a+的值是 ( )。 19 若有语句 double x=17; int y;,当执行 y=(int)(x/
7、5)%2;之后 y的值为 ( )。 20 以下程序运行后的输出结果是 ( )。 #include stdio.h main() int x=20; printf(“%d“, 0 x 20); printf(“%dn“, 0 x 国家二级( C语言)笔试模拟试卷 181 答案与解析 1 【正确答案】 C 【试题解析】 在平均情况下, 利用顺序查找法在线性表中查找一个元素,大约要与线性表中一半的元素进行比较,最坏情况下需要比较 n次。 2 【正确答案】 D 3 【正确答案】 C 【试题解析】 在最坏情况下冒泡排序法需要比较的次数为 n(n-1)/2。 4 【正确答案】 A 【试题解析】 耦合度是模
8、块间互相连接的紧密程度。 5 【正确答案】 B 【试题解析】 软件需求规格说明书是需求分析阶段最后的成果,它是作为需求解析的一部分而制定的可交付文档。在概要设计阶段,需要编写的文档有:概要设计说明书、数据库说明书、集 成测试计划等。 6 【正确答案】 D 【试题解析】 结构化程序设计方法的主要原则可以概括为:自顶向下,逐步求精,模块化,限制使用 goto语句。 7 【正确答案】 C 【试题解析】 程序流程图是软件过程设计中常用的图形描述工具之一。构成程序流程图的最基本符号有: 或 ,表示控制流; 表示加工步骤; 表示逻辑条件。 8 【正确答案】 B 【试题解析】 并运算会增加元组个数,投影运算
9、会减少表中属性个数,笛卡儿积既会增加属性个数,又会增加元组个数。 9 【正确答案】 B 【试 题解析】 数据库系统 (DBS)是由数据库 (数据 )、数据库管理系统 (软件 )、数据库管理员 (人员 )、硬件平台 (硬件 )、软件平台 (软件 )五个部分构成的运行实体。数据库技术的根本目标是解决数据的共享问题。 10 【正确答案】 C 【试题解析】 在二维表中凡能唯一标识元组的最小属性集称为关键字,关键字具有标识元组、建立元组间联系等重要作用。此题中, (学号,课号 )是表 SC的主键,学号、课号分别为外键,学号是表 S的关键字,课号是表 C的关键字。 11 【正确答案】 a=14 【试题解析
10、】 在 “逗号表达式 (表达式 1,表达式 2)”中,其运算方法是先求表达式 1的值,然后求表达式 2的值,整个逗号表达式的值是表达式 2的值。首先3*5=15, a=10,a+4=14,最后输出的运算结果为 14。 12 【正确答案】 0 13 【正确答案】 1 【试题解析】 程序中的 if条件是赋值语句, a的值 1赋给了变量 c,表达式 “c=a”的值也为 1,条件为真,输出 C的值为 1。 14 【正确答案】 55 【试题解析】 本题考查的重点是对宏定义的理解。 #define指令定义一个标识符和一个串,编译程序在对 C源程序处理 时发现该标识符都用该串替换,因此,在语句 k=N*N*
11、5 将替换成 k=M+M*M+M*5 后, M被替换成 5,从而k=5+5*5+5*5=55。 15 【正确答案】 personi.scx 16 【正确答案】 bcdefgha 17 【正确答案】 身份证号 【试题解析】 主关键字是表中区别不同记录的标识,在该表中只有身份证号能具有这个作用,所以用其作为主关键字。 18 【正确答案】 5 【试题解析】 表达式 a+的值是 5,而变量 a的值为 6。这里要注意区分表达式的值和变量 a的值。 19 【正确答案】 1 【试题解析】 (int)(x/5)=3, 3%2=1。 20 【正确答案】 10 【试题解析】 表达式 0 x 20,首先计算 0 x,其值为 1,再计算 1 20,其值为 1,输出 1;表达式 0 x & x 20, 0 x为 1, x 20为 0,再计算 1 & 0,其值为 0,输出 0。所以输出结果为 10。
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1