【计算机类职业资格】二级C语言模拟651及答案解析.doc
《【计算机类职业资格】二级C语言模拟651及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言模拟651及答案解析.doc(26页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言模拟 651 及答案解析(总分:124.00,做题时间:90 分钟)一、选择题(总题数:40,分数:54.00)1.数据流图中带有箭头的线段表示的是_。(分数:1.00)A.控制流B.事件驱动C.模块调用D.数据流2.以下叙述中错误的是_。(分数:1.00)A.用户定义的函数中可以没有 return 语句B.用户定义的函数中可以有多个 return 语句,以便可以调用一次返回多个函数值C.用户定义的函数中若没有 return 语句,则应当定义函数为 void 类型D.函数的 return 语句中可以没有表达式3.有以下程序段: int k=0,a=1,b=2,c=3; k=ab?
2、b:a;k=kc?c:k; 执行该程序段后,k 的值是_。(分数:2.00)A.3B.2C.1D.04.若有以下程序 #includestdio.h main() int a=-2,b=0; while(a+) +b; printf(“%d,%d/n“,a,b); 则程序的输出结果是_。(分数:2.00)A.2,3B.0,2C.1,3D.1,25.下面四个选项中,均是不正确的八进制数或十六进制数的选项是(分数:1.00)A.016 0x8f 018B.0abc 017 0xaC.010 -0x11 0x16D.0a12 7ff -1236.有以下程序: #include stdio.h #in
3、clude string.h void fun(char *s, int n) char *t; int i,j; for(i=0; in-1; i+ +) for(j=i+1; jn; j+ +) if(strlen(si) strlen(sj) t=si;si=sj;sj=t; main( ) char *ss=“bcc“,“bbcc“,“xy“,“aaacc“,“aabcc“; fun(ss,5); printf(“%s,%s/n“,ss0,ss4); 程序的运行结果是_。(分数:2.50)A.aaaacc,xyB.xy,aaaaccC.bcc,aabccD.aabcc,bcc7.以下程
4、序的运行结果为_。 #define MIN(x,y)(x)(y)?(x):(y) main() int a=0,b=3,c=1,d=3,X; X=MIN(c+d,a+b)*100; printf(“%d/n“,X); (分数:2.00)A.300B.4C.3D.4008.有以下程序段 int *p; p=_malloc(sizeof(int); 若要求使 p 指向一个 int 型的动态存储单元,在横线处应填入的是_。(分数:2.00)A.(int*)B.intC.int*D.(*int)9.有以下程序 #includestdio.h void fun(char*a,char*b) while(
5、*a=“*“)a+; while(*b=*a)b+;a+; main() char*s=“*a*b*“,t80; fun(s,t);puts(t); 程序的运行结果是_。(分数:1.00)A.a*b*B.a*bC.*a*bD.ab10.对于循环队列,下列叙述中正确的是_。(分数:2.50)A.队头指针是固定不变的B.队头指针一定大于队尾指针C.队头指针一定小于队尾指针D.队头指针可以大于队尾指针,也可以小于队尾指针11.有以下程序: #include stdio.h main() char *s 6=“ABCD“,“EFGH“,“IJKL“,“MNOP“,“QRST“,“UVWX“*p; in
6、t i; p=s; for( i=0; i4; i+ ) printf(“%s“,pi); printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.ABCDEFGHIJKLMNOPB.ABCDEFGHIJKLC.ABCDD.AEIM12.有以下程序 #includestdio.h void f(int*q) int i=0; for(;i5;i+)(*q)+; main() int a5=1,2,3,4,5,i; f(a); for(i=0;i5;i+)printf(“%d,“,ai); 程序运行后的输出结果是_。(分数:1.00)A.6,2,3,4,5,B.2,2,3,4
7、,5,C.1,2,3,4,5,D.2,3,4,5,6,13.以下叙述中正确的是_。(分数:1.00)A.当对文件的读(写)操作完成之后,必须将它关闭,否则可能导致数据丢失B.打开一个已存在的文件并进行了写操作后,原有文件中的全部数据必定被覆盖C.在一个程序中当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到第 1 个数据D.C 语言中的文件是流式文件,因此只能顺序存取数据14.有以下程序: #includestdio.h struct Sint n;int a20; void f(int*a,int n) int i; for(i=0;in-1;i+) ai+=i; main() i
8、nt i; struct S s=10,2,3,1,6,8,7,5,4,10,9; f(s.a,s.n); for(i=0;is.n;i+) printf(“%d,“,s.ai); 程序运行后的输出结果是_。(分数:1.00)A.2,3,1,6,8,7,5,4,10,9,B.3,4,2,7,9,8,6,5,11,10,C.2,4,3,9,12,12,11,11,18,9,D.1,2,3,6,8,7,5,4,10,9,15.以下选项中叙述错误的是_。(分数:1.00)A.C 程序函数中定义的自动变量,系统不自动赋确定的初值B.在 C 程序的同一函数中,各复合语句内可以定义变量,其作用域仅限本复合
9、语句内C.C 程序函数中定义的赋有初值的静态变量,每调用一次函数,赋一次初值D.C 程序函数的形参不可以说明为 static 型变量16.有以下程序段: struct st int x; int *y; *pt; int a=1,2, b=3,4; struct st c2=10,a,20,bt; pt=c; 以下选项中表达式的值为 11 的是_。(分数:2.00)A.+pt-xB.pt-xC.*pt-yD.(pt+)-x17.若有以下定义和语句 ( ) int u010,vOx10,w10; printf(“%d,%d%d/n“,u,v,w); 则输出结果是(分数:1.00)A.8,16,1
10、0B.10,10,10C.8,8,10D.8,10,1018.设有以下语句: int a=1,b=2,c; c=a(b2); 执行后,c 的值为 _ 。(分数:1.00)A.6B.7C.8D.919.有如下程序: main() int x=1, a=0, b=0; switch(x) case 0: b+; case 1: a+; case 2: a+; b+; printf(“a=%d, b=%d/n“, a, b); 该程序的输出结果是_。(分数:2.50)A.a=2,b=1B.a=1,b=1C.a=1,b=0D.a=2,b=220.若变量均已正确定义并赋值,以下合法的 C 语言赋值语句是
11、_。(分数:1.00)A.x=y=5;B.x=n%2.5;C.x+n=i;D.x=5=4+1;21.有以下程序段: int i,n; for(i=0;i8;i+) n=rand()%5; switch(n) case 1: case 3:printf(“%d/n“,n); break; case 2: case 4:printf(“%d/n“,n); continue; case 0:exit(0); printf(“%d/n“,n); 以下关于程序段执行情况的叙述,正确的是_。(分数:1.00)A.for 循环语句固定执行 8 次B.当产生的随机数 n 为 4 时结束循环操作C.当产生的随机
12、数 n 为 1 和 2 时不做任何操作D.当产生的随机数 n 为 0 时结束程序运行22.有以下程序: #includestdio.h #includestring.h main() char p20=“a“,“b“,“c“,“d“,q=“abc“,r=“abcde“; strcat(p,r);strcpy(p+strlen(q),q); printf(“%d/n“,strlen(p); 程序运行后的输出结果是_。(分数:1.00)A.11B.9C.6D.723.if 语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是_。(分数:1.00)A.必须是逻辑值B.必须是整数
13、值C.必须是正数D.可以是任意合法的数值24.不能把字符串“Hello!“赋给数组 b 的语句是_。(分数:1.00)A.char b10=“H“,“e“,“l“,“l“,“o“,“!“;B.char b10=“h“,“e“,“l“,“l“,“o“,“!“;C.char b10;strcpy(b,“Hello!“);D.char b10=“Hello!“;25.有以下程序: # include stdio.h main() char a,b,c; b=“1“;c=“A“; for(a=0;a6;a+) if(a%2) putchar(b+a); else putchar(c+a); 程序运行后
14、的输出结果是_。(分数:1.00)A.1B3D5FB.ABCDEFC.A2C4E6D.12345626.下列叙述中正确的是( )。(分数:1.00)A.数据库系统是一个独立的系统,不需要操作系统的支持B.数据库技术的根本目标是要解决数据的共享问题C.数据库管理系统就是数据库系统D.以上 3 种说法都不对27.有以下程序: #includestdio.h main( ) int sum=0,x=5; dosum+=x;while(!-x); printf(“%d/n“,sum); 程序的运行结果是_。(分数:1.00)A.0B.5C.14D.1528.有以下程序: #include stdio.
15、h struct S int a;int b; main( ) struct S a, *p= a.a=99; printf(“%d/n“,_); 程序要求输出结构体中成员 a 的数据,以下不能填入横线处的内容是_。(分数:1.00)A.aB.*p.aC.p-aD.(*p).a29.有以下程序: #includestdio.h int fun(int(*s)4,int n,int k) int m,i; m=s0k; for(i=1;in;i+) if(sikm) m=sik; return m; main() int a44=1,2,3,4, 11,12,13,14, 21,22,23,24
16、, 31,32,33,34; printf(“%d/n“,fun(a,4,0); 程序运行后的输出结果是_。(分数:1.00)A.4B.34C.31D.3230.以下对 C 语言中联合类型数据的正确叙述是_。(分数:2.50)A.定义了联合变量后,即可引用该变量或该变量中的任意成员B.一个联合变量中可以同时存放其所有成员C.联合中的各个成员使用共同的存储区域D.在向联合中的一个成员进行赋值时,联合中其他成员的值不会改变31.有以下程序: main() int x,i; for(i=1;i=50;i+) x=i; if(x%2=0) if(x%3=0) if(x%7=0) printf(“%d,
17、i)“; 输出结果是_。(分数:1.00)A.28B.27C.42D.4132.下面能作为软件需求分析工具的是_。(分数:1.00)A.PAD 图B.程序流程图C.甘特图D.数据流程图(DFD 图)33.一间宿舍可住多个学生,则实体宿舍和学生之间的联系是_。(分数:1.00)A.一对一B.一对多C.多对一D.多对多34.以下程序的输出结果是_。 point(char*pt); main() char b4=“m“,“n“,“o“,“p“,*pt=b; point(pt); printf(“%c/a“,*pt); point(char*p) p+=3;(分数:2.00)ApBoCnDm35.有以
18、下程序 #includestdio.h int fun() static int x=1; x*=2;return x; main() int i,s=1; for(i=1;i=2;i+)s=fun(); printf(“%d/n“,s); 程序运行后的输出结果是_。(分数:1.00)A.0B.1C.4D.836.若有定义语句 int b=2; 则表达式(b2)/(3|b)的值是_。(分数:2.00)A.8B.2C.4D.037.有如下程序: #include stdio.h int sum(int*array,int len) if(len = 0) return array0; else
19、return array0+sum(array+1, len-1); main() int array5 = 1,2,3,4,5; int res = sum(array,4); printf(“%d/n“,res); 程序运行后的输出结果是_。(分数:1.00)A.15B.10C.8D.138.下面函数的功能是 _ 。 sss(s,t) char*s,*t; while(*s); while(*t) *(s+)=*(t+); return s; (分数:2.00)A.将字符串 s 复制到字符串 t 中B.比较两个字符串的大小C.求字符串的长度D.将字符串 t 续接到字符串 s 中39.有以下
20、程序段: #includestdio.h int j;float y;char name50; scanf(“%2d%f%s“,j,y,name); 当执行上述程序段,从键盘上输入 55566 7777abc 后,y 的值为_。(分数:1.00)A.566.0B.55566.0C.7777.0D.566777.040.设有定义 #includestdio.h #includestdlib.h typedef structint x,y;T; typedef structint x,y;*USER; USER fun() USER p; p=(USER)malloc(sizeof(T); p-x
21、=1; p-y=2; return p; 函数 fun 返回值的类型是_。(分数:1.00)A.T 类型的结构体B.指向结构体类型的指针C.int 类型的元素D.int 类型的指针二、程序填空题(总题数:1,分数:30.00)41.给定程序中,函数 fun 的功能是计算 x 所指数组中 N 个数的平均值(规定所有数均为正数),平均值通过形参返回主函数,将小于平均值且最接近平均值的数作为函数值返回,在主函数中输出。 例如,有 10 个正数:46 30 32 40 6 17 45 15 48 26,平均值为 30.500000。主函数中输出 m=30。 请在程序的下划线处填入正确的内容并把下划线删
22、除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANK1.C 中。 不得增行或删行,也不得更改程序的结构! 给定源程序如下。 #include stdlib.h #include stdio.h #define N 10 double fun(double x,double*av) int i,j;double d,s; s=0; for(i=0;iN;i+)s=s+xi; /*found*/ 1=s/N; d=32767; for(i=0;iN;j+) if(xi*avj= 2; /*found*/ return 3; main() int i; double xN=46,
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 模拟 651 答案 解析 DOC
