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

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

1、国家二级( C语言)笔试模拟试卷 174及答案与解析 1 算法的空间复杂度是指 ( A)算法程序的长度 ( B)算法程序中的指令条数 ( C)算法程序所占的存储空间 ( D)算法执行过程中所需要的存储空间 2 栈和队列的共同特点是 ( A)都是先进先出 ( B)都是先进后出 ( C)只允许在端点处插入和删除元素 ( D)没有共同点 3 结构化程序设计主要强调的是 ( A) ZBTYCPXA ( B) ATBZXCYP ( C) ZBTACYXP ( D) ATBZXCPY 4 下列叙述中正确的是 ( A)一个算法的空间复杂度大,则其时间复杂度也必定大 ( B)一个算法的空间复杂度大,则其时间复

2、杂度必定小 ( C)一个算法的时间复杂度大,则其空间复杂度必定小 ( D)上述三种说法都不对 5 下列不属于软件工程的 3个要素的是 ( A)工具 ( B)过程 ( C)方法 ( D)环境 6 软件开发离不开系统环境资源的支持,其中必要的测试数据属于 ( A)硬件资源 ( B)通信资源 ( C)支持软件 ( D)辅助资源 7 下述关于数据库系统的叙述中正确的是 ( A)数据库系统减少了数据冗余 ( B)数据库系统避免了一切冗余 ( C)数据库系统中数据的一致性是指数据类型一致 ( D)数据库系统比文件系统能管理更多的数据 8 下列数据模型中,具有坚实理论基础的是 ( A)层次模型 ( B)网状

3、模型 ( C)关系模型 ( D)以上 3个都是 9 相对于数据库系统,文件系统的主要缺陷有数据关联差、数据不一致性和 ( A)可重用性差 ( B)安全性差 ( C)非持久性 ( D)冗余性 10 算法中,对需要执行的每一步操作,必须给出清楚、严格的规定。这属于算法的 ( A)正当性 ( B)可行性 ( C)确定性 ( D)有穷性 11 下列关于标识符的说法中错误的是 ( A)合法的标识符是由字母、数字和下划线组成 ( B) C语言的标识符中,大写字母和小写字母被认为是两个不同的字符 ( C) C语言的标识符可以分为三类,即关键字、预定义标识符和用户标识符 ( D)用户标 识符与关键字不同时,程

4、序在执行时将给出出错信息 12 判断 char型变量 c1是否为大写字母的正确表达式是 ( A) =c1 =Z ( B) (c1 = )&(c1 = ) ( C) ( =c1)( =c1) ( D) (c1 = )&(c1 = ) 13 有以下程序 int add(int a, int b)return(a+b); main() int k, (*f)(), a=5,b=10; f=add; 则以下函 数调用语句错误的是 ( A) k=(*f)(a, b); ( B) k=add(a, b); ( C) k=*f(a, b); ( D) k=f(a, b); 14 若变量均已正确定义并赋值,以

5、下合法的 C语言赋值语句是 ( A) x=y=5; ( B) x=n%2.5; ( C) x+n=i; ( D) x=5-4+1; 15 下列程序的输出结果是 main() double d=3.2; int x, y; x=1.2;y=(x+3.8)/5.0; printf(“%dn“, d*y); ( A) 3 ( B) 3.2 ( C) 0 ( D) 3.07 16 设有以下程序段 int x=0, s=0; while(!x!=0)s+=+x; printf(“%d“, s); 则 ( A)运行程序段后输出 0 ( B)运行程序段后输出 1 ( C)程序段中的控制表达式是非法的 ( D

6、)程序段执行无限次 17 以下程序执行后 x的值是 main() int x, y=252, i=386, *m=&y, *z=&i; x=(z=y); printf(“%d“, x); ( A) 252 ( B) 1 ( C) 0 ( D)运行时出错, x无定值 18 有如下程序 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.000000 ( B) 0.250000 ( C) 0.500000 ( D) 1.000000

