全国计算机等级考试二级笔试试卷C语言程序设计.pdf
2 0 0 9 年 9 月全国计算机等级考试二级笔试试卷C 语言程序设计(考试时间90分钟,满分100分)一、选择题(1)(10)、(21)(40)每题 2 分,(11)(20)每题1 分,共 70分)(1)下列数据结构中,属于非线性结构的是A)循环队列B)带链队列0二叉树D)带链栈(2)下列数据结果中,能够按照“先进后出”原则存取数据的是A)循环队列B)栈C)队列D)二叉树(3)对于循环队列,下列叙述中正确的是A)队头指针是固定不变的B)队头指针一定大于队尾指针C)队头指针一定小于队尾指针D)队头指针可以大于队尾指针,也可以小于队尾指针(4)算法的空间复杂度是指A)算法在执行过程中所需要的计算机存储空间B)算法所处理的数据量C)算法程序中的语句或指令条数D)算法在执行过程中所需要的临时工作单元数(5)软件设计中划分模块的一个准则是A)低内聚低耦合B)高内聚低耦合C)低内聚高耦合D)高内聚高耦合(6)下列选项中不属于结构化程序设计原则的是A)可封装D)自顶向下0模块化D)逐步求精(7)软件详细设计产生的图如下:NY该图是A)N-S 图B)P A D 图0 程序流程图D)E-R 图(8)数据库管理系统是A)操作系统的一部分B)在操作系统支持下的系统软件C)一种编译系统D)一种操作系统(9)在 E-R 图中,用来表示实体联系的图形是A)椭圆图B)矩形0 菱形D)三角形(1 0)有三个关系R,S 和 T 如下:A)选择B)投影O 交D)并(1 1)以下叙述中正确的是A)程序设计的任务就是编写程序代码并上机调试B)程序设计的任务就是确定所用数据结构C)程序设计的任务就是确定所用算法D)以上三种说法都不完整(1 2)以下选项中,能用作用户标识符的是A)v o i dB)8 _ 8C)_ 0 _D)u n s i g n e d(1 3)阅读以下程序 i n c l u d em a i n()i n t c a s e;f l o a t p r i n t F;p r i n t f (“请输入2 个数:”);s c a n f(%d%fw,&c a s e,&p j r i n t F);p r i n t f(w%d%f nw,c a s e,p r i n t F);)该程序编译时产生错误,其出错原因是A)定义语句出错,c a s e 是关键字,不能用作用户自定义标识符B)定义语句出错,p r i n t F 不能用作用户自定义标识符C)定义语句无错,s c a n f 不能作为输入函数使用D)定义语句无错,p r i n t f 不能输出c a s e 的值(1 4)表达式:(i n t)(d o u b l e)9/2)-(9)%2 的值是A)0B)3C)4D)5(1 5)若有定义语句:i n t x=1 0;,则表达式x-=x+x 的值为A)-2 0B)-1 0C)0D)1 0(1 6)有以下程序t t i n c l u d em a i n()i n t a=l,b=0;p r i n t f (%d,b=a+b);p r i n t f(%d n ,a=2*b);)程序运行后的输出结果是A)0,0B)1,0C)3,2D)1,21 7)设有定义:i n t a=l,b=2,c=3;,以下语句中执行效果与其它三个不同的是A)i f (a b)c=a,a=b,b=c;B)i f (a b)c=a,a=b,b=c;C)if(a b)c=a;a=b;b=c;D)if(a b)c=a;a=b;b=c;(1 8)有以下程序ft in c l u d ema in()in t c=0,k;fo r (k=l;k b?(b c?l:0):0;功能相同的是A)if(a b)&(b c)k=l;el s e k=0;B)if(a b)|(b c)k=l;el s e k=0;C)if(a=b)k=0;el s e if(b b)k=l;el s e if(b c)k=l;el s e k=0;2 0)有以下程序#in c l u d ema in()c h a r s =0 1 2 x y ;in t i,n=O;fo r(i=0;s i!=O;i+)if(s i=,a,&s i 2);p r in t f(%d%d n”,k,n);)程序运行后的输出结果是A)0 2B)1 30 5 7D)1 2(2 2)有以下定义语句,编译时会出现编译错误的是A)c h a r a=,a;B)c h a r a=n ;C)c h a r a=,a a ;D)c h a r a=x 2 d,;(2 3)有以下程序in c l u d ema in O c h a r c l,c 2;c l=A +8 -4;c 2=A+8 -5;p r in t f(%c,%d nw,c l,c 2);)已知字母A的A SC H 码为6 5,程序运行后的输出结果是A)E,6 8B)D,6 9C)E,DD)输出无定值(2 4)有以下程序in c l u d ev o id fu n(in t p)in t d=2;p=d+;p r in t f(%d”,p);ma in()in t a=l;fu n (a);p r in t f(%d n,a);程序运行后的输出结果是A)3 2B)1 2C)2 1D)2 2(2 5)以下函数fin d ma x 拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能t t d efin e MI N-2 1 4 7 4 8 3 6 4 7in t fin d ma x (in t x ,in t n)in t i,ma x;fo r(i=0;iN;I+)ma x=MI N;if(ma xr et u r n ma x;)造成错误的原因是A)定义语句in t i,ma x;中ma x 未赋初值B)赋值语句ma x=MI N;中,不应给ma x 赋 MI N值C)语句 if(ma xD)赋值语句ma x=MI N;放错了位置(2 6)有以下程序t t in c l u d ema in()in t m=l,n=2,*p=&m,*q=&n,*r;r=p;p=q;q=r;p r in t f(%d,%d,%d,%d n”,m,n,*p,*q);程序运行后的输出结果是A)1,2,1,2B)1,2,2,1C)2,1,2,1D)2,1,1,2(2 7)若有定义语句:in t a 4 1 0 ,*p,*q 4 ;且 0 W i4,则错误的赋值是A)p=aB)q i=a iC)p=a iD)p=&a 2 1(2 8)有以下程序t t in c l u d et t in c l u d ema in()c h a r s t r 2 0 =On e*W o r l dw,On e*Dr ea m!”,*p=s t r 1 ;p r in t f(%d,”,s t r l en(p);p r in t f(a%s nw,p);程序运行后的输出结果是A)9,On e*W o r l dB)9,On e*Dr ea mC)1 0,On e*Dr ea mD)1 0,On e*W o r l d(2 9)有以下程序#in c l u d ema in()in t a =2,3,5,4 ,i;fo r (i=0;i4;i+)s w it c h(i%2)c a s e 0:s w it c h(a i%2)c a s e 0:a i+;b r ea k;c a s e 1:a i 一;b r ea k;c a s e 1:a i=0;fo r(i=0;i4;i+)p r in t f(%d ,a i);p r in t f(n);A)3 3 4 4B)2 0 5 00 3 0 4 0D)0 3 0 4(3 0)有以下程序4 in c l u d ein c l u d ema in()c h a r a 1 0 =a b ed;p r in t f(%d,%d n”,s t r l en(a),s iz eo f(a);)程序运行后的输出结果是A)7,4B)4,1 0C)8,8D)1 0,1 0(3 1)下面是有关C 语言字符数组的描述,其中错误的是A)不可以用赋值语句给字符数组名赋字符串B)可以用输入语句把字符串整体输入给字符数组C)字符数组中的内容不一定是字符串D)字符数组只能存放字符串(3 2)下列函数的功能是fu n(c h a r *a,c h a r *b)w h il e(*b=*a)!=0 )a+,b+;A)将 a 所指字符串赋给b 所指空间B)使指针b 指向a 所指字符串C)将 a 所指字符串和b 所指字符串进行比较D)检查a 和 b 所指字符串中是否有0(3 3)设有以下函数v o id fu n(in t n,c h a r *s).则下面对函数指针的定义和赋值均是正确的是A)v o id (*p f)();p f=fu n;B)v io d *p f();p f=fu n;C)v o id *p f();*p f=fu n;D)v o id (*p f)(in t,c h a r);p f=&fu n;(3 4)有以下程序#in c l u d ein t f(in t n);ma in()in t a=3,s;s=f(a);s=s+f(a)jp r in t f(l);输出结果是A)1 6B)8C)4D)2(4 0)下列关于C语言文件的叙述中正确的是A)文件由一系列数据依次排列组成,只能构成二进制文件B)文件由结构序列组成,可以构成二进制文件或文本文件C)文件由数据序列组成,可以构成二进制文件或文本文件D)文件由字符序列组成,其类型只能是文本文件二、填空题(每空2分,共3 0分)(1)某二叉树有5个度为2的结点以及3个度为1的结点,则该二叉树中共 有【1】个结点。(2)程序流程图中的菱形框表示的是1 2】o(3)软件开发过程主要分为需求分析、设计、编码与测试四个阶段,其 中【3】阶段产生“软件需求规格说明书。(4)在数据库技术中,实体集之间的联系可以是一对一或一对多或多对多的,那 么“学生”和“可选课程”的 联 系 为【4】o(5)人员基本信息一般包括:身份证号,姓名,性别,年龄等。其中可以作为主关键字的是【5】o(6)若有定义语句:i n t a=5;,则表达式:a+的 值 是【6】。(7)若有语句 d o uble x=17;i n t y;,当执行 y=(i n t)(x/5)%2;之后 y 的值为。(8)以下程序运行后的输出结果是 8】o#i n clud em a i n()i n t x=20;p ri n tf(,0 X 20);p ri n tf(“d n”,O X&X(9)以下程序运行后的输出结果是 9】otti n clud em a i n ()i n t a=l,b=7;d o b=b/2;a+=b;w h i le (bl);p ri n tf(%d n ,a);(10)有以下程序tti n clud em a i n ()i n t f,f l,f 2,i;f l=0;f 2=l;p ri n tf (“%d%d”,f l,f 2);f o r(i=3;i=5;i+)f=f l+f 2;p ri n tf (“%d”,f);f l=f 2;f 2=f;)p ri n tf(n );)程序运行后的输出结果是 10 o(11)有以下程序i n clud ei n t a=5;v o i d f un(i n t b)i n t a=10;a+=b;p ri n tf(%d ,a);m a i n()i n t c=20;f un(c);a+=c;p ri n tf(%d n”,a);程序运行后的输出结果是111 O(12)设有定义:struct p e rso n i n t ID;ch a r n a m e 12;p;请将sca n f(,1 2 );语句补充完整,使其能够为结构体变量p的成员ID正确读入数据。(13)有以下程序i n clud em a i n()ch a r a 20=Ho w a re y o u?”,b20;sca n f (%s,b);p ri n tf(%s%sn”,a,b);)程序运行时从键盘输入:Ho w a re y o u?回 车 则输出结果为13 o(14)有以下程序tti n clud ety p e d e f struct i n t n um;d o uble s REC;v o i d f un l(REC x )x.n um=23;x.s=88.5;m a i n()REC a=16,90.0 ;f un l(a);p ri n tf (%d n”,a.n um);程序运行后的输出结果是14 o(15)有以下程序#i n clud ef un(i n t x)i f(x/20)run(x/2);p ri n tf(%d ”,x);m a i n()f un(6)j p ri n tf(anw);程序运行后的输出结果是15 o2009年9月全国计算机等级考试二级C语言笔试参考答案一、选择题(1)C(2)B(3)D(4)A(5)B(6)A(7)C(8)B(9)C(10)D(11)D(12)C(13)A(14)B(15)B(16)D(17)C(18)A(19)A(20)B(21)D(22)C(23)A(24)C(25)D(26)B(27)A(28)C(29)C(30)B(31)D(32)A(33)A(34)c(35)A(36)B(37)A(38)D(39)c(40)C*答案仅供参考(10)0 1 123(9)5(8)1 0(7)1(6)5(5)身份证号(4)多对多(3)需求分析(2)逻辑条件(1)14二、填空题20。9年3月二级C 语言笔试真题及答案(1)(10)每小题2分,(11)(50)每题1分,共60 分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。(1)下列叙述中正确的是A)栈 是“先进先出”的线性表B)队列是“先进先出”的线性表C)循环队列是非线性结构D)有序性表既可以采用顺序存储结构,也可以采用链式存储结构(2)支持子程序调用的数据结构是A)栈 B)树 C)队 列 D)二叉树(3)某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是A)10 B)8 C)6 D)4(4)下列排序方法中,最坏情况下比较次数最少的是A)冒泡排序B)简单选择排序C)直接插入排序D)堆排序(5)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是A)编译软件B)操作系统C)教务管理系统D)汇编程序(6)下面叙述中错误的是A)软件测试的目的是发现错误并改正错误B)对被调试的程序进行“错误定位”是程序调试的必要步骤C)程序调试通常也称为D e b ugD)软件测试应严格执行测试计划,排除测试的随意性(7)耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是A)提高耦合性降低内聚性有利于提高模块的独立性B)降低耦合性提高内聚性有利于提高模块的独立性C)耦合性是指一个模块内部各个元素间彼此结合的紧密程度D)内聚性是指模块间互相连接的紧密程度(8)数据库应用系统中的核心问题是A)数据库设计B)数据库系统设计C)数据库维护D)数据库管理员培训(9)有两个关系R,S 如下:S由关系R 通过运算得到关系S,则所使用的运算为A)选 择 B)投 影 C)插 入 D)连接(1 0)将 E-R 图转换为关系模式时,实体和联系都可以表示为A)属 性 B)键 C)关 系 D)域(1 1)以下选项中合法的标识符是A)1-1 B)1 1 C)-1 1 D)1(1 2)若函数中有定义语句:i n t k;,则A)系统将自动给k 赋初值0B)这时k中值无定义C)系统将自动给k 赋初值-1D)这时k中无任何值(1 3)以下选项中,能用作数据常量的是A)01 1 5 B)01 1 8 C)1.5 e l.5 D)U 5 L(1 4)设有定义:i n t x=2;,以下表达式中,值不为6 的是A)x*=x+lB)x+,2*xC)x*=(1+x)D)2*x,x+=2(1 5)程序段:i n t x=1 2;d o ub l e y=3.1 4 1 5 9 3;p r i n t f (“%d%8.6 f ,x,y);的输出结果是A)1 2 3.1 4 1 5 9 3B)1 23.1 4 1 5 9 3C)1 2,3.1 4 1 5 9 3D)1 2 3.1 4 1 5 9 3(1 6)若有定义语句:d o ub l e x,y,*p x,*p y,执行了 p x=&x,p y=&y;之后,正确的输入语句是A)s c a n f (,x,y);B)s c a n f (“f%f”,&x,&y);C)s c a n f (r t%l f%l ew,p x,p y);D)s c a n f (”,x,y);(1 7)以下是i f 语句的基本形式:i f (表达式)语句其 中“表达式”A)必须是逻辑表达式B)必须是关系表达式C)必须是逻辑表达式或关系表达式D)可以是任意合法的表达式(1 8)有以下程序/i n c l ud e m a i n ()i n t x;s c a n f (%d ,&x);i f (x=3);e l s ei f (x!=1 0)p r i n t f (%d n ,x);)程序运行时,输入的值在哪个范围才会有输出结果A)不等于10的整数B)大于3且不等于10的整数C)大于3或等于10的整数D)小于3的整数(19)有以下程序#i n c l u deM a i n ()(i n t a=l,b=2,c=3,d=0;i f (a=1&b+=2)i f (b!=2|c!=3)p r i n tf (%d,%d,%d n”,a,b,c);el se p r i n tf (%d,%d,%d n”,a,b,c);el se p r i n tf (w%d,%d,%d nw,a,b,c);)程序运行后的输出结果是A)1,2,3B)1,3,2C)1,3,3D)3,2,1(20)以下程序中的变量已正确定义f o r (i=0;i 4;i+,i+f o r (k=l;k 3;k+)j p r i n tf (*”);程序段的输出结果是A)*B)*C)*D)*(21)有以下程序#i n c l u dem a i n ()c h a r*s=(ABC);do p r i n tf (%dw,*s%10);s+;w h i l e(*s);)注意,字母A 的ASCH 码值为65。程序运行后的输出结果是A)5670B)656667C)567D)ABC(22)设变量已正确定义,以下不能统计出一行中输入字符个数(不包含回车符)的程序段是A)n=0;w h i l e(c h=getc h a r ()!=n )n+;B)n=0;w h i l e(getc h a r ()!=n,)n+;C)f o r (n=0;getc h a r ()!=n,;n+);D)n=0;f o r (c h=getc h a r ();c h!=,n,;n+);(23)有以下程序#i n c l u dem a i n ()i n t a l,a 2;c h a r c l,c 2;sc a n f (w%d%c%d%cw,&a l,&c l,&a 2,&c 2);p r i n tf (a%d,%c,%d,%cw,&1,c l,a 2,c 2);)若想通过键盘输入,使 得 a l 的值为12,a 2的是为34,c l 的值为字符a,c 2的值为字符b,程序输出结果是:12,a,34,b,则正确的输入格式是(以下代表空格,代表回车)A)12a 34b B)12a34b C)12,a,34,b D)12a 34b(24)有以下程序#i n c l u dei n t f (i n t x,i n t y)r etu r n ()y-x)*x);m a i n ()i n t a=3,b=4,c=5,d;d=f (f (a,b),f (a,c);p r i n tf (%d n ,d);程序运行后的输出结果是A)10B)9C)8D)7(25)有以下程序#i n c l u dev o i d f u n (c h a r*s)w h i l e(*s)i f (*s%2=0)p r i n tf (%c ,*s);s+;)m a i n ()c h a ra =go o d”;f u n (a)j p r i n tf (“n”);)注意:字母a的ASCI I 码值为97,程序运行后的输出结果是A)dB)goC)go dD)go o d(26)有以下程序 i n c l 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 a i n ()i n t x=3,y-5,*P=&x,*q=&y;f u n (p,q);p r i n tf (%d,%d,*p,*q);f u n (&x,&y);p r i n tf (%d,%d n”,*p,*q);)程序运行后的输出结果是A)3,5,5,3B)3,5,3,5C)5,3,3,5D)5,3,5,3(27)有以下程序tti n c l u de v i o d f (i n t*p,i n t*q);m a i n ()i n t m=l,n=2,*r=&m;f (r,&n);p r i n tf (%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,3B)2,3C)1,4D)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 tf (%d”,w);)printf(n);)下划线处应填入的语句是A)if(i/8=0)print(“n”);B)if(i/8=0)continue;C)if(i%8=0)print(n”);D)if(i%8=0)continue;(29)若有以下定义int x10,*pt=x;则对x 数组元素的正确应用是A)B)*(x+3)C)*(pt+10)D)pt+3(30)设有定义:char s81;int i=10;,以下不能将一行(不超过80 个字符)带有空格的字符串真确读入的语句或语句组是Agets(s)B)while(si+=getchar()!=”n”;s=0”;C)scanf(%s,s);D)doscanf(%c,&s);while(si+!=n);s=”0 ;(31)有以下程序include main()char*a =abed ef gh ijk;int I;for(i=0;i 4;i+)printf(“c”,*a);)程序运行后输出的结果是A)aegiB)dfhkC)abedD)abedefghijk(32)以下选项中正确的语句组是A)char s;s=”BO O K!”;B)char*s;s=”BO O K!”;C)char s10;s=w B0 0 K!,;D)char*s;s=BO O K!”;(33)有以下程序include int funint x,int y i f (x=y)r etu r n (x);el se r etu r en (x+y)/2)m a i n ()i n t a=4,b=5,c=6;p r i n tf (%d n”,f u n (2*a,f u n (b,c)程序运行后的输出结果是A)3B)6C)8D)12(34)设函数中有整型变量n,为保证其在未赋值的情况下初值为0,应选择的存储类别是A)a u toB)r egi sterC)sta ti cD)a u to 或 r egi ster(35)有以下程序 i n c l u de i n t b=2:i n t f u n (i n t*k)b=*k+b;r etu r n (b);)m a i n ()i n t a 10 =l,2,3,4,5,6,7,8,I;f o r (i=2;i 4;i+)b=f u n (&a)+b;p r i n tf (%d,b);p r i n tf (n);)程序运行后输出的结果是A)1012B)810C)1028D)1016(36)有以下程序 i n c l u de def i n e P T 3.5;ttdef i n e S(x)P T*x*x;m i a n ()i n t a=l,b=2;p r i n tf (%4.l f n”,S(a+b);程序运行后输出的结果是A)14.0B)31.5C)7.5D)程序有错无输出结果(37)有以下程序 i n c l u de str u c t o r d i n t x,y;dt 2 =l,2,3,4);m a i n ()str u c t o r d*p=dt;p r i n tf (%d,”,+p-x);p r i n tf (%d n”,+p-y);)程序的运行结果是A)1,2B)2,3C)3,4D)4,1(38)设有宏定义:tti n c l u deI sDI V (k,n)(k%n=l)?1:0且变量m已正确定义并赋值,则宏调用:I sDI V(m,5)&I sDI V (m,7)为真时所要表达的是A)判断m是否能被5或者7整除B)判断m是否能被5和7整除C)判断m 被5或者7整除是否余1D)判断m被5和7整除是否余1(39)有以下程序tti n c l u de m a i n ()i n t a=5,b=l,t;t=(a 2|b);p r i n tf (%d n ,t)程序运行后的输出结果是A)21B)11C)6D)1(40)有以下程序tti n c l u de m a i n ()EI L E*f;f=f o p en (f i l ea.tx t,w);f p r i n tf (f,n a b c);f c l o se(f);)若文本文件f i 1 ea.tx t中原有内容为:h e 1 l o,则运行以上程序后,文件f i 1 ea.tx t中的内容为A)h el l o a b cB)a b c l oC)a b cD)a b c h el l o二、填空题(每空2分,共30分)请将每一个空的正确答案写在答题卡【1】至【15】序号的横线上,答在试卷上不得分。(1)假设一个长度为50的数组(数组元素的下标从0到49)作为栈的存储空间,栈底指针b o tto m 指向栈底元素,栈顶指针to p 指向栈顶元素,如果b o tto m=49,to p=30(数组下标),则栈中具有【1】个元素。(2)软件测试可分为白盒测试和黑盒测试。基本路径测试属于【2】测试。(3)符合结构化原则的三种基本控制结构是:选择结构、循环结构和3 0(4)数据库系统的核心是1 4】(5)在 E-R图中,图形包括矩形框、菱形框、椭圆框。其中表示实体联系的是5 框。(6)表达式(i nt)(do u b le)(5/2)+2.5)的值是6】(7)若变量x、y已定义为i nt 类型且x 的值为9 9,y的值为9,请将输出语句p r i nt f (7 ,x/y);补充完整,使其输出的计算结果形式为:x/y=ll(8)有以下程序t t i nclu de ma i n()ch a r cl,c2;s ca nf(&c ,&cl);wh i le(cl 9 0)s ca nf(&c ,&cl);c2=cl+32;p r i nt f (&c,&c n,cl,c2);)程序运行输入6 5 回车后,能否输出结果、结束运行(请回答能或不能)【8】(9)以下程序运行后的输出结果是1 9】i nclu de ma i n()i nt k=l,s=0;do(i f (k&2)!=0)co nt i nu e;s+=k;k+;wh i le (k)1 0);p r i nt f (s=&d/n”,s);)(1 0)下列程序运行时,若输入la b ce dl2df 回车 输出结果为1 0)i nclu de ma i n()ch a ra =0,ch;wh i le(ch=g e t ch a r()!=,n,)i f(a&2!=0&(c h&ch=f z )ch=ch-匕,+A ;a+;p u t ch a r(ch);)p r i nt f(n”);(1 1)有以下程序,程序执行后,输出结果是【口】i nclu de v o i d f u n(i nt *a)a 0=a l;ma i n()i nt a 1 0 =1 0,9,8,7,6,5,4,3,2,l,i;f o r (i=2;i =0;i-)f u n&a ;f o r (i=0;i 1 0;i+)p r i nt f(&d”,a);p r i nt f(“n”);)(1 2)请将以下程序中的函数声明语句补充完整 i nclu de i nt L1 2ma i n()i nt x,y,(*p)();p=ma x;p r i nt f(&d n”,&x,&y);)Int ma x(i nt a,i nt b)r e t u r n(a b/a:b);(1 3)以下程序用来判断指定文件是否能正常打开,请填空 i nclu de ma i n()FILE *f p;i f (f p 二 f o p e n(t e s t,t xt ,r )=1 3)p r i nt f (“未能打开文件!n );e ls ep r i nt f(文件打开成功!n );(1 4)下列程序的运行结果为【1 4】i nclu de t t i nclu de s t r u ct A i nt a;ch a r b 1 0;do u b lec;v o i df (s t r u ctA*t);ma i nO s t r u ct A a=(1 001,w Zh a ng D aw,1 09 8,0);f (&a);p r i nt f (&d,&s,&6,i f n”,a.a,a.b,a.c);v o i d f (s t r u ctA*t)s t r cp y (t-b,9 9 C h a ng Ro ng”);(1 5)以下程序把三个NOD E TY PE 型的变量链接成一个简单的链表,并在wh i le 循环中输出链表结点数据域中的数据,请填空 i nclu de s t r u ct no de i nt da t a;s t r u ct no de *ne xt;t y p e de f s t r u ct no de NOD E TY PE;ma i n()NOD E TY PE a,b,c,*h,*p;a.da t a=1 0;b.da t a=20;c.da t a=30;h=&a;b.next=&b;b.next=&c;c.next=,0,;P=h;while(p)printf(&d,p-data);15;)答案:选择题:10:D ACD CABABC 1P20:CBD D ACD BCB 2P30:CD ABABACBC 3C40:AD BCCCBD AC填空题:(1)19(2)白盒(3)顺序结构(4)数据库管理系统(D BMS)(5)菱形(6)4(7)x/y=%d(8)能(9)s=0 (10)!AbCeD f2dF(11)7777654321(12)max(int a,int b)(13)NULL(14)10 0 1,ChangRong,10 98.0 (15)p=p next200s年 9 月二级C 语言笔试真题及答案(考试时间:120 分钟,满分10 0 分)一、选择题(1)(10)、(21)(40)每题2 分,(11)(20)每题1 分,7 0 分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。(1)一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E 依次入栈,然后再依次出栈,则元素出栈的顺序是()oA)12345ABCD E B)ED CBA54321 C)ABCD E12345 D)54321ED CBA(2)下列叙述中正确的是()oA)循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B)在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C)在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D)循环队列中元素的个数是由队头指针和队尾指针共同决定(3)在长度为A的有序线性表中进行二分查找,最坏情况下需要比较的次数是()oA)0(A)B)0(A2)C)0(log2z?)D)0(z?log2z?)(4)下列叙述中正确的是()oA)顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的B)顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C)顺序存储结构能存储有序表,链式存储结构不能存储有序表D)链式存储结构比顺序存储结构节省存储空间(5)数据流图中带有箭头的线段表示的是(A)控制流B)事件驱动C)模块调用D)数据流(6)在软件开发中,需求分析阶段可以使用的工具是()0A)N-S 图 B)D F D 图 C)PA D 图 D)程序流程图(7)在面向对象方法中,不属于“对象”基本特点的是()A)一致性B)分类性C)多态性D)标识唯一性(8)一间宿舍可住多个学生,则实体宿舍和学生之间的联系是()oA)一对一 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,则所使用的运算为()oA)笛卡尔积B)交 C)并 D)自然连接(1 1)以下叙述中正确的是()oA)C程序的基本组成单位是语句B)C程序中的每一行只能写一条语句二级C语言程序设计试卷第2页(共9页)C)简单C语句必须以分号结束D)C语句必须在一行内写完(1 2)计算机能直接执行的程序是()oA)源程序B)目标程序C)汇编程序D)可执行程序(1 3)以下选项中不能作为C语言合法常量的是()oA)cd B)0.l e+6 C)“a D)0 1 1(1 4)以下选项中正确的定义语句是()oA)d o u b l e a;b;B)d o u b l e a=b=7;C)d o u b l e a=7,b=7;D)d o u b l e,a,b;(1 5)以下不能正确表示代数式2 a 8cd的C语言表达式是()oA)2*a*b/c/d B)a*b/c/d*2 C)a/c/d*b*2 D)2*a*b/c*d(1 6)C源程序中不能表示的数制是O。A)二进制B)八进制C)十进制D)十六进制(1 7)若有表达式(w)?(x):(+y),则其中与w等价的表达式是()oA)w=l B)w=0 C)w!=l D)w!=0(1 8)执行以下程序段后,w的值为()oi n t w=A,x=1 4,y=1 5;w=(x|y)&(w,a );A)-1 B)NU L L C)1 D)0(19)若变量已正确定义为i n t型,要通过语句scanf(d,%d,%d,&a,&b,&c);给a赋值1、给b赋值2、给c赋值3,以下输入形式中错误的是(b代表一个空格符)()oA)d d d 1,2,3 回车B)1 d 2 d 3 回车C)l,d d d 2,d d d 3 回车D)1,2,3 回车(20)有以下程序段int a,b,c;a=10;b