【计算机类职业资格】二级C语言笔试-93及答案解析.doc
《【计算机类职业资格】二级C语言笔试-93及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-93及答案解析.doc(30页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试-93 及答案解析(总分:110.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.下列关于单目运算符、的叙述中正确的是 _。(分数:2.00)A.它们的运算对象可以是任何变量和常量B.它们的运算对象可以是 char 型变量和 int 型变量,但不能是 float 型变量C.它们的运算对象可以是 int 型变量,但不能是 double 型变量和 float 型变量D.它们的运算对象可以是 char 型变量、int 型变量和 float 型变量2.当把以下 4 个表达式用作 if 语句的控制表达式时,有一个选项与其他 3 个选项含义不同,这个选项是 _
2、。(分数:2.00)A.k%2B.k%2=1C.(k%2)!=0D.!k2=13.以下关于函数的叙述中正确的是 _。(分数:2.00)A.每个函数都可以被其他函数调用(包括 main 函数)B.每个函数都可以被单独编译C.每个函数都可以单独运行D.在一个函数内部可以定义另一个函数4.为了使模块尽可能独立,要求 _。(分数:2.00)A.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱C.模块的内聚程度要尽量低,且各模块问的耦合程度要尽量弱D.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强5.下列对于线性链表的描述中正确的是 _。
3、(分数:2.00)A.存储空间不一定是连续,且各元素的存储顺序是任意的B.存储空间不一定是连续,且前件元素一定存储在后件元素的前面C.存储空间必须连续,且各前件元素一定存储在后件元素的前面D.存储空间必须连续,且各元素的存储顺序是任意的6.若变量已正确定义,要求程序段完成 5!的计算,不能完成此操作的程序段是 _。(分数:2.00)A.for (i=1,p=1; i=5; i+ +)p* = i;B.for (i=1;i=5; i+ +) p=1;p*=i;C.i=1;p= 1;while( i=5) p* =i;i+ +;D.i=1;p=1;do p*=i;i+ +; while (i=5)
4、;7.有以下程序:main( )char * p10=“abc“,“aabdfg“,“dcdbe“,“abbcf,“cd“;printf(“%d/n“,strlen(p4);执行后的输出结果是 _。(分数:2.00)A.2B.3C.4D.58.有以下程序:main()int c=35;printf(“%d/n“,e程序运行后的输出结果是 _。(分数:2.00)A.0B.70C.35D.19.下面程序的功能是输出以下形式的金字塔图案:* * * * * * * * * * * * *main()int i,j;for(i=1;i=4;i+;)for(j=1;j=4-i;j+)printf(“ “
5、);for(j=1; ;j=_;j+)printf(“*“);printf(“/n“);在下划线处应填入的是 _。(分数:2.00)A.iB.2*i-1C.2*i+1D.i+210.有以下程序:void fun(int*a,int i,int j)int t;if(ij)t=ai;ai=aj;aj=t;fun(a,+i,-j);main()int a=1,2,3,4,5,6,i;fun(a,0,5);for(i=0;i6;i+)printf(“%d“,ai);执行后的输出结果是 _。(分数:2.00)A.6 5 4 3 2 1B.4 3 2 1 5 6C.4 5 6 1 2 3D.1 2 3
6、4 5 611.下列叙述中,正确的是 _。(分数:2.00)A.用 E-R 图能够表示实体集之间一对一的联系、一对多的联系、多对多的联系B.用 E-R 图只能表示实体集之间一对一的联系C.用 E-R 图只能表示实体集之间一对多的联系D.用 E-R 图表示的概念数据模型只能转换为关系数据模型12.以下叙述中正确的是 _。(分数:2.00)A.C 语言的源程序不必通过编译就可以直接运行B.C 语言中的每条可执行语句最终都将被转换成二进制的机器指令C.C 源程序经编译形成的二进制代码可以直接运行D.C 语言中的函数不可以单独进行编译13.有以下程序:void f(int y,int *x)y=y+
7、*x; *x;=*x+y;main()int x=2,y=4;f(y,执行后的输出结果是 _。(分数:2.00)A.8 4B.8 8C.4 8D.4 214.以下程序运行后的输出结果是 _。main()int x=0210;printf(“%x/n“,x);(分数:2.00)A.88B.86C.77D.2115.设变量 a、b、c、d 和 y 都已正确并赋值。若有以下 if 语句:if(ab)if(c=d)y=0;else y=1;该语句所表示的含义是 _。(分数:2.00)A.B.C.D.16.有以下程序: void fun(char *a, char*b)a=b;(*(分数:2.00)A.
8、+;)*q=*(p+5);printf(“%d %d/n“, *p, *q);程序运行后的输出结果是 _。(分数:2.00)A.运行后报错B.6 6C.6 11D.5 1018.有以下程序main( )int i,s=0;for(i=1;il0;i+=2) s+=i+1printf(“%d/n“,s);程序执行后的输出结果是 _。(分数:2.00)A.自然数 19 的累加和B.自然数 110 的累加和C.自然数 19 中奇数之和D.自然数 110 中偶数之和19.有以下程序:int*f(int*x,int*y)if(*x*y)return x;elsereturn y;main()int a=
9、7,b=8,*P,*q,*r;P=printf( % d, % d/n“, strlen(s),sizeof(s);执行后的输出结果是 _。(分数:2.00)A.赋初值的字符串有错B.6,7C.5,6D.6,621.已知 i、j、k 为 iht 型变量,若从键盘输入:1,2,3回车,使 i 的值为 1、j 的值为 2、k 的值为3,以下选项中正确的输入语句是 _。(分数:2.00)A.scanf(“%d %d %d“,char c=10;float f=100.0;double x;a=f/=c*=(x=6.5);printf(“%d %d %3.1f %3.1f/n“,a,c,f,x);程序
10、运行后的输出结果是 _。(分数:2.00)A.1 65 1 6.5B.1 65 1.5 6.5C.1 65 1.0 6.5D.2 65 1.5 6.523.以下选项中不属于 C 语言的类型的是 _。(分数:2.00)A.signed short intB.unsigned long intC.unsigned intD.long short24.有以下程序:main()int n=0,m=l,x=2;if(!n) x-=l:if(!m) x-=2;if(!x) x-=3;printf (“ %d/n“,x);执行后的输出结果是 _。(分数:2.00)A.2B.1C.3D.625.有定义语句:i
11、nt x,y;,若要通过 scanf(“%d,%d“,p2+函数的功能是 _。(分数:2.00)A.将 p1 所指字符串复制到 p2 所指内存空间B.将 p1 所指字符串的地址赋给指针 p2C.对 p1 和 p2 两个指针所指字符串进行比较D.检查 p1 和 p2 两个指针所指字符串中是否有/028.以下有 4 组用户标识符,其中合法的一组是 _。(分数:2.00)A.For -subCaseB.4dDOSizeC.f2_G3IFabcD.WORDvoiddefine29.有以下程序:void sort(int a,int n)int i,j,t;for(i=0;in-1;i+=2)for(j
12、=i+2; jn;j+=2)if(aiaj)t=ai;ai=aj;aj=t;main( )int aa10=(1,2,3,4,5,6,7,8,9,10),i;sort(aa,10);for(i=0;i10;i+) printf(“%d“,aai);printf(“/n“);其输出结果是 _。(分数:2.00)A.1,2,3,4,5,6,7,8,9,10,B.10,9,8,7,6,5,4,3,2.,1,C.9,2,7,4,5,6,3,8,1,10,D.1,10,3,8,5,6,7,4,9,2,30.已定义以下函数:fun(int *p)return *p; 该函数的返回值是 _。(分数:2.00
13、)A.不确定的值B.形参 p 中存放的值C.形参 p 所指存储单元中的值D.形参 p 的地址值31.设有定义:int A,*pA=,以下 scanf 语句中能正确为变量 A 读入的数据是 _。(分数:2.00)A.scanf (“%d“,pA) ;B.sC.sD.s32.设有定义语句:int x6=2,4,6,8,5,7,*p=x,i;要求依次输出 x 数组 6 个元素中的值,不能完成此操作的语句是 _。(分数:2.00)A.for(i=0;i6;i+) printf(“%2d“,*(p+);B.for(i=0;i6;i+) printf(“%2d“,*(p+i);C.for(i=0;i6;i
14、+)printf(“%2d“,*p+);D.for(i=0;i6;i+)printf(“%2d“,(*p)+);33.下列函数定义中,会出现编译错误的是 _。(分数:2.00)A.max(int x,int y,int *z)*z=xy? x:y;B.int max(int x,y)int z;z=xy? x;y;return z;C.max(int x,int y)int z;z=xy? x:y; return(z);D.int max(int x,int y)return(xy?x:y);34.有以下程序:#includestring.hvoid f(char*s,char*t)char
15、k;k=*s; *s=*t; *t=k;s+; t-;if(*s) f(s,t);main( )char str10=“abcdefg“,*p;p=str+strlen(str)/2+1;f(p,p-2);printf(%s/n“,str);程序运行后的输出结果是 _。(分数:2.00)A.abcdefB.gfedcbaC.gbcdefaD.abedcfg35.已有定义:int i,a10,*p;;,则合法的赋值语句是 _。(分数:2.00)A.p=100;B.p=a5;C.p=a2+2;D.p=a+2;36.设有定义:int n=0,*p=,则以下选项中,正确的赋值语句是 _。(分数:2.0
16、0)A.p=1;B.*q=2C.q=pD.*p=537.有以下程序:main()char a,b,c,d;scanf(“%c,%c,%d,%d“,a,printf(“%c,%c,%c,%c/n“,a,b,c,d);若运行时从键盘上输入:6,5,65,66回车,则输出结果是 _。(分数:2.00)A.6,5,A,BB.6,5,65,66C.6,5,6,5D.6,5,6,638.以下程序运行后的输出结果是 _。main()int a,b,c;a=10;b=20;c=(a%b1)|(a/b1);printf(“%d %d %d/n“,a,b,c);(分数:2.00)A.10 20 0B.20 10
17、0C.10 10 0D.20 20 039.下列选项中正确的语句组是 _。(分数:2.00)A.char s8;s=“Beijing“;B.char *s;s=“Beijing“;C.char s8;s=“Beiiing“;D.char *s;s=“Beijing“;40.有以下程序:main()char str10=“China“,“Beijing“),*P=str;printf(“%s/n“,p+10);程序运行后的输出结果是 _。(分数:2.00)A.ChinaB.BeijingC.ngD.ing二、填空题(总题数:15,分数:30.00)41.有以下程序:main()int a=7,b
18、=8, *p, *q, *r;p= q= r=p; p=q; q=r;printf(“%d,%d,%d,%d/n“, *p,*q,a,b);程序运行后的输出结果是 【1】 。(分数:2.00)填空项 1:_42.有以下程序:# includestring.hmain(int argc,char *argv)int i,len=0;for(i=1;iargc;i+=2) len+= strlen(argvi);printf(“%d/n“,len);经编译连接后生成的可执行文件是 ex.exe,若运行时输入以下带参数的命令行:ex abcd efg h3 k44执行后的输出结果是 【2】 。(分数
19、:2.00)填空项 1:_43.有以下程序:main()int a33,*p,i;p=i9;i+)pi=i+1;printf(“%d/n“,a12);程序运行后的输出结果是 【3】 。(分数:2.00)填空项 1:_44.有以下程序:void f(int a,int i,int j)int t;if(ij)t=ai;ai=aj;aj=t;f(a,i+1,j-1);main()int i,aa5=1,2,3,4,5;f(aa,0,4);for(i=0;i5;i+) printf(“%d,“,aai);printf(“/n“);执行后的输出结果是 【4】 。(分数:2.00)填空项 1:_45.目
20、前实际存在和使用的广域网基本上都是采用 _拓扑结构类型。有以下程序:# include string.hstruct STUint num;float TotalScore; ;void f(struct STU p)struct STU s2=20041,703,20045,537;p.num=s1.num;p.TotalScore=s1.TotalScore;main()struct STU s2=20041,703,20042,580;f(s0);printf(“%d %3.0f/n“,s0.num,s0,TotalScore);程序运行后的输出结果是 【5】 。(分数:2.00)填空项
21、 1:_46.若有以下程序:int f(int x,int y)return (y-x)*x;main()int a=3,b=4,c=5,d;d=f(f(3,4),f(3,5);printf(“%d/n“,d);执行后的输出结果是 【6】 。(分数:2.00)填空项 1:_47.有以下程序:void swap 1(int c)int t;t=c0;c0=c1;c1=t;void swap2(int c0,int c1)int t;t=c0;c0=c1;c1=t;main()int a2=3,5,b2=3,5;swaplA);swap2(b0,b1);printf(“%d,%d,%d,%d/n“
22、,a0,a1,b0,b1);其输出结果是 【7】 。(分数:2.00)填空项 1:_48.有以下程序;int a=2;int f(int *A) return(*A) +;main()int s=0;int a=5;s+=f(b=p5;b 中的值是 【9】 。(分数:2.00)填空项 1:_50.以下程序的运行结果是 【10】 。# includestring.hchar *ss(char *s)return s+strlen(s)/2;main()char *p,*str=“abcdefgh“;p=ss(str);printf(“%s/n“,p);(分数:2.00)填空项 1:_51.有如下
23、程序段:main(int argc,char *argv)int n,i=0;while(argv1i!=/0)n=fun();i+;printf(“%d/n“,n*argc);int fun()static int s=0;s+=1;return s;假设程序经编译、连接后生成可执行文件 exam,exe,若键入如下命令行:exam l23回车则运行结果为 【11】 。(分数:2.00)填空项 1:_52.以下程序运行后的输出结果是 【12】 。# define S(x) 4*x*x+1main()int i=6,j=8;printf(“%d/n“,S(i+j);(分数:2.00)填空项 1
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 93 答案 解析 DOC
