【计算机类职业资格】全国计算机等级考试二级C语言真题2006年4月及答案解析.doc
《【计算机类职业资格】全国计算机等级考试二级C语言真题2006年4月及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】全国计算机等级考试二级C语言真题2006年4月及答案解析.doc(21页珍藏版)》请在麦多课文档分享上搜索。
1、全国计算机等级考试二级 C 语言真题 2006 年 4 月及答案解析(总分:82.00,做题时间:90 分钟)一、B选择题/B(总题数:50,分数:50.00)1.下列选项中小属于结构化程序设计方法的是_。(分数:1.00)A.自顶向下B.逐步求精C.模块化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.ABCDEFB.DBEAFCC.ABDECFD.DEBFCA7.在深度为 7 的满二叉树中,叶子结点的个数为_。(分数:1.00)A.32B.31C.64D.638.“商品”与“顾客”两个实体集之间的联系一般是_。(分数:1.00)A.对B.对多C.多对一D.多对多9.在 E-R 图中,用来表示实体的图形是_。(分数:1.00)A.矩形B.椭圆形C.菱
3、形D.三角形10.数据库 DB、数据库系统 DBS、数据库管理系统 DBMS 之间的关系是_。(分数:1.00)A.DB 包含 DBS 和 DBMSB.DBMS 包含 DB 和 DBSC.DBS 包含 DB 和 DBMSD.没有任何关系11.以下不合法的用户标识符是_。(分数:1.00)A.j2 KEYB.DoubleC.4dD._8_12.以下不合法的数值常量是_。(分数:1.00)A.011B.le1C.8.0E0.5D.0xabcd13.以下不合法的字符常量是_。(分数:1.00)A./018B./C./D./xcc14.表达式 3.6-5/21.25%2 的值是_。(分数:1.00)A
4、.4.3B.4.8C.3.3D.3.815.以下能正确定义字符串的语句是_。(分数:1.00)A.char str=/064;B.char str=“/x43“;C.char str=“;D.char str=“/0“;16.以下数组定义中错误的是_。(分数:1.00)A.int x3=0;B.int x23=1,2,3,4,5,6;C.int x3=1,2,3,4,5,6;D.int x3=1,2,3,4,5,6;17.若要求从键盘读入含有空格字符的字符串,应该使用函数_。(分数:1.00)A.getc ()B.gets()C.getchar()D.scanf()18.以下四个程序中,完全正
5、确的是_。(分数:1.00)A.#include stdih main(); /*programming*/ printf(“programming!/n“);B.#inc ludestdih main() /*/programming/*/ printf(“programming!/n“);C.#include stdih main() /*programming*/ printf(“programming!/n“);D.includestdih main() /*/*programming*/*/ printf(“programming!/n“);19.若有定义:float x=1.5;i
6、nt a=1,b=3,c=2;则正确的 switch 语句是_。(分数:1.00)A.switch ( case 1.0: printf(“*/n“); case 2.0: printf(“*/n“);B.switch ( (in; case 1: printf(“*/n“); case2: printf(“*/n“);C.switch (a case 1:printf(“*/n“); case 21: printf(“*/n“);D.switch (a) case 1: pfintf(“*/n“); case c: printf(“*/n“);20.若各选项中所有变量已正确定义,函数 fun
7、 中通过 return 语句返回一个函数值,以下选项中错误的程序是_。(分数:1.00)A.mam() x=fun(2,10); fioat fun(int a,int B.float fun (int a,int main() x=fun(i,; C.float fun (int in; main() x=fun(2,10); float fun (int a,int D.main() float fun (int i, int ; x=fun(i,; float fun (int a,int 22.要求通过 while 循环不断读入字符,当读入字母 N 时结束循环。若变量已正确定义,以下正
8、确的程序段是_。(分数:1.00)A.while(ch=getchar()! =N) printf(“%c“,c;B.while (ch=getchar()! =N) printf(“%c“,c;C.while (ch=getchar()=N) printf(“%c“,c;D.while(ch=getchan()=N) printf(“%c“,c;23.已定义以下函数 int fun(int *p) return *p; fun 函数返回值是_。(分数:1.00)A.不确定的值B.个整数C.形参 p 中存放的值D.形参 p 的地址值24.若有说明语句:double *p,a;则能通过 scan
9、f 语句正确给输入项读入数据的程序段是_。(分数:1.00)A.*p= scanf(“%lf,;B.*p= scanf(“%f“,;C.P= scanf(“%lf,*;D.p= scanf(“%lf“,;25.现有以下结构体说明和变量定义,如图所示,指针 p、q、r 分别指向个链表中连续的三个结点。 street node char data; struct node *next; *p,*q,*r; (分数:1.00)A.q-next=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-n
10、ext=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 的是_。(分数:1.00)A.*pt-yB.pt-xC.pt-xD.(pt)-x27.设 fp 为指向某二进制文件的指针,且已读到此文件末尾,则函数 feof(fp)的返回值为_。(分数:1.00)A.EOFB.非 0 值C.0D.NULL28.设有以下语句 int a=1,b=2,c; c=a(b2
11、); 执行后,c 的值为_。(分数:1.00)A.6B.7C.8D.929.有以下程序 #include stdio.h main() char c1,c2,c3,c4,c5,c6; scanf(“%c%c%c%c“, c5=getchar(); c6=getchar(); putchar(c1); putchar(c2); printf(“%c%c/n“,c5,c6); 程序运行后,若从键盘输入 (从第 1 列开始) 123 回车 45678 回车 则输山结果是_。(分数:1.00)A.1267B.1256C.1278D.124530.有以下程序 main() int y=10; while
12、(y-);printf(“y=%d/n“,y); 程序执行后的输出结果是_。(分数:1.00)A.y=0B.y=1C.y=1D.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,%d/n“,a,b,c,d); (分数:1.00)A.0,1,2,0B.0,0,0,3C.1,1,2,0D.编译有错32.有以下程序 main() int i,j,x=0; for(i=0;i2;i) x; for(j=0;j=3;j) if(j%2) continue; x; x; p
13、rintf(“x=%d/n“,x); 程序执行后的输出结果是_。(分数:1.00)A.x=4B.x=8C.x=6D.x=1233.有以下程序 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 中的值是_。(分数:1.00)A.5.21B.5C.5.0D.0.034.有以下程序 main() int i,t3=9,8,7,6,5,4
14、,3,2,1; for(i-0;i3;i) printf(“%d“,t2-ii); 程序执行后的输出结果是_。(分数:1.00)A.753B.357C.369D.75135.有以下程序 fun(char p10) int n=0,i; for(i=O;i7;i) if(piO=T)n; return n; main() char str10=“Mon“,“Tue“,“Wed“,“Thu“,“Fri“, “Sat“,“Sun“; printf(“%d/n“,fun(str); (分数:1.00)A.1B.2C.3D.036.有以下程序 main() int i,s=0,t=1,2,3,4,5,6
15、,7,8,9 ; for(i=0;i9;i=2) s=*(ti); printf(“%d/n“,s); (分数:1.00)A.45B.20C.25D.3637.有以下程序 void fun 1 (char *p) char *q; q=p; while(*q!=/0) (*q);q; main() char a=“Program“,*p; p=fun1(p);printf(“%s/n“,a); 程序执行后的输出结果是_。(分数:1.00)A.ProhsbnB.PrphsbnC.ProgsbnD.Program38.有以下程序 void swap(char *x,char *y) char t;
16、 t=*x;*x=*y;*y=t; main() char *s1=“abc“,*s2=“123“; swap(s1,s2); printf(“%s,%s/n“,s1,s2); 程序执行后的输出结果是_。(分数:1.00)A.123,abcB.abc,123C.1bc,a23D.321,cba39.有以下程序 int fun(int n) if(n=1) return 1; else return(nfun(n-1); main() int x; scanf(“%d“,x=fun(x);pfintf(“%d/n“,x); 执行程序时,给变量 x 输入 10,程序的输出结果是_。(分数:1.00
17、)A.55B.54C.65D.4540.有以下程序 int fun(int x,int n) static int sum=0,i; for(i=0;in;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(“%d/n“,s); 程序执行后的输出结果是_。(分数:1.00)A.45B.50C.60D.5541.有以下程序 main() union char ch2; int d; s; s.d=0x4321; printf(“%x,%x/n“,s.chO,s.ch1); 在
18、 16 位编译系统上,程序执行后的输出结果是_。(分数:1.00)A.21,43B.43,21C.43,00D.21,0042.有以下程序 main() char *p=“3697“,“2548“; int i,j; long num=0; for(i=0;i2;i) j=0; while(pij!=/0) if(pij-0)%2) num=10*numpij-0; j=2; printf(“%d/n“,num); 程序执行后的输出结果上_。(分数:1.00)A.35B.37C.39D.397543.执行以下程序后,test.txt 文件的内容是(若文件能正常打开)_。 #include st
19、dio.h main() FILE *fp; char *s1=“Fortran“,*s2=“Basic“; if(fp=fopen(“test.txt“,“wb“)=NULL) printf(“Cant open test.txt file/n“); exit(1); fwrite(s1,7,1,fp); /* 把从地址 s1 开始的 7 个字符写到 fp 所指文件中*/ f seek(fp, 0L,SEEK_SET);/*文件位置指针移到文件开头*/ fwrite(s2,5,1,fp); fclose(fp); (分数:1.00)A.BasicanB.BasicFortranC.Basic
20、D.FortranBasic44.以下叙述中错误的是_。(分数:1.00)A.C 语言源程序经编译后生成后缀为obj 的目标程序B.C 程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件C.用 C 语言编写的程序称为源程序,它以 ASC代码形式存放在个文本文件中D.C 言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令45.以下叙述中错误的是_。(分数:1.00)A.算法正确的程序最终定会结束B.算法正确的程序可以有零个输出C.算法正确的程序可以有零个输入D.算法正确的程序对于相同的输入定有个相同的结果46.以下叙述中错误的是_。(分数:1.00)A.C 程序必
21、须由个或个以上的函数组成B.函数调用可以作为个独立的语句存在C.若函数有返回值,必须通过 return 语句返回D.函数形参的值也可以传回给对应的实参47.设有以下定义和语句 char str20=“Program“,*p; p=str; 则以下叙述中正确的是_。(分数:1.00)A.*p 与 str0中的值相等B.sb 与 p 的类型完全相同C.str 数组长度和 p 所指向的字符串长度相等D.数组 str 中存放的内容和指针变量 p 中存放的内容相同48.以下叙述中错误的是_。(分数:1.00)A.C 程序中的#include 和#define 行均不是 C 语句B.除逗号运算符外,赋值运
22、算符的优先级最低C.C 程序中,j;是赋值语句D.C 程序中,、-、*、/、%号是算术运算符,司用于整型和实型数的运算49.以下叙述中正确的是_。(分数:1.00)A.预处理命令行必须位于 C 源程序的起始位置B.在 C 语言中,预处理命令行都以“#“开头C.每个 C 程序必须在开头包含预处理命令行:#includestdihD.C 语言的预处理不能实现宏定义和条件编译的功能50.以下叙述中错误的是_。(分数:1.00)A.可以通过 typedef 增加新的类型B.可以用 typedef 将已存在的类型用新的名字宋代表C.用 typedef 定义新的类型名后,原有类型名仍有效D.用 typed
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 全国 计算机等级考试 二级 语言 2006 答案 解析 DOC
