【计算机类职业资格】二级C语言笔试354及答案解析.doc
《【计算机类职业资格】二级C语言笔试354及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试354及答案解析.doc(15页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言笔试 354及答案解析(总分:110.00,做题时间:90 分钟)一、B选择题/B(总题数:40,分数:80.00)1.执行以下的程序段后,m 的值是_。 int a23=1,2,3,4,5,6; int m,*p; P=(分数:2.00)A.4B.5C.3D.不确定2.以下各选项企图说明种新的类型名,其中正确的是_。(分数:2.00)A.typedef vi int;B.typedef V2=int;C.typedef int v3;D.lypedef v4:int3.以下程序运行后的输出结果是_。 int d=1; fun(int p) static int d=5;d+=p
2、printf(“%d,d“);retum d; main() int a=3;printf(“%d/n“,fun(a+fun(d) );(分数:2.00)A.699B.9C.61515D.66154.以下程序的输出结果是_。 main() int a=3; printf(“%d/n“,(a+=a-+a*a) ) (分数:2.00)A.-6B.1C.2D.-125.以下程序的输出结果是_。 main() int i,a10; for(i=9;i=0;i-)ai=1O-i; printf(“%d%d%d“,a2,a5,a8); (分数:2.00)A.258B.741C.852D.3696.SQL语
3、言又称为_。(分数:2.00)A.结构化定义语言B.结构化控制语言C.结构化查询语言D.结构化操纵语言7.以下程序的结果是_。 int a,b; void fun() a=100;b=200; main() int a=5,b=7; fun();printf(“%d%d/n“,a,b); (分数:2.00)A.100200B.57C.200100D.758.以下程序的输出结果是_。 main() int a44=1,3,5,2,4,6,3,5,7 printf(“%d%d%d%d/n“,a03,a12,a21,a30); (分数:2.00)A.0650B.1470C.5430D.输出值不定9.
4、整型变量 X和 Y的值相等,且为非 0值,则以下选项中结果为 0的表达式是_。(分数:2.00)A.X|YB.X|YC.X #undef a printf(“%d“,a); (分数:2.00)A.200 100B.100 100C.100 200D.200 20011.在数据流图(DFD) 中,带有名字的箭头表示_。(分数:2.00)A.控制程序的执行顺序B.模块之间的调用关系C.数据的流向D.程序的组成成分12.若有以下说明和语句: struct stint n;char*ch; struct st a3=5,“abc“7,“def“,9“,ghk“),*p=a; 则值为 6的表达式是_。(
5、分数:2.00)A.p+-nB.p-n+C.(*.n+D.+Pn13.在说明语句 int*f()中,标识符 f代表的是_。(分数:2.00)A.个用于指向整型数据的指针变量B.个用于指向一维数组的行指针C.个用于指向函数的指针变量D.一个返回值为指针型的函数名14.设 x为 int型变量,执行以下语句,x=10;x+=x-=x-x;x 的值为_。(分数:2.00)A.10B.20C.30D.4015.下列不属于软件调试技术的是_。(分数:2.00)A.强行排错法B.集成测试法C.回溯法D.原因排除法16.栈和队列的共同点是_。(分数:2.00)A.都是先进后出B.都是先进先出C.只允许在端点处
6、插入和删除元素D.没有共同点17.以理程序的输出结果_。 main() char st20=“he11/O/t/“; printf(“%d%d/n“,str1en(st),sizeof(st); (分数:2.00)A.99B.520C.1320D.202018.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是_。(分数:2.00)A.地址传递B.单向值传递C.由实参传绐形,再由形参传回实参D.传递方式由用户指定19.以下选项中,非法的字符常量是_。(分数:2.00)A.t/B./17C.“/n“D./xaa20.以下程序的输出结果是_。 #define M(x,y,z)x*y
7、+z main() int a=1,b=2,c=3; printf(“%d/n“,M(a+b,b+c,c+a); (分数:2.00)A.19B.17C.15D.1221.下面程序的输出结果为_。 #includestring.h main() charP17=“abc“=“ABC“.STR50=“xyz“; strcpy(str,strcat(p1,p2); printf(%s,str); (分数:2.00)A.xyzabcABCB.abcABCC.xyzabcD.xyzABC23.设 int型占 2个字节,则 unsigned int所能表示的数据范围是_。(分数:2.00)A.065535
8、B.-3276932767C.165536D.03276724.以下程序的输出结果是_。 structHAR int x,y;structHAR*p; main() h0.x=1;h0.y=2; h1.x=3;h1.y=4; h0.p= printf(“%d%d/n“,(h0.p-y); (分数:2.00)A.12B.23C.14D.3225.已知二叉树 BT的后后序遍历序列是 dabec,中序遍历序列是 debac,它的前序遍序列是_。(分数:2.00)A.cedbaB.acbedC.decabD.deabc26.以下函数值的类型是_。 fun(float x) float y; y=3*x
9、-4 return y; (分数:2.00)A.intB.不确定C.voidD.float27.以下数组定义中不正确的是_。(分数:2.00)A.inta23;B.int b3=0,1,2C.int c100100=0;D.int d3=1,2,1,2,3,1,2,3,4;28.下列叙述中正确的是_。(分数:2.00)A.C程序中注释部分可以出现在程序中任何合适的地方B.花括号“”和“”只能作为函数体的定界符C.构成 C程序的基本单位是函数,所有函数名都可以由用户命名D.分号是 C语句之间的分隔符,不是语句的部分29.下列叙述中,不属于软件需求规格说明书的作用的是_。(分数:2.00)A.便于
10、用户、开发人员进行理解和交流B.反映出用户问题的结构,可以作为软件开发工作的基础和依据C.作为确认测试和验收的依据D.便于开发人员进行需求分析30.以下程序输出正确的是_。 amovep(int *pint(*a) 3int n) int i,j; for(i=0;in;i+) for(j=0;jn;j+) *p=aij;p+; main() int *p,a33=1,3,5,2,4,6; p=(int*)malloc(100); amovep(p,a,3); printf(“%d%d/n“,p2p5;free(p); (分数:2.00)A.56B.25C.34D.程序错误31.在下列几种排序
11、方法中,要求内存量最大的是_。(分数:2.00)A.插入排序B.选择排序C.快速排序D.归并排序32.下面的程序执行后,文件 test.t中内容是_。 #inc1udestdio.h void fun(char*fname,char*st) FILE*myf;int i; myf=fopen(fname,“w“) for(i=0;istrlen(st);i+)fputc(stimyf); fdose(myf); main() fun(“test.t“new word“);fun(“test.t,“hello,“);(分数:2.00)A.hello,B.new wor1dhelloC.new w
12、orldD.hello,rld33.假定 int类型变量占用两个字节,若有定义:int x100,2,4;,则数组 x在内存中所占字节数是_。(分数:2.00)A.3B.6C.10D.2034.若有说明 int i,j=2,*p=,则能完成 i=j赋值功能的语句是_。(分数:2.00)A.i=*pB.*P=* strcpy(str1+strlen(str1)/2“es she“); pfinff(“%s/n“,p1); (分数:2.00)填空项 1:_48.以下程序输出的最后个值是U 【8】 /U int ff(int n) static int f=1; f=f*n return f; ma
13、in() int i; for(i=1;i=5:i+) printf(“%d、n“,ff(i); (分数:2.00)填空项 1:_49.下列程序的输出结果是U 【9】 /U。 main() int a=2,4,6,*prt= for(y=0;y3;y+) z=(*(ptr+yx)?*(ptr+y):x; printf(“%d/n“,z); (分数:2.00)填空项 1:_50.若有定义语句 char s100,d100;int j=0,i=0;且 s中已赋字符串,请填空以实现拷贝。 (注:不使用逗号表达式) whi1e()si)dj=U 【10】 /U:j+; dj=0;(分数:2.00)填空
14、项 1:_51.若有如下结构体说明: struct STRU int a,b;charc:double d; struct STRU*p1,*p2; 请填空,以完成对 t数组的定义,t 数组的每个元素为该结构体类型。U 【11】 /Ut20(分数:2.00)填空项 1:_52.下面的程序可对指定字符串中的字符串进行从大到小排序,请将程序填完整。 (注:程序采用了冒泡排序法) #includestdio.h #includestring.h main() char*str=“ABCDabcd“,temp; int n,i; n=strlen(str); while(n-1) for(i=0;in
15、;i+) if(stristri+l) temp=U 【12】 /U;stri=stri+l; U 【13】 /U=temp; printf(U 【14】 /U); (分数:6.00)填空项 1:_53.以下程序段打开文件后,先利用 fseek函数将文件位置指针定位在文件末尾,然后调用 ftell函数返回当前文件位置指针的具体位置,从而确定文件长度,请填空。 FILE*myf;longfl; myf=U 【15】 /U(“test.t“,“rb“); fseek(myf,(),SEEK_END) fl+ftell(myf); fclose(myf); printf(“%ld/n“,fl);(分
16、数:2.00)填空项 1:_二级 C语言笔试 354答案解析(总分:110.00,做题时间:90 分钟)一、B选择题/B(总题数:40,分数:80.00)1.执行以下的程序段后,m 的值是_。 int a23=1,2,3,4,5,6; int m,*p; P=(分数:2.00)A.4B.5 C.3D.不确定解析:评析;程序中定义了一个指向整型变量的指针变量,并对其赋值为二维整型数组 a的首元素的地址。p4等价于*(p+4),即二维数组 a中第四个元素的值,而 a是一个 2*3的二维数组,其第四个元素为 a11,即 5。2.以下各选项企图说明种新的类型名,其中正确的是_。(分数:2.00)A.t
17、ypedef vi int;B.typedef V2=int;C.typedef int v3; D.lypedef v4:int解析:评析 C 语言中可以使用 typedef来重新定义已有的数据类型,相当于数据类型取个别名。3.以下程序运行后的输出结果是_。 int d=1; fun(int p) static int d=5;d+=p printf(“%d,d“);retum d; main() int a=3;printf(“%d/n“,fun(a+fun(d) );(分数:2.00)A.699B.9C.61515 D.6615解析:评析 静态局部变量在编译时赋初值,即只赋初值次,在程序
18、运行时它已有初值。以后每次调用时不再重新赋初值而只是保留上次函数调用结束时的值,而对自动变量赋初值,不是在编译时进行的,而在函数调用时进行,每调用次函数重新给次初值,相当于执行次赋值语句。本题在程序开头定义了全局变量 d并赋初值 1,在被调函数 fun()中,定义了静态局部变量 d,初值为 5。在第次调用函数fun时,d 初值为 5,p 由主函数传递过来的值为 1,则 d=d+p=5+1=6,由于 d是静态局部变量,在函数调用结束后,它仍保留 d=6。再次调用 fun函数,d 的初值为 6,而由主函数传递的 p的值为 9,则此时d=d+p=6+9=15,最后打印输出 d的值并返回主函数。4.以
19、下程序的输出结果是_。 main() int a=3; printf(“%d/n“,(a+=a-+a*a) ) (分数:2.00)A.-6B.1C.2D.-12 解析:评析 赋值运算符的结合方向是自右至左,所以表达式 a+=a=a*a先运算最右边的 a*a得 9,再运算 a=a-9,即 a=3-9,所以此时 a的值由 3变成了-6,最后运算 a=a+(-6)=-12。5.以下程序的输出结果是_。 main() int i,a10; for(i=9;i=0;i-)ai=1O-i; printf(“%d%d%d“,a2,a5,a8); (分数:2.00)A.258B.741C.852 D.369解
20、析:评析 在本题运行时主要注意的是当 i=9时,ai=l0-9=1;ai=8 时,ai=10-8=2;i=7 时,ai=10-7=3;依此类推,直到 i=O时,ai=10-0=10;此时,i 的值已变为-1,判断 for的循环条件,不成立,然后输出 a2,a5,a8分别为 8,5,2。6.SQL语言又称为_。(分数:2.00)A.结构化定义语言B.结构化控制语言C.结构化查询语言 D.结构化操纵语言解析:评析 结构化查询语言(structured Query Language,简称 SQL)是集数据定义、数据操纵和数据控制功能于一体的数据库语言。7.以下程序的结果是_。 int a,b; vo
21、id fun() a=100;b=200; main() int a=5,b=7; fun();printf(“%d%d/n“,a,b); (分数:2.00)A.100200B.57 C.200100D.75解析:评析 全程变量是可以在子函数中对其值作改变,且它也可作为函数间的值传递。但当函数或子函数中定义了与全程变量名称相同的局部变量,则全程变量将被屏蔽。8.以下程序的输出结果是_。 main() int a44=1,3,5,2,4,6,3,5,7 printf(“%d%d%d%d/n“,a03,a12,a21,a30); (分数:2.00)A.0650 B.1470C.5430D.输出值不
22、定解析:评析 对未给出初始值的整数数组元素,被默认初始化为零。9.整型变量 X和 Y的值相等,且为非 0值,则以下选项中结果为 0的表达式是_。(分数:2.00)A.X|YB.X|YC.X #undef a printf(“%d“,a); (分数:2.00)A.200 100B.100 100C.100 200 D.200 200解析:评析 #define 宏名的有效范围为定义命令之后到本源文件结束,可以在程序中使用#undef 命令终止宏定义的作用域。本题由#undef 的作用,使 a的作用范围在#define a 100 到#undef a 之间,故答案为 C11.在数据流图(DFD) 中
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 354 答案 解析 DOC
