【计算机类职业资格】全国计算机等级考试二级C语言真题2010年3月及答案解析.doc

上传人:周芸 文档编号:1329722 上传时间:2019-10-17 格式:DOC 页数:15 大小:82.50KB
下载 相关 举报
【计算机类职业资格】全国计算机等级考试二级C语言真题2010年3月及答案解析.doc_第1页
第1页 / 共15页
【计算机类职业资格】全国计算机等级考试二级C语言真题2010年3月及答案解析.doc_第2页
第2页 / 共15页
【计算机类职业资格】全国计算机等级考试二级C语言真题2010年3月及答案解析.doc_第3页
第3页 / 共15页
【计算机类职业资格】全国计算机等级考试二级C语言真题2010年3月及答案解析.doc_第4页
第4页 / 共15页
【计算机类职业资格】全国计算机等级考试二级C语言真题2010年3月及答案解析.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

1、全国计算机等级考试二级 C 语言真题 2010 年 3 月及答案解析(总分:110.00,做题时间:120 分钟)一、选择题(1)-(10)、(21)-(4(总题数:40,分数:70.00)1.下列叙述中正确的是 (分数:2.00)A.对长度为 n 的有序链表进行查找,最坏清况下需要的比较次数为 nB.对长度为 n 的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)C.对长度为 n 的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n)D.对长度为 n 的有序链表进行对分查找,最坏情况下需要的比较次数为(nlog2n)2.算法的时问复杂度是指 (分数:2.00)A.算法的执

2、行时间B.算法所处理的数据量C.算法程序中的语司或指令条数D.算法在执行过程中所需要的基本运算次数3.软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于系统软件的是 (分数:2.00)A.编辑软件B.操作系统C.教务管理系统D.浏览器4.软件(程序)调试的任务是 (分数:2.00)A.诊断和改正程序中的错误B.尽可能多地发现程序中的错误C.发现并改正程序中的所有错误D.确定程序中错误的性质5.数据流程图(DFD 图)是 (分数:2.00)A.软件概要设计的工具B.软件详细设计的工具C.结构化方法的需求分析工具D.面向对象方法的需求分析工具6.软件生命周期可分为定义阶段,开

3、发阶段和维护阶段。详细设计属于 (分数:2.00)A.定义阶段B.开发阶段C.维护阶段D.上述三个阶段7.数据库管理系统中负责数据模式定义的语言是 (分数:2.00)A.数据定义语言B.数据管理语言C.数据操纵语言D.数据控制语言8.在学生管理的关系数据库中,存取一个学生信息的数据单位是 (分数:2.00)A.文件B.数据库C.字段D.记录9.数据库设计中,用 E-R 图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的 (分数:2.00)A.需求分析阶段B.逻辑设计一阶段C.概念设计阶段D.物理设计阶段10.有两个关系 R 和 T 如下: (分数:2.00)A.选择B.投影C.交

