《历年二级C语言笔试真题及答案.pdf》由会员分享,可在线阅读,更多相关《历年二级C语言笔试真题及答案.pdf(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2009年9月全国计算机等级考试二级笔试试卷1)下列数据结构中,属于非线性结构的是A)循 环 队 列B)带 链 队 列C)二叉树D)带链栈2)下列数据结果中,能够按照“先进后出”原则存取数据的是A)循环队列B)栈C)队 列D)二叉树3)对于循环队列,下列叙述中正确的是A)队头指针是固定不变的B)队头指针一定大于队尾指针C)队头指针一定小于队 尾 指 针D)队头指针可以大于队尾指针,也可以小于队尾指针4)算法的空间复杂度是指A)算法在执行过程中所需要的计算机存储 空 间B)算法所处理的数据量 C)算法程序中的语句或指令条数D)算法在执行过程中所需要的临时工作单元数5)软件设计中划分模块的一个准则
2、是A)低内聚低耦合 B)高内聚低耦合C)低内聚高耦合D)高内聚高耦合6)下列选项中不属于结构化程序设计原则的是A)可封装 B)自顶向下。模块化D)逐步求精7)软件详细设计产生的图如下:该图是A)N-S 图 B)PAD图。程序流程图 D)E-R图8)数据库管理系统是A)操作系统的一部分B)在操作系统支持 下 的 系 统 软 件C)一种编译系统D)一种操作系统9)在E-R图中,用来表示实体联系的图形是A)椭圆图B)矩形C)菱形D)三角形到,该操作为A)选择 B)投影。交 D)并=c;11)以下叙述中正确的是 A)程序设B)程序设计的任务就是确定所用数据结构C)程序设计的任务就是确定所用算法D)以上
3、三种说法都不完整12)以下选项中,能用作用户标识符的是A)v oi d B)8 _ 8 C)_ 0 _ D)u n s i g n e d13)阅读以下程序#i n c l u d c m a i n()i n t c a s e;f l oa t p r i n t F;p r i n t R”请输入2个数:”);s c a n f(d%f;&c a s e,&p j r i n t F);p r i n t f f%d%f n,c a s e,p r i n t F);)该程序编译时产生错误,其出错原因是A)定义语句出错,c a s e是关键字,不能用作用户自定义标识符B)定义语句出错,p
4、 r i n t F不能用作用户自定义标识符C)定义语句无错,s c a n f不能作为输入函数使用 D)定义语句无错,pri ntf不能输出case的值14)表达式:(i ni)(double)9/2)-(9)%2 的值是A)0 B)3 C)4 D)515)若有定义语句:i ni x=1 0;,则表达式x-=x+x的值为A)-20B)-10C)0 D)1016)有以下程序#i nclude mai n()(i nta=l,b=0;pri ntf(b)c=a,a=b,b=c;B )i f(ab)18)有以下程序mai n()(i nt c=0,k;for(k=l;k b?(bc?l:0):0;
5、功能相同的是A)i f(ab)&(bc)k=l;else k=0;B)i f(ab)|(bc)k=1 ;else k=0;C)i f(a=b)k=0;else i f(bb)k=l;else i f(bc)k=l;else k=0;2 0)有以下程序#i nclude mai n()char s =M012x y,;i nt i,n=0;for(i=0;s i !=0;i+)i f(s i =,a,&s i =,z,)n+;pri ntfT%d n”,n);程序运行后的输出结果是A)0 B)2 C)3 D)52 1)有以下程序#i nclude mai n()(i nt n=2,k=0;w h
6、i le(k+&n+2);pri ntf(u%d%d n,k,n);程序运行后的输出结果是A)0 2 B)1 3 0 5 7 D)1 22 2)有以下定义语句,编译时会出现编译错误的是A)char a=,a B )char a=,n,;O c h a ra=,aa,;D)chara=,x 2d,;2 3)有以下程序#i nclude mai n()char cl,c2;cl=A+8/4;c2=A+pri ntfV%c,%d n”,c 1,c2);)已知字母A的A S C I I码为65,程序运行后的输出结果是计的任务就是编写程序代码并上机#i nclude A)E,68 B)D,69 C)E,
7、D D)输出无定值2 4)有以下程序#include void fun(int p)int d=2;p=d+;printf(tt%dv,p);main()(int a=l;ftin(a);printf(dn”,a);程序运行后的输出结果是A)32 B)12 C)21 D)222 5)以下函数findmax拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能#define MIN-2147483647int find max(int x,int n)(int i,max;for(i=0;in;i+)(max二MIN;if(maxxi)max=xi;)return max;造
8、成错误的原因是A)定义语句int i,max;中m ax未赋初值B)赋值语句max二MIN;中,不应给max赋MIN值C)语句 if(maxxi)max=xi;中判断条件设置错 D)赋值语句max=M1N;放错了位置(2 6)有以下程序#include main()int m=l,n=2,*p=&m,*q=&n,*r;r=p;p=q;q=r;printf(t%d,%d,%d,%dn,m,n,*p,*q);程序运行后的输出结果是A)1,2,1,B)1,2,2,1 02,1,2,D)2,1,1,22 7)若有定义语句:int a410,*p,*q4;且0S i 4,则错误的赋值是A)p=a B)q
9、i=ai C)p=ai D)P=&a 口2 8)有以下程序#include#includemain()char str 20=4tOne*WorldM,“One*Dream!M,*p=strl;pintf(%dJ,stiien(p);printfC%sn”,p);)程序运行后的输出结果是A)9,One*World B)9,0ne*Dream C)10,One*Dream D)10,One*World2 9)有以下程序#include main()int a=2,3,5,4,i;for(i=0;i4;i+)switch(i%2)case 0:switch(a|i)%2)case O:ai+;br
10、eak;case 1 :ai;)break;case l:ai=O;fbr(i=0;i4;i+)printfT%d”,ai);primfTW);)A)3 344 B)2 0 5 0 0 3 0 4 0 D)0 3 0 43 0)有以下程序#include#includemain()char a10=abcd;printf(tt%d,%dn,strlen(a),sizeof(a);程序运行后的输出结果是A)7A B)4J0 C)8,8 D)10J03 1)下面是有关C语言字符数组的描述,其中错误的是A)不可以用赋值语句给字符数组名赋字符串 B)可以用输入语句把字符串整体输入给字符数组C)字符数组
11、中的内容不一定是字符串D)字符数组只能存放字符串3 2)下列函数的功能是fun(char*a,char*b)while(*b=*a)!=O)a+,b+;A)将a所指字符串赋给b所 指 空 间B)使指针b指向a所指字符串C)将a所指字符串和b所指字符串进行比较D)检查a和b所指字符串中是否有3 3)设有以下函数void fun(int n,char*s).则下面对函数指针的定义和赋值均是正确的是A)void(*pf)();pf=fun;B)viod*pf();pf=fun;C)void*pf();*pf=fun;D)void(*pf)(int,char);pf=&fun;(3 4)有以下程序#i
12、nclude int f(int n);main()(int a=3,s;s=f(a);s=s+f(a);prmtf(%dn,s);)int f(int n)static int a=l;n+=a+;return n;)程序运行以后的输出结果是A)7 B)8 C)9 D)103 5)有以下程序#include#define f(x)x*x*xmain()|int a=3,s,t;s=f(a+l);t=f(a+l);printfV%d,%dns,t);程序运行后的输出结果是A)10,64 B)10,10 C)64,10 D)64,643 6)下面结构体的定义语句中,错误的是A)struct or
13、d int x;int y;int z;);struct ord a;B)struct ord int x;int y;int z;)stnictord a;C)struct ord int x;int y;int z;a;D)struct int x;int y;int z;|a;3 7)设有定义:char*c;,以下选项中能够使字符型指针c正确指向一个字符串的是A)char str=,string,;c=str;B)scanf(4 fc%s,c);C)c=getchar();D)*c=,stringM;3 8)有以下程序#include#inckidestruct A int a;char
14、 b10;double c;struct A f(struct A t);main()struct Aa=1001 ZhangDa*;1098.0;a=f(a);jprintf(l);】程序运行后的输出结果是【14】100 L Z h a n g D a J 202.0 C )pri ntf(u%d n,a);15)有以下程序1001,Chang R ong,1098.0 D )10)有以下程序#i nclude 100 hChang R ong,1202.0#i ncludc fun(i nt x)3 9)若有以下程序段mai n()i f(x/20)run(x/2);i nt r=8;i
15、ntf,fl,f2,i;pri ntf(4%d *,x);pri nt(C%d n”,r l);输出结果是 A)16fl=0;f2=l;)B)8 C)4 D)2pri ntfT%d%d”,fl,f2);mai n()4 0)下列关于C语言文件的叙述中正确的是A)文件由一系列数据依次排列组成,只能构成二进制文件B)文件由结构序列组成,可以构成二进制文件或文本文件C)文件由数据序列组成,可以构成二进制文件或文本文件 D)文件由字符序列组成,其类型只能是文本文件二、填空题(每空2分,共30分)1)某二叉树有5个度为2的结点以及3个度为1的结点,则该二叉树中共有_LJ个结点。2)程序流程图中的菱形框表
16、示的是 2 03)软件开发过程主要分为需求分析、设计、编码与测试四个阶段,其 中【3】阶段产生“软件需求规格说明书。4)在数据库技术中,实体集之间的联系可以是一对一或一对多或多对多的,那 么“学生”和“可选课程”的联系为【4 1 05)人员基本信息一般包括:身份证号,姓名,性别,年龄等。其中可以作为主关键 字 的 是【5 1 06)若有定义语句:i n t a=5;,则表达式:a+的 值 是【6】07)若有语句d o u bl e x=1 7;i n t y;,当执行y=(i m)(x/5)%2;之后y的 值 为【7 1 08)以下程序运行后的输出结果是#i n c l u d e m a i
17、 n()i n t x=2 0;p r i n t%d,0 x 2 0);p r i n t f C%d n”,0 x&x v 2 0);9)以下程序运行后的输出结果是_ Q L。#i n c l u d c f o r(i=3;i =5;i+)f=H+f 2;p r i n t f(u%d,f);f l=f 2;f 2=f;p r i n t f(n”);)程序运行后的输出结果是【101011)有以下程序#i n c l u d e i n t a=5;v o i d f u n(i n t b)i n t a=1 0;a+=b;p r i n t f(d”,a);)m a i n()i n
18、 t c=2 0;f u n(c);a+=c;p r i n t t t%d i i,a);程 序 运 行 后 的 输 出 结 果 是 1 1 o12)设有定义:s t r u c t p e r s o n i n t l D;c h a i n a m e 1 2 ;)p;请将s c a n f(“d”,【12):语句补充完整,使其能够为结构体变量p的成员ID正确读入数据。13)有以下程序#i n c l u d e m a i n()c h a r a 2 0=,H ow a r c y o u?,b 2 0 ;s c a n f(%s”,b);p r i n t f(s%s n a,b
19、);|程序运行时从键盘输入:H ow a r ey o u?|司车则输出结果为【1 3】。14)有以下程序#i n c l u d e t y p e d e f s t r u c t i n t n u m;d o u bl e s R E C;v o i d f u n 1(RECx )x.n u m=2 3;x.s=8 8.5;)f t m(6);p r i n t f(“n );程序运行后的输出结果是【15102009年3月二级C语言笔试真题及答案(1)下列叙述中正确的是A)栈是“先进先出”的线性表 B)队列是“先进先出”的线性表C)循环队列是非线性结构 D)有序性表既可以采用顺序存
20、储结构,也可以采用链式存储结构(2)支持子程序调用的数据结构是A)栈B)树C)队 列D)二叉树(3)某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是 A)1 0 B)8 C)6 D)4(4)下列排序方法中,最坏情况下比较次数最少的是A)冒 泡 排 序B)简单选择排序 C)直接插排序 D)堆排序(5)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是A)编译软件 B)操作系统 C)教务管理系统 D)汇编程序(6)下面叙述中错误的是A)软件测试的目的是发现错误并改正错误B)对被调试的程序进行“错误定位”是程序调试的必要步骤C)程序调试通常也称为D e b u
21、 gD)软件测试应严格执行测试计划,排除测试的随意性(7)耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是A)提高耦合性降低内聚性有利于提高模块的独立性B)降低耦合性提高内聚性有利于提高模块的独立性C)耦合性是指一个模块内部各个元素间彼此结合的紧密程度D)内聚性是指模块间互相连接的紧密程度(8)数据库应用系统中的核心问题是A)数据库设计 B)数据库系统设计C)数据库维护 D)数据库管理员培训(9)有两个关系R,S如下:RABC3a32b01c21srrn工由关系R通过运算得到关系S,则所使用的运算为A)选 择B)投 影C)插 入D)连接(1 0)将E-R图转换为关系模式时,实体和
22、联系都可以表示为A)属 性B)键C)关 系D)域(1 1)以下选项中合法的标识符是A)1-1B)1 1 C)-1 1 D)1(1 2)若函数中有定义语句:i nt k;,则A)系统将自动给k赋初值0 B)这时k中值无定义C)系统将自动给k赋初值T D)这时k中无任何值(1 3)以下选项中,能用作数据常量的是A)o l l 5 B)0 1 1 8 C)1.5 e l.5 D)1 1 5 L(1 4)设有定义:i nt x=2;,以下表达式中,值不为6的是 A)x*=x+l B)x+,2*x C)x*=(1+x)D)2*x,x+=2(1 5)程序段:i nt x=1 2;d o u b l e y
23、=3.1 4 1 5 9 3;p r i n t f(“%d%8.6f”,x,y);的输出结果是A)1 2 3.1 4 1 59 3 B)1 2 3.1 4 1 59 3 C)1 2,3.1 4 1 59 3 D)1 2 3.1 4 1 59 3(1 6)若有定义语句:do u bl e x,y,*p x,*p y,执行了 p x二&x,p y=&y;之后,正确的输入语句是A)s can f (,x,y);B)s can f(“%f%f ”,&x,&y);C )s can f(%l f%l e ”,p x,p y);D )s can f(,x,y);(1 7)以下是i f语句的基本形式:i f
24、 (表达式)语句其中“表达式”A)必须是逻辑表达式B)必须是关系表达式C)必须是逻辑表达式或关系表达式D)可以是任意合法的表达式(1 8)有以下程序#i n cl u de m ai n ()i n t x;s can f (,&x);i f (x=3);e l s ei f (x!=1 0)p r i n t f (%dn,x);程序运行时,输入的值在哪个范围才会有输出结果A)不等于1 0的整数B)大于3且不等于1 0的整数C)大于3或等于1 0的整数D)小于3的整数(1 9)有以下程序#i n cl u de M ai n ()i n t a=l,b=2,c=3,d=0;i f (a=1&
25、b+二=2)i f (b!=2|c 1=3)p r i n t f (%d,%d,%dn”,a,b,c);e l s e p r i n t f (4%d,%d,%dnw,a,b,c);e l s e p r i n t f (*%(1,%d,%dnw,a,b,c);1程序运行后的输出结果是A)1,2,3 B)1,3,2 C)1,3,3D)3,2,1(2 0)以下程序中的变量已正确定义f o r (i=0;i 4;i+,i+f o r (k=l;k 3;k+);p r i n t f (*w);程序段的输出结果是A)*B)*C)*D)*(2 1)有以下程序#i n cl u de m ai n
26、 ()ch ar*s=(“A B C);dop r i n t f (u%d,*s%1 0);s+;wh i l e (*s);注意,字母 A 的 AS C H码值为65。程序运行后的输出结果是A)5670 B)656667 C)567 D)AB C(2 2)设变量已正确定义,以下不能统计出一行中输入字符个数(不包含回车符)的程序段是A)n=0;wh i l e (ch=g e t ch ar ()!=n )n+;B)n=0;wh i l e (g e t ch ar()!=n )n+;C)f o r (n=0;g e t ch ar ()!=n ;n+);D)n=0;f o r (ch=g
27、e t ch ar ();ch!=n ;n+);(2 3)有以下程序#l n cl u de m ai n ()i n t al,a2;ch ar cl,c2;s can f (a%d%c%d%c M,&al,&cl,&a2,&c2);p r i n t f%c,%d,%c,&1,cl,a2,c2);若想通过键盘输入,使得a l的值为1 2,a2的是为3 4,c l的值为字符a,c 2的值为字符b,程序输出结果是:1 2,a,3 4,b,则正确的输入格式是(以下代表空格,代表回车)A)1 2 a3 4 b C )1 2,a,3 4,bB)1 2 D)1 2a a3 43 4 bb2 4)有以下
28、程序#i n cl u de i n t f (i n t x,i n t y)r e t u r n ()y-x)*x);m ai n ()i n t a=3,b-4,c=5,d;d=f (f (a,b),f (a,c);p r i n t f (dn,d);程序运行后的输出结果是A)1 0 B)9 C)8 D)7(2 5)有以下程序#i n cl u de v o i d f u n (ch ar*s)wh i l e (*s)i f (*s%2=0)p r i n t f (%c”,*s);s+;m ai n ()ch ara=g o o d”;f u n (a);p r i n t f
29、 (n );注意:字母a的AS C H码值为9 7,程序运行后的输出结果是A)d B)g o C)g o d D)g o o d(2 6)有以下程序i n cl u de v o i d f u n (i n t *a,i n t *b)i n t *c;c=a;a=b;b=c;m ai n ()(i n t x=3,y-5,*P=&x,*q=&y;f u n (p,q);p r i n t f (.%d,%d,”,*p,*q);f u n(&x,&y);p r i n t f (w%d,%dnw,*p,*q);程序运行后的输出结果是A)3,5,5,3 B)3,5,3,5 0 5,3,3,5D
30、)5,3,5,3(2 7)有以下程序i n cl u de v i o d f (i n t *p,i n t *q);m ai n ()i n t m=l,n=2,*r=&m;f (r,&n)j p r i n t f (%d,%d”,m,n);v o i d f (i n t *p,i n t *q)p=p+l;*q=*q+l;程序运行后输出的结果是A)1,3 B)2,3 C)1,4 D)1,2(2 8)以下函数按每行8个输出数组中的数据v o i d f u n (i n t *w,i n t n)i n t i;f o r (i=0;i n;i+)p r i n t f (%d”,w)
31、;p r i n t f (n );)下划线处应填入的语句是A)i f (i/8=0)p r i n t (anw);B)i f (i/8=0)co n t i n u e;C)i f (i%8=0)p r i n t (“n );D)i f (i%8=0)co n t i n u e;(2 9)若有以下定义 i n t x1 0,*p t=x;则对x数组元素的正确应用是A)*&x1 0 B)*(x+3)C)*(p t+1 0)D)p t+33 0)设有定义:ch ar s 8 1;i n t i=1 0;,以下不能将一行(不超过80个字符)带有空格的字符串真确读入的语句或语句组是A)g e
32、t s (s)B)wh i l e(s i+=g e t ch ar ()!=n ;s二”0”;C)s can f (%s ,s);D)do s can f&s);wh i l e(s i+!=n);s=0”;4(3 1)有以下程序i n cl u de m ai n ()ch ar *a “abe d,“e f “,“g h“,i j kw);i n t I;f o r (i=0;i 4;i+)p r i n t f (a%cw,*a);程序运行后输出的结果是A)ae g i B)df h k C)abe d D)abe de f g h i j k3 2)以下选项中正确的语句组是A)ch
33、ar s口;s=B O O K!w;B)ch ar*s;s=B O O K!”;C)ch ar s 1 0;s=MB O O K!”;D)ch ar *s;s=B O O K!”;(3 3)有以下程序t t i n cl u de i n t f u n i n t x,i n t y)i f (x=y)r e t u r n (x);e l s e r e t u r e n (x+y)/2)m ai n ()i n t a=4,b=5,c=6;p r i n t f (f u n (2*a,f u n (b,c)程序运行后的输出结果是A)3 B)6 C)8 D)1 2(3 4)设函数中有整
34、型变量n,为保证其在未赋值的情况下初值为0,应选择的存储类别是A)au t o B)r e g i s t e r O s t at i cD)au t o 或 r e g i s t e r(3 5)有以下程序t t i n cl u de i n t b=2;i n t f u n (i n t *k)b=*k+b;r e t u r n (b);m ai n ()i n t a1 0=l,2,3,4,5,6,7,8 ,I;f o r (i=2;i4;i+)(b=f u n (&a)+b;p r i n t f (“%d”,b);p r i n t f (n );程序运行后输出的结果是A)
35、1 0 B)8 C)1 0D)1 01 21 02 81 63 6)有以下程序#i n cl u de de f i n e P T 3.5;t t de f i n e S (x)P T*x*x;m i an ()i n t a=l,b=2;p r i n t f (w%4.l f nw,S(a+b);程序运行后输出的结果是A)1 4.0 B)3 1.5 C)7.5D)程序有错无输出结果3 7)有以下程序i n cl u de s t r u ct o r d i n t x,y;dt 2 =l,2,3,4);m ai n ()s t r u ct o r d*p=dt;p r i n t
36、f (%d,,+p-x);p r i n t f(%dn,+p-y);程序的运行结果是A)1,2 B)2,3 C)3,4D)4,13 8)设有宏定义:#i n cl u deI s D I V (k,n)(k%n=l)?l:0 且变量m已正确定义并赋值,则宏调用:I s D I V(m,5)&I s D I V (m,7)为真时所要表达的是 A)判断m是否能被5或者7整除 B)判断m是否能被5和7整除C)判断m被5或者7整除是否余1 D)判断m被5和7整除是否余1(3 9)有以下程序#i n cl u de m ai n ()i n t a=5,b=l,t;t=(a 2|b);p r i n
37、t f (“dn,t)程序运行后的输出结果是 A)2 1 B)1 1 C)6 D)1(4 0)有以下程序#i n cl u de m ai n ()E I L E *f;f=f o p e n (f i l e a.t xt ,w);f p r i n t f (f,abc”);f cl o s e (f);若文本文件 f i l e a.t xt中原有内容为:h e l l o,则运行以上程序后,文件f i l e a.t xt中的内容为A)h e l l o abc B)abcl o C)abc D)abch e l l o二、填空题(每空2分,共3 0分)(1)假设一个长度为5 0的数组
38、(数组元素的下标从。到4 9)作为栈的存储空间,栈底指针bo t t o m指向栈底元素,栈顶指针t o p指向栈顶元素,如果b o t t o m=4 9,t o p=3 0 (数组下标),则栈中具有【1】个元素。(2)软件测试可分为白盒测试和黑盒测试。基本路径测试属于【2】测试。(3)符合结构化原则的三种基本控制结构是:选择结构、循环结构和【3】。(4)数据库系统的核心是【4】(5)在E-R图中,图形包括矩形框、菱形框、椭圆框。其中表示实体联系的是【5】框。(6)表达式(int)(d o u b le)(5/2)+2.5)的值是 6(7)若变量x、y已定义为int类型且x的值为9 9,y的
39、值为9,请将输出语句print f(7 ,x/y);补充完整,使其输出的计算结果形式为:x/y=ll(8)有以下程序#inclu d e ma in()cha r cl,c2;s ca nf(&c”,&cl);while(cl 9 0)s ca nf(&c”,&cl);c2=cl+3 2;print f(M&c,&c nw,cl,c2);程序运行输入65回车后,能否输出结果、结束运行(请回答能或不能)【8】o(9)以下程序运行后的输出结果是 9】#inclu d e ma in()int k=l,s=0;d o if (k&2)!=0)co nt inu e;s+=k;k+;while (k)
40、1 0);print f(s;&d/n”,s);(1 0)下 列 程 序 运 行 时,若 输 入la b ce d l2 d f 回车 输出结果为 1 0 inclu d e ma in()cha ra =0,ch;wh i1 e (ch=ge t cha r 0)!=?n )if(a&2!=0&(ch,a&ch=*z)ch=ch-a +A;a+;pu t cha r(ch);print f(n);(1 1)有以下程序,程序执行后,输出结果是 1 1#inclu d e vo id fu n(int *a)a 0=a l;ma inO int a 1 0 =1 0,9,8,7,6,5,4,3,
41、2,1),i;fo r(i=2;i=0;i-)fu n&a);fo r(i=0;i 1 0;i+)print f(&d”,a);print f(n );)(1 2)请将以下程序中的函数声明语句补充完整 inclu d e int 1 2 ;ma in()int x,y,(*p)();p=ma x;print f(&d n”,&x,&y);I nt ma x(int a,int b)re t u rn(a b/a:b);(1 3)以下程序用来判断指定文件是否能正常打开,请填空#inclu d e ma in()F I L E *fp;if(fp=fo pe n(rtt e s t.t x t ,
42、r )=1 3 )print f(“未能打开文件!n);e ls eprint f(文件打开成功!n”);(1 4)下列程序的运行结果为【1 4】inclu d e#inclu d e s t ru ct A int a;cha r b 1 0 ;d o u b le c;vo idf(s t ru ctA*t);ma inO s t ru ct A a=(1 0 0 1,Z ha ngD a”,1 0 9 8,0);f(&a)jprint f(&d,&s,&6,if n ,a.a,a.b,a.c);vo id f(s t ru ctA*t)s t rcpy(t-b,C ha ngRo ng)
43、;(1 5)以下程序把三个N O D E T Y PE型的变量5链接成个简单的链表,并在while循环中输出链表结点数据域中的数据,请填空#inclu d e s t ru ct no d e int d a t a;s t ru ct no d e *ne x t;t y pe d e f s t ru ct no d e N O D E T Y PE;ma in()N O D E T Y PE a,b,c,*h,*p;a.d a t a=1 0;b.d a t a=2 0;c.d a t a=3 0;h=&a;b.ne x t=&b;b.ne x t=&c;c.ne x t=,0,;p=h
44、;while(p)print f(&d”,p-d a t a);1 5 ;)2 0 0 8年9月二级C语言笔试真题及答案(1)一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、【)、E 依次入栈,然后再依次出栈,则元素出栈的顺序是()o A)1 2 3 4 5 A B C D E B)E D C B A 5 4 3 2 1 C)A B C D E 1 2 3 4 5 D)5 4 3 2 1 E D C B A(2)下列叙述中正确的是()。A)循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B)在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C)在循环队列中,只需
45、要队尾指针就能反映队列中元素的动态变化情况D)循环队列中元素的个数是由队头指针和队尾指针共同决定3)在长度为的有序线性表中进行二分查找,最坏情况下需要比较的次数是()oA)0(G)B)0(2)C)0(l o g 2/?)D)0(/?l o g 2/?)4)下列叙述中正确的是()。A)顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的B)顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C)顺序存储结构能存储有序表,链式存储结构不能存储有序表D)链式存储结构比顺序存储结构节省存储空间5)数据流图中带有箭头的线段表示的是()OA)控制流B)事件驱动C)模块调用D)数据流6)
46、在软件开发中,需求分析阶段可以使用的工具是()。A)N-S 图 B)D F D 图 C)PA D 图 D)程序流程图7)在面向对象方法中,不属于“对象”基本特点的是()。A)一致性B)分类性C)多态性D)标识唯一性(8)一间宿舍可住多个学生,则实体宿舍和学生之间的联系是()。A)一对一B)一对多C)多对一D)多对多(9)在数据管理技术发展的三个阶段中,数据共享最好的是()。A)人工管理阶段B)文件系统阶段C)数据库系统阶段D)三个阶段相同(1 0)有三个关系R、S和T如下:R S TA B B C A B Cm 1 1 3 m 1 3n 2 3 5由关系R和S通过运算得到关系T,则所使用的运算
47、为()o A)笛卡尔积B)交C)并D)自然连接(1 1)以下叙述中正确的是()。A)C程序的基本组成单位是语句 B)C程序中的每一行只能写一条语句C)简单C语句必须以分号结束 D)C语句必须在一行内写完1 2)计算机能直接执行的程序是()。A)源程序B)目标程序C)汇编程序D)可执行程序1 3)以下选项中不能作为C语言合法常量的是()。A)c d B)0.l e+6 C)飞 D)1 4)以下选项中正确的定义语句是()。A)d o u bl e a;b;B)d o u bl e a=b=7;C)d o u bl e a=7,b=7;D)d o u bl e,a,b;1 5)以下不能正确表示代数式
48、2ab cd的C语言表达式是()。A)2*a*b/c/d B)a*b/c/d*2 C)a/c/d*b*2)2*a*b/c*d1 6)C源程序中不能表示的数制是()oA)二进制B)八进制C)十进制D)十六进制1 7)若有表达式(w)?(x):(+y),则其中与w等价的表达式是()。A)B)w=0 C)w!=l D)w!=01 8)执行以下程序段后,w的值为()。in t w=,A*,x=14,y=15;w=(x|I y)&(w a );A)-1B)N UL L C)1 D)019)若变量已正确定义为i n t型,要通过语句 s c a n f (%d,%d,%d,&a,&b,&c);给a赋值1、
49、给b赋值2、给c赋值3,以下输入形式中错误的是(d代表一个空格符)()。A)d 6 d 1,2,3 回车B)1 d 2 d 3b)a=b,b=c;c=a;prin t f C a=%d b=%d c=%d nw,a,b,c);程序的输出结果是(),A)a=10 b=50 c=10 B)a=10 b=50 c=30 C)a=10 b=30 c=10 D)a=50 b=30 c=50(2 1)若有定义语句:in tm=5,4,3,2,1,i=4;,则下面对 m 数组元素的引用中错误的是()。A)m i B)m 2*2 C)m m 0 D)m m i(2 2)下面的函数调用语句中f u n c函数的
50、实参个数是()。f u n c (f 2(v l,v 2),(v 3,v 4,v 5),(v 6,ma x(v 7,v 8);A)3 B)4 C)5 D)8(2 3)若有定义语句:d ou b l ex 5=1.0,2.0,3.0,4.0,5.0),*p=x;则错误引用x数组元素的是()。A)*p B)x 5 C)*(p+l)D)*x 2 4)若有定义语句:c h a rs 10=12345670 0;,则 s t rl e n(s)的值 是()。A)7 B)8 C)9 D)10(2 5)以下叙述中错误的是()。A)用户定义的函数中可以没有re t u rn语句B)用户定义的函数中可以有多个r