【计算机类职业资格】二级C语言笔试-447及答案解析.doc
《【计算机类职业资格】二级C语言笔试-447及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-447及答案解析.doc(33页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试-447 及答案解析(总分:96.50,做题时间:90 分钟)一、选择题(总题数:40,分数:67.00)1.若某二叉树的前序遍历访问顺序是 abdgcefh,中序遍历访问顺序是 dgbaechf,则其后序遍历的结点访问顺序是( )。A) bdgcefha B) gdbecfha C) bdgaechf D) gdbehfca(分数:1.00)A.B.C.D.2.下列叙述中错误的是( )。A) 线性表是由 n 个元素组成的一个有限序列B) 线性表是一种线性结构C) 线性表的所有结点有且仅有一个前件和后件D) 线性表可以是空表(分数:2.00)A.B.C.D.3.树是结点的集合
2、,它的根结点的数目是( )。A) 有且只有 1 个 B) 1 或多于 1C) 0 或 1 D) 至少有 2 个(分数:2.00)A.B.C.D.4.结构化程序设计方法的 3 种基本控制结构中不包括A) 循环结构 B) 递归结构 C) 顺序结构 D) 选择结构(分数:2.00)A.B.C.D.5.下列叙述中正确的是( )。A) 在模块化程序设计中,一个模块应该尽量多的包括与其他模块联系的信息B) 在自顶向下、逐步细化的设计过程中,首先应设计解决问题的第一个细节C) 在模块化程序设计中,一个模块内部的控制结构也要符合结构化原则D) 在程序设计过程中,不能同时采用结构化程序设计方法与模块化程序设计方
3、法(分数:2.00)A.B.C.D.6.数据库 DB、数据库系统 DBS、数据库管理系统 DBMS 之间的关系是( )。A) DB 包括 DBS 和 DBMS B) DBMS 包括 DB 和 DBSC) DBS 包括 DB 和 DBMS D) 没有任何关系(分数:2.00)A.B.C.D.7.下列叙述中正确的是_。A) 为了建立一个关系,首先要构造数据的逻辑关系B) 表示关系的二维表中各元组的每一个分量还可以分成若干数据项C) 一个关系的属性名表称为关系模式D) 一个关系可以包括多个二维表(分数:2.00)A.B.C.D.8.以下符合 C 语言语法的实型常量是( )。A) 1.2E0.5 B)
4、 3.14159E C) .5E-3 D) E15(分数:1.00)A.B.C.D.9.有以下程序:#includestdio.hmain()int x=1,y=0,a=0,b=0;switch(x)case 1:switch(y)case 0:a+;break;case 1:b+;break;case 2:a+;b+;break;case 3:a+;b+;printf(“a=%d,b=%d/n“,a,b);程序的运行结果是_。A) a=1,b=0 B) a=2,b=2C) a=1,b=1 D) a=2,b=1(分数:1.00)A.B.C.D.10.已知 i、j、k 为 int 型变量,若要从
5、键盘输入 2、3、4CR,使 i、j、k 的值分别为 2、3、4,下列正确的输入语句是( )。A) scanf(“%3d,%3d,%3d“,B) scanf(“%d,%d,%d“,C) scanf(“%d%d%d“,D) scanf(“i=%d,j=%d,k=%d“,(分数:1.00)A.B.C.D.11.设变量均已正确定义,若要通过 scanf(“%d%c%d%c”,while(i+7)if(pi%2)j+=pi;printf(“%d/n“,j);程序运行后的输出结果是 _。A) 42 B) 45 C) 56 D) 60(分数:1.00)A.B.C.D.13.若 a 是数值类型,则逻辑表达式
6、(a=1)|(a!=1)的值是A) 1 B) 0C) 2 D)不知道 a 的值,不能确定(分数:1.00)A.B.C.D.14.下列程序的输出结果是( )#includestdio.hmain() int a=3,b=2,c=1;if(ab) if(b0) c=0;else c+;printf(“%d/n“,c);A) 0 B) 2 C) 1 D) 3(分数:2.00)A.B.C.D.15.下列条件语句中,输出结果与其他语句不同的是( )。A)if(a)printf(“%d/-n“,x); else printf(“%d/n“,y);B)if(a=0)printf(“%d/n“,y); els
7、e printf(“%d/n“,x);C)if(a!=0)printf(“%d/n“,x); else printf(“%d/n“,y);D)if(a=0)printf(“%d/n“,x); else printf(“%d/n“,y);(分数:2.00)A.B.C.D.16.若执行下列的程序时,从键盘上输入 1 和 2,则输出结果是( )。#includestdio.hmain()int a,b,s;scanf(“%d%d“,S=a;if(aB) s=b;s=s*s;printtf(“%d/n“,s);A) 1 B) 4 C) 2 D) 9(分数:2.00)A.B.C.D.17.设变量 x 为
8、 float 型且已经赋值,则以下语句中能够将 x 中的数值保留到小数点后面两位,并将第三位四舍五入的是_。A) x=x*100+0.5/100.0 B) x=(x*100+0.5)/100.0C) x=(int)(x*100+0.5)/100.0 D) x=(x/100+0.5)*100.0(分数:1.00)A.B.C.D.18.有以下程序#includestdio.hmain()int i,j,m=55;for(i=1;i=3;i+)for(j=3;j=i;j+)m=m%j;printf(“%d“,m);程序的运行结果是( )。A0 B1C2 D3(分数:1.00)A.B.C.D.19.以
9、下程序的输出结果是_。main()int i,a10;for(i=9;i=0;i-)ai=10-i;printf(“%d%d%d“,aa,a5,a8);A) 258 B) 741 C) 852 D) 369(分数:2.00)A.B.C.D.20.下列选项中,当 x 为大于 1 的奇数时,值为 0 的表达式是( )。A) x%2=1 B) x/2C) x%2!=0 D) x%2=0(分数:2.00)A.B.C.D.21.若有说明语句:double *p,a;则能通过 scanf 语句正确给输入项读入数据的程序段是_。(A) *p=a; scanf(“%1f“,p);(B) *p=a; scanf
10、(“%f“,p);(C) p=a; scanf(“%1f“,*p);(D) p=a; scanf(“%1f“,p);(分数:2.00)A.B.C.D.22.有以下程序:main()char k: int i;for(i=1:i3;i+)scanf(“%c“,while(n-) printf(“%d “,-n);A) 2 0 B) 3 1 C) 3 2 1 D) 2 1 0(分数:1.00)A.B.C.D.下列说法正确的是( )。A在 C 语言中,可以使用动态内存分配技术,定义元素个数可变的数组B在 C 语言中,数组元素的个数可以不确定,允许随机变动C在 C 语言中,数组元素的数据类型可以不一致
11、D在 C 语言中,定义一个数组后,就确定了它所容纳的元素的个数(分数:3.00)A.B.C.D.A.B.C.D.有以下程序:int fun(int n)if(n=1) return 1;else return(n+fun(n-1);main()int x;scanf(“%d“,P0=a1;则*(p0+1)所代表的数组元素是_。A) a01 B) a10 C) a11 D) a12(分数:1.00)A.B.C.D.27.设有变量说明 int(*p)m,其中的标识符 p 是( )。A)m 个指向整型变量的指针 B)指向 m 个整型变量的指针C)一个指向具有 m 个整型元素的一维数组的指针D)具有
12、m 个指针元素的一维指针数组,每个元素都指向整型变量(分数:1.00)A.B.C.D.28.下列程序的输出结果是( )。#includestdio.h#includestring.hmain()char a=“/n123/“;printf(“%d,%d/n“,strlen(a),sizeof(a);A) 5,6 B) 5,5 C) 6,6 D) 6,5(分数:2.00)A.B.C.D.29.以下叙述中正确的是_。A) 全局变量的作用域一定比局部变量的作用域范围大B) 静态(statiC) 类别变量的生存期贯穿于整个程序的运行期间C) 函数的形参都属于全局变量D) 未在定义语句中赋初值的 aut
13、o 变量和 static 变量的初值都是随机值(分数:2.00)A.B.C.D.30.设定义下列结构体,结构体变量 p 的出生年份赋值正确的语句是( )。Struct stint x;inty;int z;Struct workerchar name20;char sex;struct st birth;p;A) x=1987 B) birth.x=1987; C) p.birth.x=1987;D) p.x=1987;(分数:1.00)A.B.C.D.31.有以下程序#includestdiu.hmain()FILE*fp;int a10=1,2,3,i,n;fp=fopen(“d1.dat
14、“,“w“);for(i=0;i3;i+)fprintf(fp,“%d“,ai);fprintf(fp,“/n“);fclose(fp);fp=fopen(“d1.dat“,“r“):fscanf(fp,“%d“, int a20;void f(struct S *P)int i,j,t;for(i=0;in-1;i+)for(j=j+1;jn-1;j+)if(p-aip-aj)t=p-ai;p-ai=p-aj;p-aj=tmain()int i;struct S s10,2,3,1,6,8,7,5,4,10,9;f(s);for(i=0;iS.N;i+)NBSP;PRINTF(“%D“,S.
15、AI);程序运行后的输出结果是_。(A) 3(B) 4(C) 5(D) 6(分数:2.00)A.B.C.D.33.已知函数的调用形式为 fread(buf,size,count,fp),参数 buf 的含义是A) 一个整型变量,代表要读入的数据项总数 B) 一个文件指针,指向要读的文件C) 一个指针;指向要读入数据的存放地址 D) 一个存储区,存放要读的数据项(分数:2.00)A.B.C.D.34.下列程序的输出结果是( )。#include stdio.hmain()struct stint y,x,z;unionlong i;int j;char k;un;printf(“%d,%d/n“
16、,sizeof(struct st),sizeof(un);A) 6, 2 B) 6, 4 C) 8, 4 D) 8, 6(分数:2.00)A.B.C.D.35.以下程序运行后的输出结果是#includestdio.hmain( )FILE *fp;int i=20,j=30,k,n;fp=fopen(“d1.dat“,“w“);fprintf(fp,“%d/n“,i);fprintf(fp,“%d/n“,j);fclose(fp);fp=fopen(“d1.dat“,“r“);fscanf(fp,“%d%d“, printf(“%d%d/n“, a, b); (分数:2.00)填空项 1:_
17、45.语句:x+;+x;x1/x;执行后都使变量 x 中的值增 1,请写出一条同一功能的赋值语句 1。(分数:2.00)填空项 1:_46.下面程序的输出结果是_。maim( )char b=“Hello you“;b5=0;printf(“%s/n“,b);(分数:2.00)填空项 1:_47.要求使下列程序输出 5 个整数,请填空。for(i=0;i=_;printf(“%d/n“,i+=2);(分数:2.00)填空项 1:_48.在 C 语言中,while 和 dowhile 循环的主要区别是 1 的循环至少被执行一次。(分数:2.00)填空项 1:_49.下列程序的运行结果是_。#in
18、cludestdio.hlong func(int x)long p;if(x=Ox=1)return(1);p=x*func(x-1);return(p);main()printf(“%d/n“,func(4);(分数:2.00)填空项 1:_50.下列程序舶输出结果是U /U。#include stdio.hmain()int a5=2,4,6,8,10,*p;p=a;p+;printf(“%d“,*p);(分数:1.50)填空项 1:_51.以下程序运行后的输出结果是U /U。main()int i,j,a3=1,2,3,4,5,6,7,8,9;for(i=0;i3;i+)for(j=i
19、+1;j3;j+)aji=0;for(i=0;i3;i+)for(j=0;j3;j+)printf(“%d“,aij);printf(“/n“);(分数:2.00)填空项 1:_52.以下程序段打开文件后,先利用 fseek 函数将文件位置指针定位在文件末尾,然后调用 ftell 函数返回当前文件位置指针的具体位置,从而确定文件长度。请填空。FILE * myf;long f1;myf=U /U(“test.t“,“rb“);fseek(myf,0,SEEK END) ;f1=ftell(myf);fclose(myf);printf(“%d/n“,f1);(分数:2.00)填空项 1:_二级
20、 C 语言笔试-447 答案解析(总分:96.50,做题时间:90 分钟)一、选择题(总题数:40,分数:67.00)1.若某二叉树的前序遍历访问顺序是 abdgcefh,中序遍历访问顺序是 dgbaechf,则其后序遍历的结点访问顺序是( )。A) bdgcefha B) gdbecfha C) bdgaechf D) gdbehfca(分数:1.00)A.B.C.D. 解析:解析 前序遍历的第一个结点 a 为树的根结点;中序遍历中 a 左边的结点为 a 的左子树, a 右边的结点为 a 的右子树;再分别对 a 的左右子树进行上述两步处理,直到每个结点都找到正确的位置。2.下列叙述中错误的是
21、( )。A) 线性表是由 n 个元素组成的一个有限序列B) 线性表是一种线性结构C) 线性表的所有结点有且仅有一个前件和后件D) 线性表可以是空表(分数:2.00)A.B.C. D.解析:解析 线性表是一种线性结构,由 n(nO)个元素组成,所以线性表可以是空表。但是在线性表中,第一个结点没有前件,最后一个结点没有后件,其他结点有且只有一个前件和后件,所以选项 C)是错误的。3.树是结点的集合,它的根结点的数目是( )。A) 有且只有 1 个 B) 1 或多于 1C) 0 或 1 D) 至少有 2 个(分数:2.00)A.B.C. D.解析:解析 树具有明显的层次关系,即树是一种层次结构。在树
22、结构中,根结点在第一层上。当树为非空时,树中有且只有一个根结点,当树为空时,树中根结点的数目为 0。4.结构化程序设计方法的 3 种基本控制结构中不包括A) 循环结构 B) 递归结构 C) 顺序结构 D) 选择结构(分数:2.00)A.B. C.D.解析:命题目的 本题考查了程序的基本结构。解题要点 程序由一些基本结构组成。任何一个大型的程序都由 3 种基本结构组成,由这些基本结构顺序的构成了一个结构化的程序。这 3 种基本结构为:顺序结构、选择结构和循环结构。考点链接 条件语句和分支语句。5.下列叙述中正确的是( )。A) 在模块化程序设计中,一个模块应该尽量多的包括与其他模块联系的信息B)
23、 在自顶向下、逐步细化的设计过程中,首先应设计解决问题的第一个细节C) 在模块化程序设计中,一个模块内部的控制结构也要符合结构化原则D) 在程序设计过程中,不能同时采用结构化程序设计方法与模块化程序设计方法(分数:2.00)A.B.C. D.解析:解析 在模块化程序设计中,模块之间的联系可以通过程序的控制结构来实现,在自顶向下、逐步细化的设计过程中,首先要考虑全局目标,而不是细节。在程序设计中模块化和结构化可以同时使用,一个模块的内部结构也要符合结构化设计原则。6.数据库 DB、数据库系统 DBS、数据库管理系统 DBMS 之间的关系是( )。A) DB 包括 DBS 和 DBMS B) DB
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 447 答案 解析 DOC
