[计算机类试卷]国家二级(C语言)笔试模拟试卷173及答案与解析.doc
《[计算机类试卷]国家二级(C语言)笔试模拟试卷173及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)笔试模拟试卷173及答案与解析.doc(22页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)笔试模拟试卷 173及答案与解析 1 下列选项中不属于结构化程序设计方法的是 ( A)自顶向下 ( B)逐步求精 ( C)模块化 ( D)可复用 2 模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准则是模块的 ( A)抽象和信息隐蔽 ( B)局部化和封装化 ( C)内聚性和耦合性 ( D)激活机制和控制方法 3 在软件测试设计中,软件测试的主要目的是 ( A)实验性运行软件 ( B)证明软件正确 ( C)找出软件中全部错误 ( D)尽可能多地发现软件中的错误 4 栈通常采用的两种存储结构是 ( A)顺序存储结构和链式存储结构 ( B)散列方式和索引方式 ( C)
2、链表存储结构和数组 ( D)线性存储结构和非线性存储结构 5 线性表 L=(a1, a2, a3, ai , an) ,下列说法正确的是 ( A)每个元素都有一个直接前件和直接后件 ( B)线性表中至少要有一个元素 ( C)表中诸元素的排列顺序必须是由小到大或由大到小 ( D)除第一个元素和最后一 个元素外,其余每个元素都有一个且只有一个直接前件和直接后件 6 若某二叉树的前序遍历访问顺序是 abdgcefh,中序遍历访问顺序是 dgbaechf,则其后序遍历的结点访问顺序是 ( A) bdgcefha ( B) gdbecfha ( C) bdgaechf ( D) gdbehfca 7 具
3、有 3个结点的二叉树有 ( A) 2种形态 ( B) 4种形态 ( C) 7种形态 ( D) 5种形态 8 下列叙述中,正确的是 ( A)用 E-R图能够表示实 体集间一对一的联系、一对多的联系和多对多的联系 ( B)用 E-R图只能表示实体集之间一对一的联系 ( C)用 E-R图只能表示实体集之间一对多的联系 ( D)用 E-R图表示的概念数据模型只能转换为关系数据模型 9 在数据库设计中,将 E-R图转换成关系数据模型的过程属于 ( A)需求分析阶段 ( B)逻辑设计阶段 ( C)概念设计阶段 ( D)物理设计阶段 10 在长度为 64的有序线性表中进行顺序查找,最坏情况下需要比较的次数为
4、 ( A) 63 ( B) 64 ( C) 6 ( D) 7 11 以下不合法的用户标识符是 ( A) j2_KEY ( B) Double ( C) 4d ( D) _8_ 12 下列是用户自定义标识符的是 ( A) _w1 ( B) 3_xy ( C) int ( D) LINE-3 13 若有说明语句: char c=72;则变量 c ( A)包含 1个字符 ( B)包含 2个字符 ( C)包含 3个字符 ( D)说明不合法, c的值不确定 14 表达 式 3.6-5/2+1.2+5%2的值是 ( A) 4.3 ( B) 4.8 ( C) 3.3 ( D) 3.8 15 有如下程序段 i
5、nt a=14, b=15, x; char c=A; x=(a&b)&(c b); 执行该程序段后, x的值为 ( A) true ( B) false ( C) 0 ( D) 1 16 若要求从键盘读入含有空格字符的字符串,应使用函数 ( A) getc() ( B) gets() ( C) getchar() ( D) scanf() 17 下列关于单目运算符 +, -的叙述中正确的是 ( A)它们的运算对象可以是任何变量和常量 ( B)它们的运算对象可以是 char型变量和 int型变量,但不能是 float型变量 ( C)它们的运算对象可以是 int型变量,但不能是 double型变
6、量和 float型变量 ( D)它们的运算对象可以是 char型变量、 int型变量和 float型变量 18 以下 4个程序中,完全正确的是 ( A) #include stdio.h main(); /*programming*/ printf(“programming!n“); ( B) #include stdio.h main() /*/programming/*/ printf(“programming!n“); ( C) #include stdio.h main() /*/*programming*/*/ printf(“programming!n“) ( D) include
7、 stdio.h main() /*programming*/ printf(“programming!n“); 19 若有定义 float x=1.5; int a=1, b=3, c=2;,则正确的 switch语句是 ( A) swimh(x) case 1.0: printf(“*n“); case 2.0: printf(“*n“); ( B) switch(int)x); case 1: printf(“*n“); case 2: printf(“*n“); ( C) switch(a+ ( D) case 1: pfintf(“*n“); case 2+1: pfintf(“*n
8、“); switch(a-I-case 1:pfintf(“*n“); case c: printf(“*n“); 20 以下数组定义中错误的是 ( A) int x3=0; ( B) int x23=1, 2, 3, 4, 5, 6; ( C) int x3=1, 2, 3, 4, 5, 6; ( D) intx23=1, 2, 3, 4, 5, 6; 21 有如下程序 main() float x=2.0, y; if(x 0.0)y=0.0; else if(x10.0)y=1.0/x; else y=1.0; printf(“%fn“, y); 该程序的输出结果是 ( A) 0.000
9、000 ( B) 0.250000 ( C) 0.500000 ( D) 1.000000 22 运行下面程序时,从键盘输入字母 H,则输出结果是 main() char ch; ch=getchar(); swimh(ch) caseH: printf(“Hello!n“); caseG: printf(“Good morning!n“); default: printf(“Bye_Bye!n“); ( A) Hello! ( B) Hello! GoodMoring! ( C) Hello! Good moming! Bye_ye! ( D) Hello! Bye_ye! 23 在下列选项
10、中,没有构成死循环的是 ( A) int i=100; while(1) i=i%100+1; if(i 100)break; ( B) for(; ); ( C) int k=10000; dok+; while(k 10000); ( D) int s=36; while(s)-s; 24 阅读下面程序,则程序段的功能是 #include“stdio.h“ main() int c=23,1, 56, 234, 7, 0, 34, i, j, t; for(i=1; i 7; i+) t=ci; j=i-1; while(j =0&t cj) cj+1=cj; j-; cj+1=t for
11、(i=0; i 7; i+) printf(“%d“, ci); putchar(n); ( A)对数组元素的升序排列 ( B)对数组元素的降序排列 ( C)对数组元素的倒序排列 ( D)对数组元素的随机排列 25 现有如下程序段 #include“stdio.h“ #include“string.h“ main() char a=“acfijk“; /*这里是有序的字符序列 */ char b=“befijklqswz“; /*这里是有序的字符序列 */ char c80, *p; int i=0, j=0, k=0; while(ai!二 0&bj!=0) if(ai bj)ck+=ai+
12、; else i ( A) acfijkbefijklqswz ( B) abceffiijjkklqswz ( C) befijklqswz acfijk ( D) abcefijklqswz 26 下面函数调用语句含有实参的个数为 func(exp1, exp2)(exp3, exp4, exp5); ( A) 1 ( B) 2 ( C) 4 ( D) 5 27 设 fp为指向某二进制文件的指针,且已读到此文件末尾,则函数 feof(fp)的返回值为 ( A) EOF ( B)非 0值 ( C) 0 ( D) NULL 28 以下程序的输出结果是 long fun(int n) long
13、s; if(n=1n=2)s=2; else s=n-fun(n-1); return s; main() printf(“%1dn“, fun(3); ( A) 1 ( B) 2 ( C) 3 ( D) 4 29 有以下程序 main() int i, j, x=0; for(i=0; i 2; i+) x+; for(j=0; j =3; j+) if(j%2)continue; x+; x+; printf(“x=%dn“, x); 程序执行后的输出结果是 ( A) x=4 ( B) x=8 ( C) x=6 ( D) x=12 30 下列选项中 C语言中不合法的字符串常量的是 ( A)
14、 121 ( B) y ( C) nn ( D) ABCDx6d 31 若有定义 int a9, *p=a;,则 p+5表示 ( A)数组元素 a5的值 ( B)数组元素 a5的地址 ( C)数组元素 a6的地址 ( D)数组元素 a0的值加上 5 32 有以下程序 #include stdio.h main() char c1, c2, c3, c4, c5, c6; scanf(“%c%c%c%c“, &c1, &c2, &c3, &c4); c5=getchar(); c6=getchar(); putchar(c1); putchar(c2); printf(“%c%cn“, c5,
15、c6); 程序运行后,若从键盘输入 (从第 1列开始 ) 123回车 45678回车 则输出结果是 ( A) 1267 ( B) 1256 ( C) 1278 ( D) 1245 33 以下正确的程序段是 ( A) char str1=“12345“, str2=“abcdef“; ( B) char str10, *st=“abcde“; strcat(str, st); ( C) charstr10=“ “。 *st=“abcde“; strcat(str, st); ( D) char*st1=“12345“, *st2=“abcde“; strcat(st1, st2); 34 若有定
16、义 int a23;,则对 a数组的第 i行第 j列 (假设 i, j已正确说明并赋值 )元素值的正确引用为 ( A) *(*(a+i)+j) ( B) (a+i)j ( C) *(a+i+j) ( D) *(a+i)+j 35 有以下程序 int fun1(double a)return a*=a; int fun2(double x, double y) double a=0, b=0; a=fun1(x); b=fun1(y); return(int)(a+b); main() double w;w=fun2(1.1, 2.0); 程序执行后变量 w中的值是 ( A) 5.21 ( B)
17、 5 ( C) 5.0 ( D) 0.0 36 以下不能对二维数组 a进行正确初始化的语句是 ( A) int a23=0; ( B) int a3=1, 2, 0; ( C) int a23=1, 2, 3, 4, 5, 6; ( D) int a3=1, 2, 3, 4, 5, 6; 37 下面程序段的运行结果是 char *p=“abcdefgh“; p+=3; printf(“%dn“,strlen(strcpy(p, “ABCD“); ( A) 8 ( B) 12 ( C) 4 ( D) 7 38 下列程 序的输出结果为 main() union u char *name; int
18、age; int income; s s.name=“WANGLIONG“; s.age=28; s.income=1000; printf(“%dn“, s.age); ( A) 28 ( B) 1000 ( C) 0 ( D)不确定 39 有以下程序 void swap(char* x, char *y) char t; t= *x; *X= *y; *y=t; main() char*s1: “abc“, *s2=“123“; swap(s1, s2);printf(“%s, %sn“, s1, s2); 程序执行后的输出结果是 ( A) 123, abc ( B) abc, 123 (
19、 C) 1bc, a23 ( D) 321, cba 40 有以下程序 int fun(int x, int n) static int sum=0, i; for(i=0; i n;i+)sum+=xi; return sum; main() int a=1, 2, 3, 4, 5, b=6,7, 8, 9, s=0; s=fun(a, 5)+fun(b, 4); printf(“%dn“, s); 程序执行后的输出结果是 ( A) 45 ( B) 50 ( C) 60 ( D) 55 40 测试的目的是暴露错误,评价程序的可靠性;而 _得目的是发现错误的位置并改正错误。 40 对于图书管理
20、数据库,将图书表中 “人民邮电出版社 ”的图书的单价涨价 5%。请对下面的 SQL语句填空: UPDATE图书 _WHERE出版单位 =“人民邮电出版社 “ 40 按 “先进后出 ”原则组织数据的数据结构是 _。 40 长度为 n的顺序存储线性表中,当在任何位置上插入一个元素概率都相等时,插入一个元素所需移动元素的平均个数为 _。 40 以下程序的功能是:将输入的正整数按逆序输出。例如:若输入 135则输出531。请填空。 #include stdio.h main() int n, s; printf(“Enter a number: “); scanf(“%d“, &n); printf(
21、“Output: “); do s=n%10; printf(“%d“, s); _; while(n! =0); printf(“n“); 40 以下程序的运行结果是 _。 #include stdio.h main() int fun(); fun(); fun() static int a3=0, 1, 2; int i; for(i=0; i 3; i+)ai+=ai; for(i=0; i 3; i+)printf(“%d, “, ai); pfintf(“n“, ); 40 以下函数用来求出数组的最大元素在数组中的下标并存放在 k所指的存储单元中。请填空。 #include con
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 笔试 模拟 173 答案 解析 DOC
