
国家计算机二级C历年真题.pdf
174页2 0 0 9年 9 月全国计算机等级考试二级笔试试卷C语言程序设计(考试时间90 分钟,满分1 0 0 分)一、选择题(1)(1 0)、(2 1)(4 0)每题 2 分,(1 1)(2 0)每题 1 分,共 7 0 分)(1)下列数据结构中,属于非线性结构的是A)循环队列B)带链队列0 二又树D)带链栈(2)下列数据结果中,能够按照“先进后出”原则存取数据的是A)循环队列B)栈0队列D)二叉树(3)对于循环队列,下列叙述中正确的是A)队头指针是固定不变的B)队头指针一定大于队尾指针C)队头指针完小于队尾指针D)队头指针可以大于队尾指针,也可以小于队尾指针(4)算法的空间复杂度是指A)算法在执行过程中所需要的计算机存储空间B)算法所处理的数据量C)算法程序中的语句或指令条数D)算法在执行过程中所需要的临时工作单元数(5)软件设计中划分模块的一个准则是A)低内聚低耦合B)高内聚低耦合O 低内聚高耦合D)高内聚高耦合(6)卜.列选项中不属于结构化程序设计原则的是A)可封装D)自顶向下0 模块化D)逐步求精(7)软件详细设计产生的图如下:YNX=0该图是A)N-S 图B)PAD 图0程序流程图D)E-R 图(8)数据库管理系统是A)操作系统的一部分B)在操作系统支持下的系统软件0 一种编译系统D)种操作系统(9)在E-R图中,用来表示实体联系的图形是A)椭圆图B)矩形0菱形D)三角形A)选择B)投影0交D)并(11)以下叙述中正确的是A)程序设计的任务就是编写程序代码并上机调试B)程序设计的任务就是确定所用数据结构O程序设计的任务就是确定所用算法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 (u%d%f nw,c a s e,p r i n t F);)该程序编译时产生错误,其出错原因是A)定义语句出错,c a s e是关键字,不能用作用户自定义标识符B)定义语句出错,pr intF不能用作用户自定义标识符C)定义语句无错,s c a nf不能作为输入函数使用D)定义语句无错,pr intf不能输出c a s e的值(1 4)表达式:(int)(d o ub le)9/2)-(9)%2 的值是A)0B)3C)4D)5(1 5)若有定义语句:int x=1 0;,则表达式x-=x+x的值为A)-2 0B)-1 0C)0D)1 0(1 6)有以卜.程序-inc lud ema in()int a=l,b=0;pr intf(%d,,b=a+b);pr intf (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)i f(a b)c=a;a=b;b=c;(1 8)有以下程序#inc lud ema in()int c=0,k;f o r (k=l;k3;k+)s w i tc h(k)d e f a ult:c+=kc a s e 2:c+;b r e a k;c a s e 4:c+=2;b r e a k;)pr intf (b?(b c?l:0):0;功能相同的是A)if(a b)&(b c)k=l;e ls e k=0;B)if(a b)|I(b c)k=l;e ls e k=0;C)if(a=b)k=0;e ls e if(b b)k=l;e ls e if(b c)k=1;e ls e k=0;2 0)有以下程序#inc lud ema in()c ha r s 口 二 “0 1 2 x y;int i,n=0;f o r(i=0;s i 1=0;i+)if(s i=a&s i 2);pr intf(%d%d n”,k,n);)程序运行后的输出结果是A)0 2B)1 30 5 7D)1 2(2 2)有以下定义语句,编译时会出现编译错误的是A)c ha r a=t a;B)c ha r a=n ;C)c ha r a=a a ;D)c ha r a=,x 2 d ;(2 3)有以下程序#inc lud ema in()c ha r c l,c 2;c l=A +8 -,4 ;c 2=A +8 -5;pr intf (%c,%d nw,c l,c 2);已知字母A 的ASC II码为65,程序运行后的输出结果是A)E,68B)D,69C)E,DD)输出无定值(2 4)有以下程序#inc lud evo id f un(int p)int d=2;p=d+;pr intf(“d,p);ma in()int a=l;f un(a);pr intf (%d n,a);程序运行后的输出结果是A)3 2B)1 2C)2 1D)2 2(2 5)以下函数f ind ma x 拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能#d e f ine MIN -2 1 47483 647int f ind ma x (int x ,int n)int i,ma x;f o r(i=0;iN;I+)ma x=MIN;if(ma xr e tur n ma x;)造成错误的原因是A)定义语句int i,ma x;中ma x 未赋初值B)赋值语句ma x=MIN;中,不应给ma x 赋MIN 值C)语句 if (ma xD)赋值语句ma x=MIN;放错了位置(2 6)有以下程序#inc lud ema inO int n=2,*p=&m,*q=&n,*r;r=p;p=q;q=r;pr intf (%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)若有定义语句:int a 4 1 0 ,*p,*q 4;且 0 W i4,则错误的赋值是A)p=aB)q i=a iC)p=a iD)p=&a 2 l(2 8)有以下程序4inc lud e#inc lud ema inO c ha r s tr 2 0 =O ne*W o r ldp,aO ne*D r e a m!w,*p=s tr l;pr intf(%d,,s tr le n(p);pr intf(a%s nw,p);)程序运行后的输出结果是A)9,O ne*W o r ldB)9,O ne*D r e a mC)1 0,O ne*D r e a mD)1 0,O ne W o r ld(2 9)有以下程序#inc lud ema in()int a =2,3,5,4),i;f o r(i=0;i4;i+)s w itc h(i%2)c a s e 0:s w itc h(a i%2)c a s e O:a i+;b r e a k;c a s e 1:a i 一;b r e a k;c a s e 1:a i=0;)f o r(i=0;i4;i+)pr intf(w%dw,a i);pr intf (“n”);)A)3 3 4 4B)2 0 5 0C)3 0 4 0D)0 3 0 4(3 0)有以下程序#inc lud e#inc lud ema in()c ha r a 1 0 =a b e d”;pr intf(w%d,%d nM,s tr le n(a),s ize o f (a);)程序运行后的输出结果是A)7,4B)4,1 0C)8,8D)1 0,1 0(3 1)下面是有关C 语言字符数组的描述,其中错误的是A)不可以用赋值语句给字符数组名赋字符串B)可以用输入语句把字符串整体输入给字符数组C)字符数组中的内容不一定是字符串【)字符数组只能存放字符串(3 2)下列函数的功能是f un(c ha r *a,c ha r *b)w hile(*b=*a)!=,0 )a+,b+;A)将 a 所指字符串赋给b 所指空间B)使指针b 指向a 所指字符串C)将 a 所指字符串和b 所指字符串进行比较D)检查a 和 b 所指字符串中是否有0,(3 3)设有以卜函数vo id f un(int n,c ha r *s)(.则卜面对函数指针的定义和赋值均是正确的是A)vo id (*pf)0;pf=f un;B)vio d *pf ();pf=f un;C)vo id *pf 0;*pf=f un;D)vo id (*pf)(int,c ha r);pf=&f un;(3 4)有以下程序4inc lud eint f(int n);ma in()int a=3,s;s=f (a);s=s+f (a)jpr intf (a%dnft,s);)int f(int n)s ta tic int a=l;n+=a+;r e tur n n;)程序运行以后的输出结果是A)7B)8C)9D)1 0(3 5)有以下程序#inc lud e#d e f ine f(x)x*x*xma in()int a=3,s,t;s=f(a+1);t=f(a+1);pr intf(4%d,%d n,s,t);)程序运行后的输出结果是A)1 0,64B)1 0,1 0C)64,1 0D)64,64(3 6)下面结构体的定义语句中,错误的是A)s tr uc t o r d int x;int y;int z;s tr uc t o r d a;B)s tr uc t o r d (int x;int y;int z;s tr uc t o r d a;C)s tr uc t o r d int x;int y;int z;a;D)s tr uc t int x;int y;int z;)a;(3 7)设有定义:c ha r *c;,以下选项中能够使字符型指针c正确指向一个字符串的是A)c ha r s tr =s tr ing”;c=s tr;B)s c a nf (,c);C)c=g e tc ha r 0;D)*c=s tr ing”;(3 8)有以下程序#inc lud e#inc lud es tr uc t A int a;c ha r b 1 0 ;d o ub le c;s tr uc t A f (s tr uc t A t);ma in()s tr uc t A a=1 0 0 1,”Z ha ng D a”,1 0 98.0;a=f (a);jpr intf (w%d,%s,%6.lf nw,a.a,a.b,a.c);)s tr uc t A f(s tr uc t A t)(t.a=1 0 0 2;s tr c py(t.b,v C ha ng Ro ng );t.c=1 2 0 2.0;r e tur n t;)程序运行后的输出结果是A)1 0 0 1,Z ha ng D a,1 0 98.0B)1 0 0 1,Z ha ng D a,1 2 0 2.0C)1 0 0 1,C ha ng Ro ng,1 0 98.0D)1 0 0 1,C ha ng Ro ng,1 2 0 2.0(3 9)若有以下程序段int r=8;pr intf(%d nw,r l);输出结果是A)1 6B)8C)4D)2(40)下列关于C语言文件的叙述中正确的是A)文件由一系列数据依次排列组成,只能构成二进制文件B)文件由结构序列组成,可以构成二进制文件或文本文件C)文件由数据序列组成,可以构成二进制文件或文本文件D)文件由字符序列组成,其类型只能是文本文件二、填空题(每空2 分,共 3 0 分)(1)某二叉树有5 个度为2 的结点以及3个度为1 的结点,则该二叉树中共有 1 个结点。
2)程序流程图中的菱形框表示的是【2】3)软件开发过程主。
