【计算机类职业资格】全国计算机等级考试二级C语言真题2006年9月及答案解析.doc
《【计算机类职业资格】全国计算机等级考试二级C语言真题2006年9月及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】全国计算机等级考试二级C语言真题2006年9月及答案解析.doc(21页珍藏版)》请在麦多课文档分享上搜索。
1、全国计算机等级考试二级 C 语言真题 2006 年 9 月及答案解析(总分:84.00,做题时间:90 分钟)一、B选择题/B(总题数:50,分数:50.00)1.下列选项中不符合良好程序设计风格的是_。(分数:1.00)A.源程序要文档化B.数据说明的次序要规范化C.避免滥用 goto 语句D.模块设计要保证高耦合、高内聚2.从工程管理角度,软件设计般分为两步完成,它们是_。(分数:1.00)A.概要设计与详细设计B.过程控制C.软件结构设计与数据设计D.程序设计与数据设计3.下列选项中不属于软件生命周期开发阶段任务的是_。(分数:1.00)A.软件测试B.概要设计C.软件维护D.详细设计4
2、.在数据库系统中,用户所见数据模式为_。(分数:1.00)A.概念模式B.外模式C.内横式D.物理模式5.数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和_。(分数:1.00)A.编码设计B.测试阶段C.运行阶段D.物理设计6.设有如下三个关系表 (分数:1.00)A.T=RSB.RSC.T=RSD.T=R/S7.下列叙述中正确的_。(分数:1.00)A.一个算法的空间复杂度大,则其时间复杂度也必定大B.一个算法的空间复杂度大,则其时间复杂度必定小C.一今算法的时间复杂度大,则其空间复杂度必定小D.上述三种说法都不对8.在长度为 64 的有序线性表中进行顺序查找,最坏情况下需要比较的次数
3、为_。(分数:1.00)A.63B.64C.6D.79.数据库技术的根本目标是解决数据的_。(分数:1.00)A.存储问题B.共享问题C.安全问题D.保护问题10.对下列二叉树 (分数:1.00)A.ACBDFEGB.ACBDFGEC.ABDCGEFD.FCADBEG11.下列叙述错误的是_。(分数:1.00)A.一个 C 语言程序只能实现种算法B.C 程序可以由多个程序文件组成C.C 程序可以由个或多个函数组成D.一个 C 函数可以单独作为个 C 程序文件存在12.下列叙述中正确的是_。(分数:1.00)A.每个 C 程序文件中都必须要有个 main()函数B.在 C 程序中 main()函
4、数的位置是固定的C.C 程序中所有函数之间都可以相互调用,与函数所在位置无关D.在 C 程序的函数中不能定义另个函数13.下列定义变量的语句中错误的是_。(分数:1.00)A.int _int;B.double int_;C.char For;D.float US$;14.若变量 x、y 己正确定义并赋值,以下符合 C 语言语法的表达式是_。(分数:1.00)A.x,y=x-B.x1=yC.x=x10=xyD.double(/1015.以下关于逻辑运算符两侧运算对象的叙述中正确的是_。(分数:1.00)A.只能是整数 0 或 1B.只能是整数 0 或非 0 整数C.可以是结构体类型的数据D.可
5、以是任意合法的表达式16.若有定义 int x,y;并已正确给变量赋值,则以下选项中与表达式(x-y)?(x):(y)中的条件表达式(x-y)等价的是_。(分数:1.00)A.(x-yB.(x-yC.(x-y0|x-y0)D.(x-y=0)17.有以下程序 main() int x,y,z; x=y=1; z=x,y,y; printf(“%d,%d,%d/n“,x,y,z); 程序运行后的输出结果是_。(分数:1.00)A.2,3,3B.2,3,2C.2,3,1D.2,2,118.设有定义:int a; float b;执行 scanf(“%2d%f“, a=10; /* 给 a 赋值 b=
6、20; 给 b 赋值 */ printf(“ab=%d/n“,ab);/* 输出计算结果 */ 程序运行后的输出结果是_。(分数:1.00)A.ab=10B.ab=30C.30D.出错20.在嵌套使用 if 语句时,C 语言规定 else 总是_。(分数:1.00)A.和之前与其具有相同缩进位置的 if 配对B.和之前与其最近的 if 配对C.和之前与其最近的且不带 else 的 if 配对D.和之前的第个 if 配对21.下列叙述中正确的是_。(分数:1.00)A.break 语句只能使用 switch 语句B.在 switch 语句中必须使用 defaultC.break 语句必须与 sw
7、itch 语句中的 case 配对使用D.在 switch 语句中,不一定使用 break 语句22.有以下程序 main() int k=5; while(-k) printf(“%d“,k-=3); printf(“/n“); 执行后的输出结果是_。(分数:1.00)A.1B.2C.4D.死循环23.有以下程序 main() int i; for(i=1;i=40;i) if(i%5=0) if(i%8=0) printf (“%d“,i); printf(“/n“); (分数:1.00)A.5B.24C.32D.4024.以下选项中,值为 1 的表达式是_。(分数:1.00)A.1-0B
8、.1-、0C.1-0D./0-025.有以下程序 fun(int x,int y)return(xy); main() int a=1,b=2,c=3,sum; sum=fun(a,b,a+b),c); printf(“%d/n“,sum); (分数:1.00)A.6B.7C.8D.926.有以下程序 main() char s=“abcde“; s=2; printf(“%d/n“,s0); 执行后的结果是_。(分数:1.00)A.输出字符 a 的 ASC码B.输出字符 c 的 ASC码C.输出字符 cD.程序出错27.有以下程序 fun(int x,int y) static int m=
9、0,i=2; i+=m1; m=ixy; return m; main() int j=1,m=1,k; k=fun(j,m); printf(“%d,“,k); k=fun(j,m); printf(“%d/n“,k); 执行后的输出结果是_。(分数:1.00)A.5,5B.5,11C.11,11D.11,528.有以下程序 fun(int x) int p; if(x=0|x=1) return(3); p=x-fun(x-2); return p; main0 printf(“%d/n“,fun(7); 执行后的输出结果是_。(分数:1.00)A.7B.3C.2D.029.在 16 位编
10、译系统上,若有定义 int a=10,20,30,*p=,少逗号当执行 p;后,下列说法错误的是_。(分数:1.00)A.p 向高地址移了一个字节B.p 向高地址移了一个存储单元C.p 向高地址移了两个字节D.p 与 a1 等价30.有以下程序 main0 int a=l,b=3,c=5; int *p 1 = *p-pl*(*p2); print“%dXn“,c); 执行后的输出结果是_。(分数:1.00)A.1B.2C.3D.431.若有定义:int w35;,则以下不能正确表示该组元素的表达方式是_,(分数:1.00)A.*(*w3)B.*(w1)4C.*(*(w1)D.*(B.int
11、fun(double, in;C.int fun(double *x, int ;D.iht fun(double*,int*);33.若有定义语句:int k23,*pk3;,则以下语句中正确的是_。(分数:1.00)A.pk=k;B.pk0=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( n; for(n=0;n5;n) printf(“%d“,xn); printf(“/n“); 程序运行后输出的结果是_。(分数:1.
12、00)A.678910B.13579C.12345D.6234535.若要求定义具有 1O 个 int 型元素的一维数组 a,则以下定义语句中的错误的是_。(分数:1.00)A.#define N 10 int a;B.#define n 5 int a2*nC.int a55;D.int n=10,a;36.有以下程序 main() int x32=0,i; for(i=0;i3;i) scanf(“%d“,xi); printf(“%3d%3d%3d/n“,x00,x01,x10); 若运行时输入:246回车,则输出结果为_。(分数:1.00)A.200B.204C.240D.24637.
13、有以下程序 main() char s=“aeiou“,*ps; ps=s; printf(“%c/n“,*ps4); 程序运行后输出的结果是_。(分数:1.00)A.aB.eC.uD.元素 s4的地址38.在以下语句中存在语法错误的是_。(分数:1.00)A.char ss620; ss1=“right?“;B.char ss20=“fight?“;C.char *ss6; ss1=“right?“;D.char *ss=“right?“;39.若有定义:char *x=“abcdefghi“;,以下选项中正确运用了 strcpy 函数的是_。(分数:1.00)A.char y10; str
14、cpy(y,x4);B.char y10; strcpy(y,C.char y10,*s; strcpy(s=y5,;D.char y10,*s; strcpy(s=y1,x1);40.有以下程序 iht add (int a, int b) return(ab); mian() int k,(*f)(),a=5,b=10; f=add; 则以下函数调用语句错误的是_。(分数:1.00)A.k=(*(a,;B.k=add(a,;C.k=*f(a,;D.k=f(a,;41.有以下程序 #include string.h main(int argc, char *argv) int i=1,n=0
15、; while(iargc) n=nstrlen(argvi);i; printf(“%d/n“,n); 该程序生成的可执行文件名为:proc.exe。若运行时输入命令行: proc 123 45 67 则程序的输出结果是_。(分数:1.00)A.3B.5C.7D.1142.有以下程序 void fun2 (char a,char b) printf(“%c%c“,a,b); char a=A,b=B; void fun1() a=C; b=D; main() fun1(); printf(“%c%c“,a,b); fun2 (E,F); 程序的运行结果是_。(分数:1.00)A.CDEFB.
16、ABEFC.ABCDD.CDAB43.有以下程序 #include stdio.h #define N 5 #define M N1 #define f(x) (x*M) main() int i1,i2; i1=f(2) i2=f(11); printf(“%d %d/n“,i1,i2); 程序的运行结果是_。(分数:1.00)A.12 12B.11 7C.11 11D.12 744.设有以下语句 typedef struct TT char c; int a4;CIN; 则下面叙述中正确的是_。(分数:1.00)A.可以用 TT 定义结构体变量B.TT 是 struct 类型的变量C.可以
17、用 CIN 定义结构体变量D.CIN 是 struct TT 类型的变量45.有以下结构体说明、变量定义和赋值语句 struct STD char name10; int age; char sex; s5,*ps; ps= 则以下 scanf 函数调用语句中错误引用结构体变量成员的是_。(分数:1.00)A.scanf(“%s“,s0.nam;B.scanf(“%d“,C.scanf(“%c“,D.scanf(“%d“,ps-ag;46.若有以下定义和语句 union date int i; char c; fioat f; x; int y; 则以下语句正确的是_。(分数:1.00)A.x
18、=10.5;B.c=101;C.y=x;D.printf(“%d/n“,;47.程序中已构成如下图所示的不带头结点的单向链表结构,指针变量 s、p、q 均已正确定义,并用于指向链表结点,指针变量 s 总是作为头指针向链表的第个结点。 若有以下程序段 q=s; s=s-next; p=s; while(p-next) p=p-next; P-next=q; q-next=NULL; 该程序段实现的功能是_。 (分数:1.00)A.首结点成为尾结点B.尾结点成为首结点C.删除首结点D.删除尾结点48.若变量已删除正确定义,则以下语句的输出结果是_。 s=32; s=32; printf(“%d“,
19、s);(分数:1.00)A.-1B.0C.1D.3249.以下叙述中正确的是_。(分数:1.00)A.C 语言中的文件是流式文件,因此只能顺序存取数据B.打开个已存在的文件并进行了写操作后,原有文件中的全部数据必定被覆盖C.在千程序中当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到第 1 个数据D.当对文件的读(写)操作完成之后,必须将它关闭,否则可能导致数据丢失50.有以下程序 #include stdio.h main() FILE *fp; int i; char ch=“abcd“,t; fp=fopen(“abc.dat“,“wb“); for(i=O;i4;i)fwri
20、te( fseek (fp,-2L,SEEK_END); fread ( fclose (fp); printf (“%c/n“,t); 程序执行后的输出结果是_。(分数:1.00)A.dB.cC.bD.a二、B填空题/B(总题数:17,分数:34.00)51.下列软件系统结构图 (分数:2.00)填空项 1:_52.U2 /U的任务是诊断和改正程序中的错误。(分数:2.00)填空项 1:_53.个关系表的行称为U 3 /U。(分数:2.00)填空项 1:_54.按“先进后出”原则组织数据的数据结构是U 4 /U。(分数:2.00)填空项 1:_55.数据结构分为线性结构和非线性结构,带链的队
21、列属于U 5 /U。(分数:2.00)填空项 1:_56.设有定义:float x=123.4567;,则执行以下语句后的输出结果是U 6 /U。 printf(“%f/n“(int)(x*1000.5)/100.1;(分数:2.00)填空项 1:_57.以下程序运行后的输出结果是U 7 /U。 main() int m=011, n=11; printf(“%d %d/n“,m,n); (分数:2.00)填空项 1:_58.以下程序运行后的输出结果是U 8 /U。 main() int x, a=1,b=2,c=3,d=4; x=(ab)?a:b; x=(xc)?x:c; x=(dx)?x:
22、d; printf(“%d/n“,x); (分数:2.00)填空项 1:_59.有以下程序,若运行时从键盘输入:18, 11回车,则程序的输出结果是U 9 /U。 main() int a,b; printf(“Enter a,b:“); scanf(“%d,%d“, while (a!=b) while(ab) a-=b); white(ba) b-=a; printf(“%3d%3d/n“,a,b); (分数:2.00)填空项 1:_60.以下程序的功能是:将输入的正整数按逆序输出。例如:若输入 135 则输出 531。请填空。 #include stdio.h main() int n,
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 全国 计算机等级考试 二级 语言 2006 答案 解析 DOC
