《计算机二级c语言真题.pdf》由会员分享,可在线阅读,更多相关《计算机二级c语言真题.pdf(110页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、全国计算机等级考试二级笔试试卷C 语言程序设计一、选择题(1)(1 0)、(21)(4 0)每题 2 分,(1 1)(20)每题1 分,共 7 0 分)(1)下列数据结构中,属于非线性结构的是A)循环队列B)带链队列C)二叉树D)带链栈(2)下列数据结果中,能够按照“先进后出”原则存取数据的是A)循环队列B)栈0队列D)二叉树(3)对于循环队列,下列叙述中正确的是A)队头指针是固定不变的B)队头指针一定大于队尾指针C)队头指针一定小于队尾指针D)队头指针可以大于队尾指针,也可以小于队尾指针(4)算法的空间复杂度是指A)算法在执行过程中所需要的计算机存储空间B)算法所处理的数据量C)算法程序中的
2、语句或指令条数D)算法在执行过程中所需要的临时工作单元数(5)软件设计中划分模块的一个准则是A)低内聚低耦合B)高内聚低耦合0 低内聚高耦合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
3、)并(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)阅读以下程序4 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(%d%f
4、nw,c a s e,p r i n t F);)该程序编译时产生错误,其出错原因是A)定义语句出错,c a se是关键字,不能用作用户自定义标识符B)定义语句出错,p rin tF不能用作用户自定义标识符C)定义语句无错,sc a n f不能作为输入函数使用D)定义语句无错,p rin tf不能输出c a se的值(1 4)表达式:(in t)(doub l e)9/2)-(9)%2 的值是A)0B)3C)4D)5(1 5)若有定义语句:in t x=1 0;,则表达式x-=x+x的值为A)-2 0B)-1 0C)0D)1 0(1 6)有以下程序ttin c l udema in()in t
5、 a=l,b=0;p rin tf(%d,b=a+b);p rin tf(%d n ,a=2*b);)程序运行后的输出结果是A)0,0B)1,0C)3,2D)1,21 7)设有定义:in ta=l,b=2,c=3;,以下语句中执行效果与其它三个不同的是A)if(a b)c=a,a=b,b=c;B)if(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)有以下程序ftin c l udema in()in t c=0,k;for(k=l;kb?(b c?l:0):0;功能相同的是A)if(a b)&(b c)k=l;el
6、 se k=0;B)if(a b)|(b c)k=l;el se k=0;C)if(a=b)k=0;el se if(b b)k=l;el se if(b c)k=l;el se k=0;2 0)有以下程序#in c l udema in()c ha r s =0 1 2 xy ;in t i,n=O;for(i=0;s i!=O;i+)if(s i=,a,&s i 2);p rin tf(%d%d n”,k,n);)程序运行后的输出结果是A)0 2B)1 30 5 7D)1 2(2 2)有以下定义语句,编译时会出现编译错误的是A)c ha r a=a;B)c ha r a=n ;C)c ha
7、 r a=,a a ;D)c ha r a=x2 d;(2 3)有以下程序 in c l udema in O c ha r c l,c 2;c l=A +8 -4;c 2=A+8 -5;p rin tf(%c,%d n”,c l,c 2);)已知字母A 的ASC H 码为65,程序运行后的输出结果是A)E,68B)D,69C)E,DD)输出无定值(2 4)有以下程序 in c l udevoid fun(in t p)in t d=2;p=d+;p rin tf(%d,p);ma in()in t a=l;fun (a);p rin tf(%d n,a);程序运行后的输出结果是A)32B)1
8、 2C)2 1D)2 2(2 5)以下函数fin dma x拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能ttdefin e M IN -2 1 47483647in t fin dma x(in t x ,in t n)in t i,ma x;for(i=0;iN;1+)ma x=M IN;if(ma xreturn ma x;)造成错误的原因是A)定义语句in t i,ma x;中ma x未赋初值B)赋值语句ma x=M IN;中,不应给ma x赋 M IN 值C)语句 if(ma xD)赋值语句ma x=M IN;放错了位置(2 6)有以下程序ttin c l
9、 udema in()in t m=l,n=2,*p=&m,*q=&n,*r;r=p;p=q;q=r;p rin tf(%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 i4,则错误的赋值是A)p=aB)q i=a iC)p=a iD)p=&a 2 1(2 8)有以下程序4in c l ude4in c l udema in()c ha r str 2 0 =wOn e*W orl dw,On e*Drea m!”,*p=s
10、tr l ;p rin tf(%d,”,strl en(p);p rin tf(,p);)程序运行后的输出结果是A)9,On e*W orl dB)9,On e*Drea mC)1 0,On e*Drea mD)1 0,On e*W orl d(2 9)有以下程序#in c l udema in()in t a =2,3,5,4,i;for(i=0;i4;i+)switc h(i%2)c a se 0:switc h(a i%2)c a se 0:a i+;b rea k;c a se 1:a i 一;b rea k;c a se l:a i=0;)for(i=0;i4;i+)p rin tf
11、(%d,a i);p rin tf(n);A)3 3 4 4B)2 0 5 00 3 0 4 0D)0 3 0 4(30)有以下程序4in c l ude in c l udema in()c ha r a 1 0 =a b ed;p rin tf(%d,%d n”,strl en(a),sizeof(a);)程序运行后的输出结果是A)7,4B)4,1 0C)8,8D)1 0,1 0(31)下面是有关C 语言字符数组的描述,其中错误的是A)不可以用赋值语句给字符数组名赋字符串B)可以用输入语句把字符串整体输入给字符数组C)字符数组中的内容不一定是字符串D)字符数组只能存放字符串(32)下列函数
12、的功能是fun(c ha r*a,c ha r*b)whil e(*b=*a)!=0 )a+,b+;A)将 a 所指字符串赋给b 所指空间B)使指针b 指向a 所指字符串C)将 a 所指字符串和b 所指字符串进行比较D)检查a 和 b 所指字符串中是否有 0(33)设有以下函数void fun(in t n,c ha r*s).则下面对函数指针的定义和赋值均是正确的是A)void(*p f)();p f=fun;B)viod*p f();p f=fun;C)void*p f();*p f=fun;D)void(*p f)(in t,c ha r);p f=&fun;(34)有以下程序#in c
13、 l udein t f(in t n);ma in()in t a=3,s;s=f(a);s=s+f(a);p rin tf(l);输出结果是A)1 6B)8C)4D)2(4 0)下列关于C语言文件的叙述中正确的是A)文件由一系列数据依次排列组成,只能构成二进制文件B)文件由结构序列组成,可以构成二进制文件或文本文件C)文件由数据序列组成,可以构成二进制文件或文本文件D)文件由字符序列组成,其类型只能是文本文件二、填空题(每空2分,共3 0分)(1)某二叉树有5个度为2的结点以及3个度为1的结点,则该二叉树中共 有 11】个结点。(2)程序流程图中的菱形框表示的是1 2】o(3)软件开发过程
14、主要分为需求分析、设计、编码与测试四个阶段,其 中【3】阶段产生“软件需求规格说明书。(4)在数据库技术中,实体集之间的联系可以是一对一或一对多或多对多的,那 么“学生”和“可选课程”的 联 系 为【4】o(5)人员基本信息一般包括:身份证号,姓名,性别,年龄等。其中可以作为主关键字的是【5】o(6)若有定义语句:in t a=5;,则表达式:a+的 值 是【6】。(7)若有语句 dou ble x=1 7;in t y;,当执行 y=(in t)(x/5)%2;之后 y 的值为。(8)以下程序运行后的输出结果是 8】o#in clu demain()in t x=2 0;prin tf(a%
15、dw,0 X 2 0);prin tf(“dn”,O X&X(9)以下程序运行后的输出结果是 9】ottin clu demain ()in t a=l,b=7;do b=b/2;a+=b;while(b l);prin tf(%dn ,a);(1 0)有以下程序ttin clu demain ()in t f,fl,f2,i;fl=0;f2=l;prin tf(“d%dw,fl,f2);for(i=3;i=5;i+)f=fl+f2;prin tf(“%d”,f);fl=f2;f2=f;)prin tf(n );)程序运行后的输出结果是 1 0 o(1 1)有以下程序in clu dein t
16、 a=5;void fu n(in t b)in t a=1 0;a+=b;prin tf(%d ,a);main()in t c=2 0;fu n(c);a+=c;prin tf(%dn”,a);程序运行后的输出结果是1 1 1 O(1 2)设有定义:stru ct person in t ID;char n ame1 2;p;请将scan f(,1 2 );语句补充完整,使其能够为结构体变量p 的成员ID 正确读入数据。(1 3)有以下程序in clu demain()char a2 0=How are y ou?”,b2 0;scan f(%s ,b);prin tf(%s%sn”,a,
17、b);)程序运行时从键盘输入:How are y ou?回 车 则输出结果为1 3 o(1 4)有以下程序ttin clu dety pedef stru ct in t n u m;dou ble s RE C;void fu n l(RE C x )x.n u m=2 3;x.s=8 8.5;main()RE C a=1 6,9 0.0 ;fu n l(a);prin tf(%dn”,a.n u m);程序运行后的输出结果是1 4 o(1 5)有以下程序#in clu defu n(in t x)if(x/2 0)ru n(x/2);prin tf(%d”,x);main()fu n(6)
18、jprin tf(anw);程序运行后的输出结果是1 5 o2009年9月全国计算机等级考试二级C语言笔试参考答案一、选择题(1)C(2)B(3)D(4)A(5)B(6)A(7)C(8)B(9)C(1 0)D(1 1)D(1 2)C(1 3)A(1 4)B(1 5)B(1 6)D(1 7)C(1 8)A(1 9)A(2 0)B(2 1)D(2 2)C(2 3)A(2 4)C(2 5)D(2 6)B(2 7)A(2 8)C(2 9)C(3 0)B(3 1)D(3 2)A(3 3)A(3 4)c(3 5)A(3 6)B(3 7)A(3 8)D(3 9)c(4 0)C*答案仅供参考(1 0)0 1
19、1 2 3(9)5(8)1 0(7)1(6)5(5)身份证号(4)多对多(3)需求分析(2)逻辑条件(1)1 4二、填空题20。9 年3 月二级C 语言笔试真题及答案(1)(1 0)每小题2 分,(1 1)(5 0)每题1 分,共6 0 分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。(1)下列叙述中正确的是A)栈 是“先进先出”的线性表B)队列是“先进先出”的线性表C)循环队列是非线性结构D)有序性表既可以采用顺序存储结构,也可以采用链式存储结构(2)支持子程序调用的数据结构是A)栈 B)树 C)队 列 D)二叉树(3
20、)某二叉树有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 gD)软件测试应严格执行测试计划,排除测试的随意性(7)耦合性和内聚性是对模块独立性度量的两个标准。下列叙述
21、中正确的是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
22、 2)若函数中有定义语句:i n t k;,则A)系统将自动给k 赋初值0B)这时k中值无定义C)系统将自动给k 赋初值-1D)这时k中无任何值(1 3)以下选项中,能用作数据常量的是A)0 1 1 5 B)0 1 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;do u b 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
23、 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)若有定义语句:do u b 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)必须是逻辑表达式或关系表达式
24、D)可以是任意合法的表达式(18)有以下程序/i nc lud e mai n()i nt x;s c anf (%d ,&x);i f (x=3);e ls ei f (x!=10)pr i nt f (%d n,x);)程序运行时,输入的值在哪个范围才会有输出结果A)不等于10的整数B)大于3且不等于10的整数C)大于3或等于10的整数D)小于3的整数(19)有以下程序#i nc lud e M ai n()(i nt a=l,b=2,c=3,d=0;i f (a=1&b+=2)i f (b!=2|c!=3)pr i nt f (%d,%d,%d n”,a,b,c);e ls e pr i
25、 nt f (%d,%d,%d n”,a,b,c);e ls e pr i nt f (r t%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;k3;k+)j pr i nt f (*”);程序段的输出结果是A)*B)*C)*D)*(21)有以下程序#i nc lud e mai n()c h ar*s=(A B C);d o pr i nt f (“%d”,*s%10);s+;w h i le (*s);)注意,字母A的A S C
26、 H 码值为65。程序运行后的输出结果是A)5670B)656667C)567D)A B C(22)设变量已正确定义,以下不能统计出一行中输入字符个数(不包含回车符)的程序段是A)n=0;w h i le (c h=g e t c h ar ()!=n)n+;B)n=0;w h i le (g e t c h ar ()!=n,)n+;C)f o r (n=0;g e t c h ar ()!=n,;n+);D)n=0;f o r (c h=g e t c h ar ();c h!=,n,;n+);(23)有以下程序#i nc lud e mai n()i nt al,a2;c h ar c
27、l,c 2;s c anf (K%d%c%d%cw,&al,&c l,&a2,&c 2);pr i nt f (w%d,%c,%d,%cw,&1,c l,a2,c 2);)若想通过键盘输入,使 得 al的值为12,a2的是为34,c l的值为字符a,c 2的值为字符b,程序输出结果是:12,a,34,b,则正确的输入格式是(以下代表空格,代表回车)A)12a34b B)12a34b C)12,a,34,b D)12a34b(24)有以下程序#i nc lud e i nt f (i nt x,i nt y)r e t ur n()y-x)*x);mai n()i nt a=3,b=4,c=5,
28、d;d=f (f (a,b),f (a,c);pr i nt f (“%d n”,d);程序运行后的输出结果是A)10B)9C)8D)7(25)有以下程序#i nc lud e vo i d f un(c h ar*s)w h i le (*s)i f (*s%2=0)pr i nt f (%c ,*s);s+;)mai n()c h ara=g o o d”);f un(a);pr i nt f (n);)注意:字母a 的A S C I I 码值为97,程序运行后的输出结果是A)dB)g oC)g o dD)g o o d(26)有以下程序t t i nc lud e vo i d f un
29、(i nt *a,i nt *b)i nt *c;c=a;a=b;b=c;)mai n()i nt x=3,y-5,*P=&x,*q=&y;f un(p,q);pr i nt f (%d,%d,”,*p,*q);f un(&x,&y);pr i nt f (%d,%d n”,*p,*q);)程序运行后的输出结果是A)3,5,5,3B)3,5,3,5C)5,3,3,5D)5,3,5,3(27)有以下程序t t i nc lud e vi o d f (i nt *p,i nt *q);mai n()i nt m=l,n=2,*r=&m;f (r,&n)j pr i nt f (%d,%d”,m,
30、n);)vo i d f (i nt *p,i nt *q)p=p+l:*q=*q+l;程序运行后输出的结果是A)1,3B)2,3C)1,4D)1,2(2 8)以下函数按每行8个输出数组中的数据vo i d f un(i nt *w,i nt n)i nt i;f o r (i=0;i n;i+)pr i nt f (%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
31、数组元素的正确应用是A)*&x10 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)df
32、hkC)abedD)abedefghijk(32)以下选项中正确的语句组是A)char s口;s=”BOOK!”;B)char*s;s=”BOOK!”;C)char s10;s=w B0 0 K!,;D)char*s;s=BOOK!”;(33)有以下程序include int funint x,int y i f (x=y)r e t ur n(x);e ls e r e t ur e n(x+y)/2)mai n()i nt a=4,b=5,c=6;pr i nt f (%d n”,f un(2*a,f un(b,c)程序运行后的输出结果是A)3B)6C)8D)12(34)设函数中有整型变量
33、n,为保证其在未赋值的情况下初值为0,应选择的存储类别是A)aut oB)r e g i s t e rC)s t at i cD)aut o 或 r e g i s t e r(35)有以下程序i nc lud e i nt b=2;i nt f un(i nt *k)b=*k+b;r e t ur n(b);)mai n()i nt a10=l,2,3,4,5,6,7,8,I;f o r (i=2;i 4;i+)b=f un(&a)+b;pr i nt f (%d ,b);pr i nt f (n);)程序运行后输出的结果是A)1012B)810C)1028D)1016(36)有以下程序i
34、 nc lud e d e f i ne P T 3.5;t t d e f i ne S (x)P T*x*x;mi an()i nt a=l,b=2;pr i nt f (%4.lf n”,S (a+b);程序运行后输出的结果是A)14.0B)31.5C)7.5D)程序有错无输出结果(37)有以下程序i nc lud e s t r uc t o r d i nt x,y;d t 2=l,2,3,4);mai n()s t r uc t o r d *p=d t;pr i nt f (“d,,+p-x);pr i nt f (“%d n”,+p-y);)程序的运行结果是A)1,2B)2,3
35、C)3,4D)4,1(38)设有宏定义:t t i nc lud eI s D I V (k,n)(k%n=l)?1: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整除是否余1D)判断m 被5和7整除是否余1(39)有以下程序t t i nc lud e mai n()i nt a=5,b=l,t;t=(a 2|b);pr i nt f (%d n,t)程序运行后的输出结果是A)21B)11C)6D)1(40)有以下程序t t i nc l
36、ud e mai n()E I L E *f;f=f o pe n(f i le a.t x t ,w);f pr i nt f (f,ab c);f c lo s e (f);)若文本文件f i 1 e a.t x t 中原有内容为:h e 1 lo,则运行以上程序后,文件f i 1 e a.t x t中的内容为A)h e llo ab cB)ab c loC)ab cD)ab c h e llo二、填空题(每空2分,共30分)请将每一个空的正确答案写在答题卡【1】至【15】序号的横线上,答在试卷上不得分。(1)假设一个长度为50的数组(数组元素的下标从0到49)作为栈的存储空间,栈底指针b
37、 o t t o m指向栈底元素,栈顶指针t o p指向栈顶元素,如果b o t t o m=49,t o p=30(数组下标),则栈中具有【1】个元素。(2)软件测试可分为白盒测试和黑盒测试。基本路径测试属于【2】测试。(3)符合结构化原则的三种基本控制结构是:选择结构、循环结构和0(4)数据库系统的核心是1 4】(5)在 E-R图中,图形包括矩形框、菱形框、椭圆框。其中表示实体联系的是【5】框。(6)表达式(i nt)(d ou b l e)(5/2)+2.5)的值是 6(7)若变量x、y已定义为i nt 类型且x的值为9 9,y的值为9,请将输出语句pr i nt f(7 ,x/y);补
38、充完整,使其输出的计算结果形式为:x/y=l l(8)有以下程序t t i nc l u d e m a i n()c h a r c l,c 2;s c a nf(&c ,&c l);w h i l e(c l 9 0)s c a nf(&c ,&c l);c 2=c l+32;pr i nt f(&c,&c n,c l,c 2);)程序运行输入6 5 回车后,能否输出结果、结束运行(请回答能或不能)【8】(9)以下程序运行后的输出结果是19】i nc l u d e m a i n()i nt k=l,s=0;d o(i f (k&2)!=0)c ont i nu e;s+=k;k+;w
39、h i l e (k)1 0);pr i nt f(“s=&d/n”,s);)(1 0)下列程序运行时,若输入l a b c e d l 2d f 回车 输出结果为 1 0)i nc l u d e m a i n()c h a ra =0,c h;w h i l e(c h=ge t c h a r()!=,n,)i f(a&2!=0&(c h,a,&c h=,z,)c h=c h-+A ;a+;pu t c h a r(c h);)pr i nt f(n”);(1 1)有以下程序,程序执行后,输出结果是【口】i nc l u d e v oi d fu n(i nt *a)a 0=a l;
40、m a i n()i nt a 1 0=1 0,9,8,7,6,5,4,3,2,l ,i;for (i=2;i =0;i-)fu n&a ;for(i=0;i 1 0;i+)pr i nt f(&d”,a);pr i nt f(n”);)(1 2)请将以下程序中的函数声明语句补充完整i nc l u d e i nt L1 2m a i n()i nt x,y,(*p)();p=m a x;pr i nt f(&d n”,&x,&y);)Int m a x(i nt a,i nt b)r e t u r n(a b/a:b);(1 3)以下程序用来判断指定文件是否能正常打开,请填空i nc l
41、 u d e m a i n()FILE *fp;i f(fp二 fope n(t e s t,t x t ,r )=1 3)pr i nt f(“未能打开文件!n”);e l s epr i nt f(文件打开成功!n );(1 4)下列程序的运行结果为 1 4i nc l u d e t t i nc l u d e s t r u c t Ai nt a;c h a r b 1 0;d ou b l ec;v oi df(s t r u c tA*t);m a i nOs t r u c t A a=(1 001,w Z h a ngD aw,1 09 8,0);f(&a);pr i n
42、t f(&d,&s,&6,i f n”,a.a,a.b,a.c);)v oi d f(s t r u c tA*t)s t r c py (t-b,9 9 C h a ngRong”);)(1 5)以下程序把三个NOD E TYPE 型的变量链接成一个简单的链表,并在w h i l e 循环中输出链表结点数据域中的数据,请填空i nc l u d e s t r u c t nod ei nt d a t a;s t r u c t nod e *ne x t;t y pe d e f s t r u c t nod e NOD E TYPE;m a i n()NOD E TYPE a,b,c
43、,*h,*p;a.d a t a=1 0;b.d a t a=20;c.d a t a=30;h=&a;b.next=&b;b.next=&c;c.next=,0,;P=h;while(p)printf(&d,p-data);15;)答案:选择题:P 1 0:DAC DC ABABC 1P20:C BDDAC DBC B 2 P 3 0:C DABABAC BC 3 C 4 0:ADBC C C BDAC填空题:(1)19(2)白盒(3)顺序结构(4)数据库管理系统(DBMS)(5)菱形(6)4(7)x/y=%d(8)能(9)s=O(10)!AbC eDf2dF(11)7777654321(1
44、2)max(int a,int b)(13)N ULL(14)10 0 1,C hangR ong,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)12345ABC DE B)EDC BA5432
45、1 C)ABC DE12345 D)54321EDC BA(2)下列叙述中正确的是()oA)循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B)在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C)在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D)循环队列中元素的个数是由队头指针和队尾指针共同决定(3)在长度为A的有序线性表中进行二分查找,最坏情况下需要比较的次数是()oA)0(A)B)0(A2)C)0(log2z?)D)0(z?log2z?)(4)下列叙述中正确的是()oA)顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的B)顺序存储结构只
46、针对线性结构,链式存储结构只针对非线性结构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)在数据管理技术发展的三个阶段中,数据共享最好
47、的是()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语言合法
48、常量的是()oA)cd B)0.l e+6 C)“a D)(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
49、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=50;c=30;if(ab)a=b,b=c;c=a;pr
50、intf(a=%d b=%d c=%dnw,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 D若有定义语句:int m=5,4,3,2,l,i=4;,则下面对m数组元素的引用中错误的是()oA)mi B)m2*2 C)mm0 D)(22)下面的函数调用语句中fun c函数的实参个数是(func(f2(vl,v2),(v3,v4,v5),(v6,max(v7,v8);A)3 B)4 C)5 D)8(23)若有定义语句:double x5=l.0,2.0,3.0,4.0,5