【计算机类职业资格】二级C语言笔试-449及答案解析.doc
《【计算机类职业资格】二级C语言笔试-449及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-449及答案解析.doc(33页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试-449 及答案解析(总分:99.50,做题时间:90 分钟)一、选择题(总题数:40,分数:66.00)1.下列叙述中错误的是( )。A) 一种数据的逻辑结构可以有多种存储结构B) 数据的存储结构与数据的处理效率无关C) 数据的存储结构与数据的处理效率密切相关D) 数据的存储结构在计算机中所占的空间不一定是连续的(分数:2.00)A.B.C.D.2.数据的存储结构是指( )。A) 数据所占的存储空间 B) 数据的逻辑结构在计算机中的存放形式C) 数据在计算机中的顺序存储方式 D) 存储在计算机外存中的数据(分数:2.00)A.B.C.D.3.下列叙述中正确的是_。A) 线性
2、链表是线性表的链式存储结构B) 栈与队列是非线性结构C) 双向链表是非线性结构D) 只有根结点的二叉树是线性结构(分数:2.00)A.B.C.D.4.为了使模块尽可能独立,要求A) 模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B) 模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱C) 模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱D) 模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强(分数:2.00)A.B.C.D.5.数据库设计的根本目标是要解决_。A) 数据共享问题 B) 数据安全问题C) 大量数据存储问题 D) 简化数据维护(分数:2.00)A.B.C.D.6.软件
3、(程序)调试的任务是( )。A诊断和改正程序中的错误 B尽可能多地发现程序中的错误C发现并改正程序中的所有错误 D确定程序中错误的性质(分数:1.00)A.B.C.D.7.有两个关系 R、S 如下:(分数:2.00)A.B.C.D.8.关系表中的每一横行称为一个A) 元组 B) 字段 C) 属性 D) 码(分数:2.00)A.B.C.D.9.有以下程序:main()unsignedchar a,b;a= 4|3;b=4printf(“%d%d/n“,a,b);执行后输出结果是 _。A) 7 0 B) 0 7 C) 1 1 D) 43 0(分数:2.00)A.B.C.D.10.数据库设计的四个阶
4、段是:需求分析、概念设计、逻辑设计和A) 编码设计 B) 测试阶段 C) 运行阶段 D) 物理设计(分数:2.00)A.B.C.D.11.设有表示学生选课的三张表,学生 S(学号,姓名,性别,年龄,身份证号),课程 C(课号,课名),选课 SC(学号,课号,成绩),则表 SC 的关键字(键或码)为_。A) 课号,成绩 B) 学号,成绩 C) 学号,课号 D) 学号,姓名,成绩(分数:2.00)A.B.C.D.12.在 ASCII 代码表中每一个大写字母比它相应的小写字母的 ASCII 码( )。A) 小 32 B) 小 64C) 大 32 D) 大 1(分数:2.00)A.B.C.D.13.下
5、列程序的运行结果是( )。main()int a=-5,b=1,c=1;int x=0,y=2,z=0;if(c0) x=x+y;if(a=0)if(b0)if(c=0) y= x - y;else if(c0) y=x-y;else z= y;printf(“%d,%d,%d/n“, x, y, z);A) 2,2,0 B) 2,2,2 C) 0,2,0 D) 2,0,2(分数:1.00)A.B.C.D.14.以下叙述中不正确的是( )。 A) 在不同的函数中可以使用相同的名字的变量 B) 函数中的形式参数是局部变量 C) 在一个函数内定义的变量只在本函数范围内有效 D) 在一个函数内的复合
6、语句中定义的变量在本函数范围内有效(分数:1.00)A.B.C.D.15.有以下程序main()int k=5;while(-k)printf(“%d“,k-=3);printf(“/n“);执行后的输出结果是_。(A) 1(B) 2(C) 4(D) 死循环(分数:1.00)A.B.C.D.16.若有定义语句 int a,b;double x;则下列选项中没有错误的是( )。 A) switch(x%2) cage 0:a+;break; case 1:b+;break; default:a+;b+; B) switch(int)x/2.0) ease 0:a+;break; case 1:b
7、+;break; default:a+;b+; C) switeb(int)x%2) case 0:a+;break; case 1:b+;break; default:a+;b+; D) switch(int)(x)%2) case 0.0:a+;break; case 1.0:b+;break; default:a+;b+; (分数:1.00)A.B.C.D.17.若有说明语句:int a,b,c,*d=,则能正确从键盘读入 3 个整数分别赋给变量 a、b、c 的语句是 _。A) scanf(“%d %d %d“,B) scanf(“%d %d %d“,C) scanf(“%d %d %d
8、“,a,b,d);D) scanf(“% d% d%d“,a,b,*d);(分数:1.00)A.B.C.D.18.若变量已正确定义,下列正确的程序段是( )。A) while(ch=getchar()=/N)putchar(ch);B) while(ch=getchar()=/n)putchar(ch);C) while(ch=getchar()!=/N)putchar(ch);D) while(ch=getchar()!=/n)putchar(ch);(分数:2.00)A.B.C.D.19.有以下程序:# includestdio.hmain()char c1=1,c2=2;c1=getch
9、ar();c2=getchar();putchar(c1);putchar(c2);当运行时输入:a回车后,以下叙述正确的是 _。A) 变量 c1 被赋予字符 a,c2 被赋予回车符B) 程序将等待用户输入 2 个字符C) 变量 c1 被赋予字符 a,c2 中仍是原有字符 2D) 变量 c1 被赋予字符 a,c2 中将无确定值(分数:2.00)A.B.C.D.20.有以下程序:#includestdio.h#includestring.hvoid fun(char*s,int n)char*t;int i,j;for(i=0;in-1;i+)for(j=i+1;jn;j+)if(strlen(
10、si)strlen(sj)t=si;si=sj;sj=t;main()Char*ss=“bcc“,“bbcc“,“xy“,“aaaacc“,“aabcc“;fun(ss,5);printf(“%s,%s/n“,ss0,ss4);程序的运行结果是_。A) xy,aaaacc B) aaaacc,xy C) bcc,aabcc D) aabcc,bcc(分数:2.00)A.B.C.D.21.以下程序的输出结果是#includestdio.hinfun(int n,int *s)int n,f2;if(n=0n=1)*s=1;elsefun(n-1,printf(“%d/n“,m);程序的运行结果是
11、A) 0 B) 1 C) 2 D) 3(分数:1.00)A.B.C.D.23.有以下程序 A:int f1(int x,int y) return xy?x:y; int f2(int x,int y) return xy?y:x; )main()int a=4,b=3,c=5,d=2,e,f,g;e=f2(f1(a,b),f1(c,d);f=f1(f2(a,b),f2(c,d);g=a+b+c+d-e-f;printf(“%d,%d,%d/n“,e,f,g);程序运行后的输出结果是_。A) 4,3,7 B) 3,4,7 C) 5,2,7 D) 2,5,7(分数:2.00)A.B.C.D.24
12、.有以下程序:#includestdio.hvoid WriteStr(char *fn, char *sir)FILE * fP;fP=fopen(fn,“w“);fput6(str,fp);fclose(fp);main()WriteStr(“t1.dar“,“start“);WrlteStr(“t1dat“,“end“);程序运行后,文件 t1.dat 中的内容是( )。A) start B) end C) startend D) endrt(分数:1.00)A.B.C.D.25.下面函数调用语句含有实参的个数为func(exp1,exp2)(exp3,exp4,exp5);A) 1 B
13、) 2 C) 4 D) 5(分数:2.00)A.B.C.D.26.若有语句:char *line5;以下叙述中正确的是( )。A) 定义 line 是一个数组,每个数组元素是一个基类型为 char 的指针变量B) 定义 line 是一个指针变量,该变量可以指向一个长度为 5 的字符型数组C) 定义 line 是一个指针数组,语句中的号称为求地址运算符D) 定义 line 是一个指向字符型函数的指针(分数:1.00)A.B.C.D.27.有下列程序:main()int k=5,n=0;doswitch(k)case 1: case 3:n+=1;k-;break;default:n=0;k-;c
14、ase 2: case 4;n+=2;k-;break;printf(“%d“,n);while(k0 程序运行后的输出结果是( )。A) 235 B) 0235 C) 02356 D) 2356(分数:2.00)A.B.C.D.28.有以下程序#includestdio.h#define N 4void fun(int aN,int b)int i;for(i=0;iN;i+)bi=aii-aiN-1-i;void main()int xNN=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,yN,i;fun(x,y);for(i=0;iN;i+)printf(“
15、%d,“,yi);printf(“/n“);程序运行后的输出结果是( )。A)-12,-3,0,0, B)-3,-1,1,3, C)0,1,2,3, D)-3,-3,-3,-3,(分数:2.00)A.B.C.D.29.以下函数按每珩 8 个输出数组中的数据void fun( iht*w, int n)inti;for(i=0;in,i+)_printf(“%d“,wi);printf(“/n“);下划线处应填入的语句是_。A) if(i/80)printf(“/n); B) if(i/8=0)continue;C) if(i%8=0)printf(“/n“); D) if(i%8=0)cont
16、inue;(分数:2.00)A.B.C.D.30.有以下程序:#includestdio.hmain()int a5=1,2,3,4,5,b5=0,2,1,3,0,i,s=0;for(i=0;i5;i+)s=s+abi;printf(“%d/n“,s);程序运行后的输出结果是( )。A6 B10 C11 D15(分数:1.00)A.B.C.D.31.有以下程序#includestdio.hmain()FILE*fp;int i,a6=1,2,3,4,5,6;fp=fopen(“d3dat“,“w+b“);fwrite(a,sizeof(int),6,fp);fseek(fp,sizeof(in
17、t),3,SEEK_SET);/*该语句使读文件的位置指针从文件头向后移动 3 个 int 型数据*/fread(a,sizeof(int),3,fp);fclose(fp);for(i=0;6;+)printf(“%d,“,ai);程序运行后的输出结果是A) 4,5,6,4,5,6, B) 1,2,3,4,5,6,C) 4,5,6,1,2,3, D) 6,5,4,3,2,1,(分数:2.00)A.B.C.D.32.有以下程序:#includestdio.hvoid fun(char *c,int d)*c=*c+1;d+=1;printf(“%c,%c“,*c,d);main()char a
18、=F,b=f;fun(printf(“%c,%c/n“,a,b);程序的输出结果为( )。A) g,GF,g B) g,FF,g C) G,fF,G D) f,gf,g(分数:2.00)A.B.C.D.33.以下语句定义正确的是( )。 A) int a14=1,2,3,4,5; B) float a31=1,2,3; C) long a23=1,1,2,1,2,3,0,0;D)double a3=0;(分数:2.00)A.B.C.D.34.在 C 语言中引用数组元素时,其数组下标的数据类型只能是( )。A) 整型常量 B) 整型表达式C) 整型常量或整型表达式 D) 任何类型的表达式(分数:
19、1.00)A.B.C.D.35.下面函数的功能是( )。 sss(s,t) char*s,*t; while(*s); while(*t) *(s+)=*(t+); return s; A) 将字符串 s 复制到字符串 t 中 B) 比较两个字符串的大小 C) 求字符串的长度 D) 将字符串 t 续接到字符串 s 中(分数:2.00)A.B.C.D.36.下述程序向文件输出的结果是 _。#includestdio.hvoid main()FILE*fp=fopen(“TEST“,“wb“);fprintf(fp,“%5.0f%c%d“,58,76273.0-,2278);fclose(fp);
20、A) 58 76273-2278 B) 5876273.000000-2278C) 5876273-2278 D) 因文件为二进制文件而不可读(分数:2.00)A.B.C.D.37.有以下定义和语句:struet workersint num;char name20;char c;Structint day;int month;int year;s;struct workers w,*pw;pw=a=c;c=t;if(acbc)t=b;b=a;a=tprintf(“%d%d%d/n“,a,b,c);(分数:2.00)填空项 1:_48.以下程序运行后的输出结果是_。void swap(int
21、x,int y)int t;t=x;x=y;y=t;printf(“%d%d“,x,y);main()int a=3,b=4;swap(a,b); printf(“%d%d/n“,a,b);(分数:2.00)填空项 1:_49.以下程序的功能是:求出数组 x 中各相邻两个元素的和依次存放到 a 数组中,然后输出。请填空。main( )int x10,a9,i;for(i=0;i10;i+) scanf(“%d“,xi);for(U /U;i10;i+)ai-1=xi+U /U;for(i=0;i9;i+) printf(“%d“,ai);printf(“);(分数:4.00)填空项 1:_50
22、.以下程序的运行结果是U /U。# includestring.htypedef struct studentchar name10;long sno);float scoreSTU;main()STU a=“zhangsan“,2001,95,b=“Shangxian“,2002,90c=“Anhua“,2003,95,d,*p=d=a;if(strcmp(a.name,b.name)0)d=b;if(strcmp(c.name,d.name)0)d=c;printf(“%1d%s/n“,d.sno,p-name);(分数:2.00)填空项 1:_51.请将下列程序中的函数声明语句补充完整。
23、#includestdio.hint_;main()int x,y(*p)( );scanf(“%d%d“,a+=3;printf(“%d“,a);main()int cc;for(cc=1;cc=4;cc+)fun();printf(“/n“);(分数:2.00)填空项 1:_53.以下程序运行后的输出结果是U /U。# includestring.hvoid fun(char *s,int p,int k)int i;for(i=p;ik-1;i+)si=si+2;main()char s=“abcdefg“;fun(s,3,strlen(s);puts(s);(分数:2.00)填空项 1
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 449 答案 解析 DOC