7、19 以下程序的输出结果是 #include stdio.h main() int a=15, b=21,m+0; switch(a%3) case0: m+; bteak; case 1: m+; switch(b%2) default: m+; case 0: m+; break; printf(“%dn“, m); ( A) 1 ( B) 2 ( C) 3 ( D) 4 20 如下程序的输出结果是 #include stdio.h main() chsr ch25=“6937“, “8254“, *p2; int i, j, s=0; for(i=0; i 2; i+) pi=chi;

8、for(i=0; i 2; i+) for(j=0; pij 0; j+=2) s=10*s+pij-0 printf(“%dn“, s); ( A) 69825 ( B) 63825 ( C) 6385 ( D) 693825 21 下面程序的运行结果是 #include stdio.h main() int a=28, b; char s10, *p; p=s; dob=a%16; if(b 10) *p=b+48; else*p=b+55; p+; a=a/5; while(a 0); *p=0; puts(s); ( A) 10 ( B) C2 ( C) C51 ( D) 0 22 下

9、列程序执行后的输出结果是 void funcl(int i); void func2(int i); char st=“hello, friend!“; void funcl(int i) printf(“%c“,sti); if(i 3)i+=2;func2(i); void func2(int i) printf(“%c“,sti); if(i 3)i+=2; func1(i); main() int i= ( A) hello ( B) hel ( C) hlo ( D) hlm 22 排序是计算机程序设计中的一种重要操作,常见的排序方法有插入排序、_和选择排序等。 22 在面向对象方法

10、中,属性与操作相似的一组对象称为 _。 22 一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体 “项目主管 ”与实体 “项目 ”的联系属于 _的联系。 22 程序测试分为静态分 析和动态测试。其中 _是指不执行程序,而只是对程序文本进行检查,通过阅读和讨论,分析和发现程序中的错误。 22 当数据的物理结构 (存储结构 )改变时,不影响数据库的逻辑结构,从而不致引起应用程序的变化,这是指数据的 _。 23 以下程序的输出结果是 #include stdio.h void prt(int *x, int *y, int*z) printf(“%d, %d, %dn“, +*x, +*y

11、, *(z+); main() int a=10, b=40,c=20; prt(&a, &b, &c); prr(&a, &b, &c); 24 下列二维数组初始化语句中,正确且与语句 floata3=0, 3, 8, 0, 9;等价的是 25 以下程序输出的结果是 #include stdio.h #include string.h main() charw10=“ABCD“, “EFGH“, “IJKL“, “MNOP“1, k; for(k=1; k 3;k+) printf(“%sn“, &wkk); 26 下面能正确进行字符串赋值操作的是 27 有以下程序 main() int i

12、, s=0, t=1, 2, 3, 4, 5, 6, 7, 8, 9; for(i=0; i 9; i+=2)s+=*(t+i); printf(“%dn“, s); 程序执行后的输出结果是 27 若变量 a, b已定义为血类型并赋值 21和 55,要求用 printf函数以 a=21, b=55的形式输出,请写出完整的的输出语句 _。 27 以下程序用于判断 a、 b、 c能否构成三角形,若能,输出 YES,否则输出NO。当给 a、 b、 c输入三角形三条边长时,确定 a、 b、 c能构成三角形的条件是需同时满足三个条件: a+b c, a+c b, b+c a。请填空。 main() fl

