




已阅读5页,还剩58页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2006年4月全国计算机等级考试二级C语言笔试试题(含参考答案)一选择题(1)-(10)每题2分,(11)-(50)每题1分,共60分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。1)下列选项中不属于结构化程序设计方法的是A) 自顶向下 B)逐步求精C)模块化D)可复用2)两个或两个以上模块之间关联的紧密程度称为A)耦合度B)内聚度C)复杂度D)数据传输特性3)下列叙述中正确的是A)软件测试应该由程序开发者来完成B)程序经调试后一般不需要再测试C)软件维护只包括对程序代码的维护D)以上三种说法都不对4)按照“后进先出”原则组织数据的数据结构是A)队列B)栈C)双向链表D)二叉树5)下列叙述中正确的是A)线性链表是线性表的链式存储结构B)栈与队列是非线性结构C)双向链表是非线性结构D)只有根结点的二叉树是线性结构6)对如下二叉树 进行后序遍历的结果为A) ABCDEF B) DBEAFC C) ABDECF D) DEBFCA 7)在深度为7的满二叉树中,叶子结点的个数为A)32 B)31 C)64 D)63 8)“商品”与“顾客”两个实体集之间的联系一般是A)一对一B)一对多C)多对一D)多对多9)在E-R图中,用来表示实体的图形是A)矩形B)椭圆形C)菱形D)三角形10)数据库DB,数据库系统DBS,数据库管理系统DBMS之间的关系是A)DB包含DBS和DBMS B)DBMS包含DB和DBS C)DBS包含DB和DBMS D)没有任何关系11)以下不合法的用户标识符是A)j2_KEY B)Double C) 4d D) _8_ 12)以下不合法的数值常量是A)011 B)lel C) 8.0 E0.5 D) 0xabcd 13)以下不合法的字符常量是A)018B)” C) D) xcc 14)表达式3.6-5/2+1.2+5%2的值是A)4.3 B) 4.8 C) 3.3 D) 3.8 15)以下能正确定义字符串的语句是A)char str=064; B) char str=”x43”; C) char str=”; D) char str=”0”; 16)以下数组定义中错误的是A) int x3=0; B) int x23=1,2,3,4,5,6; C) nt x3=1,2,3,4,5,6; D)int x23=1,2,3,4,5,6; 17)若要求从键盘读入含有空格字符的字符串,应使用函数A)getc() B) gets() C) getchar() D) scanf() 18) 下四个程序中,完全正确的是A)#includeB)#include main(); main() /*programming*/ /*/programming/*/ printf(“programming!n”);printf(“programming!n”); C) #includeD) include main() main() /*/*programming*/*/ /*programming*/ printf(“programming!n”);printf(“programming!n”); 19)若有定义:float x=1.5; int a=1,b=3,c=2;则正确的switch语句是 A)switch(x)B) switch(int)x); case 1.0: printf(“*n”);case 1: printf(“*n”); Case 2.0: printf(“*n”);case 2: printf(“*n”); C) switch(a+b) D) switch(a+b) case 1: printf(“*n”); case 1: printf(*n”); case 2+1: printf(“*n”); case c: printf(“*n”); 20)若各选项中所用变量已正确定义,函数fun中通过return语句返回一个函数值,以下选项中错误的程序是A)main()B) float fun(int a,int b) x=fun(2,10); main() float fun(int a,int b)x=fun(i,j); C)float fun(int,int);D) main() main() float fun(int i,int j); x=fun(2,10); x=fun(i,j); float fun(int a,int b) float fun(int a,int b) 21)在以下给出的表达式中,与while(E)中的(E)不等价的表达式是A)(!E=0) B) (E0|Enext=r-next; p-next=r; r-next=q; B) p-next=r; q-next=r-next; r-.next=q; C) q-next=r-next; r-next=q; p-next=r;D) r-next=q; p-next=r; q-next=r-next; 26)有以下程序段struct st int x; int *y;*pt: int a=1,2,b=3,4; struct st c2=10,a,20,b;pt=c; 以下选项中表达式的值为11的是A) *pt-y B) pt-x C) +pt-x D) (pt+)-x 27)设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为A)EOF B)非0值C) 0 D)NULL 28)设有以下语句int a=1,b=2,c; c=a(b2); 执行后,c的值为A) 6 B) 7 C) 8 D) 9 29)有以下程序#include main() char c1,c2,c3,c4,c5,c6; scanf(“%c%c%c%c”,&c1,&c2,&c3,&c4); c5=getchar(); c6=getchar(); putchar(c1); putchar(c2); printf(“%c%cn”,c5,c6); 程序运行后,若从键盘输入(从第1列开始)123 45678 则输出结果是A)1267 B)1256 C)1278 D)1245 30)若有以下程序main() int y=10; while(y- -); printf(“y=%dn”y); 程序运行后的输出结果是A)y=0 B)y=-1 C)y=1 D)while构成无限循环31)有以下程序main() int a=0,b=0,c=0,d=0; if(a=1) b=1;c=2; else d=3; printf(“%d,%d,%d,%dn”,a,b,c,d); 程序输出A)0,1,2,0 B) 0,0,0,3 C)1,1,2,0 D)编译有错32)有以下程序main() int i,j,x=0; for(i=0;i2;i+) V x+; for(j=0;j=3;j+) if(j%2) continue; x+; x+; printf(“x=%dn”,x); 程序执行后的输出结果是A)x=4 B) x=8 C) x=6 D) x=12 33)有以下程序int fun1(double a)return a*=a; int fun2(double x,double y) double a=0,b=0; a=fun1(x); b=fun1(y); return (int)(a+b); main() double w; w=fun2(1.1,2.0); 程序执行后变量w中的值是A)5.21 B) 5 C) 5.0 D) 0.0 34)有以下程序main() int i,t3=9,8,7,6,5,4,3,2,1; for(i=0;i3;i+) printf(“%d”,t2-ii); 程序的执行后的输出结果是A)7 5 3 B) 3 5 7 C)3 6 9 D)7 5 1 35)有以下程序fun(char p10) int n=0,i; for(i=0;i7;i+) if(pi0=T) n+; return n; main() char str10=“Mon”, “Tue”, “Wed”, “Thu”,”Fri”,”Sat”,”Sun”;printf(“%dn”,fun(str);程序执行后的输出结果是A)1 NB) 2C)3 D) 0 36)有以下程序main()int i,s=0,t=1,2,3,4,5,6,7,8,9;for(i=0;i9;i+=2) s+=*(t+i);printf(“%dn”,s);程序执行后的输出结果是A)45 B)20 C)25 D)36 37)有以下程序void fun1(char *p)char *q;q=p;while(*q!=0) (*q)+; q+; main() char a=“Program”,*p;p=&a3; fun1(p); printf(“%sn”,a);程序执行后的输出结果是A)P rohsbn B)PrphsbnC)Progsbn D)Program、38)有以下程序void swap(char *x,char *y)char t;t=*x; *x=*y; *y=t;main()char *s1=”abc”,*s2=”123”;swap(s1,s2); printf(“%s,%sn”,s1,s2);程序执行后的输出结果是A)123,abcB) abc,123 C) 1bc,a23 D) 321,cba 39)有以下程序int fun(int n)if(n=1) return 1;elsereturn (n+fun(n-1);main() int x;scanf(“%d”,&x); x=fun(x); printf(“%dn”,x);程序执行时,给变量x输入10,程序的输出结果是A)55 B) 54 C) 65 D) 4540)有以下程序int fun(int x,int n)static int sum=0,i;for(i=0;i sum+=xi;return sum;main()int a=1,2,3,4,5,b=6,7,8,9,s=0;s=fun(a,5)+fun(b,4); printf(“%dn”,s);程序执行后的输出结果是A)45 B)50 C)60 D)55 41)有以下程序main()union char ch2;int d;s;s.d=0x4321;printf(“%x,%xn”,s.ch0,s.ch1);在16位编译系统上,程序执行后的输出结果是A)21,43 B)43,21 C)43,00 D)21,00 42)有以下程序main()char *p=“3697”,”2584”;int i,j; long num=0;for(i=0;ic,a+cb,b+ca。请填空。main()float a,b,c;scanf(“%f%f%f”,&a,&b,&c);if(_7_)printf(“YESn”);/*a,b,c能构成三角形*/else printf(“NOn”);/*a,b,c不能构成三角形*/8)以下程序的输出结果是_8_main() int a33=1,2,9,3,4,8,5,6,7,i,s=0;for(i=0;i0) str2*i=stri; str2*i-1=*;i-;printf(“%sn”,str);main()char str40;scanf(“%s”,str ); insert(str);10)以下程序的运行结果是:_10_fun(int t,int n) int i,m;if(n=1) return t0;elseif(n=2) m=fun(t,n-1); return m;main()int a=11,4,6,3,8,2,3,5,9,2;printf(“%dn”,fun(a,10);11)现有两个C程序文件T18.c和myfun.c同时在TC系统目录(文件夹)下,其中T18.c文件如下:#include#include”myfun.c”main() fun(); printf(“n”); myfun.c文件如下:void fun() char s80,c; int n=0;while(c=getchar()!=n) sn+=c;n-;while(n=0) printf(“%c”,sn-);当编译连接通过后,运行程序T18时,输入Thank!则输出的结果是:_11 。12)以下函数fun的功能是返回str所指字符串中以形参c中字符开头的后续字符串的首地址,例如:str所指字符串为Hello!, c中的字符为e,则函数返回字符串:ello!的首地址。若str所指字符串为空串或不包含c中的字符,则函数返回NULL。请填空。char *fun(char *str,char c) int n=0;char *p=str;if(p!=NULL)while(pn!=c&pn!=0) n+;if(pn=0 return NULL;return (_12_);13)以下程序的功能是:输出100以内(不含100)能被3整除且个位数为6的所有整数,请填空。main() int i,j;for(i=0;_13_;i+) j=i*10+6;if(_14_) continue;printf(“%d ”,j); 14)以下isprime函数的功能是判断形参a是否为素数,是素数,函数返回1,否则返回0,请填空int isprime(int a) int i;for(i=2;i=a/2;i+)if(a%i=0) _15_;_16_;15)以下程序的功能是输入任意整数给n后,输出n行由大写字母A开始构成的三角形字符阵列图形,例如,输入整数5时(注意:n不得大于10),程序运行结果如下:A B C D EF G H IJ K LM NO请填空完成该程序。main() int i,j,n; char ch=A;scanf(“%d”,&n);if(n11)for(i=1;i=n;i+) for(j=1;jnext;While(【19】)printf(“%sn”,p-sub); p=【20】;main()Node *hd;hd=fun(); disp(hd); printf(“n”); 2006年4月全国计算机等级考试二级C语言笔试试题参考答案一、选择题1-10 : DADBA DCDAC 11-20:CCADD BBBCA21-30:CABDD CDDDB31-40:DBCBB CACAC41-50:ACADB DCDBA、二、填空题1、452、类3、关系4、静态分析5、物理独立性6、printf(a=%d,b=%d,a,b)7、a+bc&a+cb&b+ca8、30 9、a*b*c*d*10、1111、ahT12、p+n 或 str+n13、i=9 或 inext2006年9月二级C语言笔试试题(考试时间120分钟,满分100分)一、选择题(1)(10)每题2分,(11)(50)每题1分,共60分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。(1)下列选项中不符合良好程序设计风格的是_。A)源程序要文档化B)数据说明的次序要规范化C)避免滥用goto语句D)模块设计要保证高耦合、高内聚(2)从工程管理角度,软件设计一般分为两步完成,它们是_。A)概要设计与详细设计B)数据设计与接口设计C)软件结构设计与数据设计D)过程设计与数据设计(3)下列选项中不属于软件生命周期开发阶段任务的是_。A)软件测试B)概要设计 C)软件维护D)详细设计(4)在数据库系统中,用户所见的数据模式为_。A)概念模式B)外模式 C)内模式D)物理模式(5)数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和_。A)编码设计B)测试阶段 C)运行阶段D)物理设计 (7)下列叙述中正确的是_。A)一个算法的空间复杂度大,则其时间复杂度也必定大B)一个算法的空间复杂度大,则其时间复杂度必定小C)一个算法的时间复杂度大,则其空间复杂度必定小D)上述三种说法都不对(8)在长度为64的有序线性表中进行顺序查找,最环境情况下需要比较的次数为_。A)63B)64 C)6D)7(9)数据库技术的根本目标是要解决数据的_。A)存储问题B)共享问题 C)安全问题D)保护问题(11)下列叙述中错误的是_。A)一个C语言程序只能实现一种算法B)C程序可以由多个程序文件组成C)C程序可以由一个或多个函数组成D)一个C函数可以单独作为一个C程序文件存在(12)下列叙述中正确的是_。A)每个C程序文件中都必须有一个main()函数B)在C程序中main()函数的位置是固定的C)C程序可以由一个或多个函数组成D)在C程序的函数中不能定义另一个函数(13)下列定义变量的语句中错误的是_。A)int _int;B)double int_; C)char For;D)float USS(14)若变量x、y已正确定义并赋值,以下符合C语言语法的表达式是_。A)+x,y=x-B)x+1=y C)x=x+10=x+yD)double(x)/10(15)以下关于逻辑运算符两侧运算对象的叙述中正确的是_。A)只能是整数0或1B)只能是整数0或非0的整数C)可以是结构体类型的数据D)可是任意合法的表达式(16)若有定义int x,y;并已正确给变量赋值,则以下选项中与表达式(x-y)?(x+): (y+)中的条件表达式(x-y)等价的是_。A)(x-y0)B)(x-y0) C)(x-y0)D)(x-y=0)(17)有以下程序main()int x,y,z;x=y=1;z=x+,y+,+y;printf(%d,%d,%dn,x,y,z);程序运行后的输出结果是_。A)2,3,3B)2,3,2 C)2,3,1D)2,2,1(18)设有定义:int a; float b;执行scanf(%2d%f,&a,&b);语句时,若从键盘输入876 543.0,a和b的值分别是_。A)876和543.000000B)87和6.000000C)87和543.000000D)76和543.000000(19)有以下程序main()int a=0,b=0;a=10; /*给a赋值b=20; 给b赋值 */printf(a+b=%dn,a+b); /* 输出计算结果 */ 程序运行后输出结果是_。A)a+b=0B)a+b=30 C)30D)出错(20)在嵌套使用if语句时,C语言规定else总是_。A)和之前与其具有相同缩进位置的if配对B)和之前与其最近的if配对C)和之前与其最近的且不带else的if配对D)和之前的第一个if配对(21)下列叙述中正确的是_。A)break语句只能用于switch语句B)在switch语句中必须使用defaultC)break语句必须与switch语句中的case配对使用D)在switch语句中,不一定使用break语句(22)有以下程序mian0int k=5;while(-k) printf(%d,k-=3);printf(n) 执行后的输出结果是_。A)1B)2 C)4D)死循环(23)有以下程序main()int i;for(I=1;I=40;I+)if(I+%5=0)if (+I%8=0) printf(%d,i)printf(n)执行后的输出结果是_。A)5B)24 C)32D)40(24)以下选项中,值为1的表达式_。A)1-0B)1-0 C)1-0D)0-0(25)有以下程序fun(int x,int y)return(x+y);main()int a=1,b=2,c=3,sum;sum=fun(a+,b+b,a+b),c+);printf(%dn,sum);执行后的输出结果是_。A)6B)7 C)8D)9(26)有以下程序main() char s = abcde;s+=2;printf(%dn,s0);执行后的结果是_。A)输出字符a的ASCII码B)输出字符c的ASCII码C)输出字符cD)程序出错(27)有以下程序fun(int x,int y) static int m=0,I=2; I+=m+1;m=I+x+y; return m; main() int j=1,m=I,k; k=fun(j,m); printf(%d,k); k=fun(j,m); printf(%dn,k) 执行后的输出结果是_。A)5,5B)5,11 C)11,11D)11,5(28)有以下程序 fun(int x) int p; if(x=0x= =1) return(3); p=x-fun(x=2); retum p; main() prinf(%dn,fun(7); 执行后的输出结果是_。A)7B)3 C)3D)0(29)在16位编译系统上,右有定义int a =10,20,30,*p=&a;,当执行p+;后,下列说法错误的是_。A)p向高地址移了一个字节B)p抽高地址移了一个存储单元C)p向高地址移了两个字节D)p与a+1等价(30)有以下程序 main() int a=1,b=3,c=5; int *p1=&a,*p2=&b,*p=&c; *p=*p1*(*p2); printf(%dn,c); 执行后的输出结果是A)1B)2 C)3D)4(31)若有定义:int w35;,则以下不能正确表示该数组元素的表达式是_。A)*(*w+3)B)*(w+1)4 C)*(*(w+1)D)*(&w00+1)(32)若有以下函数首部 int fun(double x10,int *n) 则下面针对此函数声母语句中正确的是_。A)int fun(double x,int *n);B)int fun(double ,int);C)int fun(double*x,int n);D)int fun(double *,int*);(33)若有定义语句:int k23,*pk3;,则以下语句中正确的是_。A)pk=k;B)pk0=&k12; C)pk=k0;D)pk1=k;(34)有以下程序 void change(int k )k0=k5; main() int x10=1,2,3,4,5,6,7,8,9,10,n=0 while(n=4) change(&xn);n+; for(n=0;n5;n+) printf(%d,xn); printf(n); 程序运行后输出的结果是_。A)678910B)13579 C)12345D)62345(35)若要求定义具有10个int型元素的一维数组a,则以下定义语句中错误的是A)#define N 10 Int aNB)#define n 5 Int a2*nC)int a5+5D)int n=10,an(36)有以下程序 main() int x32=0,I; for(I=0;I3;I+) scanf(%d,xi); printf(%3d%3d%3dn,x00,x01,x10); 若运行时输入:246,则输出结果为_。A)2 0 0B)2 0 4 C)2 4 0D)2 4 6(37)有以下程序 main() char s = aeiou,*ps; ps=s; printf(%cn,*ps+4); 程序运行后的输出结果是_。A)aB)e C)uD)元素s4的地址(38)以下语句中存在语法错误的是_。A)char ss620;ss1= right? ;B)char ss20= right? ;C)char *ss6;ss1= right? ;D)char *ss=right? ;(39)若有定义:char *x= “abcdefghi”;,以下选项中正确运用了strepy函数的是_。A)char y10; strcpy(y,x4);B)char y10; strcpy(+y,&x1);C)char y10,*s; strcpy(s=y+5,x);D)char y10,*s; strcpy(s=y+1,x+1);(40)有以下程序 int add(int a,int b)return+b; main() int k,(*f)(),a=5,b=10; f=add; 则以下函数调用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 船舶货物运输申报制度
- 企业合作协议履行保障措施承诺书4篇范文
- CN115883680B 一种基于arq的udp协议数据传输方法、系统及设备(天翼视联科技有限公司)
- 农民合作社联合经营与风险控制合同
- 安防监控系统安装合同标准文本
- 家庭农场生产技术合作协议
- 友谊三叶草750字(13篇)
- 小区垃圾分类处理协议书
- 质量控制检查表不良品处理指南
- 地理知识的英语表达:自然灾害相关词汇和短语学习教案
- 造口凸面底盘临床应用共识
- 2025-2026学年外研版七年级英语上册(全册)教学设计(附目录)
- 2025-2026学年人美版(2024)小学美术三年级上册教学计划及进度表
- 连锁药店考勤管理制度
- 安全防范系统升级和服务协议
- 2025年吉林省教育系统后备干部考试题及答案
- 整合照护课件
- 富士康自动化培训知识课件
- 北宋名臣滕元发:才情、功绩与时代映照下的复合型士大夫
- 2025年中小学生宪法知识竞赛试题及答案
- 制冷复审课件
评论
0/150
提交评论