全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2010年9月全国计算机等级考试二级C语言笔试试题及答案一、选择题(1)-(10)每题2分,(11)-(50)每题1分.共60分)(1)下列选项中不属于软件生命周期开发阶段任务的是 A)详细设计 B)概要设计 C)软件维护 D)软件测试(2)树是结点的集合,它的根结点数目是A)有且只有1 B)1或多于1 C)0或1 D)至少2(3)在面向对象方法中,实现信息隐蔽是依靠A)对象的继承 B)对象的多态 C)对象的封装 D)对象的分类(4)程序设计语言的基本成分是数据成分、运算成分、控制成分和 A)语句成分 B)变量成分 C)对象成分 D)传输成分(5)冒泡排序在最坏情况下的比较次数是 A)n/2 B)nlog2n C)n(n-1)/2 D)n(n+1)/2(6)下列叙述中,不属于软件需求规格说明书的作用的是A)作为确认测试和验收的依据B)反映出用户问题的结构,可以作为软件开发工作的基础和依据 C)便于用户、开发人员进行理解和交流D)便于开发人员进行需求分析 (7)下列叙述中错误的是 A)一个C语言程序只能实现一种算法 B)C程序可以由多个程序文件组成 C)C程序可以由一个或多个函数组成 D)一个函数可单独作为一个C程序文件存在(8)下列不属于软件工程的3个要素的是A)方法 B)过程 C)工具 D)环境 (9)下列叙述中正确的是A)数据库系统是一个独立的系统,不需要操作系统的支持B)数据库技术的根本目标是要解决数据的共享问题C)数据库管理系统就是数据库系统D)以上三种说法都不对(10)下列叙述中正确的是 A)每个C程序文件中都必须有一个main()函数 B)在C程序的函数中不能定义另一个函数 C)C程序可以由一个或多个函数组成 D)在C程序中main()函数的位置是固定的(11)将E-R图转换到关系模式时,实体与联系都可以表示成 A)属性 B)关系 C)键 D)域 (12)下列定义变量的语句中错误的是 A)double int_; B)int _int; C)char For D)float USS(13)下列叙述中正确的是 A)C语言编译时不检查语法 B)C语言的子程序有过程和函数两种 C)C语言的函数可以嵌套定义 D)C语言的函数可以嵌套调用(14)以下选项中,合法的一组C语言数值常量是A) 0x8A B)12 C).177 D) 028(15)以下叙述中正确的是 A)构成C程序的基本单位是函数 B)可以在一个函数中定义另一个函数 C)main()函数必须放在其他函数之前 D)所有被调用的函数一定要在调用之前进行定义 (16)若在定义语句:int a,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是A)scanf(%d,&p); B)scanf(%d%d%d,a,b,c);C)scanf(%d,p); D) scanf(%d,a,b,c);(17) 有以下程序 main() int x,y,z; x=y=1; z=x+,y+,+y; printf(%d,%d,%dn,x,y,z); 程序运行后的输出结果是 A)2,2,3 B)2,2,2 C)2,3,1 D)2,1,1(18) 若已定义:int a=25,b=14,c=19;以下三目运算符(?:)所构成语句的执行后a=25&b-0;y-)if(y%3= =0) printf(%d,-y);程序的运行结果是A)732 B)433 C)852 D)874(23) 设有以下程序段 int x=0,s=0; while(!x!=0)s+=+x; printf(%d,s); 则 A)运行程序段后输出0 B)运行程序段后输出1 C)程序段中的控制表达式是非法的 D)程序段执行无限次 (24)有以下程序 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)5 B)7 C)8 D)3(25)执行下面的程序段后,变量k中的值为 int k=3, s2; s0=k; k=s1*10; A)不定值 B)35 C)31 D)20 (26)以下叙述中错误的是A)改变函数形参的值,不会改变对应实参的值B)函数可以返回地址值C)可以给指针变量赋一个整数作为地址值D)当在程序的开头包含文件stdio.h时,可以给指针变量赋NULL(27)以下程序段的描述,正确的是 x=-1; do x=x*x; while(!x); A)是死循环 B)循环执行两次 C)循环执行一次 D)有语法错误 (28)有以下程序 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,5 B)5,11 C)11,11 D)11,5(29)有以下程序 fun(int x) int p; if(x=0x= =1) return(3); p=x-fun(x=2); retum p; main() prinf(%dn,fun(7); 执行后的输出结果是A)7 B)3 C)3 D)0(30)在16位编译系统上,右有定义int a =10,20,30,*p=&a;,当执行p+;后,下列说法错误的是 A)p向高地址移了一个字节 B)p抽高地址移了一个存储单元C)p向高地址移了两个字节 D)p与a+1等价(31)有以下程序 main() int a=1,b=3,c=5; int *p1=&a,*p2=&b,*p=&c; *p=*p1*(*p2); printf(%dn,c); 执行后的输出结果是A)1 B)2 C)3 D)4(32)下列程序执行后的输出结果是 void func1(int i); void func2(int i); char st=hello,friend!; void func1(int i) printf(%c,sti); if(i3)i+=2;func2(i); void func2(int i) printf(%c,sti); if(ij共执行的次数是 main() int i=0, j=10, k=2, s=0; for (;) i+=k; if(ij) printf(%d,s); break; s+=i; A)4 B)7 C)5 D)6 (34)以下函数返回a所指数组中最大值所在的下标值 fun(int *a,int n) int i,j=0,p; p=j; for(i=j;iif(aiap); return(p); 在下划线处应填入的内容是 A)i=p B)ap=ai C)p=j D)p=i (35)下列程序执行后的输出结果是 main() int a33, *p,i; p=&a00; for(i=1; i9; i+)pi=i+1; printf(%dn,a12); A)3 B)6 C)9 D)随机数 (36) 有以下程序#includevoid fun(int *a,int n)/*fun函数的功能是将a所指数组元素从大到小排序*/int t,i,j;for(i=0;ifor(j=i+1;jif (amain()int c10=1,2,3,4,5,6,7,8,9,0,i;fun(c+4,6);for (i=0;i10;i+) printf(%d,c);printf(n);程序运行的结果是A)1,2,3,4,5,6,7,8,9,0, B)0,9,8,7,6,5,1,2,3,4,C) 0,9,8,7,6,5,4,3,2,1, D)1,2,3,4,9,8,7,6,5,0,(37)以下程序的输出结果是#include void prt (int *x, int*y, int*z) printf(%d,%d,%dn,+*x,+*y,*(z+); main() int a=10,b=40,c=20; prt (&a,&b,&c); prt (&a,&b,&c); A)11,42, 31 12,22,41 B)11,41,20 12,42,20 C)11,21,40 11,21,21 D)11,41,21 12,42,22 (38) 有以下程序:#include void fun(char *t,char *s)while(*t!=0)t+;while(*t+=*s+)!=0);main()char ss10=”acc”,aa10=”bbxxyy”;fun(ss,aa);printf(“%s,%sn”,ss,aa);程序运行结果是A) accxyy , bbxxyy B) acc, bbxxyyC) accxxyy,bbxxyy D) accbbxxyy,bbxxyy(39) 有以下程序 #include main() FILE *fp; int i=20,j=30,k,n; fp=fopen(d1.dat,w); fprintf(fp,%dn,i);fprintf(fp,%dn,j); fclose(fp); fp=fopen(d1.dat,r); fscanf(fp,%d%d,&k,&n); printf(%d %dn,k,n); fclose(fp); 程序运行后的输出结果是 A)20 30 B)20 50 C)30 50 D)30 20 (40) 有以下程序 main() int x32=0,I; for(I=0;I3;I+) scanf(%d,xi); printf(%3d%3d%3dn,x00,x01,x10); 若运行时输入:246,则输出结果为A)2 0 0 B)2 0 4 C)2 4 0 D)2 4 6(41)有以下程序 int add(int a,int b)return+b; main() int k,(*f)(),a=5,b=10; f=add; 则以下函数调用语句错误的是 A)k=(*f)(a,b); B)k=add(a,b); C)k=*f(a,b); D)k=f(a,b);(41)有以下程序 #include main(int argc,char *argv) int i=1,n=0; while(iarge)n=n+strlen(argvi);i+; printf(“%dn”,n); 该程序生成的可执行文件名为:proc.exe。若运行时输入命令行: proc 123 45 67 则程序的输出结果是A)3 B)5 C)7 D)11(42)有以下程序 void fun2(char a, char b)printi(“%b%c”,a,b); char a= A,b= B; void fun1( ) a= Cl b= D; main( ) fun1( ) printf( “%c%c”,a,b); fun2(E, F); 程序的运行结果是A)CDEF B)ABEF C)ABCD D)CDAB(43)有以下程序 #include #define N 5 #define M N+1 #define f(x) (x*M) main() int i1,i2; i1=f(2); i2=f(1+1); printf(“%d %dn”,i1,i2); 程序的运行结果是A)12 12 B)11 7 C)11 11 D)12 7(44)设有以下语句 typedef struct TT char c; int a4;CIN; 则下面叙述中正确的是 A)可以用TT定义结构体变量 B)TT是struct类型的变量C)可以用CIN定义结构体变量 D)CIN是struct TT类型的变量(45)有以下结构体说明、变量定义和赋值语句 struct STD char name10; int age; char sex; s5,*ps; ps=&s0; 则以下scanf函数调用语句中错误引用结构体变量成员的是 A)scanf(“%s”,); B)scanf(“%d”,&s0.age);C)scanf(“%c”,&(pssex); D)scanf(“%d”,psage);(46)若有以下定义和语句 union data int i; char c; float f;x; int y; 则以下语句正确的是A)x=10.5; B)x.c=101; C)y=x; D)printf(“%dn”,x);(47)若变量已正确定义,则以下语句的输出结果是 s=32; s=32;printf(“%d”,s);A)-1 B)0 C)1 D)32(48) 若程序中有宏定义行:#define N 100 则以下叙述中正确的是A)宏定义行中定义了标识符N的值为整数100B)在编译程序对C源程序进行预处理时用100替换标识符NC) 对C源程序进行编译时用100替换标识符ND)在运行时用100替换标识符N(49)以下叙述中正确的是 A)C语言中的文件是流式文件,因此只能顺序存取数据 B)打开一个已存在的文件并进行了写操作后,原有文件中的全部数据必定被覆盖 C)在一个程序中当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到第1个数据D)当对文件的读(写)操作完成之后,必须将它关闭,否则可能导致数据丢失(50)有以下程序 #include main() FILE *fp; int i; char ch=”abcd”,t; fp=fopen(“abc.dat”,”wb+”); for(i=0;i4;i+)fwriter&ch,1,1fp; fseek(fp,-2L,SEEK_END); fread(&t,1,1,fp); fclose(fp); printf(“%cn”,t); 程序执行后的输出结果是 A)d B)c C)b D)a二、填空题(每空2分,共40分)(1)在面向对象方法中,类之间共享属性和操作的机制称为 【1】 。 (2)一个关系表的行称为 【2】 。(3)耦合和内聚是评价模块独立性的两个主要标准,其中 【3】 反映了模块内各成分之间的联系。 (4)线性表的存储结构主要分为顺序存储结构和链式存储结构.队列是一种特殊的线性表,循环队列是队列的【4】存储结构.(5) 【5】 的任务是诊断和改正程序中的错误。(6) 以下程序的输出结果是【6】.#include main() int n=12345,d;while(n!=0) d=n%10; printf(%d,d); n/=10;(7)以下程序运行后的输出结果是 【7】 。main() int m=011,n=11; printf(%d %dn,+m,n+);(8)有以下程序,若运行时从键盘输入:18,11,则程序输出结果是 【8】 。main() int a,b; printf(Enter a,b:);scanf(%d,%d,&a,&b); while(a!=b) while(ab) a-=b; while(ba) b-=a; printf(%3d%3dn,a,b); (9) 有以下程序段,且变量已正确定义和赋值for(s=1.0,k=1;k=n;k+) s=s+1.0/(k*(k+1);printf(s=%fnn,s);请填空,使下面程序段的功能为完全相同s=1.0;k=1;while(_【9】_) s=s+1.0/(k*(k+1); _【10】_;printf(s=%fnn,s);(10)执行以下程序的输出结果是【11】_.#include main() int i,n4=1;for(i=1;ii) i=xm; p0=m;else if(xmt=xp0; xp0=xn-1; xn-1=t;t=xp1;xp1= _【12】_; 【13】_=t;main() int a10,u;for(u=0;u10;u+) scanf(%d,&a);f(a,10);for(u=0;u10;u+) printf(%d,a);printf(n);(12)下列程序中的函数strcpy2()实现字符串两次复制,即将t所指字符串复制两次到s所指内存空间中,合并形成一个新的字符串。例如,若t所指字符串为efgh,调用strcpy2后,s所指字符串为efghefgh。请填空。#include #include void strcpy2(char *s,char *t) char *p=t; while(*s+=*t+); s= 【14】 ; while( 【15】 =*p+);main() char str1100=abcd,str2=efgh; strcpy2(str1 ,str2); printf(%sn,str1);(13)以下程序统计从
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年低空经济产业集群创新投入研究报告
- 抖音直播合作协议书
- 精神科患者噎食应急预案演练脚本
- 传染病治疗技术实践操作培训考试2025年试卷及答案
- 2025年环境保护知识宣传考试题及答案
- 肺栓塞的应急预案演练脚本
- 2025年关于新安全生产法知识竞赛培训试题及答案
- 公司生产安全事故和自然灾害综合应急预案
- 研学旅行活动安全应急预案
- 医学影像学习题库答案
- 2026年高考作文备考训练之作文讲评:“预测”渗透在人类生活的各个领域
- 2025年骨科专科护士考试试题练习题与答案
- 不停水施工方案
- 2025年度春季中国南水北调集团水网发展研究有限公司招聘拟聘人员笔试历年备考题库附带答案详解试卷2套
- 中原银行笔试题目及答案
- 北京邮电大学招聘笔试真题2024
- 现代化物流培训
- 动态图形设计课件大纲
- (2025)胎动管理专家共识
- 湖南省长沙市望城区第一中学2025-2026学年高二上学期期中考试数学试卷
- 【253】《关于促进和规范人工智能医疗卫生应用发展的实施意见》解读学习
评论
0/150
提交评论