【计算机类职业资格】二级C语言笔试-428及答案解析.doc
《【计算机类职业资格】二级C语言笔试-428及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-428及答案解析.doc(31页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试-428 及答案解析(总分:96.00,做题时间:90 分钟)一、选择题(总题数:40,分数:64.00)1.下列数据结构中,属于非线性的是( )。A) 线性表 B) 队列 C) 树 D) 栈(分数:2.00)A.B.C.D.2.设有如下关系表:(分数:2.00)A.B.C.D.3.下列工具中为需求分析常用工具的是( )。A) PAD B) PFD C) N-S D) DFD(分数:1.00)A.B.C.D.4.对长度为 n 的线性表进行顺序查找,在最坏情况下需要比较的次数为( )。A) 125 B) n/2 C) n D) n+1(分数:2.00)A.B.C.D.5.在长度
2、为 64 的有序线性表中进行顺序查找,最坏情况下需要比较的次数为_。A) 63 B) 64 C) 6 D) 7(分数:2.00)A.B.C.D.6.下列描述中正确的是_。A) 程序就是软件 B) 软件开发不受计算机系统的限制C) 软件既是逻辑实体,又是物理实体 D) 软件是程序、数据与相关文档的集合(分数:2.00)A.B.C.D.7.结构化分析方法是面向( )的自顶向下逐步求精进行需求分析的方法。A) 对象 B) 数据结构 C) 数据流 D) 目标(分数:2.00)A.B.C.D.8.将 E-R 图转换到关系模式时,实体与联系都可以表示成( )。A) 属性 B) 关系 C) 键 D) 域(分
3、数:1.00)A.B.C.D.9.有三个关系 R、S 和 T 如下: * 则由关系 R 和 S 得到关系 T 的操作是 A) 自然连接 B) 交 C) 投影 D) 并(分数:2.00)A.B.C.D.10.设变量已正确定义并赋值,以下正确的表达式是_。A) x=y*5=x+z B) int(15.8%5)C) x=y+z+5,+y D) x=25%5.0(分数:2.00)A.B.C.D.11.设有定义下列:inta=1,b=2,c=3,d=4,m=2,n=2;则表达式(m=aB) A) 14 B) 8 C) 5 D) 输出项不合法,无正常输出(分数:1.00)A.B.C.D.13.下列叙述中错
4、误的是( )。 A) 计算机不能直接执行用 C 语言编写的源程序 B) C 程序经 C 编译程序编译后,生成后缀为.obj 的文件是一个二进制文件 C) 后缀为.obj 的文件,经连接程序生成后缀为.exe 的文件是一个二进制文件 D) 后缀为.obj 和.exe 的二进制文件都可以直接运行(分数:1.00)A.B.C.D.14.以下叙述中正确的是_。(A) break 语句只能用于 switch 语句体中(B) continue 语句的作用是:使程序的执行流程跳出包含它的所有循环(C) break 语句只能用在循环体内和 switch 语句体内(D) 在循环体内使用 break 语句和 co
5、ntinue 语句的作用相同(分数:1.00)A.B.C.D.15.结构化程序由三种基本结构组成,三种基本结构组成的算法( )。A) 可以完成任何复杂的任务 B) 只能完成部分复杂的任务 C) 只能完成符合结构化的任务 D) 只能完成一些简单的任务(分数:1.00)A.B.C.D.16.以下叙述中不正确的是( )。 A) 在不同的函数中可以使用相同的名字的变量 B) 函数中的形式参数是局部变量 C) 在一个函数内定义的变量只在本函数范围内有效 D) 在一个函数内的复合语句中定义的变量在本函数范围内有效(分数:1.00)A.B.C.D.17.以下程序运行后的输出结果是#includestdio.
6、hmain()char s=“012xy“; int i, n=0;for(i=0; si!=0; i+)if(si=a printf(“%d/n“, n);A) 0 B) 2 C) 3 D) 5(分数:1.00)A.B.C.D.18.以下程序段中的变量已正确定义for(=0;i4;i+,i+)for(k=1;k3;k+);printf(“*“)程序段的输出结果是_。A) * B) * C) * D) *(分数:2.00)A.B.C.D.19.下面程序段的输出结果是( )。#includestdio.hmain()float x=1.236547;printf(“%f/n“,(int)(x*1
7、000+0.5)/(float)1000);A) 1.237000B) 输出格式说明与输出项不匹配,输出无定值C) 1.236000D) 1.24(分数:1.00)A.B.C.D.20.以下程序的输出结果是( )。main()char w10=“ABCD“,“EFGH“,“IJKL“,“MNOP“),K;for(k=1;k3;k+) printf(“%s/n“,wk);AABCDFGHKLBABCDEFGIJCEFGJKODEFGHIJKL(分数:1.00)A.B.C.D.21.下列选项中不是字符常量的是( )A) /V B) /x2a C) a D) “/0/(分数:2.00)A.B.C.D
8、.22.下列叙述中错误的是( )。A用户定义的函数中可以没有 return 语句B用户定义的函数中可以有多个 return 语句,以便可以调用一次返回多个函数值C用户定义的函数中若没有 return 语句,则应当定义函数为 void 类型D函数的 return 语句中可以没有表达式(分数:1.00)A.B.C.D.23.有以下程序:main()char p=a, b, c, q=“abc“;printf(“% d % d/n“, sizeof(p), sizeof(q);程序运行后的输出结果是_。A) 4 4 B) 3 3 C) 3 4 D) 4 3(分数:2.00)A.B.C.D.24.下列
9、程序执行输出的结果是( )。#includestdio.hf(int a)int b=0;static c=3;a=c+;b+;return(a);main()int a=2,i,k;for(i=0;i2;i+)k=f(a+);printf(“%d/n“,k);A) 3 B) 4 C) 5 D) 6(分数:2.00)A.B.C.D.25.有以下程序:voidf(int*x,int * y)int t;t= *x;*x= *y;*y=t;main()inta8=1,2,3,4,5,6,7,8,i,*p,*q;p=a;q= int i,j;for(i=0;iN-1;i+)for(j=i+1;jN;
10、j+)/*比较字符串的首字符大小,并交换字符串的首字符*/if(si0sj0) t=si0; si0=sj0; sj0=t;main()char s510=“bcc“,“bbcc“,“xy“,“aaaacc“,“aabcc“;fun(ss,5); printf(“%s,%s/n“, ss0,ss4);程序的运行结果是_。(A) xy,aaaacc(B) aaaacc,xy(C) xcc,aabcc(D) acc,xabcc(分数:2.00)A.B.C.D.30.若有说明语句:double*p,a;则能通过 scanf 语句正确给输入项读入数据的程序段是( )。A) *p=scanf(“%1f“
11、,p); B) *p=scanf(“%f“,p);C) p=scanf(“%1f“,*p); D) p=scanf(“%1f“,p);(分数:2.00)A.B.C.D.31.若运行以下程序时,从键盘输入 ADescriptorCR(CR表示回车),则下面程序的运行结果是( )。#includestdio.hmain()char c;int v0=1,v1=0,v2=0;do switch(c=getchar()casea:caseA:casee:caseE:casei:caseI:caseo:caseO:caseu:caseU:v1+=1:default:v0+=1;v2+=1;while(c
12、!=/n);printf(“v0=%d,v1=%d,v2=%d/n“,v0,v1,v2);A) v0=7,v1=4,v2=7 B) v0=8,v1=4,v2=8C) v0=11,v1=4,v2=11 D) v0=13,v1=4,v2=12(分数:2.00)A.B.C.D.32.若有以下定义和语句char s110=“abcd!“,*s2=“/n123/“;printf(“%d%d/n“,strlen(s1),strlen(s2);则输出结果是A) 5 5 B) 10 5 C) 10 7 D) 5 8A.B.C.D.33.有以下程序:#includestdio.h#define N 8void
13、fun(int*x,int i)*x=*(x+i);main()int aN=1,2,3,4,5,6,7,8),i;fun(a,2);for(i=0;iN/2;i+)printf(“%d“,ai);print*r(”/n”);程序运行后的输出结果是( )。A1313 B2234 C3234 D1234(分数:1.00)A.B.C.D.34.设已包含头文件string.h,下列程序段的运行结果是( )。char s1=“ACDEF“;char s2=“ABC“;strcpy(s1,s2);printf(“%d“,strlen(s1);A) 3 B) 4 C) 6 D) 5(分数:2.00)A.B
14、.C.D.35.有以下程序#include stdio.hvoid fun(int a,int n)int i,t;for(i=0;in/2;i+) t=ai; ai=an-1-i; an-1-i=t;main()int k10=1,2,3,4,5,6,7,8,9,10,i;fun(k,5);for(i=2;i8;i+) printf(“%d“,ki);printf(“/n“);程序的运行结果是_。A) 345678 B) 876543 C) 1098765 D) 321678(分数:2.00)A.B.C.D.36.有以下程序#include stdio.h#include string.ht
15、ypedef stmct char name9;char sex;float score2;STU;void f(STU a)STU b=“Zhao“,m,85.0,90.0; int i;strcpy(a.name,b.name) ;a.sex=b.sex;for(i=0;i2;i+) a.scorei=b.scorei;main( )STU c=“Qian“,f,95.0,92.0;f(c);printf(“%s,%c,%2.0f,%2.0f/n“,c.name,c.sex,c.score0,c.score1) ;程序的运行结果是A)Qian,f,95,92 B)Qian,m,85,90
16、C)Zhao,f,95,92 D)Zhao,m,85,90(分数:2.00)A.B.C.D.37.有以下程序:void swapl(int c0, int c1)int t;t=coo; coo=o1o; c1o=t;void swap2(int * c0, int * c1)int t;t=*c0; *c0=*c1; *c1=t;main()int a2=3, 5, b2=A3, 5);swapl(a, a+1); swap2(printf(“%d%d%d%d/n“, a0, a1, b0,b1);程序运行后的输出结果是_。A) 3 5 5 3 B) 5 3 3 5 C) 3 5 3 5 D
17、) 5 3 5 3(分数:2.00)A.B.C.D.38.下列程序的输出结果是( )。#includestdio.h#defineF(x)2.84+x#definew(y)printf(“%d“,(int(y)#defineP(y)w(y)pmchar(/nmain()int x2;P(F(5)*x);A) 12 B) 13 C) 14 D) 16(分数:2.00)A.B.C.D.39.以下 scanf 函数调用语句中对结构体变量成员的引用不正确的是char name20;pup5,*p;A) scanf(“%s“,pup0.name); B) scanf(“%d“, B) ch=62+3;
18、C) ch=NULL; D) ch=/xaa;(分数:2.00)A.B.C.D.二、填空题(总题数:15,分数:32.00)41.数据结构分为逻辑结构和存储结构,循环队列属于 1 结构。(分数:2.00)填空项 1:_42.一个项目具有一个项目经理,一个项目经理可管理多个项目,则实体“项目经理”与实体“项目”的联系属于 1 的联系。(分数:2.00)填空项 1:_43.在关系模型中,把数据看成一个二维表,每一个二维表称为一个U /U。(分数:2.00)填空项 1:_44.数据库系统的三级模式分别为U /U模式、内部级模式与外部级模式。(分数:2.00)填空项 1:_45.有以下程序:main(
19、)int t=1, i=5;for(; i=0; i-)t*=i;printf(“% d/n“, t);执行后的输出结果是U /U。(分数:2.00)填空项 1:_46.以下程序的运行结果是_。main()(int a=2,b=7,c=5;switch(a0)case 1:switch(b0)case 1:switch(“);break;case 2:printf(“!“);break;case 0:switch(c=5)case 0:printf(“*“);break;case 1:printf(“#“);break;case 2:printf(“$“);break;default:prin
20、tf (“);printf(“/n“);(分数:2.00)填空项 1:_47.在 C 语言中,while 和 dowhile 循环的主要区别是 1 的循环至少被执行一次。(分数:2.00)填空项 1:_48.语句“int(*ptr)1;”的含义是 2 是指向函数的指针,该函数返回一个 int 型数据。(分数:2.00)填空项 1:_49.下面程序的功能是:输出 100 以内能被 4 整除且个位数为 8 的所有整数,请填空。 main() int i,j; for(i=0=_;i+) j=i*10+8; if(j%4!=0)continue; printf(“%d“,j); (分数:2.00)填
21、空项 1:_以下程序的功能是输出如下形式的方阵:13 14 15 169 10 11 125 6 7 81 2 3 4请填空。main()int i,j,x;for(j=4; jU /U; j-)for(i=1; i=4; i+)x=(j-1)*4 +U /U;printf(“M“,x);printf(“/n“);(分数:4.00)填空项 1:_填空项 1:_50.以下程序的输出结果是_。#include stdio.hvoid swap(int *a, int *b)int *t;t=a;a=b;b=t;main( )int i=3,j=5,*p=i,*q=j;swap(p,q); prin
22、tf(“%d %d/n“,*p,*q);(分数:2.00)填空项 1:_51.以下程序的输出结果是_。#includestdlib.hmain()char*s1,*s2,m;s1=s2=(char*)malloc(sizeof(char);*s1=15;*s2=20;m=*s1+*s2:printf(“%d/n“,m);(分数:2.00)填空项 1:_52.“printf(“%d/n“,strlen(“/t/“/023/xAB/nC“);”语句的输出结果是_。(分数:2.00)填空项 1:_53.下面程序的功能:输出 100 以内能被 3 整除且个位数为 6 的所有整数,请填空。# inclu
23、destdio. hmain()int i, j;for(i=0; i10 或 i=9; i+)j=i*10+6;if(U /U)continue;printf(“% d“, j);(分数:2.00)填空项 1:_54.下列程序的字符串中各单词之间有一个空格,则程序的输出结果是U /U。#include stdio.h#include string.hmain()char str1=“How do you do“, *p1=str1;strcpy(str1+strlen(str1)/2,“es she“);printf(“%s/n“,p1);(分数:2.00)填空项 1:_二级 C 语言笔试-
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 428 答案 解析 DOC