4、D.并11.以下叙述正确的是 (分数:1.00)A.C 语言程序是由过程和函数组成的B.C 语言函数可以嵌套调用,例如:fun(fun(x)C.C 语言函数不可以单独编译D.C 语言中除了 main 函数,其他函数不可作为单独文件形式存在12.以下关于 C 语言的叙述中正确的是 (分数:1.00)A.C 语言中的注释不可以夹在变量名或关键字的中间B.C 语言中的变量可以在使用之前的任何位置进行定义C.在 C 语言算术表达式的书写中,运算符两侧的运算数类型必须一致D.C 语言的数值常量中夹带空格不影响常量值的正确表示13.以下 C 语言用户标识符中,不合法的是 (分数:1.00)A._1B.Aa

5、BcC.a_bD.ab14.若有定义:double a=22;int i=0,k=18;,则不符合 C 语言规定的赋值语句是 (分数:1.00)A.a=a+,i+;B.i=(a+k) if(a else k=c; else if(b else k=c; 以下选项中与上述 if 语句等价的语句是 (分数:1.00)A.k=(aB.k=(aD.k=(a20.有以下程序 #include main() in i,j,m=1; for(i=1;iO;j-) if(i*j)3)break; m=i*j; printf(“m=%d/n“,m); 程序运行后的输出结果是 (分数:1.00)A.m=6B.m=

6、2C.m=4D.m=521.有以下程序 #include(stdio.h main() int a=l;b=2; for(;aA.9,18B.8,11C.7,11D.10,1422.有以下程序,其中 k 的初值为八进制数 #include main() int k=011; printf(“%d/n“,k+); 程序运行后的输出结果是 (分数:2.00)A.12B.11C.10D.923.下列语句组中,正确的是 (分数:2.00)A.char *s;s=“Olympic“;B.char s7;s=“Olympic“;C.char *s;s=“Olympic“;D.char s7;s=“Olym

7、pic“;24.以下关于 return 语句的叙述中正确的是 (分数:2.00)A.一个自定义函数中必须有一条 return 语句B.一个自定义函数中可以根据不同情况设置多条 return 语句C.定义成 void 类型的函数中可以有带返回值的 return 语句D.没有 return 语句的自定义函数在执行结束时不能返回到调用处25.下列选项中,能正确定义数组的语句是 (分数:2.00)A.int num02008;B.int num;C.int N=2008; int numN;D.#define N 2008 int numN;26.有以下程序 #include void fun(cha

8、r *c,int d) *c=*c+1;d=d+1; printf(“%c,%c,“,*c,d); main() char b=a,a=A; fun(printf(“%e,%e/n“,b,a); 程序运行后的输出结果是 (分数:2.00)A.b,B,b,AB.b,B,B,AC.a,B,B,aD.a,B,a,B27.若有定义 int(*Pt)3;,则下列说法正确的是 (分数:2.00)A.定义了基类型为 int 的三个指针变量B.定义了基类型为 int 的具有三个元素的指针数组 ptC.定义了一个名为*pt、具有三个元素的整型数组D.定义了一个名为 pt 的指针变量,它可以指向每行有三个整数元素

9、的二维数组28.设有定义 double a10,*s=a;,以下能够代表数组元素 a3的是 (分数:2.00)A.)(*s)3B.*(s+3)C.*s3D.*s+329.有以下程序 #include(stdio.h) main() int a5=1,2,3,4,5,b5=O,2,1,3,0,i,s=0; for(i=0;iA.6B.10C.11D.1530.有以下程序 #include main() int b 33=O,1,2,0,1,2,O,1,2,i,j,t=1; for(i=0;i printf(“%d“,ai); printf(“/n“); 程序运行后的输出结果是 (分数:2.00)

10、A.1313B.2234C.3234D.123433.有以下程序 #include int f(int t,int n); main int a4=1,2,3,4,s; s=f(a,4); printf(“%d/n“,s); int f(int t,int n) if(n0) return tn-1+f(t,n-1); else return 0; 程序运行后的输出结果是 (分数:2.00)A.4B.10C.14D.634.有以下程序 #include int fun() static int x=1; x*2; return x; main() int i,s=1, for(i=1;iyea

11、r=1980;D.w.s.year=1980;39.有以下程序 #include main() int a=2,b=2,c=2; printf(“%d/n“,a/b 程序运行后的输出结果是 (分数:2.00)A.0B.1C.2D.340.有以下程序 #include main() FILE *fp;char str10; fp=fopen(“myfile.dat“,“w“); fputs(“abc“,fp);fclose(fp); fpfopen(“myfile.data“,“a+“); fprintf(fp,“%d“,28); rewind(fp); fscanf(fp,“%s“,str);

12、 puts(str); fclose(fp); 程序运行后的输出结果是 (分数:2.00)A.abcB.28cC.abc28D.因类型不一致而出错二、填空题(每空 2 分,共 30 分)(总题数:15,分数:40.00)41.一个队列的初始状态为空。现将元素 A,B,C,D,E,F,5,4,3,2,1 依次入队,然后再依次退队,则元素退队的顺序为 1 。(分数:2.00)填空项 1:_42.设某循环队列的容量为 50,如果头指针 front=45(指向队头元素的前一位置),尾指针 rear=10(指向队尾元素),则该循环队列中共有 1 个元素。 (分数:2.00)填空项 1:_43.设二叉树如

13、下: (分数:2.00)填空项 1:_44.软件是 1 、数据和文档的集合。(分数:2.00)填空项 1:_45.有一个学生选课的关系,其中学生的关系模式为:学生(学号,姓名,班级,年龄),课程的关系模式为:课程(课号,课程名,学时),其中两个关系模式的键分别是学号和课号,则关系模式选课可定义为:选课(学号, 1 ,成绩)。(分数:2.00)填空项 1:_46.设 x 为 int 型变量,请写出一个关系表达式 1 ,用以判断 x 同时为 3 和 7 的倍数时,关系表达式的值为真。(分数:2.00)填空项 1:_47.有以下程序 #include main1 int a=1,b=2,c=3,d=

14、0; if(a=1) if(b!=2) if(c=3) d=1; else d=2; else if(c!=3) d=3; else d=4; else d=5; printf(“%d/n”,d); 程序运行后的输出结果是 2 。(分数:2.00)填空项 1:_48.有以下程序 #include main1 int m,n; scanf(“%d%d“, while(m!=n) while(mn) m=m-n; while(m printf(“%d/n”,m); 程序运行后,当输入14 63 时,输出结果是 2 。 (分数:2.00)填空项 1:_49.有以下程序 #include main1

15、int i,j,a3=1,2,3,4,5,6,7,8,9; for(i=0;i2 。 (分数:2.00)填空项 1:_50.有以下程序 #include main1 int a=1,2,3,4,5,6,*k3,i=0; while(i2 。 (分数:2.00)填空项 1:_51.有以下程序 #include main1 int a33=1,2,3,4,5,6,7,8,9; int b3=0,i; for(i=0;i2 。 (分数:2.00)填空项 1:_52.有以下程序 #include #include void fun(char *str) char temp;int n,i; n=str

16、len(str); temp=strn-1; for(i=n-1;i0;i-) stri=stri-1; str0=temp; main1 char s50; scanf(“%s“,s); fun(s); printf(“%s/n“,s); 程序运行后输入:abcdef,则输出结果是 2 。 (分数:2.00)填空项 1:_53.以下程序的功能是:将值为三位正整数的变量 x 中的数值按照个位、十位、百位的顺序拆分并输出。请填空。 #include main1 int x=256; printf(“%d-%d-%d/n“, 2 ,x/10%10,x/100); (分数:2.00)填空项 1:_5

17、4.以下程序用以删除字符串所有的空格,请填空。 #include main1 char s100=“Our teacher teach C language!“;int i,j; for(i=j=0;si!=/0;i+) if(si!= ) sj=si;j+; sj= 2 printf(“%s/n”,s); (分数:2.00)填空项 1:_55.以下程序的功能是:借助指针变量找出数组元素中的最大值及其元素的下标值。请填空。 #include main1 int a10,*p,*s; for(p=a;p-a*s) s= 2 ; printf(“index=%d/n”,s-a); (分数:2.00

18、)填空项 1:_全国计算机等级考试二级 C 语言真题 2010 年 3 月答案解析(总分:110.00,做题时间:120 分钟)一、选择题(1)-(10)、(21)-(4(总题数:40,分数:70.00)1.下列叙述中正确的是 (分数:2.00)A.对长度为 n 的有序链表进行查找,最坏清况下需要的比较次数为 n B.对长度为 n 的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)C.对长度为 n 的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n)D.对长度为 n 的有序链表进行对分查找,最坏情况下需要的比较次数为(nlog2n)解析:2.算法的时问复杂度是指 (分数:

19、2.00)A.算法的执行时间B.算法所处理的数据量C.算法程序中的语司或指令条数D.算法在执行过程中所需要的基本运算次数 解析:3.软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于系统软件的是 (分数:2.00)A.编辑软件B.操作系统 C.教务管理系统D.浏览器解析:4.软件(程序)调试的任务是 (分数:2.00)A.诊断和改正程序中的错误 B.尽可能多地发现程序中的错误C.发现并改正程序中的所有错误D.确定程序中错误的性质解析:5.数据流程图(DFD 图)是 (分数:2.00)A.软件概要设计的工具B.软件详细设计的工具C.结构化方法的需求分析工具 D.面向对象方法

20、的需求分析工具解析:6.软件生命周期可分为定义阶段,开发阶段和维护阶段。详细设计属于 (分数:2.00)A.定义阶段B.开发阶段 C.维护阶段D.上述三个阶段解析:7.数据库管理系统中负责数据模式定义的语言是 (分数:2.00)A.数据定义语言 B.数据管理语言C.数据操纵语言D.数据控制语言解析:8.在学生管理的关系数据库中,存取一个学生信息的数据单位是 (分数:2.00)A.文件B.数据库C.字段D.记录 解析:9.数据库设计中,用 E-R 图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的 (分数:2.00)A.需求分析阶段 B.逻辑设计一阶段C.概念设计阶段D.物理设计阶

21、段解析:10.有两个关系 R 和 T 如下: (分数:2.00)A.选择 B.投影C.交D.并解析:11.以下叙述正确的是 (分数:1.00)A.C 语言程序是由过程和函数组成的B.C 语言函数可以嵌套调用,例如:fun(fun(x) C.C 语言函数不可以单独编译D.C 语言中除了 main 函数,其他函数不可作为单独文件形式存在解析:12.以下关于 C 语言的叙述中正确的是 (分数:1.00)A.C 语言中的注释不可以夹在变量名或关键字的中间B.C 语言中的变量可以在使用之前的任何位置进行定义 C.在 C 语言算术表达式的书写中,运算符两侧的运算数类型必须一致D.C 语言的数值常量中夹带空

22、格不影响常量值的正确表示解析:13.以下 C 语言用户标识符中,不合法的是 (分数:1.00)A._1B.AaBcC.a_bD.ab 解析:14.若有定义:double a=22;int i=0,k=18;,则不符合 C 语言规定的赋值语句是 (分数:1.00)A.a=a+,i+;B.i=(a+k) if(a else k=c; else if(b else k=c; 以下选项中与上述 if 语句等价的语句是 (分数:1.00)A.k=(aB.k=(a D.k=(a解析:20.有以下程序 #include main() in i,j,m=1; for(i=1;iO;j-) if(i*j)3)b

23、reak; m=i*j; printf(“m=%d/n“,m); 程序运行后的输出结果是 (分数:1.00)A.m=6 B.m=2C.m=4D.m=5解析:21.有以下程序 #include(stdio.h main() int a=l;b=2; for(;aA.9,18B.8,11C.7,11D.10,14 解析:22.有以下程序,其中 k 的初值为八进制数 #include main() int k=011; printf(“%d/n“,k+); 程序运行后的输出结果是 (分数:2.00)A.12B.11C.10D.9 解析:23.下列语句组中,正确的是 (分数:2.00)A.char *

24、s;s=“Olympic“; B.char s7;s=“Olympic“;C.char *s;s=“Olympic“;D.char s7;s=“Olympic“;解析:24.以下关于 return 语句的叙述中正确的是 (分数:2.00)A.一个自定义函数中必须有一条 return 语句B.一个自定义函数中可以根据不同情况设置多条 return 语句 C.定义成 void 类型的函数中可以有带返回值的 return 语句D.没有 return 语句的自定义函数在执行结束时不能返回到调用处解析:25.下列选项中,能正确定义数组的语句是 (分数:2.00)A.int num02008;B.int

25、num;C.int N=2008; int numN;D.#define N 2008 int numN; 解析:26.有以下程序 #include void fun(char *c,int d) *c=*c+1;d=d+1; printf(“%c,%c,“,*c,d); main() char b=a,a=A; fun(printf(“%e,%e/n“,b,a); 程序运行后的输出结果是 (分数:2.00)A.b,B,b,A B.b,B,B,AC.a,B,B,aD.a,B,a,B解析:27.若有定义 int(*Pt)3;,则下列说法正确的是 (分数:2.00)A.定义了基类型为 int 的三

26、个指针变量B.定义了基类型为 int 的具有三个元素的指针数组 ptC.定义了一个名为*pt、具有三个元素的整型数组D.定义了一个名为 pt 的指针变量,它可以指向每行有三个整数元素的二维数组 解析:28.设有定义 double a10,*s=a;,以下能够代表数组元素 a3的是 (分数:2.00)A.)(*s)3B.*(s+3) C.*s3D.*s+3解析:29.有以下程序 #include(stdio.h) main() int a5=1,2,3,4,5,b5=O,2,1,3,0,i,s=0; for(i=0;iA.6B.10C.11 D.15解析:30.有以下程序 #include ma

27、in() int b 33=O,1,2,0,1,2,O,1,2,i,j,t=1; for(i=0;i printf(“%d“,ai); printf(“/n“); 程序运行后的输出结果是 (分数:2.00)A.1313B.2234C.3234 D.1234解析:33.有以下程序 #include int f(int t,int n); main int a4=1,2,3,4,s; s=f(a,4); printf(“%d/n“,s); int f(int t,int n) if(n0) return tn-1+f(t,n-1); else return 0; 程序运行后的输出结果是 (分数:2

28、.00)A.4B.10 C.14D.6解析:34.有以下程序 #include int fun() static int x=1; x*2; return x; main() int i,s=1, for(i=1;iyear=1980;D.w.s.year=1980; 解析:39.有以下程序 #include main() int a=2,b=2,c=2; printf(“%d/n“,a/b 程序运行后的输出结果是 (分数:2.00)A.0 B.1C.2D.3解析:40.有以下程序 #include main() FILE *fp;char str10; fp=fopen(“myfile.da

29、t“,“w“); fputs(“abc“,fp);fclose(fp); fpfopen(“myfile.data“,“a+“); fprintf(fp,“%d“,28); rewind(fp); fscanf(fp,“%s“,str); puts(str); fclose(fp); 程序运行后的输出结果是 (分数:2.00)A.abcB.28cC.abc28 D.因类型不一致而出错解析:二、填空题(每空 2 分,共 30 分)(总题数:15,分数:40.00)41.一个队列的初始状态为空。现将元素 A,B,C,D,E,F,5,4,3,2,1 依次入队,然后再依次退队,则元素退队的顺序为 1

30、。(分数:2.00)填空项 1:_ (正确答案:A,B,C,D,E,5,4,3,2,1)解析:42.设某循环队列的容量为 50,如果头指针 front=45(指向队头元素的前一位置),尾指针 rear=10(指向队尾元素),则该循环队列中共有 1 个元素。 (分数:2.00)填空项 1:_ (正确答案:15)解析:43.设二叉树如下: (分数:2.00)填空项 1:_ (正确答案:EDBGHFCA)解析:44.软件是 1 、数据和文档的集合。(分数:2.00)填空项 1:_ (正确答案:程序)解析:45.有一个学生选课的关系,其中学生的关系模式为:学生(学号,姓名,班级,年龄),课程的关系模式

31、为:课程(课号,课程名,学时),其中两个关系模式的键分别是学号和课号,则关系模式选课可定义为:选课(学号, 1 ,成绩)。(分数:2.00)填空项 1:_ (正确答案:课号)解析:46.设 x 为 int 型变量,请写出一个关系表达式 1 ,用以判断 x 同时为 3 和 7 的倍数时,关系表达式的值为真。(分数:2.00)填空项 1:_ (正确答案:(X%3=0) if(a=1) if(b!=2) if(c=3) d=1; else d=2; else if(c!=3) d=3; else d=4; else d=5; printf(“%d/n”,d); 程序运行后的输出结果是 2 。(分数:

32、2.00)填空项 1:_ (正确答案:4)解析:48.有以下程序 #include main1 int m,n; scanf(“%d%d“, while(m!=n) while(mn) m=m-n; while(m printf(“%d/n”,m); 程序运行后,当输入14 63 时,输出结果是 2 。 (分数:2.00)填空项 1:_ (正确答案:7)解析:49.有以下程序 #include main1 int i,j,a3=1,2,3,4,5,6,7,8,9; for(i=0;i2 。 (分数:2.00)填空项 1:_ (正确答案:123569)解析:50.有以下程序 #include m

33、ain1 int a=1,2,3,4,5,6,*k3,i=0; while(i2 。 (分数:2.00)填空项 1:_ (正确答案:135)解析:51.有以下程序 #include main1 int a33=1,2,3,4,5,6,7,8,9; int b3=0,i; for(i=0;i2 。 (分数:2.00)填空项 1:_ (正确答案:101418)解析:52.有以下程序 #include #include void fun(char *str) char temp;int n,i; n=strlen(str); temp=strn-1; for(i=n-1;i0;i-) stri=st

34、ri-1; str0=temp; main1 char s50; scanf(“%s“,s); fun(s); printf(“%s/n“,s); 程序运行后输入:abcdef,则输出结果是 2 。 (分数:2.00)填空项 1:_ (正确答案:12fabcde)解析:53.以下程序的功能是:将值为三位正整数的变量 x 中的数值按照个位、十位、百位的顺序拆分并输出。请填空。 #include main1 int x=256; printf(“%d-%d-%d/n“, 2 ,x/10%10,x/100); (分数:2.00)填空项 1:_ (正确答案:x%100%10)解析:54.以下程序用以删

35、除字符串所有的空格,请填空。 #include main1 char s100=“Our teacher teach C language!“;int i,j; for(i=j=0;si!=/0;i+) if(si!= ) sj=si;j+; sj= 2 printf(“%s/n”,s); (分数:2.00)填空项 1:_ (正确答案:14si+1)解析:55.以下程序的功能是:借助指针变量找出数组元素中的最大值及其元素的下标值。请填空。 #include main1 int a10,*p,*s; for(p=a;p-a*s) s= 2 ; printf(“index=%d/n”,s-a); (分数:2.00)填空项 1:_ (正确答案:s+1)解析:_解析:_解析:_解析:_解析:_解析:

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

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

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