13、oat a, b, c; scanf(“%f%f%f“, &a, &b, &c); if(_)printf(“YESn“); /*a、 b、 c能构成三角形 */ else printf(“NOn“); /*a、 b、 c不能构成三角形 */ 27 下面程序的运行结果是: _。 fun(int t, int n) int i, m; if(n=1)returnt0; else if(n =2)m=fun(t, n-1); return m; main() int a=11, 4, 6, 3, 8, 2, 3, 5, 9, 2; printf(“%dn“, fun(a, 10); 27 设 in

14、t a=5, b=6,表达式 (+a=b-)?+a: -b的值是 _。 27 执行下面程序段后, k的值是 _。 r=1; n=203; k=1 dok*=n%10*r; n/=10; r+; while(n); 27 下面程序的功能是:将字符数组 a中下标值为偶数的元素从小到大排列,其他元素不变。请填空。 #include stdio.h #include string.h main() char a=“clanguage“, t; int i, j, k; k=strlen(a); for(i=0; i =k-2; i+=2) for(j=i+2; j =k; j+=2; ) if(_)

15、t=ai; ai=aj; aj=t; puts(a); printf(“n“); 27 现有两个 C程序文件 T18.c和 myfun.c同在 TC系统目录 (文件夹 )下,其中T18.c文件如下: #include stdio.h #include“myfun.c“ maim() fun(); printf(“n“); myfun.c文件如下: void fun() char s80, c; int n=0; while(c=getchar()!=n)sn+=c; n-; while(n =0)printf(“%c“, sn-); 当编译连接通过后,运行程序 T18时,输入 27 下面函数的

16、功能是:找出一维数组元素中最大的值和它所在的下标,最大的值和它所在的下标通过形参传回。数组元素中的值已在主函数中赋予。主函数中 x是数组名, n是 x中的数据个数, max存放最大值, index存放最大值所在元素的下标。请填空。 #include stdlib.h #include stdio.h void fun(inta, int n, int *max, int *d) int i; *max=a0; *d=0; for(i=0; 13 ; i+) if(*max 14 27 有以下结构体说明和变量的定义,且指针 p指向变量 a,指针 q指向变量 b,则不能把结点 b连接到结点 a之后

17、的语句是 _。 struct node char data; struct node *next; a, b 28 以下程序中调用 scanf函数给变量 a输入数值的方法是错误的,其错误原因是 main() int*p, *q, a, b; p=&a; printf(“input a: “); scanf(“%d“, *p); 29 阅读下列程序,则在执行后,程序的运行结果为 #include“stdio.h“ #include“string.h“ main() chara30=“nice to meet you!“; strcpy(a+strlen(a)/2, “you“); printf(

18、“%sn“, a); 30 若有下面的程序片段: int12=0, *p3, *pp, i; for(i=0; i 3; i) pi=&ai*4; pp=p; 则对数组元素的错误引用是 31 设有下面的程序段: char s=“china“; char*p; p=S; 则下列叙述正确的是 32 若有函数 max(a, b),为了让函数指针变量 p指向函数 max,当调用该函数时,正确的赋值方法是 33 以下程序的运行结果是 #define MAX(A, B) (A) (B)?(A):(B) #define PRINT(Y) printf(:Y=%dt“, Y) main() int a=1,

19、b=2, c=3, d=4, t; t: MAX(a+b,c+d); PRINT(t); 34 以下程序的功能是进行位运算 main() unsigned char a, b; a=73; b=4&3; pfintf(“%d%dn“, a, b); 程序运行后的输出结果是 35 请选出以下程序的输出结果 #include stdio.h main() int a=1, 2,3, 4, i; int x=0; for(i=0; i 4; i+) sub(a, x); Printf(“%d“, x); printf(“n“); sub(S, y) int *s, y; static int t=3

20、; y=st; t-; 36 以下程序的输出结果是 #include stdio.h struct st i int x; int *y; *p; int dt4=10, 20, 30, 40; struct st aa4=50, &dt0, 60, &dt0, 60,&it0, 60, &dt0, ; main() p=aa; printf(“%dn“, +(p- x); 37 以下 scanf函数调用语句中对结构体变量成员的引用不正确的是 char name20; pup5, *p; 38 fwrite函数的一般调用形式是 39 函数 rewind的作用是 国家二级( C语言)笔试模拟试卷

