【计算机类职业资格】二级C语言-120及答案解析.doc
《【计算机类职业资格】二级C语言-120及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言-120及答案解析.doc(22页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言-120 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:40.00)1.程序调试的任务是_。(分数:1.00)A.设计测试用例B.验证程序的正确性C.发现程序中的错误D.诊断和改正程序中的错误2.数据库系统的三级模式不包括_。(分数:1.00)A.概念模式B.内模式C.外模式D.数据模式3.下列关于二叉树的叙述中,正确的是_。(分数:1.00)A.叶子结点总是比度为 2 的结点少一个B.叶子结点总是比度为 2 的结点多一个C.叶子结点数是度为 2 的结点数的两倍D.度为 2 的结点数是度为 1 的结点数的两倍4.软件按功能可以分为应用软件、
2、系统软件和支撑软件(或工具软件)。下面属于应用软件的是_。(分数:1.00)A.学生成绩管理系统B.C 语言编译程序C.UNIX 操作系统D.数据库管理系统5.若变量已正确定义为 int 型,要给 a、b、c 输入数据,正确的输入语句是_。(分数:1.00)A.read(a, b, c);B.scanf(“%d%d%d“, a, b, c);C.scanf(“%D%D%D“, D.scanf(“%d%d%d“, 6.某系统总体结构图如下图所示: (分数:1.00)A.7B.6C.3D.27.下列关于数据库设计的叙述中,正确的是_。(分数:1.00)A.在需求分析阶段建立数据字典B.在概念设计阶
3、段建立数据字典C.在逻辑设计阶段建立数据字典D.在物理设计阶段建立数据字典8.下列叙述中正确的是_。(分数:1.00)A.算法就是程序B.设计算法时只需要考虑数据结构的设计C.设计算法时只需要考虑结果的可靠性D.以上 3 种说法都不对9.下列关于线性链表的叙述中,正确的是_。(分数:1.00)A.各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B.各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续C.进行插入与删除时,不需要移动表中的元素D.以上 3 种说法都不对10.不合法的十六进制数是_。(分数:1.00)A.oxffB.0XabcC.0x11D.0x19
4、11.以下叙述中错误的是_。(分数:1.00)A.C 语言编写的函数源程序,其文件名后缀可以是 CB.C 语言编写的函数都可以作为一个独立的源程序文件C.C 语言编写的每个函数都可以进行独立的编译并执行D.一个 C 语言程序只能有一个主函数12.若有定义语句:“int k1=10, k2=20;”,执行表达式(k1=k1k2) double b=3.14;”,则表达式“A“+a+b 值的类型是_。(分数:1.00)A.charB.intC.dotlbleD.float15.若有定义语句:“int x=12, y=8, z;”,在其后执行语句“z=0.9+x/y;”,则 z 的值为_。(分数:1
5、.00)A.1.9B.1C.2D.2.416.若有定义:“int a, b;”,通过语句“scanf(“%d; %d“, ”,能把整数 3 赋给变量 a,5 赋给变量 b 的输入数据是_。(分数:1.00)A.3 5B.3,5C.3;5D.3517.以下选项中关于程序模块化的叙述错误的是_。(分数:1.00)A.把程序分成若干相对独立的模块,可便于编码和调试B.把程序分成若干相对独立、功能单一的模块,可便于重复使用这些模块C.可采用自低向上、逐步细化的设计方法把若干独立模块组装成所要求的程序D.可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序18.若有定义语句:double
6、a, *p=,以下叙述中错误的是_。(分数:1.00)A.定义语句中的*号是一个间址运算符B.定义语句中的*号只是一个说明符C.定义语句中的 p 只能存放 double 类型变量的地址D.定义语句中,*p= k=fun(a); (分数:1.00)A.double fun(double a15)B.double fun(double *a)C.double fun(double a)D.double fun(double a)20.有以下程序: #includestdio.h main() int a=7; while(a-); printf(“%d/n“, a); 程序运行后的输出结果是_。(
7、分数:1.00)A.-1B.0C.1D.721.以下不能输出字符 A 的语句是(注:字符 A 的 ASCII 码值为 65,字符 a 的 ASCII 码值为 97)_。(分数:1.00)A.printf(“%c/n“, “a“-32);B.printf(“%d/n“, “A“);C.printf(“%c/n“, 65);D.printf(“%c/n“, “B“-1);22.有以下程序(注:字符 a 的 ASCII 码值为 97) #includestdio.h main() char*s=“abc“ do printf(“%d“, *s%10“); +s; while(*s); 程序运行后的输
8、出结果是_。(分数:1.00)A.abcB.789C.7890D.97989923.有以下程序: #includestdio.h main() int a=1, b=0; if(-a)b+; else if(a=0) b+=2; else b+=3; printf(“%d/n“, b); 程序运行后的输出结果是_。(分数:1.00)A.0B.1C.2D.324.有以下程序: #includestdio.h double f(double x); main() double a=0; int i; for(i=0; i30; i+=10) a+=f(double)i); printf(“%5.0
9、f/n“, a); double f(double x) return x*x+1; 程序运行后的输出结果是_。(分数:1.00)A.503B.401C.500D.140425.有以下程序: #includestdio.h #includestring.h void fun(char*w, int m) char s, *p1, *p2; p1=w; p2=w+m-; while(p1p2)s=*p1; *p1=*p2; *p2=s; p1+; p2-; main() char a=“123456“; fun(a, strlen(a); puts(a); 程序运行后的输出结果是_。(分数:1.
10、00)A.654321B.116611C.161616D.12345626.以下定义数组的语句错误的是_。(分数:1.00)A.int num=1, 2, 3, 4, 5, 6;B.int num3=1, 2, 3, 4, 5, 6;C.int num24=1, 2, 3, 4, 5, 6;D.int num4=1, 2, 3, 4, 5, 6;27.有以下程序: #include stdio.h void fun(int *p) printf(“%d/n“, p5); main() int a10=1, 2, 3, 4, 5, 6, 7, 8, 9, 10; fun( 程序运行后的输出结果是
11、_。(分数:1.00)A.5B.6C.8D.928.有以下程序: #includestdio.h #define N 4 void fun(int aN, int b) int i; for(i=0; iN; i+) bi=aii-aiN-1-i; 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(“%d, “, yi); printf(“n“); 程序运行结果为_。(分数:1.00)A.-12,-3,0,0,B.-3,-
12、1,1,3,C.0,1,2,3,D.-3,-3,-3,-3,29.有以下程序: #includestdio.h main() FILE*fp; int k, n, i, a6=1, 2, 3, 4, 5, 6; fp=fopen(“d2.dat“, “w“); for(i=0; i6; i+)fprintf(fp, “%d/n“, ai); fclose(fp); fp(i=0; i3; i+) fseanf(fp, “%d%d“, fclose(fp); printf(“%d/n, %d/n, k, n); 程序运行后的输出结果是_。(分数:1.00)A.1,2B.3,4C.5,6D.123
13、,45630.若有定义语句:“char*s1=“OK“, *s2=“ok“;”,以下选项中,能够输出“OK”的语句是_。(分数:1.00)A.if(strcmp(s1, s2)=0) puts(s1);B.if(strcmp(s1, s2)!=0) puts(s2);C.if(strcmp(s1, s2)=1) puts(s1);D.if(strcmp(s1, s2)!=0) puts(s1);31.下列条件语句中,输出结果与其他语句不同的是_。(分数:1.00)A.if(a) printf(“%d n“, x); else printf(“%d/n“, y)B.if(a=0) pritf(“
14、%d n“, y); else 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)32.有以下程序: #includestdio.h #includestring.h main() char a510=“china“, “beijing“, “you“, “tiananmen“, “welcome“; int i, j; char t10; for(i=0; i4; i+) for(j=i+1; j5; j
15、+) if(strcmp(ai, aj0) strcpy(t, ai); strcpy(ai, aj); strcpy(aj, t); puts(a3); 程序运行后的输出结果是_。(分数:1.00)A.beijingB.chinaC.welcomeD.tiananmen33.有以下程序: #includestdio.h int f(int m) static int n=0; n+=m; return n; main() int n=0; printf(“%d, “f(+n); printf(“%d/n“, f(n+); 程序运行后的输出结果是_。(分数:1.00)A.1,2B.1,1C.2
16、,3D.3,334.有以下程序: #include stdio.h main() char ch35=“AAAA“, “BBB“, “CC“; printf(“%s/n“, ch1); 程序运行后的输出结果是_。(分数:1.00)A.AAAB.CCC.BBBCCD.BBB35.若有定义语句:“int year=2009, *p=”,以下不能使变量 year 中的值增至 2010 的语句是_。(分数:1.00)A.*p+=1;B.(*p)q+;C.+(*p);D.*+p36.有以下程序: #includestdio.h #includestring.h typedef structchar na
17、me9; char sex; int score2; STU; STU f(STU a) STU b=“Zhao“, “m“, 85,90; int i; strcpy(a.name, b.name); a.sex=b.sex; for(i=0; i2; i+) a.scorei=b.scorei; return a; main() STU c=“Qian“, f, 95, 92, d; d=f(c); printf(“%s, %c, %d, %d, “, d.name, d.sex, d.score0, d.score1); printf(“%s, c, %d, %d/n“, C.name,
18、 C.sex, C.score0, C.score1); 程序运行后的输出结果是_。(分数:1.00)A.Zhao,m,85,90,Qian,f,95,92B.Zhao,m,85,90,Zhao,m,85m90C.Qian,f,95,92,Qian,f,95,92D.Qian,f,95,92,zhan,m,85,9037.有以下程序: #includestdio.h main() struct nodeint n; struct node*next; *p; struct node x3=2, x+1, 4, x+2, 6, NULL; p=x; printf(“%d, “, p-n); pr
19、intf(“%d/n“, p-next-n ); 程序运行后的输出结果是_。(分数:1.00)A.2,3B.2,4C.3,4D.4,638.有以下程序: #includestdio.h main() int a=2, b; b=a2; printf(“%d/n“, b); 程序运行后的输出结果是_。(分数:1.00)A.2B.4C.6D.839.以下选项中叙述错误的是_。(分数:1.00)A.C 程序函数中定义的赋有初值的静态变量,每调用一次函数,赋一次初值B.在同一函数中,各复合语句内可以定义变量,其作用域仅限本复合语句内C.C 程序函数中定义的自动变量,系统不自动赋确定的初值D.C 程序函
20、数的性能不可以说明为 static 型变量40.有以下函数 int fun(char*x, char *y) int n=0; while(*x=*y) y+; n+; return n; 函数的功能是_。(分数:1.00)A.查找 x 和 y 所指字符串中是否有“/0“B.统计 x 和 y 所指字符串中最前面连续相同的字符个数C.将 y 所指字符串赋给 x 所指定存储空间D.统计 x 和 y 所指字符串中相同的字符个数二、程序填空题(总题数:1,分数:18.00)41.请补充 main()函数,该函数的功能是:如果数组 arr 的前一个元素比后一个元素小,则把它保存在数组 bb 中并输出。
21、例如,若数组中的元素为:“40,68,62,33,35,52,48,95,66,73”,则输出:“40,33,35,48,66”。 注意:部分源程序给出如下。 请勿改动 main()函数和其他函数中的任何内容,仅在 main()函数的横线上填入所编写的若干表达式或语句。 试题程序: #includestdlib.h #includestdio.h #define M 10 void main() int i, n=0; int arrM=40, 68, 62, 33, 35, 52, 48, 95, 66, 73; int bbM; system(“CLS“); for(i=0; i 1; i
22、+) if(arriarri+1) 2; printf(“n*display bb* n“); for(i=0; in; i+) printf(“bb%d=%2d“, 3); (分数:18.00)三、程序改错题(总题数:1,分数:24.00)42.给定程序中,函数 proc()的功能是:使数组中的元素的值缩小 5 倍。 请修改程序中的错误,使它能得出正确的结果。 注意:不要改动 main()函数,不得增行或删行,也不得更改程序的结构。 试题程序: #includestdlib.h #includestdio.h #includeconio.h float m10; /*found* int p
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 120 答案 解析 DOC
