【计算机类职业资格】二级C语言-77及答案解析.doc
《【计算机类职业资格】二级C语言-77及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言-77及答案解析.doc(23页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言-77 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:40.00)1.下列数据结构中,属于非线性结构的是_。(分数:1.00)A.循环队列B.带链队列C.二叉树D.带链栈2.下列数据结构中,能够按照“先进后出”原则存取数据的是_。(分数:1.00)A.循环队列B.栈C.队列D.二叉树3.对于循环队列,下列叙述中正确的是_。(分数:1.00)A.队头指针是固定不变的B.队头指针一定大于队尾指针C.队头指针一定小于队尾指针D.队头指针可以大于队尾指针,也可以小于队尾指针4.算法的空间复杂度是指_。(分数:1.00)A.算法在执行过程中所需要的计
2、算机存储空间B.算法所处理的数据量C.算法程序中的语句或指令条数D.算法在执行过程中所需要的临时工作单元数5.软件设计中划分模块的一个准则是_。(分数:1.00)A.低内聚低耦合B.高内聚低耦合C.低内聚高耦合D.高内聚高耦合6.下列选项中不属于结构化程序设计原则的是_。(分数:1.00)A.可封装B.自顶向下C.模块化D.逐步求精7.软件详细设计产生的图如下: (分数:1.00)A.N-S 图B.PAD 图C.程序流程图D.E-R 图8.数据库管理系统是_。(分数:1.00)A.操作系统的一部分B.在操作系统支持下的系统软件C.一种编译系统D.一种操作系统9.在 E-R 图中,用来表示实体联
3、系的图形是_。(分数:1.00)A.椭圆形B.矩形C.菱形D.三角形10.有三个关系 R,S 和 T 如下: R A B C a 1 2 b 2 1 c 3 1 S A B C d 3 2 T A B C a 1 2 b 2 1 c 3 1 d 3 2 其中关系 T 由关系 R 和 S 通过某种操作得到,该操作为_。(分数:1.00)A.选择B.投影C.交D.并11.以下关于结构化程序设计的叙述中正确的是_。(分数:1.00)A.由三种基本结构构成的程序只能解决小规模的问题B.结构化程序使用 goto 语句会很便捷C.一个结构化程序必须同时由顺序、分支、循环三种结构组成D.在 C 语言中,程序
4、的模块化是利用函数实现的12.对于一个正常运行的 C 程序,以下叙述中正确的是_。(分数:1.00)A.程序的执行总是从 main 函数开始B.程序的执行总是从程序的第一个函数开始,在 main 函数结束C.程序的执行总是从 main 函数开始,在程序的最后一个函数中结束D.程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束13.以下选项中能表示合法常量的是_。(分数:1.00)A.“/007“B.1.5E2.0C.“/“D.1,20014.以下定义语句中正确的是_。(分数:1.00)A.int a=b=0;B.char A=65+1,b=“b“;C.float a=1,*b=D
5、.double a=0.0;b=1.1;15.若变量 x、y 已正确定义并赋值,以下符合 C 语言语法的表达式是_。(分数:1.00)A.+x,y=x-B.x+1=yC.x=x+10=x+yD.double(x)/1016.若变量已正确定义为 int 型,要通过语句 scanf(“%d,%d,%d“,给 a 赋值 1、给 b 赋值 2、给c 赋值 3,以下输入形式中错误的是_(注:代表一个空格符)。(分数:1.00)A.123B.1,2,3C.1,2,3D.1,2,317.以下不能输出字符 A 的语句是_(注:字符 A 的 ASCII 码值为 65,字符 a 的 ASCII 码值为 97)。(
6、分数:1.00)A.printf(“%c/in“,65);B.printf(“%c/in“,“a“-32);C.printf(“%d/n“,“A“);D.printf(“%c/n“,“B“-1);18.若 a 是数值类型,则逻辑表达式(a=1)(a!=1)的值是_。(分数:1.00)A.a 的值不确定B.0C.2D.119.设有定义: int a=1, b=2, c=3; 以下语句中执行效果与其他三个不同的是_。(分数:1.00)A.if(ab) c=a; a=b; b=c;B.if(ab) c=a, a=b, b=c;C.if(ab) c=a, a=b, b=c;D.if(ab) c=a;
7、a=b; b=c;20.有以下程序 #include stdio.h main() int y=10; while(y-); printf(“y=%d/n“,y); 程序执行后的输出结果是_。(分数:1.00)A.y=0B.y=-1C.y=1D.while 构成无限循环21.有以下程序 #include stdio.h main() int i,j; for(i=1;i4;i+) for(j=i;j4;j+) printf(“%d*%d=%d “,i,j,i*j); printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.1*1=1 1*2=2 1*3=32*2=4 2*3
8、=63*3=9B.1*1=1 1*2=2 1*3=32*1=2 2*2=43*1=3C.1*1=11*2=2 2*2=41*3=3 2*3=6 3*3=9D.1*1=12*1=2 2*2=43*1=3 3*2=6 3*3=922.有以下程序 #include stdio.h main() int i=5; do if(i%3=1) if(i%5=2) printf(“*%d“,i);break;) i+; while(i!=0); printf(“/n“); 程序的运行结果是_。(分数:1.00)A.*7B.*3*5C.*5D.*2*623.以下叙述中错误的是_。(分数:1.00)A.函数形参
9、的值也可以传回给对应的实参B.函数调用可以作为一个独立的语句存在C.若函数有返回值,必须通过 return 语句返回D.C 程序必须由一个或一个以上的函数组成24.有以下程序 #include stdio.h main() int a=1,b=3,c=5; int *p1= *p=*p1*(*p2); printf(“%d/n“,c); 执行后的输出结果是_。(分数:1.00)A.4B.2C.1D.325.有以下程序 #include stdio.h void f(int *p,int *q); main() int m=1,n=2,*r= f(r, printf(“%d,%d“, m,n);
10、 void f(int *p,int *q) p=p+1; *q=*q+1; 程序运行后的输出结果是_。(分数:1.00)A.1,3B.2,3C.1,4D.1,226.若有定义语句: int a23,*p3; 则以下语句中正确的是_。(分数:1.00)A.p0=B.p0=a;C.p=a;D.p1=27.以下程序中函数 f 的功能是:当 flag 为 1 时,进行由小到大排序;当 flag 为 0 时,进行由大到小排序。 #include stdio.h void f(int b,int n,int flag) int i,j,t; for(i=0;in-1;i+) for(j=i+1;jn;j
11、+) if(flag?bibj:bibj) t=bi;bi=bj;bj=t; main() int a10=5,4,3,2,1,6,7,8,9,10,i; f( f(a,5,1); for(i=0;i10;i+) printf(“%d,“,ai); 程序运行后的输出结果是_。(分数:1.00)A.1,2,3,4,5,6,7,8,9,10,B.3,4,5,6,7,2,1,8,9,10,C.5,4,3,2,1,6,7,8,9,10,D.10,9,8,7,6,5,4,3,2,1,28.有以下程序 #include stdio.h main() int s12=1,2,3,4,4,3,2,1,1,1,
12、2,3,c5=0,i; for(i=0;i12;i+) csi+; for(i=1;i5;i+) printf(“%d“,ci); printf(“/n“); 程序的运行结果是_。(分数:1.00)A.4 3 3 2B.2 3 4 4C.1 2 3 4D.1 1 2 329.设有定义: char *c; 以下选项中能够使 c 正确指向一个字符串的是_。(分数:1.00)A.char str=“string“;c=str;B.scanf(“%s“,c);C.c=getchar();D.*c=“string“;30.若有定义语句: char s10=“1234567/0/0“; 则 strlen(
13、s)的值是_。(分数:1.00)A.10B.8C.9D.731.有以下程序 #include stdio.h #include string.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.6B.9C.11D.732.有以下程序(注:字母 A 的 ASCII 码值是 65) #include stdio.h void fun(char *s) while(*s) if(
14、*s%2) printf(“%c“,*s); s+; main() char a=“BYTE“; fun(a); printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.YTB.BTC.YED.BY33.有以下程序 #include stdio.h int fun() static int x=1; x+=1; return x; main() int i,8=1; for(i=1;i=5;i+)s+=fun(); printf(“%d/n“,s); 程序运行后的输出结果是_。(分数:1.00)A.21B.11C.6D.12034.有以下程序 #include stdio.
15、h void fun2(char a,char b) printf(“%c%c“,a,b); char a=“A“,b=“B“; void fun1() a=“C“; b=“D“; main() fun1(); printf(“%c%c“,a,b); fun2(“E“,“F“); 程序的运行结果是_。(分数:1.00)A.C D E FB.A B E FC.A B C DD.C D A B35.以下关于 typedef 的叙述错误的是_。(分数:1.00)A.用 typedef 为类型说明一个新名,通常可以增加程序的可读性B.typedef 只是将已存在的类型用一个新的名字来代表C.用 typ
16、edef 可以为各种类型说明一个新名,但不能用来为变量说明一个新名D.用 typedef 可以增加新类型36.程序中已构成如下图所示的不带头结点的单向链表结构,指针变量 s、p、q、均已正确定义,并用于指向链表结点,指针变量 s 总是作为头指针指向链表的第一个结点。 (分数:1.00)A.首结点成为尾结点B.尾结点成为首结点C.删除首结点D.删除尾结点37.有以下程序 #include stdio.h #define S(x) 4*(x)*x+1 main() int k=5,j=2; printf(“%d/n“,S(k+j); 程序运行后的输出结果是_。(分数:1.00)A.143B.197
17、C.33D.2838.若有以下程序段 int r=8; printf(“%d/n“,r1); 输出结果是_。(分数:1.00)A.8B.4C.16D.239.以下叙述中错误的是_。(分数:1.00)A.getchar 函数用于从磁盘文件读入字符B.gets 函数用于从终端读入字符串C.fputs 函数用于把字符串输出到文件D.fwrite 函数用于以二进制形式输出数据到文件40.有以下程序 #include stdio.h main() FILE *pf; char *s1=“China“,*s2=“Beijing“; pf=fopen(“abc.dat“,“wb+“); fwrite(s2,
18、7,1,pf); rewind(pf); /*文件位置指针回到文件开头*/ fwrite(s1,5,1,pf); fclose(pf); 以上程序执行后 abc.dat 文件的内容是_。(分数:1.00)A.ChinangB.ChinaC.ChinaBeijingD.BeijingChina二、程序填空题(总题数:1,分数:20.00)41.给定程序中,函数 fun 的功能是:将形参 n 中各位上为偶数的数取出,并按原来从高位到低位相反的顺序组成一个新的数,并作为函数值返回。 例如,输入一个整数:27638496,函数返回值为:64862。 请在程序的下划线处填入正确的内容并把下划线删除,使程
19、序得出正确的结果。 注意:源程序存放在 的 BLANK1.C 中。 不得增行或删行,也不得更改程序的结构! 给定源程序: #include stdio.h unsigned long fun(unsigned long n) unsigned long x=0; int t; while(n) t=n%10; /*found*/ if(t%2= _ 1_ ) /*found*/ x= _ 2_ +t; /*found*/ n= _ 3_ ; return x; main() unsigned long n=-1; while(n99999999n0) printf(“Please input(
20、0n100000000):“); scanf(“%ld“, printf(“/nThe result is:%ld/n“,fun(n); (分数:20.00)三、程序改错题(总题数:1,分数:20.00)42.给定程序 MODI1.C 中函数 fun 的功能是:将长整型数中每一位上为奇数的数依次取出,构成一个新数放在 t 中。高位仍在高位,低位仍在低位。 例如,当 s 中的数为 87653142 时,t 中的数为 7531。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构! 给定源程序: #include stdio.h voi
21、d fun(long s,long *t) int d; long sl=1; /*found*/ t=0; while(s0) d=s%10; /*found*/ if(d%2=0) *t=d*sl+*t; sl*=10; s/=10; main() long s,t; printf(“/nPlease enter s:“);scanf(“%ld“, fun(s, printf(“The result is:%ld/n“,t); (分数:20.00)_四、程序设计题(总题数:1,分数:20.00)43.编写一个函数 fun,它的功能是:实现两个字符串的连接(不使用库函数 strcat),即把
22、 p2 所指的字符串连接到 p1 所指的字符串后。 例如,分别输入下面两个字符串: FirstString- SecondString 程序输出: FirstString-SecondString 注意:部分源程序存在文件 PROG1.C 中。 请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。 给定源程序: #include stdio.h void fun(char p1,char p2) main() char s180,s240; printf(“Enter s1 and s2:/n“); scanf(“%s%s“,s1,s2); pr
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 77 答案 解析 DOC
