【计算机类职业资格】二级C语言笔试-337及答案解析.doc
《【计算机类职业资格】二级C语言笔试-337及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-337及答案解析.doc(36页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试-337 及答案解析(总分:86.00,做题时间:90 分钟)一、选择题(总题数:50,分数:50.00)1.设有定义:int k=1,m=2;float f=7;则以下选项中错误的表达式是( )。(分数:1.00)A.k=k=kB.-k+C.k%int(f)D.k=f=m2.有以下程序:#include stdio, hmain ( )int k=5,n =0;while ( k0)switch (k)default: break;case 1 : n+ =k;case 2 :case3 : n+ =k;k-;printf( “% d /n“ ,n);程序运行后的输出结果是
2、( )。(分数:1.00)A.0B.4C.6D.73.设有定义:int n1=0, n2, *p=int i,j;for(i=0;in-1;i+)for(j=i+1 ;jn;j + )if(strcmp(pi, pj)0) t =pi;pi =pj ;pj =t;main( )char * p 5 = “abe“.“ aabdfg“.“ abbd“,“ dcdbe“,“ cd“ ;f(P,5 ); printf(“% d/n“, strlen(p1) );程序运行后的输出结果是( )。(分数:1.00)A.2B.3C.60D.411.以下叙述中错误的是( )。(分数:1.00)A.C 语言中对
3、二进制文件的访问速度比文本文件快B.C 语言中,随机文件以二进制代码形式存储数据C.语句 PILE fp;定义了一个名为 fp 的文件指针D.C 语言中的文本文件以 ASCII 码形式存储数据12.有以下程序段:int k=0,a=1,b=2,c=3;k=ab? b:a; k=kc? c:K;执行该程序段后,k 的值是( )。(分数:1.00)A.3B.2C.1D.013.有以下程序:#include stdio.h#include string.hvoid f(char * s,char*t)char k;k=*s; *s=*t; *t=k;s+; t-;if( * s) f(s,t);ma
4、in( )char str10 :“abedefg“, * p;p = str + strlen(str)/2+1;f(p,p -2);printf( “% s /n“ ,str);程序运行后的输出结果是( )。(分数:1.00)A.abcdefgB.gfedcbaC.gbcdefaD.abedcfg14.有以下程序:#include stdio.hstruet STUcharname10; int num; float TotalSeore; ;void f(struet STU * p)struet STU s 2 = “SunDan“ ,20044,550 , “Penghua“ ,20
5、045,537 , * q = s;+p; +q; *p= *q;main( )struct STU s3 = “YangSan“ ,20041,703 , “LiSiGuo“ ,20042,580 ;f(s) ;printf(“% s % d % 3. Of/n“ ,s 1. name, s 1. num ,s 1. TotalScore);程序运行后的输出结果是( )。(分数:1.00)A.SunDan 20044 550B.Penghua 20045 537C.LiSiGuo 20042 580D.SunDan 20041 70315.在深度为 7 的满二叉树中,叶子结点的个数为( )。
6、(分数:1.00)A.32B.31C.64D.6316.有以下程序:#include stdio, hvoid sort(int a ,int n)int i,j,t;for(i=0;in;i + )for(j =i+ 1;jn;j + )if(aiaj) t=a1 ;ai=aj ;aj =t; main( )int aa10 = 1,2,3,4,5,6,7,8,9,10 ,i;sort(aa +2, 5);for(i =0;i10;i+) prinff(“%d,“ ,aai);prinff(“/n“);程序运行后的输出结果是( )。(分数:1.00)A.1,2,3,4,5,6,7,8,9,1
7、0,B.1,2,7,6,3,4,5,8,9,10,C.1,2,7,6,5,4,3,8,9,10,D.1,2,9,8,7,6,5,4,3,10,17.有以下程序:#include stdio, hint a =2;int f(int n)static int a: 3;int t=0;if(n%2) static int a=4;t+ =a+;else static int a=5;t+ :a+;return t + a + +;main ( )int s=a,i;for(i=0;i3;i+)s + =f(i);prinff(“% d /n“ ,s); 程序运行后的输出结果是( )。(分数:1.
8、00)A.26B.28C.29D.2418.按照“后进先出”原则组织数据的数据结构是( )。(分数:1.00)A.队列B.栈C.双向链表D.二叉树19.设变量已正确定义,则以下能正确计算 f=n!的程序段是( )。(分数:1.00)A.f=0; for(i=1; in;i+)f*=i;B.f=1; for(i=1; in; i+)f*=i;C.f=1; for(i=n; i1; i+)f*=i;D.f=1; for(i=n; i=2; i-)f*=i;20.以下不能正确计算代数式 (分数:1.00)A.1/3 * sin(1/2) * sin(1/2)B.SlH(0.5) * sin(0.5)
9、/3C.pow ( sin(0.5),2)/3D.1/3.0*pow(sin(1.0/2),2)21.下列叙述中正确的是( )。(分数:1.00)A.软件测试应该由程序开发者来完成B.程序经调试后一般不需要再测试C.软件维护只包括对程序代码的维护D.以上三种说法都不对22.以下程序的功能是进行位运算:#include stdio.hmain( )unsigned char a,b;a =73; b = 4printf(“% d %d /n“ ,a,b);程序运行后的输出结果是( )。(分数:1.00)A.4 3B.7 3C.7 0D.4 023.有以下程序:#include stdio.h#i
10、nclude strine.hstruct STUchar name10;int hum;void f(char * name,iht num)struct STU s2 = “SunDan“ ,20044 , “ Penghua“ ,20045;num= s0. nnm;strepy(name,s0, name);main( )struct STU s2 = “YangSan“ ,20041 , “LiSiGao“ ,20042, * P;p = f(p-name,p-hum);printf(“% s %d /n“ ,p- name,p-num);程序运行后的输出结果是( )。(分数:1.0
11、0)A.SunDan 20042B.SunDan 20044C.LiSiGuo 20042D.YangSan 2004124.若有定义:int x=0,*p=float f2 ( float n)return 2 * n;main( )float ( * p1)(float),( * p2)(float),(*t)(float) ,y1,y2;p1 = f1;p2 = f2;y1 = p2(p1(2.0) );t =p1;p1 = p2;p2 =t;y2=p2(p1(2.0);prinff(“% 3.0f, %3. Of/n“ ,y1,y2);程序运行后的输出结果是( )。(分数:1.00)A
12、.8,16B.8,8C.16,16D.4,826.以下叙述中正确的是( )。(分数:1.00)A.调用 pfintf 函数时,必须要有输出项B.使用 putchar 函数时,必须在之前包含头文件 stdio.hC.在 C 语言中,整数可以以十二进制、八进制或十六进制的形式输出D.调用 getchar 函数读入字符时,可以从键盘上输入字符所对应的 ASCII 码27.有以下程序段:int n,t=1,s=0;scanf(“%“, t=t-2; while(t!=n);为使此程序段不陷入死循环,从键盘输入的数据应该是( )。(分数:1.00)A.任意正奇数B.任意负偶数C.任意正偶数D.任意负奇数
13、28.有以下程序:#include stdio, h#define f(x) (x * x)main ( )int i1 ,i2;i1 = f(8)/f(4) ;i2 =f(4 +4)/f(2 +2);printf(“% d,% d/n“ ,i1 ,i2);(分数:1.00)A.64,28B.4,4C.4,3D.64,6429.当把以下四个表达式用做 if 语句的控制表达式时,有一个选项与其他三个选项含义不同,这个选项是( )。(分数:1.00)A.k%2B.k%2=1C.(K%2)!=0D.!k%2=130.以下叙述中错误的是( )。(分数:1.00)A.用户所定义的标识符允许使用关键字B.
14、用户所定义的标识符应尽量做到“见名知意”C.用户所定义的标识符必须以字母或下划线开头D.用户定义的标识符中,大、小写字母代表不同标识31.设有定义:int a=2, b=3, c=4;则以下选项中值为 0 的表达式是( )。(分数:1.00)A.(! a=1)printf(“%c/n“,(a1,a2);以下叙述中正确的是( )。(分数:1.00)A.程序输出大写字母 MB.程序输出小写字母 mC.格式说明符不足,编译出错D.程序运行时产生出错信息36.有以下程序:#include stdlo.hmain( )FILE * fp; int i,k,n;fp = fopen( “data. dat
15、“ ,“w +“ )for(i = 1 ;i6;i + )fprintf(fp.“% d“,i);if(i%3 =0)fprintf(fp,“ /n“);rewind(fp);fscanf(fp.“ % d% d“ ,printf(“ % d%d /n“ ,k,n);fclose(fp);(分数:1.00)A.0 0B.123 45C.1 4D.137.有以下程序段:typedef struct NODEint num;struct NODE * nex;OLD;以下叙述中正确的是( )。(分数:1.00)A.以上的说明形式非法B.NODE 是一个结构体类型C.OLD 是一个结构体类型D.OL
16、D 是一个结构体变量38.有以下程序:#include stdio.h#include string.hmain( )char p = a,b,c ,q10 = a,h,cprinff( “% d % d/n“ , strlen (p) , strlen (q) );以下叙述中正确的是( )。(分数:1.00)A.在给 p 和 q 数组赋初值时,系统会自动添加字符串结束符,故输出的长度都为 3B.由于 P 数组中没有字符串结束符,长度不能确定;q 数组中字符串长度为 3C.由于 q 数组中没有字符串结束符,长度不能确定;p 数组中字符长度为 3D.由于 p 和 q 数组中没有字符串结束符,故长
17、度都不能确定39.若有语句:char *line5;以下叙述中正确的是( )。(分数:1.00)A.定义 line 是一个数组,每个数组元素是一个基类型为 char 的指针变量B.定义 line 是一个指针变量,该变量可以指向一个长度为 5 的字符型数组C.定义 line 是一个指针数组,语句中的号称为求地址运算符D.定义 line 是一个指向字符型函数的指针40.有以下程序:#include stdio.hmain()int a = 2,4,6,8,10 ,y =0,x, * p;p =for(x=1;x3;x+)y+ =px;printf( “% d /n“ , y); 程序运行后的输出结
18、果是( )。(分数:1.00)A.10B.11C.14D.1541.有以下程序:#include stdio, hvoid swap1 (int c0,int e1 )int t;t = c00; c00: c1 0 ; c1 0 = t;void swap2(int * c0,int * c1)int t;t= *c0; *c0= *c1; * c1 =t;main( )inta2=3.5.b2=3,5;swapl(a,a+1) ;swap2(printf(“% d %a %d %d /n“ ,a0 ,a1 ,b0 ,b1 ); 程序运行后的车出结果是( )。(分数:1.00)A.3 5 5
19、 3B.5 3 3 5C.3 5 3 5D.5 3 5 342.有以下程序:#include stdio, h#include string, hstruet STUint nam;float TotalSeore;void f( strnct STU p)struct STU s2 = 20044,550 ,20045,537 ;p.num = s 1. num; p.TotalScore = s 1. TotalScore;main( )struct STU s2 = 20041,703 ,20042,580;f(s0 );printf( “%d %3. Of/n“ ,s0.num,s0.
20、TotalSeore); 程序运行后的输出结果是( )。(分数:1.00)A.20045 537B.20044 550C.20042 580D.20041 70343.在 E-R 图中,用来表示实体的图形是( );(分数:1.00)A.矩形B.椭圆形C.菱形D.三角形44.两个或两个以上的模块之间关联的紧密程度称为( )。(分数:1.00)A.耦合度B.内聚度C.复杂度D.数据传输特性45.有以下程序:#include stdio, hvoid sum(int a )a0=a-1 +a1;main ( )int a10 = 1,2,3,4,5,6,7,8,9,10;sum(prinff(“%
21、d /n“,a2); 程序运行后的输出结果是( )。(分数:1.00)A.6B.7C.5D.846.有以下程序:#include stdio.hmain( )char P = a,b,c ,q: “abc“;printf( “% d % d / n“, sizeof(p), sizeof(q) );程序运行后的输出结果是( )。(分数:1.00)A.44B.33C.34D.4347.有以下程序:#include stdio.hmain()int a 10=1,2,3,4,5,6,7,8,9,10,*p= float s;scanf(“% d“, s = * r*r;printf(“s =%f/
22、n“,s);程序在编译时出错,出错的原因是( )。(分数:1.00)A.注释语句书写位置错误B.存放圆半径的变量 r 不应该定义为整型C.输出语句中格式描述符非法D.计算圆面积的赋值语句中使用了非法变量50.对如下二叉树进行后序遍历的结果为( )。(分数:1.00)A.ABCDEFB.DBEAFCC.ABDECFD.DEBFCA二、填空题(总题数:18,分数:36.00)51.一棵二叉树第六层(根结点为第一层)的结点数最多为 【1】 个。(分数:2.00)填空项 1:_52.算法复杂度主要包括时间复杂度和 【2】 复杂度。(分数:2.00)填空项 1:_53.在进行模块测试时,要为每个被测试的
23、模块另外设计两类模块:驱动模块和承接模块(桩模块),其中 【3】 的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。(分数:2.00)填空项 1:_54.数据管理技术的发展过程经过人工管理、文件系统和数据库系统三个阶段,其中数据独立性最高的阶段是 【4】 。(分数:2.00)填空项 1:_55.数据结构分为逻辑结构和存储结构,循环队列属于 【5】 结构。(分数:2.00)填空项 1:_56.以下程序的功能是输出如下形式的方阵:13 14 15 169 10 11 125 6 7 81 2 3 4请填空。#include stdio.hmain( )int i,j,x;for(
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 337 答案 解析 DOC
