【计算机类职业资格】二级C语言模拟655及答案解析.doc
《【计算机类职业资格】二级C语言模拟655及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言模拟655及答案解析.doc(22页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言模拟 655及答案解析(总分:107.00,做题时间:90 分钟)一、选择题(总题数:40,分数:53.00)1.已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 for(i=0;in/2;i+) t=ai; ai =an-1-i;an-1-i=t; main() int b10=1,2,3,4,5,6,7,8,9,10; int i, s=0; reverse(b,8); for(i=6;i10;i+) s+=bi; printf(“%d/n“, s); 程序运行后的输出结果是(分数:1.00)A.22B.10C.34D.303.若变量已正确定义,有以下程
2、序段: int a=3, b=5, c=7; if(ab) a=b; c=a; if(c!= a) c=b; printf(“% d, % d, % d/n“, a, b, c); 则程序输出结果为_。(分数:1.00)A.程序段语法错B.3,5,3C.3,5,5D.3,5,74.当整型变量 c的值不为 2、4、6 时,值也为“真”的表达式是_。(分数:1.00)A.(c=2)|(c=4)|(c=6)B.(c=2 while(i=4)exch(xi);i+; for(i=0;i5;i+)printf(“%d“,xi); printf(“/n“); 程序运行后输出的结果是_。(分数:1.00)A
3、.2 4 6 8 10B.1 3 5 7 9C.1 2 3 4 5D.6 7 8 9 107.若要求从键盘读入含有空格字符的字符串,应使用函数_。(分数:2.00)A.getc()B.gets()C.getchar()D.scanf()8.在长度为 n的有序线性表中进行二分法查找,最坏情况下需要比较的次数是_。 A.O(n) B.O(n2) C.O(log2n) D.O(nlog2n)(分数:1.00)A.B.C.D.9.当 a=4,b=5,c=7,d=6 时,执行下面一段程序: if(ab) if(cd)x=1; else if(ac) if(bc)x=2; else x=3; else x
4、=4; else x=5; 程序执行后,x 的值为_。(分数:2.50)A.1B.2C.3D.410.若在定义语句:int a,b,c,*p=B.scanf(“%d%d%“, a, b, c);C.scanf(“%d“, p);D.scanf(“%d“, 11.若 fp是指向某文件的指针,且已读到文件末尾,则库函数 feof(fp)的返回值是(分数:2.00)A.EOFB.-1C.非零值D.NULL12.有如下程序: #includestdio.h main() int a=0,b=1; if(+a=b+) printf(“T“); else printf(“F“); printf(“a=%d
5、,b=%d/n“,a,b); printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.Ta=0,b=1B.Fa=1,b=2C.Ta=1,b=2D.Fa=0,b=213.有如下程序: #includestdio.h #includestring.h main() char a=“THIS/0“,*b=“OK/0/0“; printf(“%d,%d,%d,%d“,strlen(a),sizeof(a),strlen(b),sizeof(b); 程序运行后的输出结果是_。(分数:1.00)A.4,6,2,4B.4,4,4,1C.6,5,2,1D.6,4,2,414.有以下程序:
6、#includestdio.h double f(double x); main() double a=0; int i; for(i=0; i30; i+=10) a+=f(double)i); printf(“%5.0f/n“, a); double f(double x) return x*x+1; 程序运行后的输出结果是_。(分数:1.00)A.503B.401C.500D.140415.以下选项中正确的语句组是_。(分数:1.00)A.char *s;s=“BOOK!“);B.char *s;s=“BOOK!“;C.char s10;s=“BOOK!“;D.char s;s=“BOO
7、K!“;16.有以下程序 #includestdioh main() FILE*fp;int i=20,j=30,k,n; fp=fopen(“d1dat”,“w”); fprintf(fp,“%d/n”,i);fprintf(fp,“%d/n”,j); fclose(fp); fp=fopen(“d1.dat”,“r”); fscanf(fp,“%d%d”,A; void f(A c) /* 注意:c 是结构变量名*/ int j; c.b+=1;c.p+=2; main() int i; A a=1,2; f(A); printf(“%d,%d/n“,a.b,a.p); 程序运行后的输出结
8、果是_。(分数:1.00)A.2,4B.1,2C.1,4D.2,319.工厂生产中所需的零件可以存放在多个仓库中,而每一仓库中可存放多种零件。则实体仓库和零件间的联系是_。(分数:1.00)A.多对多B.一对多C.多对一D.一对一20.以下叙述中正确的是_。(分数:2.00)A.在 C程序中,模块化主要是通过函数来实现的B.程序的主函数名除 main外,也可以使用 Main或 mainC.程序可以包含多个主函数,但总是从第一个主函数处开始执行D.书写源程序时,必须注意缩进格式,否则程序会有编译错误21.按照 C语言规定的用户标识符命名规则,不能出现在标识符中的是_。(分数:2.00)A.大写字
9、母B.下画线C.数字字符D.连接符22.有以下程序段: int m23,(*p)3; p=m; 则以下对 m数组元素的引用正确的是_。(分数:1.00)A.(P+1)0B.*(*(p+2)+1)C.*(p1+1)D.p1+223.以下定义语句中正确的是_。(分数:1.00)A.char a=“A“b=“B“;B.flo at a=b=10.0;C.int a=10,*b=D.float *a,b=24.有以下程序 #include stdio.h main() unsigned char a=8, c; c=a3; printf(“%d/n“,c); 程序运行后的输出结果是_。(分数:1.00
10、)A.32B.16C.1D.025.面向对象的设计方法与传统的的面向过程的方法有本质不同,它的基本原理是( )。(分数:1.00)A.模拟现实世界中不同事物之间的联系B.强调模拟现实世界中的算法而不强调概念C.使用现实世界的概念抽象地思考问题从而自然地解决问题D.鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考26.在 Windows环境下,能实现窗口移动的操作是( )(分数:1.00)A.用鼠标拖动窗口中的任何部位B.用鼠标拖动窗口的边框C.用鼠标拖动窗口的控制按钮D.用鼠标拖动窗口的标题栏。27.有以下程序: #include stdio.h int disp(char * str
11、) while (* str) putchar( * str+); putchar(“#“); return * str; main( ) printf(“%d/n“,disp(“C#123“); 程序运行后的输出结果是_。(分数:1.00)A.C#123#0B.C#1230C.C#0D.C#123#/028.以下程序的运行结果是_。 #include stdio.h main() int num=4; switch (num) case 0: printf(“0“); break; case 1: printf(“1“); break; case 2: printf(“2“); break;
12、 default: printf(“-1“); break; (分数:1.00)A.-1B.0C.1D.229.以下选项中不是 C语句的是_。(分数:1.00)A.int i;i+;printf(“%d/n“, i);B.;C.a=5, c=10D.;30.若有以下程序 #includestdio.h main() int a=-2, b=0; do+b; while(a+); printf(“%d, %d/n“, a, b); 则程序的输出结果是_。(分数:2.00)A.2, 3B.0, 2C.1, 2D.1, 331.下面不属于需求分析阶段任务的是_。(分数:1.00)A.确定软件系统的功
13、能需求B.确定软件系统的性能需求C.需求规格说明书评审D.制定软件集成测试计划32.有以下程序: int f1(double a) return a*a; int f2(int x,int y) double a,b; a=f1(x); b=f1(y); return a+b; main() double w; w=f2(2.1,4.0); ) 变量 w的值是_。(分数:2.00)A.20.21B.20C.20.0D.0.033.有以下程序 main() char s=“ABCD“,*p; for(p=s+1;ps+4;p+)printf(“%s/n“,p); 程序运行后的输出结果是(分数:1
14、.00)A.ABCDBCDCDDB.ABCDC.BCDD.BCDCDD34.以下选项中不能用作 C程序合法常量的是_。(分数:2.00)A.1,234B./123C.123D.“/x7G“35.以下选项中,能用作用户标识符的是_。(分数:1.00)A._0_B.8_8C.voidD.unsigned36.a、b 和 c都是 int型变量,且 a3,b4,c5,则下面的表达式中,值为 0的表达式是 ( )(分数:1.00)A.“a“ main() int k,(*f)(),a=5,b=10; f=add; . 则以下函数调用语句错误的是_。(分数:1.00)A.k=f(a,b);B.k=add(
15、a,b);C.k=(*f)(a,b);D.k=*f(a,b);39.有以下程序 #includestdio.h void fun(int*p,int*q) int t; t=*p;*p=*q;*q=t; *q=*p; main() int a=0,b=9; fun(a,b); pfintf(“%d%d/n“,a,b); 程序的输出结果是_。(分数:1.00)A.9 9B.0 0C.9 0D.0 940.为了建立如下图所示的存储结构(即每个节点含两个域,data 是数据域,next 是指向节点的指针域),则在( )处应填入的选项是_。 Struct link char data;_ node;
16、(分数:2.00)A.link next;B.struct link * next;C.link *next;D.struct link next;二、程序填空题(总题数:1,分数:20.00)41.给定程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的学号、姓名和 3门课的成绩。函数 fun的功能是将该学生的各科成绩都乘以一个系数 a。 请在程序的下画线处填入正确的内容,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构! 试题程序: #include stdico.h typedef struct int hum; char name 9; f
17、loat score3; STU; void show(STU tt) int i; printf(“%d%s;“,tt.num,tt.name); for(i=0; i3; i+) printf(“%5.1f“,tt.scorei); printf(“/n“); /*found*/ void modify( 1 *ss,float a) int i; for(i=0; i3; i+) /*found*/ ss- 2 *=a; main( ) STU std=1,“Zhanghua“,76.5,78.0,82.0; float a; printf(“/nThe original number
18、and name and scores:/n“); show(std); printf(“/nInput a number:“); scanf(“%f“, /*found*/ modify( 3,a); printf(“/nA result of modifying:/n“); show(std); (分数:20.00)三、程序修改题(总题数:1,分数:30.00)42.下列给定程序中,函数 fun的功能是:输出 MM整数方阵,然后求两条对角线上元素之和,并作为函数值返回。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动 main函数,不得增行或删行,也不得更改程序的结构! 试题程
19、序: #includestdlib.h #includeconio.h #includestdio.h #define M 5 /*found*/ int fun(int n,int xx) int i,j,sum=0; printf(“/nThe%d x%d matrix:/n“,M,M); for(i=0;iM;i+) for(j=0;jM;j+) /*found*/ printf(“%f“,xxij); printf(“/n“); for(i=0;in;i+) sum+=xxii+xxin-i-1; return(sum); void main() int aaMM=1,2,3,4,5,
20、4,3,2,1,0,6,7,8,9,0,9,8,7,6,5,3,4,5,6,7; system(“CLS“); printf(“/nThe sum of all elements on 2 diagnals is%d“,fun(M,aa); (分数:30.00)_四、程序设计题(总题数:1,分数:4.00)43.请编写程序,输入一行字符(用回车结束),输出每个字符以及与之对应的 ASCII代码值,每行输出三对。 (分数:4.00)_二级 C语言模拟 655答案解析(总分:107.00,做题时间:90 分钟)一、选择题(总题数:40,分数:53.00)1.已有定义:int x=3,y=4,z=5
21、;,则表达式!(x+y)+z-1 for(i=0;in/2;i+) t=ai; ai =an-1-i;an-1-i=t; main() int b10=1,2,3,4,5,6,7,8,9,10; int i, s=0; reverse(b,8); for(i=6;i10;i+) s+=bi; printf(“%d/n“, s); 程序运行后的输出结果是(分数:1.00)A.22 B.10C.34D.30解析:解析 本题考查的知识点是数组名作为函数参数及函数调用。reverse()数的功能是将具有 n个元素的数组 a反序存放。在主函数中调用语句是“reverse(b,8);”,实现的功能是把 b
22、数组的前八个元素逆置,所以 b数组中依次存放的值为“8,7,6,5,4,3,2,1,9,10”。for 循环了 4次,分别把b6、b7、b8和 b9的值(分别是 2、1、9、10)加到了 s中,s 的结果是 22,所以最后输出的 s值为22。所以 4个选项中 A正确。3.若变量已正确定义,有以下程序段: int a=3, b=5, c=7; if(ab) a=b; c=a; if(c!= a) c=b; printf(“% d, % d, % d/n“, a, b, c); 则程序输出结果为_。(分数:1.00)A.程序段语法错B.3,5,3 C.3,5,5D.3,5,7解析:解析 两个 if
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 模拟 655 答案 解析 DOC
