2013年 9 月份全国计算机等级考试二级C语 言(笔试+上机)题库2 0 1 3 年 3月份全国计算机等级考试二级C语言笔试+上机题库(全)选择题在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的。(1)为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为A)P A D 图 B)N-S 图 C)结 构 图 D)数据流图D)程 序 易 读 性(2)结构化程序设计主要强调的是A)程序的规模B)程序的效率C)程序设计语言的先进性(3)为了使模块尽可能独立,要求A)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱C)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱D)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强(4)需求分析阶段的任务是确定A)软件开发方法B)软件开发工具C)软件开发费用D)软件系统功能(5)算法的有穷性是指A)算法程序的运行时间是有限的C)算法程序的长度是有限的D)算法只能被有限的用户使用(6)对长度为n的线性表排序,在最坏情况下,比较次数不是n(nT)/2 的排序方法是A)快 速 排 序 B)冒泡排序C)直接插入排序(7)如果进栈序列为e l,e 2,e 3,e 4,则可能的出栈序列是A)e 3,e l,e 4,e 2C)e 3,e 4,e l,e 2 B)e 2,e 4,e 3,e l D)任 意 顺 序 D)堆 排 序 B)算法程序所处理的数据量是有限的(8)将 E-R 图转换到关系模式时,实体与联系都可以表示成A)属 性 B)关 系 C)键 D)域(9)有三个关系R、S 和 T 如下:RB CDa 0 k l b 1 n lSB CDf 3 h 2a 0 k ln 2 x lTBa由关系R和 S 通过运算得到关系T,则所使用的运算为A)并 B)自然连接C)笛 卡 尔 积 D)交(1 0)下列有关数据库的描述,正确的是A)数据处理是将信息转化为数据的过程B)数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变C)关系中的每一列称为元组,一个元组就是一个字段D)如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的关键字,则称其为本关系的外关键字(1 1)以下叙述中正确的是A)用 C程序实现的算法必须要有输入和输出操作B)用 C程序实现的算法可以没有输出但必须要有输入C)用 C程序实现的算法可以没有输入但必须要有输出D)用 C程序实现的算法可以既没有输入也没有输出(12)下列可用于C语言用户标识符的一组是A)vo i d,d e f i n e,W ORDD O,si ze o f(13)以下选项中可作为C语言合法常量的是A)-80 B)-080 C)-8e l.0 D)-80.0e(14)若有语句:c h a r*l i n e 5;,以下叙述中正确的是A)定 义 l i n e 是一个数组,每个数组元素是一个基类型为c h a r为指针变量B)定 义 l i n e 是一个指针变量,该变量可以指向一个长度为5 的字符型数组C)定 义 l i n e 是一个指针数组,语句中的*号称为间址运算符D)定 义 l i n e 是一个指向字符型函数的指针(15)以下定义语句中正确的是A)i n t a=b=0;B)c h a r A=65+l,b=/b ;C)f l o a t a=l,*b=&a,*c=&b;B)a 3 3,123,C a rC)Fo r,-a b c,IF C a se D)2a,CO D k l D)d o ub l e a=0 0;b=l.1;(16)有以下程序段c h a r c h;i n t k;c h=a;k=12;pri n tf (/z%c,%d,z/,c h,c h,k);pri n tf(k=%d n”,k);已知字符a的A SC II码值为97,则执行上述程序段后输出结果是A)因变量类型与格式描述符的类型不匹配输出无定值B)输出项与格式描述符个数不符,输出为零值或不定值C)a,97,12k=12D)a,97,k=12(1 7)有以下程序m a i n ()i n t i,s=l;f o r(i=l;i=2&c=2&c=2&c=6)&(c%2!=l)(1 9)若变量已正确定义,有以下程序段i n t a=3,b=5,c=7;i f(a b)a=b;c=a;i f(c!=a)c=b;pri n tf (d,%d,%d n,a,b,c);其输出结果是A)程序段有语法错B)3,5,3 C)3,5,5(2 0)有以下程序 i n c l ud e m a i n()i n t x=l,y=0,a=0,b=0;D)3,5,7 D)91swi tc h(x)c a se 1:swi tc h(y)c a se 0:a+;b re a k;c a se 1:b+;b re a k;)c a se 2:a+;b+;b re a k;c a se 3:a+;b+;)pri n tf (a=%d,b=%d n,z,a,b);)程序的运行结果是A)a=l,b=0 B)a=2,b=2 C)a=l,b=l(2 1)下列程序的输出结果是tti n c l ud e std i o.h m a i n ()i n t i,a=0,b=0;f o r(i=l;i 10;i+)i f(i%2=0)a+;c o n ti n ue;b+;pri n tf(a=%d,b=%d”,a,b);)A)a=4,b=4 B)a=4,b=5 C)a=5,b=4 D)a=5,b=5(2 2)已知#i n t t=0;wh i l e (t=l).则以下叙述正确的是A)循环控制表达式的值为0B)循环控制表达式的值为1C)循环控制表达式不合法D)以上说法都不对(2 3)下面程序的输出结果是m a i n ()D)a=2,b=l i n t a 10 =l,2,3,4,5,6,7,8,9,10),*p=a;pri n tf(%d n ,*(p+2);A)3 B)4 0 1 D)2(2 4)以下错误的定义语句是A)i n t x 3=0,1,1,2,3;B)i n tx =1,2,3,1,2,3,1,2,3,12,3;O i n t x 4 =!,2,3,1,2,3,1,2,3,1,2,3);(2 5)有以下程序vo i d ss(c h a r*s,c h a r t)wh i l e(*s)i f(*s=t)*s=t-/a A ;s+;)m a i n O c h a r strl 100=,/a b c d d f e f d b dz,,c=,d ;ss(strl,c);pri n tf (版 n,strl);程序运行后的输出结果是A)A B C D D EFED B D(2 6)有如下程序m a i n ()c h a r c h 2 5 =6937,8254,*p 2;i n t i,j,s=0;f o r(i=0;i 2;i+)p i =c h i ;f o r(i=0;i/(T;j+=2)s=10*s+p i j -O;pri n tf (%d n ,s);)D)i n t x 3 =1,2,3,4;该程序的输出结果是A)69825 B)63825 06385 D)693825(27)有定义语句:c h a r s 1 0 若要从终端给s输 入5个字符,错误的输入语句是A)g e ts(&.s 0);B)sc a n f s+1);C)g e ts(s);D)sc a n f s 1);(2 8)以下叙述中错误的是A)在程序中凡是以#开始的语句行都是预处理命令行B)预处理命令行的最后不能以分号表示结束Ottd e f i n e M A X是合法的宏定义命令行D)C程序对预处理命令行的处理是在程序执行的过程中进行的(2 9)设有以下说明语句 B)a b c D D f e f D b D C)a b c A A f e f A b A D)A b c d d f e f d b d type d e fstruc t i n t n;c h a r c h 8;PER;则下面叙述中正确的是A)P E R是结构体变量名B)PER是结构体类型名Otype d e f struc t是结构体类型D)struc t是结构体类型名(3 0)以下叙述中错误的是A)g e ts函数用于从终端读入字符串B)g e tc h a r函数用于从磁盘文件读入字符O f p u t s函数用于把字符串输出到文件D)f wri te函数用于以二进制形式输出数据到文件(3 1)以下能正确定义一-维数组的选项是A)i n t a 5=0,1,2,3,4,5;B)c h a ra =O ,1 ,2 ,3 ,4 ,5 ,0 ;Oc h a r a=A ,B ,C ;D)i n t a 5=0123”;(3 2)有以下程序#i n c l ud e m a i n O c h a r p=a ,b ,c ,q 10=a ,b ,c ;pri n tf(d%d n”,strl e n(p),strl e n(q);以下叙述中正确的是A)在给p 和 q 数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3B)由于p 数组中没有字符串结束符,长度不能确定,但 q 数组中字符串长度为30由于q 数组中没有字符串结束符,长度不能确定,但 p 数组中字符串长度为3D)由于p 和 q 数组中都没有字符串结束符,故长度都不能确定(33)有以下程序#i n c l ud e#i n c l ud e vo i d f un (c h a r*s ,i n t n)c h a r*t;i n t i,j;f o r(i=0;i n-l;i+)f o r(j=i+l;j strl e n(s j )t=s i ;s i :s j ;s j =t;c h a r*ssL J-t b cc,b b cc,x y ,a a a a cc,a a b cc);fu n(s s,5);p r i n t f(z,%s,%s n ,s s 0,s s 4);)程序的运行结果是A)x y,a a a a cc B)a a a a cc,x y C)b cc,a a b cc D)a a b cc,b cc(34)有以下程序#i n cl u d e i n t f(i n t x)i n t y;i f(x=0|x=l)r e t u r n(3);y=x *x-f(x-2);r e t u r n y;)m a i n()i n t z;z=f(3);p r i n t f(%d n,z);程序的运行结果是A)O B)9 0 6 D)8(35)下面程序段的运行结果是ch a r s t r 口 二 ABC,*p=s t r;p r i n t f(d n ,*(p+3);A)67 B)0 C)字符,Cr的 地 址 D)字 符 Cz(36)若有以下定义:s t r u ct l i n k i n t d a t a;s t r u ct l i n k *n e x t;a,b,c,*p,*q;且变量a和 b 之间已有如下图所示的链表结构:指 针 P指向变量a,q指向变量c。则能够把c 插入到a和 b之间并形成新的链表的语句组是:A)a.n e x t=c;c.n e x t=b;B)p.n e x t=q;q.n e x t=p.n e x t;C)p-n e x t=&c;q-n e x t=p-n cx t;D)(*p).n e x t=q;(*q).n e x t 二&b;(37)对于下述程序,在方式串分别采用wt 和 wb 运行时,两次生成的文件TE ST的长度分别是#i n cl u d e v o i d m a i n O F IL E *fp=fo p e n(TE ST,);fp u t c(