21、 174答案与解析 1 【正确答案】 D 2 【正确答案】 C 3 【正确答案】 B 4 【正确答案】 D 5 【正确答案】 D 6 【正确答案】 D 7 【正确答案】 A 8 【正确答案】 C 9 【正确答案】 D 10 【正确答案】 C 11 【正确答案】 D 12 【正确答案】 D 13 【正确答案】 C 14 【正确答案】 A 15 【正确答案】 C 16 【正确答案】 B 17 【正确答案】 C 18 【正确答案】 D 19 【正确答案】 A 20 【正确答案】 C 21 【正确答案】 C 22 【正确答案】 C 22 【试题解析】 常见的排序方法有插入排序 (包括简单插入排序法和希

22、尔排序法等 )、交换排序 (包括冒泡排序和快速排序法等 )和选择排序 (包括简单选择排序和堆排序等 )。 22 【试题解析】 属性和操作相似的一组对象在面向对象方法中称为类。 22 【试题解析】 两个实体集间的联系实际上是实体集间的函数关系,这种函数关系可以有 3种,即一对一 (1:1)的联系、一对多 (1:N)或多对一 (N:1)的联系和多对多(N:N)的联系。 22 【试题解析】 原则上讲,可以将软件测试方法分为两大类,即静态测试和动态测试。静态测试无须执行被测代码,而是借助专用的软件测试工具评审软件文档或程序,度量程序静态复杂度,检查软件是否符合编程标准,借以发现编写程序的不足之处,减少

23、错误出现的概率。动态测试,是被测代码在相对真实环境下运行,从多角度观察程序运行时能体现的功能、逻辑、行为、结构等的行为,以发现其中的错误现象。程序测试分为静态测试和动态测试。静态测试一般是 指人工评审软件文档或程序,借以发现其中的错误。由于被评审的文档或程序不必运行,所以称为静态测试。 22 【试题解析】 数据独立性是数据与程序间的互不依赖性,即数据库中数据独立于应用程序而不依赖于应用程序。也就是说,数据的逻辑结构、存储结构与存取方式的改变不会影响应用程序。数据独立性一般分为物理独立性与逻辑独立性。 23 【正确答案】 B 24 【正确答案】 B 25 【正确答案】 D 26 【正确答案】 C

24、 27 【正确答案】 C 27 【试题解析】 printf是格式化输出 函数。 27 【试题解析】 三角形形式的条件是两边之和大于第三边。要用 “&”指令连接三个条件,表示三个条件都要满足。 27 【试题解析】 此题涉及函数的调用和 if语句。程序先执行第二个 if语句,然后再执行第一个 if语句,最后用 return返回数值。 27 【试题解析】 此表达式为三目运算符, +a的值为 6, b-的值为 6,则整个表达式的值为 +a的值, +a的值为 7。请注意前缀 +, -和后缀 +, -的区别。 27 【试题解析】 本题考查的是 dowhile 循环。第一次执行循环 体,因为 k=1,r=1

25、, n=20,所以 k=1*20%10*1=0, n=20/10=2, r=2;第二次执行循环体,k=0*2%10*2=0, n=10/10=1, r=3;第三次执行循环体, k=0*1%10*3=0, n=1/10 =0, r=4,所以 k的值为 0。 27 【试题解析】 本题中的嵌套的循环结构用在了数组元素的排序上。本题需要注意的一点是:由于题目只要求出下标值为偶数的元素从小到大排序,所以内外层for循环的条件变量变更条件都是 +=2,最后通过条件 ai aj对元素大小进行判断并交换。 27 【试题解析】 此程序是 道次序颠倒题,即输入 “Thank!”,则输出 “! knabT”。 27

26、 【试题解析】 该程序直接使用形参 max和 d,由于它们都是指针变量,所以要引用它们所指向的变量时,要对它们进行指针运算,即 *号运算。 27 【试题解析】 选项 A)中,指针变量 q保存的就是变量 b的地址,选项 B)中的p是指针变量,应该是 P- next=&b;在选项 D)中,用 *运算符取出结构体变量,并且保存的就是 b的地址。 28 【正确答案】 B 29 【正确答案】 D 30 【正确答案】 C 31 【正确答案】 D 32 【正确答案】 C 33 【正确答案】 C 34 【正确答案】 A 35 【正确答案】 C 36 【正确答案】 C 37 【正确答案】 D 38 【正确答案】 D 39 【正确答案】 A

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

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

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