《全国计算机等级考试二级C语言笔试试题及答案.docx》由会员分享,可在线阅读,更多相关《全国计算机等级考试二级C语言笔试试题及答案.docx(88页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、全国计算机等级考试二级C语言 笔试试题及答案藏#属裁1 霎蝌期开当整播是D)软D)至少的封装D)对解和交流能实现一种算法B) C程序可以由个函数组成D) 一个函数可单口函数(12)要素的是C)工具(10)2010,(11A烈福常慧用舞整解 C) char For D)解合即可螭对数星隼0或1蜩播辩名寿爨晏蒙蔽四撼(5)创1设计语言的基本成分是数据成分、运算成分、控制 成分 B)变量成分 C)对象成分 D)传赛序在最坏蝌魔杆较次赞口 (n_o /2 D) n 蓝规格说明书的作用的是以作为软件开发工作的基D)独立的系统,不需要操作系统的支数据的共享问题系都可以表福呼(13)(14)要(15) 7项
2、中,歌噜查语法B) C语言的子程序有过数可以嵌套定义D) C语言的函数可以嵌 锵蠹做密数值常厥28 鹦健蟠蹩函数下);D) 以&p 有, 能%d 需c ss 菖c: 卷地 B),前.正a,CDS1A31JZ a p;, XJZ尹洋%kArdf1n结%d出运 目一一 c 下dr 怪 1 d 3 CT, b d , (% 5 f- s rltR in9b IC,+%a-a zx8 -#是 果 as =1苗 至 QYAMJ 1 一保 bF或 番15 1X3 10ZH1 Q% 4 4 23 32 J*/*5.回 示 f 中 r )0 Dtp 1r c s e ADSK 结遣 输举 vnr Elonul
3、oc-)Vd =%2 vnY7 z(x 1+t .Aacpjnt- + n c nrlnyxl flA s -Tal= - r 呈 z(- ) ccmtxznrfeB s815t2n-i=0詹*a+3r:1 /、/aJJy ab njlo 1 nT21AHClt OU1A 2 al我理.(盘pr”?=t夕 /,/ +2es 2va&aeeee V,二 cssss.oc aaa&l-(CCCC-1 / 11vha o,c ,/ / / Vnl!o cv ccltr el Ou: zfx t eOY- / / z 1 - f-行运clRavsaseeeeau13 vl=Lvit XJ) hn Ae
4、云R5nlc-p-csssc/y1-l VI a no aaaae roildtc c ecdupj-r 1abpj (22)得以下程序手巡第9;-67 printf(%d,y);程序的搭每 (23)皆看以 int,x=i while八433指狂&雷叭5+”x;C) 852D) 874府程序段后输出0浮满时段中的控制表达式是非法的return(x+y);B)运行程序段D)程序段执sum=屏覃粕),C+); ,sum);in输出结果瓦后,变量q审的值为 C) 31D) 3(26)aO螃鼻程序段的描述,正确的是D) 20不会改变对应实参的值翼展麟题翻可以给指针变露用1即褊3执行两次 O循环执行一次
5、 D)有曰有以下程序、int .x, irrc y)八.c Au,tatic lot m=0, 1=2; i+=m+I;m=i+x+y; returnID;热彳雅的输出颦量(29)疝以下程序fun(int x)il?x=-6 | x= =1) return(3);C) 11,11D) 11,52)(x=nfu歌厝x-tualst1IQ1I4W上+B;c斯编 “3 5& - C2,poo*)n-2bana&*%1-/IA-1*(JJyp-Sa p-k1i*PI nt * n )lnt-i 9n X17 e 71 i z(x r TJ,I-IC QJ n ilt u近 1 sf yLt et,;
6、是后In邛1殳 iR)KIVTIC ff$CCLC 出序ununt界 输隼手.找 S-ddc5rr n al p1 al n 23 mil* 3OEO f-J n rLC )n It u sf tp 2 i c - zl%+ i 04(1cnf) Ut3 f nv11 drr ip o fh限数L次f.4 9j i)D 以 nJ UB , f中=0s.广o:序)_4Wo)s d % x( *1u(X /kkNZ n 1103 t =ilk =nnrnn +(ra+11 -llrl pes-LpaXJTJ1rL7st )3WP 直任 嚓.广 21,f.1A Bfi 容_ J J口,强 Tc -i
7、 n(xr4r n- u 丁 Qljrt线炉说懵下前InX1743753e=蜀吐3d 跖群寸嘀 髓下程岸)-i3 , *p, i;Q才阳火井6 C) 9 D)随机数int n)/*fun函数的功能是将a所指数组元h6r(j=i+l;jif (a)Jint%叫= 1,2, 3, 4, 5, 6, 7, 8, 9, 0),i; 嘴n共需q。; i+)printf (%d, ”, c);程序运的结果是 ) B)0, 9, 7, 6, 5, 1, 2, 3/4,D)l,2, 3,4, 9, 8, 7, 6, 5, 0,1, 2, 3, 4, 5, 6, 7, 8, 9, 0,0, 9, 8, 7, 6
8、, 5, 4, 3, 2, 1,细结平索i端畸. n ,+*x,+策y, * (z+) ) ;prI)B)C)D)二 2;一,卞程序:(char *t, char *s) i+=*s+)!=0);iain() har ss,c=20;accun kssYa);”rintf( %s, %snrintf(1,aa10= bbxxyy; ,ss, aa);国 acc, bbxxyyD) accbbxxyy, bbxxyymain运行结果是八 accxyy , bbxxyy accxxyy, bbxxyyF程序EDt enfe Lonsons Tf lofao F= rl- f ppcPSc rlrf
9、Etrfpf ef Ct flp, f /txted 10% n % dlx 1% f d , dfln肾In 爆北elnw(日5ml/sff 医 输程 的下 后以o5 o32 y Dnf,X专a- -pro ,cnIs ZX2 ,d 6 t /13 4) n o+% ofi i:序a,WL 壮输下InD*黑髅既即期膜dd(a,b);C)ib);& print_ fcr*argv),就匿/in=n-strlen (argvi); i+;令格程序生成的可执行文件名为:proc.exe。若运行时输入命嬲11un解l隔I ,ar, a, b=)printi ( %b%c,a, b); b= D ;
10、E)a=(x*M) ,i2;(1:incj.u:ce 二 ine ::ce:;ine ffdefine 懦四1C) ABCD D) CDAB io. h%4年结果是B)J7C) 11 11D)结构体变量胡每/以用CIN定义结构体变量叫亟,得玲忑结构体说明、变量定义和赋值语句 ?truct STDr icnar name LIOJ;ipt age;B) TT是struct类型的 D) CIN 是 struct TT 类型sc换标识符N 件中算作后,必须先关闭该fe,必须将它关闭,否e媒密o. hJ-,, int i ,=;aBcdnu .al?print?KS):旌减毓?i,lfp;蝉程皤籥蕾曾
11、甦筠程序中的错误。ffincluae结果是! 4姣)间共享属性和操作的机制称为性的两个主要标准,其中【3】whiYe(nT=?t5a=A%10; printf(%d”, d); n/=10; ,(7),以下程序运行后的输出结果是17】omainu1 printf?(ln +m, n+);int a &行看运行时从键盘输入:18, 11回车,则%;a, b:; scanf (%d, %d, &a, &b);.e leprintf(%3d%3dn;用或岛功能为完全相同输出结果是11加Y箱“厂s+1. O/(k*(k+l); 10Ltl*2+t; printfn); 怖以沪n) %rmi) i=xm
12、; pO=m;pO=xn-l;xn-l=t;JK-s i 摘 tapHIT ,utny zn u11 r a r 1 a Qlxor日uD _ _ _ o*,翼 D $ tr* ;,sw 呼手 es I -. %一一JkLI2t rn tl sr,pla 97b2ar t-sCGdHn-hItff.,nQlcwsw I I I - 5 暮冬stLP :i - 43 e e r7lt(rTadt are uusrl 1 s - - al ioO1 1 r t 11 s rx t2 Syp )r c (ar nht icsmteep 1#r,a = Auulrc)1oX)1 yn A/1)KUU)
13、 (u = f o wv+LTAt e s It 3 9-lc c n nrltn 1 JV-nmlTtrlW : 7 Ir)n lLOQl Bp 程看 zsie hrb hu to ad T n pf adUe)If=%1 v)x)/v x 2 fylf,e009%ltn= 程+MX F LCSpf nnIt uutbnMTf nU1- -iorlzrla py ypSTmNdee kbunn) *XJllITAZ5GrFnn*1 n e ell- Ttrl c c aSBmJJk)1 组JADBA 11-20: BDDBA CCCCB 21-30: DCBCADCDAB 41-50: CA
14、BCD BBBDB1S/ 内由 bl O+ boLX 3 1试S- 里12. 库程55 ,5. 飘zfv 4.n2011年3月全国计算机等级考试二级C语言笔试真题 一、选择题(1)下列关于栈叙述正确的是A)栈顶元素最先能被删除B)栈顶元素最后才能被删除0栈底元素永远不能被删除D)以上三种说法都不对(2)下列叙述中正确的是A)有一个以上根结点的数据结构不一定是非线性结构B)只有一个根结点的数据结构不一定是线性结构C)循环链表是非线性结构D)双向链表是非线性结构(3)某二叉树共有7个结点,其中叶子结点只有1个,则该二 叉树的深度为(假设根结点在第1层)A)3B)4C)6D)7(4)在软件开发中,需
15、求分析阶段产生的主要文档是A)软件集成测试计划B)软件详细设计说明书0用户手册D)软件需求规格说明书(5)结构化程序所要求的基本结构不包括A)顺序结构B) GOTO跳转0选择(分支)结构D)重复(循环)结构(6)下面描述中错误的是A)系统总体结构图支持软件系统的详细设计B)软件设计是将软件需求转换为软件表示的过程0数据结构与数据库设计是软件设计的任务之一D)PAD图是软件详细设计的表示工具 (7)负责数据库中查询操作的数据库语言是A)数据定义语言B)数据管理语言0数据操纵语言D)数据控制语言(8)一个教师可讲授多门课程,一门课程可由多个教师讲授。 则实体教师和课程间的联系是A) 1:1联系 B
16、)l:m联系 C)m:l联系 D)m:n联 系(9)有三个关系R、S和T如下:则由关系R和S得到关系T的操作是A)自然连接B)交 C)除 D)并(10)定义无符号整数类为UInt,下面可以作为类UInt实例化 值的是A) -369 B) 369 C) 0. 369 D)整数集合 (1,2, 3, 4, 5) (11)计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是A)C语言程序仅可以编译执行B)C语言程序仅可以解释执行C)C语言程序既可以编译执行又可以解释执行D)以上说法都不对 (12)以下叙述中错误的是A)C语言的可执行程序是由一系列机器指令构成的B)用C语言编写的源
17、程序不能直接在计算机上运行C)通过编译得到的二进制目标程序需要连接才可以运行D)在没有安装C语言集成开发环境的机器上不能运行C源 程序生成的.exe文件(13)以下选项中不能用作C程序合法常量的是A) 1,234B)123C)123D)x7G”(14)以下选项中可用作C程序合法实数的是A). leO B)3. OeO. 2 C)E9 D)9. 12E(15)若有定义语句:int a=3, b=2, c=l;,以下选项中错误的赋 值表达式是A)a=(b=4)=3;B)a=b=c+l;C)a=(b=4)+c;D)a=l+(b=c=4);(16)有以下程序段char name20;int num;s
18、canf (/zname=%s num=%d,z, name; &num);当执行上述程序段,并从键盘输入:name=Lili num=1001 回车后,name的值为A)LiliB)name=LiliC)Lili num=D)name=Lilinum=1001 (17) if语句的基本形式是:if (表达式)语句,以下关于“表达 式”值的叙述中正确的是A)必须是逻辑值B)必须是整数值0必须是正数D)可以是任意合法的数值(18)有以下程序 ttinclude main() int x=011; printf(%dn”, +x); ) 程序运行后的输出结果是 A) 12 B)ll C)10D)9
19、(19)有以下程序#include main() int s;scanf &s);while(s0) switch(s) case l:printfs+5); case 2:printfs+4); break; case 3:printf(%d”, s+3);default:printf (d, s+1); break;) scanf &s); ) ) 运行时,若输入1 2 3 4 5 0回车),则输出结果是 A)6566456B)66656C)66666D)6666656(20)有以下程序段int i, n;for (i=0;i8;i+) n=rand () %5; switch (n) c
20、ase 1: case 3:printf(%dn, n); break; case 2: case 4:printf(%dn, n); continue; case 0:exit(0); printf (%dn, n); ) 以下关于程序段执行情况的叙述,正确的是 A) for循环语句固定执行8次 B)当产生的随机数n为4时结束循环操作0当产生的随机数n为1和2时不做任何操作D)当产生的随机数n为0时结束程序运行 (21)有以下程序#include main() char s =”012xy08s34f4w2”;int i, n=0;for(i=0;si!=0;i+)if (si=O&si=9
21、) n+;printf (%dn, n);程序运行后的输出结果是A)0B)3C)7D)8(22)若i和k都是int类型变量,有以下for语句for (i=0, k=-l;k=l;k+) printf(*n);下面关于语句执行情况的叙述中正确的是A)循环体执行两次B)循环体执行一次0循环体一次也不执行D)构成无限循环(23)有以下程序include main() char b, c; int i;b=,a ; c=,A;for (i=0;i6;i+) if(i%2) putchar(i+b); else putchar(i+c);printf(n);)程序运行后的输出结果是A)ABCDEFB)A
22、bCdEfC)aBcDeFD)abcdef(24)设有定义:double x10,*p=x;,以下能给数组x下标 为6的元素读入数据的正确语句是A) scanf (%f”, &x 6);B) scanf (%lf”, * (x+6);C) scanf (%lf”, p+6);D) scanf (%lf”, p6);(25)有以下程序(说明:字母A的ASCH码值是65) ttinclude void fun(char *s) while(*s) if (*s%2) printf *s);s+;main() char a=BYTE;fun (a);printf(n);)程序运行后的输出结果是A)
23、BY B)BT C)YT D) YE(26)有以下程序段#include mainO(while( getchar () !=,n ); 以下叙述中正确的是A)此while语句将无限循环B) getchar ()不可以出现在while语句的条件表达式中C)当执行此while语句时,只有按回车键程序才能继续执 行D)当执行此while语句时,按任意键程序就能继续执行 (27)有以下程序ttinclude main() int x=l, y=O;if(!x) y+;else if(x=0)if (x) y+=2;else y+=3;printf (%dn, y);)程序运行后的输出结果是A) 3B
24、)2C)1D) 0(28)若有定义语句:char s310,则以下赋值语句正确的是A)p=s;B)p=k;C)p=s0; D)k=s;(29)有以下程序ttinclude void fun(char *c) while(*c) if (*c=,a &*c=,z) *c=*c- (, a - A);c+; main() char s81; gets(s); fun(s);puts(s);)当执行程序时从键盘上输入Hello 80口皿,则程 序的输出结果是 A)hello beijingB)Hello BeijingC)HELLO BEIJINGD)hELLO Beijing(30)以下函数的功能
25、是:通过键盘输入数据,为数组中的所有 元素赋值。ttinclude #define N 10void fun(int xN) int i=0;while(i N) scanf( %d”,);)在程序中下划线处应填入的是A) x+iB) &xi+lC) x+(i+)D) &x+i(31)有以下程序ttinclude main() char a 30, b30;scanf a);gets(b);printf (%sn %sn”, a, b);)程序运行时若输入:how are you? I am fine 回车)则输出结果是A)how are you?B)howI am fineare you?
26、I amfineC)how are you? I am fineD)how are you?(32)设有如下函数定义int fun(int k) if (kl) return 0;else if(k=l) return 1;else return fun(k-l)+1;)若执行调用语句:n=fun(3);,则函数fun总共被调用的 次数是A) 2B)3C)4D)5(33)有以下程序#include int fun (int x, int y) if (x!=y) return (x+y)/2);else return (x);)main() int a=4, b=5, c=6;printf (
27、%dn”, fun(2*a, fun(b, c);)程序运行后的输出结果是A) 3B)6C)8D)12(34)有以下程序ttinclude int fun () static int x=l;x*=2;return x;)mainO int i, s=l;for (i=l; i=3; i+) s*=fun ();printf (%dn, s);程序运行后的输出结果是A)0B)10 C) 30D)64(35)有以下程序ttinclude define S(x) 4*(x)*x+l main() int k=5, j=2;printf(%dn”, S(k+j);程序运行后的输出结果是A) 197B
28、)143C)33 D) 28(36)设有定义:struct char mark12;int numl;double num2; tl,t2;,若变量均已正确赋初值,则以下语句中错误 的是A) tl=t2;B) t2. numl=tl. numl;C) t2. mark=tl. mark;D) t2. num2=tl. num2;(37)有以下程序ttinclude struct ord int x, y;dt2 = l, 2, 3, 4;mainO(struct ord *p=dt;printf (%d, ”, + (p-x); printf(%dn”, +(p-y);程序运行后的输出结果是A
29、) 1,2B)4, 1C)3,4D)2,3(38)有以下程序#include struct S int a, b;data2 = 10,100, 20, 200;main() struct S p=datal;printf (%dn”, + (p. a);)程序运行后的输出结果是A) 10B)llC) 20D)21(39)有以下程序ttinclude mainO unsigned char a=8, c;c=a3;printf(%dn, c);)程序运行后的输出结果是A) 32B)16C)1D)0(40)设fp已定义,执行语句fp=fopen(file, w);后,以下 针对文本文件file操
30、作叙述的选项中正确的是A)写操作结束后可以从头开始读B)只能写不能读C)可以在原有内容后追加写D)可以随意读和写二、填空题(1)有序线性表能进行二分查找的前提是该线性表必须是11 存储的。一棵二叉树的中序遍历结果为DBEAFC,前序遍历结果为ABDECF,则后序遍历结果为【2】o对软件设计的最小单位(模块或程序单元)进行的测试通常 称为【3】测试。(4)实体完整性约束要求关系数据库中元组的14】属性值不 能为空。(5)在关系A(S, SN, D)和关系B (D, CN, NM)中,A的主关键字是S,B的主关键字是D,则称【5】是关系A的外码。以下程序运行后的输出结果是16】o#includem
31、ain() int a;a= (int) (double) (3/2)+0. 5+(int) 1. 99*2);printf(%dn, a);(7)有以下程序include main() int x;scanf &x);if (x15) printf (%d”, x-5);if(x10) printf(%d”, x);if(x5) printf(%dn”, x+5);若程序运行时从键盘输入12回车,则输出结果为【7】o 有以下程序(说明:字符。的ASCH码值为48)#include main() char cl,c2;scanf &cl);c2=cl+9;printf (%c%cn”, cl,
32、 c2);)若程序运行时从键盘输入48回车),则输出结果为【8】。 有以下函数void prt(char ch, int n) int i;for (i=l;i=n;i+)printf(i%6!=0?%c:%cn, ch);执行调用语句prt(*,24);后,函数共输出了【9】行* 号。(10)以下程序运行后的输出结果是10 o#include main() int x=10, y=20, t=0;if(x=y)t=x;x=y;y=t;printf (%d %dn”, x, y);(ID己知a所指的数组中有N个元素。函数fun的功能是,将 下标k(k0)开始的后续元素全部向前移动一个位置。请填
33、空。void fun(int aN, int k) int i;for(i=k;iN;i+) a11 =ai;(12)有以下程序,请在121处填写正确语句,使程序可正 常编译运行。ttinclude 12;main() double x, y, (*p)();scanf”, &x, &y);P=avg;printf (%fn, (*p) (x, y);double avg(double a, double b) return(a+b)/2);(13)以下程序运行后的输出结果是【13】o#include main() int i, n5 = 0;for (i=l;i=4;i+) ni=ni-l*
34、2+l; printfni); printf(n);)(14)以下程序运行后的输出结果是【14】ottinclude ttinclude include mainO char *p; int i;p=(char *)malloc(sizeof(char)*20);strcpy (p, welcome);for (i=6;i=0;i一) putchar(*(p+i); printf(n); free(p);(15)以下程序运行后的输出结果是【15】o ttinclude mainO FILE *fp; int x6 = l,2, 3, 4, 5, 6,i; fp二fopen (test, dat
35、, wb);fwrite(x, sizeof (int), 3, fp);rewind (fp);fread(x, sizeof (int), 3, fp);for (i=0;i6;i+) printf(%d, xi);printf(n); fclose(fp);参考答案一、选择题:1-5 ABDDB6-10 ACDCB11-15 ADAAA16-20 ADCAD21-25 BDBCD31-35 BBBDB二、填空题:11有序4主键7 1217 10 20 012 double a, double b);13 1371526-30 CDCCC36-40 CDDCB【2】DEBFCA【5】D8
36、093单元6 39 411 i-1avg(double, double);或 double avg(double14 emoclew 15 123456笔试试卷填空题的解题方案计算机考试一般都会分为笔试与上机,而笔试除一级、四级外 大多都是由选择题与填空题两个部分组成。对于填空题的解答 不仅考察到考生对知识的掌握程度,同时也考察到了考生在练 习编程中的一些书写习惯及注意事项。对于如何去在考试中取 得高分,下面就让我们来了解一下。填空填一般难度都比较大,一般需要考生准确地填入字 符,往往需要非常精确,错一个字也不得分。在分值方面,每 题也是2分。所以建议考生对填空题不要太过于看重,与其为 个别题
37、目耽误时间,不如回过头来检查一些自己还没有十足把 握的选择题。在作答填空题时要注意以几点:(D答案要写得简洁明了,尽量使用专业术语。(2)认真填写答案,字迹要工整、清楚,格式要正确,在 把答案往答题卡上填写后尽量不要涂改。(3)注意,在答题卡上填写答案时,一定要注意题目的序 号,不要弄错位置。(4)对于那些有两种答案的填空题,只需填一种答案就可 以了,多填并不多给分计算机考试中填空题虽然有一些难度,但答题时只要我们 注意到上述的几项,至少可以确保我们在考试中不因自己的疏 忽而造成无谓的失分。2011年9月全国计算机二级C语言考试真题一、选择题L下列叙述中正确的是(D)A)算法就是程序B)设计算
38、法时只需考虑数据结构的设计C)设计算法时只需考虑结果的可靠性 D)以上三种说法 都不对2 .下列关于线性链表叙述中,正确的是(C)A)各数据结点的存储空间可以不连续,但它们的存储顺序与逻 辑顺序必须一致B)各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存 储空间必须连续C)进入插入与删除时,不需要移动表中的元素D)以上三种说法都不对3 .下列关于二叉树的叙述中,正确的是(B)A)叶子结点总是比度为2的结点少一个 B)叶子结点总 是比度为2的结点多一个0叶子结点数是度为的结点数的两倍D)度为2的结点数是度为1的结点数的两倍4 .软件按功能分为应用软件、系统软件和支撑软件(或工具软件)。下现属爹里珏还A)学生成争需工TJOUNIX操作系统与甄工高管薪惠5 .某系统总结构图如下图所示:该系统总体结构图的深度是(C)A)7B)6C)3D)26 .程序调试的任务是(D)A)设计测试用例B)验证程序的正确性 C)发现程序中的错误D)诊断和改正程序中的错误7 .下列关于数据库设计的叙述中,正确是的(A)A)在需求分析阶段建