1、到的历届二级c语言考试真题2007到2010的全国计算机考试二级c语言真题2010年3月二级c真题及答案试题:一、选择题(1)(10)、(21)(40)每题2分,(11)(20)每题1分。共70分) 下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡上,答在试卷上不得分。(2) 算法的时间复杂度是指D A)算法的执行时间 B)算法所处理的数据量 C)算法程序中的语句或指令条数 D)算法在执行过程中所需要的基本运算次数(3) 软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于系统软件的是B A)编辑软件 B)操作系统 C)教务管理系统
2、D)浏览器(4) 软件(程序)调试的任务是A A)诊断和改正程序中的错误 B)尽可能多地发现程序中的错误 C)发现并改正程序中的所有错误 D)确定程序中错误的性质(6) 软件生命周期可分为定义阶段,开发阶段和维护阶段。详细设计属于B A)定义阶段 B)开发阶段 C)维护阶段 D)上述三个阶段(7) 数据库管理系统中负责数据模式定义的语言是A A)数据定义语言 B)数据管理语言 C)数据操纵语言 D)数据控制语言(8) 在学生管理的关系数据库中,存取一个学生信息的数据单位是D A)文件 B)数据库 C)字段 D)记录(11) 以下叙述正确的是BA)C语言程序是由过程和函数组成的B)C语言函数可以
3、嵌套调用,例如:fun(fun(x)C)C语言函数不可以单独编译D)C语言中除了main函数,其他函数不可以作为单独文件形式存在(12) 以下关于C语言的叙述中正确的是BA)C语言中的注释不可以夹在变量名或关键字的中间B)C语言中的变量可以再使用之前的任何位置进行定义C)在C语言算术的书写中,运算符两侧的运算数类型必须一致D)C语言的数值常量中夹带空格不影响常量值的正确表示(13) 以下C语言用户标示符中,不合法的是DA)_1 B)AaBc C)a_b D)a-b(14) 若有定义:double a=22;int i=0,k=18;则不符合C语言规定的赋值语句是C A)a=a+,i+ B)i=
4、(a+k)=(i+k) C)i=a%11 D)i=!a(15)include Void main()char a,b,c,d;scanf(”%c%c”,&a,&b);c=getchar(); d=getchar();printf(”%c%c%c%cn”,a,b,c,d);当执行程序时,按下列方式输入数据(从第一列开始,代表回车,注意:回车是一个字符)1234则输出结果是:CA、1234 B、12 C、12 D、12 3 3416、以下关于C语言数据类型使用的叙述中错误的是:DA、若要准确无误的表示自然数,应使用整数类型。B、若要保存带有多位小数的数据,应使用双精度类型。C、若要处理如”人员信息
5、”等含有不同类型的相关数据,应自定义结构体类型。D、若只处理”真”和”假”两种逻辑值,应使用逻辑类型。17、若a是数值类型,则逻辑表达式(a=1)|(a!=1)的值是:AA、1 B、0 C、2 D、不知道a的值,不能确定18、以下选项中与if(a=1) a=b;else a+;语句功能不同的switch语句是:BA、switch(a) B、switch(a=1) case 1:a=b;break; case 0 : a=b;break; default : a+; case 1 : a+; C、switch(a) D、switch(a=1) default : a+;break; case 1
6、:a=b;break; case 1:a=b; case 0: a+; 19、有如下嵌套的if语句 if(ab) if(ac) k=a; else k=c; Else if(bc) k=b; else k=c;以下选项中与上述if语句等价的语句是CA、k=(ab)?a:b;k=(bc)?b:c;B、k=(ab)?(bc)?a:b):(bc)?b:c);C、k=(ab)?(ac)?a:c):(bc)?b:c);D、k=(ab)?a:b;k=(ac)?a;c(20)有以下程序#include main() int i,j,m=1;for(i=1;i0;j-) if(i*j3) break;m*=i
7、*j;printf(”m=%dn”,m)程序运行后的输出结果是C(A) m=6 (B)m=2 (C)m=4 (D)m=5(21)有以下程序#includes main() int a=1,b=2; for(;a8;a+) b+=a; a+=2;printf (”%d,%dn”,a,b);程序运行后的输出结果是D(A)9,18 (B)8,11 (C)7,11 (D)10,14(22)有以下程序,其中k的初值为八进制数#include main()int k=011;printf(”%dn”,k+);程序运行后的输出结果是D(A)12 (B)11 (C)10 (D)9(23)下列语句中,正确的是A
8、A) char *s ; s=”Olympic”; B) char s7 ; s=”Olympic”;C) char *s ; s=”Olympic”; D) char s7 ; s=”Olympic”;(24)以下关于return语句的叙述中正确的是DA)一个自定义函数中必须有一条return语句B) 一个自定义函数中可以根据不同情况设置多条return语句C)定义成viod类型的函数中可以有带返回值的return语句D)没有return语句的自定义函数在执行结束时不能返回到调用处(25)下列选项中,能够正确定义数组的语句是DA)int num0.2008; B) int num;C) in
9、t N=2008; D) #define N 2008 int numN; int numN(26)有以下程序#includevoid fun (char*c,int d)*c=*c+1;d=d+1;printf(”%c,%c,”,*c,d);main()char b=a,a=A; fun(&b,a); printf(”%c,%cn”,b,a);程序运行后的输出结果是A A)b,B,b,A B)b,B,B,A C)a,B,B,a D)a,B,a,B(27)若有定义int(*pt)3;,则下列说法正确的是DA)定义了基类型为int的三个指针变量B)定义了基类型为int的具有三个元素的指针数组pt
10、。C)定义了一个名为*pt、具有三个元素的整型数组D)定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组(28)设有定义double a10,*s=a;,一下能够代表数组元素a3的是BA)(*s)3 B)*(s+3) C)*s3 D)*s+3(29)有以下程序#includemain() int a5=1,2,3,4,5, b5=0,2,1,3,0,is=0 for(i=0;i5;i+) s=s+abi;printf(%dn,s);程序运行后的输出结果是CA) 6 B) 10 C) 11 D)1530)有以下程序 #include main() int b3 3=0,1,2,
11、0,1,2,0,1,2,i,j,t=1; for(i=0; i3; i+)For(j=i;j=i;j+) t+=bibji;Printf(%dn,t);程序运行后的输出结果是 CA)1 B)3 C)4 D)9(31)若有以下定义和语句Achar sl10= abcd!, *s2=n123; printf(%d %dn, strlen(s1),strlen(s2);则输出结果是A) 5 5 B)10 5 C)10 7 D)5 8(32)有以下程序 #include #define N 8 void fun(int *x,int i) *x=*(x+i);main() int aN=1,2,3,4
12、,5,6,7,8,i;fun(a,2);for(i=0; iN/2); i+) printf(%d,ai);printf(n);程序运行后的输出结果是CA)1 3 1 3 B) 2 2 3 4 C) 3 2 3 4 D)1 2 3 4 (33)有以下程序#includeint f(int t ,int n);main()int a4=1,2,3,4,s;s=fa,4; printf(”%dn”,s);int f(int t, int n) if (n0) return tn-1+f(t,n-1);else return 0;程序运行后的输出结果是BA)4 B)10 C)14 D)6(34)有以
13、下程序#includeint fun()static int x=1;x*=2; return x;main()int I,s=1;for (i=1;i=2;i+) s=fun();printf(”%dn”,s);程序运行后的输出结果是CA)0 B)1 C) 4 D)8(35)以下程序#include #define SUB(a) (a)-(a)main()int a=2,b=3,c=5,d;d=SUB(a+b)*c;printf(”%dn”,d);程序运行后的结果是CA)0 B)-12 C)-20 D)10 (39)有以下程序#include main()int a=2,b=2,c=2;pr
14、intf(”%dn”,a/b&c);程序运行后的结果是CA)0 B)1 C)2 D)3(40)以下程序#includemain( ) FILE *fp;char str10;fp=fopen(”myfile.dat”,”w”);fputs(”abc”,fp); fclose(fp);fp=fopen(”myfile.dat”,”a+”);rewind(fp,”gd”,28);rewind(fp);fscanf(fp,”gs”,str); puts(str);fclose(fp); 程序运行后的输出结果是CA)abc B)28c C)abc28 D)因类型不一致而出错二、填空题(每空2分,共30
15、分)(1)一个队列的初始状态为空,先将元素A,CB,C,D,E,F,5,4,3,2,1依次入队,然后再依次退队,则元素退队的顺序为_ABCDEF_54321_。(4)软件是 程序 、数据和文档的集合。(6)设x为int型变量,请写出一个关系表达式 :x%3=0&x%7=0 ,用以判断x同时为3和7的倍数时,关系表达式的值为真。(7)有以下程序#include main() int a=1,b=2,c=3,d=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
16、n”,d);程序运行后的输出结果是: 4 。(8)有以下程序#include main() int m,n;scanf(”%d%d”,&m,&n);while (m!=n) while(mn) m=m-n; while(mn)n=n-m;printf(”%dn”,m);程序运行后,当输入14 63时,输出结果是 7 (9)有以下程序#include main () int I,j,a3=1,2,3,4,5,6,7,8,9; for (i=1;i3;i+) for(j=I;j3;j+) printtf(”%d”,aij); printf(”n”);程序运行后的输出结果是 123569 (10)
17、有以下程序 #include main() int =1,2,3,4,5,6,*k3,i=0; while(i3) ki=&a2*i; printf(”%d”,*ki); i+; 程序运行后的输出结果是_135_(11) 有以下程序 #include main() int a33=1,2,3,4,5,6,7,8,9; int b3=0,i; for(i=0;i3;i+) bi=ai2+a2i; for(i=0;i3;i+) printf(”%d”,bi); printf(”n”);程序运行后的结果是101418_13、以下程序的功能是:将值为三位正整数的变量x中的数值按照个位、十位、百位的顺序
18、拆分并输出。请填空。#includemain() int x=256; printf(”%d-%d-%dn”, X%10 ,x/10%10,x/100);(15)以下程序功能是:借助指针变量找出数组元素中的最大值及其元素的下标值。请填空。#include main() int a10,*p,*s; for(p=a;p-a10;p+) scanf(”%d”,p); for(p=a,s=a;p-a*s) s=_p_ printf(”index=%dn”,s-a); 二、填空题(每空2分,共30分)请将每一个空的正确答案写在答题卡【1】至【15】序号的横线上,答在试卷上不得分。(1)假设一个长度为5
19、0的数组(数组元素的下标从0到49)作为栈的存储空间,栈底指针bottom指向栈底元素,栈顶指针top指向栈顶元素,如果bottom=49,top=30(数组下标),则栈中具有【1】个元素。(2)软件测试可分为白盒测试和黑盒测试。基本路径测试属于【2】测试。(3)符合结构化原则的三种基本控制结构是:选择结构、循环结构和【3】。(4)数据库系统的核心是【4】(5)在E-R图中,图形包括矩形框、菱形框、椭圆框。其中表示实体联系的是【5】框。(6)表达式(int)(double)(5/2)+2.5)的值是【6】(7)若变量x、y已定义为int类型且x的值为99,y的值为9,请将输出语句printf(
20、【7】,x/y);补充完整,使其输出的计算结果形式为:x/y=11(8)有以下程序#includemain()charc1,c2;scanf(“&c”,&c1);while(c190)scanf(“&c”,&c1);c2=c1+32;printf(“&c,&cn”,c1,c2);程序运行输入65回车后,能否输出结果、结束运行(请回答能或不能)【8】。(9)以下程序运行后的输出结果是【9】#includemain()intk=1,s=0;doif(k&2)!=0)continue;s+=k;k+;while(k)10);printf(“s=&d/n”,s);(10)下列程序运行时,若输入labc
21、ed12df输出结果为【10】#includemain()chara=0,ch;while(ch=getchar()!=n)if(a&2!=0&(cha&ch=z)ch=ch-a+A;a+;putchar(ch);printf(“n”);(11)有以下程序,程序执行后,输出结果是【11】#includevoidfun(int*a)a0=a1;main()inta10=10,9,8,7,6,5,4,3,2,1,i;for(i=2;i=0;i-)fun&a;for(i=0;i10;i+)printf(“&d”,a);printf(“n”);(12)请将以下程序中的函数声明语句补充完整#includ
22、eint【12】;main()intx,y,(*p)();p=max;printf(“&dn”,&x,&y);Intmax(inta,intb)return(ab/a:b);(13)以下程序用来判断指定文件是否能正常打开,请填空#includemain()FILE*fp;if(fp=fopen(“test.txt”,”r”)=【13】)printf(“未能打开文件!n”);elseprintf(“文件打开成功!n”);(14)下列程序的运行结果为【14】#include#includestructAinta;charb10;doublec;voidf(structA*t);main()stru
23、ctAa=(1001,”ZhangDa”,1098,0);f(&a);printf(“&d,&s,&6,ifn”,a.a,a.b,a.c);voidf(structA*t)strcpy(t-b,”ChangRong”);(15)以下程序把三个NODETYPE型的变量链接成一个简单的链表,并在while循环中输出链表结点数据域中的数据,请填空#includestructnodeintdata;structnode*next;typedefstructnodeNODETYPE;main()NODETYPEa,b,c,*h,*p;a.data=10;b.data=20;c.data=30;h=&a;
24、b.next=&b;b.next=&c;c.next=0;p=h;while(p)printf(“&d”,p-data);【15】;2009年4月二级C参考答案选择题:110:DACDCABABC1120:CBDDACDBCB2130:CDABABACBC3140:ADBCCCBDAC填空题:(1)19(2)白盒(3)顺序结构(4)数据库管理系统(DBMS)(5)菱形(6)4(7)x/y=%d(8)能(9)s=0(10)1AbCeDf2dF(11)7777654321(12)max(inta,intb)(13)NULL(14)1001,ChangRong,1098.0(15)p=pnext20
25、08年9月二级C语言笔试真题及答案(1)一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E 依次入栈,然后再依次出栈,则元素出栈的顺序是( )。 A)12345ABCDE B)EDCBA54321 C)ABCDE12345 D)54321EDCBA(2)下列叙述中正确的是( )。A)循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B)在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C)在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D)循环队列中元素的个数是由队头指针和队尾指针共同决定3)在长度为n 的有序线性表中进行二分查找,最坏情况下需要比
26、较的次数是( )。A)O(n) B)O(n2) C)O(log2n) D)O(nlog2n)4)下列叙述中正确的是( )。A)顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的B)顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C)顺序存储结构能存储有序表,链式存储结构不能存储有序表 D)链式存储结构比顺序存储结构节省存储空间5)数据流图中带有箭头的线段表示的是( )。A)控制流 B)事件驱动 C)模块调用 D)数据流6)在软件开发中,需求分析阶段可以使用的工具是( )。A)N-S 图 B)DFD 图 C)PAD 图 D)程序流程图7)在面向对象方法中,不属于“对象”
27、基本特点的是( )。A)一致性 B)分类性 C)多态性 D)标识唯一性(8)一间宿舍可住多个学生,则实体宿舍和学生之间的联系是( )。A)一对一 B)一对多 C)多对一 D)多对多(9)在数据管理技术发展的三个阶段中,数据共享最好的是( )。A)人工管理阶段 B)文件系统阶段 C)数据库系统阶段 D)三个阶段相同(10)有三个关系R、S 和T 如下:R S TA B B C A B Cm 1 1 3 m 1 3n 2 3 5由关系R 和S 通过运算得到关系T,则所使用的运算为( )。 A)笛卡尔积 B)交 C)并 D)自然连接(11)以下叙述中正确的是( )。A)C 程序的基本组成单位是语句 B)C 程序中的每一行只能写一条语句C)简单C 语句必须以分号结束 D)C 语句必须在一行内写完12)计算机能直接执行的程序是( )。 A)源程序 B)目标程序 C)汇编程序 D)可执行程序13)以下选项中不能作为C 语言合法常量的是( )。 A)cd B)0.1e+6 C)a D)011
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2