【计算机类职业资格】二级C语言笔试-286及答案解析.doc
《【计算机类职业资格】二级C语言笔试-286及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-286及答案解析.doc(40页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试-286 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:50,分数:50.00)1.有以下函数fun(char *a, char *B) while(*a!=/0)&(*b!=/0)&(*a=*B) )a+; b+;return(*a-*B) ;该函数的功能是(分数:1.00)A.计算 a 和 b 所指字符串的长度之差B.将 b 所指字符串复制到 a 所指字符串中C.将 b 所指字符串连接到 a 所指字符串后面D.比较 a 和 b 所指字符串的大小2.下列叙述中不正确的是(分数:1.00)A.数据库技术的根本目标是要解决数据共享的问题B.数据库系统
2、中,数据的物理结构必须与逻辑结构一致C.数据库设计是指设计一个能满足用户要求,性能良好的数据库D.数据库系统是一个独立的系统,但是需要操作系统的支持3.以下能正确定义一维数组的选项是(分数:1.00)A.int num;B.#define N 100int numN;C.intnum0100;D.int N=100;int numN4.有以下程序:#inClude stdlib.hstruct NODEint num;struct NODE *next;main()Struct N00E *p,*q,*r;int sum;0;p=(struct NODE *)malloc(sizeof(str
3、uct NODE);q=(struct NODE *)malloc(sizeof(struct NODE);r=(struct NODE *)malloc(Sizeof(struct NODE);p-num=1;q-num=2;r-num=3;p-next=q;q-next=r;r-next=NULL;sum+=q-next-num;sum+=p-num;printf(“%d/n“,sum);执行后的输出结果是(分数:1.00)A.3B.4C.5D.65.若整型变量 a、b、c、d 中的值依次为:1、4、3、2。则条件表达式 ab?a:cd?c:d 的值是(分数:1.00)A.1B.2C.3D
4、.46.以下不能正确计算代数式 sm2()值的 C 语言表达式是(分数:1.00)A.1/3*sin(1/2)*sin(1/2)B.sin(0.5)*sin(0.5)/3C.pow(sin(0.5),2)/3D.1/3.0*pow(sin(1.0/2),2)7.设有如下说明typedef structint n; char c;double X;STD;则以下选项中,能正确定义结构体数组并赋初值的语句是(分数:1.00)A.STD tt2=1,A,62,2,B,75;B.STD tt2=1,“A“,62,2,“B“,75;C.struct tt2=1,A),2,B;D.struct tt2=1
5、,“A“,62.5,2,“B“,75.0;8.已知大写字母 A 的 ASCII 码值是 65,小写字母 a 的 ASCII 码是 97,则用八进制表示的字符常量/101是(分数:1.00)A.字符 AB.字符 aC.字符 eD.非法的常量9.下列关于 C 语言用户标识符的叙述中正确的是(分数:1.00)A.用户标识符中可以出现下划线和中划线(减号)B.用户标识符中不可以出现中划线,但可以出现下划线C.用户标识符中可以出现下划线,但不可以放在用户标识符的开头D.用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头10.软件调试的目的是_。(分数:1.00)A.发现错误B.改正错误C.
6、改善软件的性能D.挖掘软件的潜能11.有以下程序main()int a=666,b=888;printf(“%d/n“,a,B) ;程序运行后的输出结果是(分数:1.00)A.错误信息B.666C.888D.666,88812.有定义语句:int b;char c10;,则正确的输入语句是(分数:1.00)A.scanf(“%d%s“,&b,&C) ;B.scanf(“%d%s“,&b,C.;C) scanf(“%d%s“,b,C) ;D.s13.在 C 语言中,形参的缺省存储类是(分数:1.00)A.autoB.registerC.staticD.extern14.数据库是_的集合,它具有统
7、一的结构形式并存放于统一的存储介质内,可被各个应用程序所共享。(分数:1.00)A.视图B.消息C.数据D.关系15.规范化理论中,分解_主要是消除其中多余的数据相关性。(分数:1.00)A.关系运算B.内模式C.外模式D.视图16.线性表的链式存储结构是一种_的存储结构。(分数:1.00)A.随机存储B.顺序存储C.索引结构D.散列结构17.对建立良好的程序没计风格,下面描述正确的是_。(分数:1.00)A.程序应简单、清晰、可读性好B.符号名的命名只要符合语法即可C.充分考虑程序的执行效率D.程序的注释可有可无18.以下程序段的输出结果是int a=1234;printf(“%2d/n“,
8、(分数:1.00)A.;A) 12B.34C.1234D.提示出错、无结果19.没有如下定义:Struct skint a;float b;data;int *p;若要使 P 指向 data 中的 a 域,正确的赋值语句是(分数:1.00)A.p=&a;B.p=data.a;C.p=&data.a;D.*p=data.a;20.若有以下程序:main()int k=2,i=2,m;m=(k+=i*=k);printf(“%d,%d/n“,m,i);执行后的输出结果是(分数:1.00)A.8,6B.8,3C.6,4D.7,421.有以下程序#include.string.hmain()char
9、*p=“abcde/ofghjik/0“;printf(“%d/n“,strlen(p);程序运行后的输出结果是(分数:1.00)A.12B.15C.6D.522.阅读以下函数fun(char *sl,char *s2)int i:0;while(sli=s2i&s2i!=/0) i+;return(sli=/0&s2i=/0);此函数的功能是(分数:1.00)A.将 s2 所指字符申赋给 s1B.比较 s1 和 s2 所指字符串的大小,若 s1 比 s2 的大,函数值为 1,否则函数值为 0C.比较 s1 和 s2 所指字符串是否相等,若相等,函数值为 1,否则函数值为 oD.比较 s1 和
10、 s2 所指字符串的长度,若 s1 比 s2 的长,函数值为 1,否则函数值为 o23.若有以下定义和语句:int s45,(*ps)5;ps=s;则对 s 数组元素的正确引用形式是(分数:1.00)A.ps+1B.*(ps+3)C.ps02D.*(ps+1)+324.有以下程序:main()int x=0,y=5,z=3;while(z-0&+x5) y=y-1;printf(“%d,%d,%d/n“,x,y,z);程序执行后的输出结果是(分数:1.00)A.3,2,0B.3,2,-1C.4,3,1D.5-2,-525.有以下函数定义:void fun(int n, double x) 若以
11、下选项中的变量都已正确定义并赋值,则对函数 fun 的正确调用语句是(分数:1.00)A.fun(int y,double m);B.k=fun(10,12.5);C.fun(x,n);D.void fun(n,x);26.有以下程序main()int a=5,b=4,c=3,d=2;if(abC) printf(“%d/n“,D) ;else if(c-1=D) =1)printf(“%d/n“,d+1);elseprintf(“%d/n,d+2);执行后输出的结果是(分数:1.00)A.2B.3C.4D.编译时有错,无结果27.若有以下程序段(n 所赋的是八进制数)int m=32767,
12、n=032767;printf(“%d,%O/n“,m,n);执行后输出结果是(分数:1.00)A.32767,32767B.32767,032767C.32767,77777D.32767,07777728.有以下程序main()char a=a,b;printf(“%c,“,+(分数:1.00)A.;printf(“%c/n“。b=a+);程序运行后的输出结果是 A) b,bB.b,cC.a,bD.a,c29.有以下结构体说明和变量定义,如图所示,指针 p、q、r,分别指向此链表中的 3 个连续结点。Struct nodeint data; Struct node *hext; *p,*q
13、,*r;(分数:1.00)A.p-next=q-next;B.p-next=p-next-next;C.p-next=r;D.p=q-next;30.有以下程序void f(int *x,int *y)int t;t=*X; *X=*y; *y=t;main()int a8=1,2,3,4,5,6,7,8,i,*p,*q;p=a; q=&a7);while(pq)f(p,q); p+; q-; for(i=0; i8; i+) printf(“%d,“,ai);程序运行后的输出结果是(分数:1.00)A.8,2,3,4,5,6,7,1,B.5,6,7,8,1,2,3,4,C.1,2,3,4,5
14、,6,7,8,D.8,7,6,5,4,3,2,1,31.下面不属于软件工程的三个要素的是_。(分数:1.00)A.工具B.过程C.方法D.环境32.下列关于栈的描述中错误的是(分数:1.00)A.栈是先进后出的线性表B.栈只能顺序存储C.栈具有记忆作用D.对栈的插入与删除操作中,不需要改变栈底指针33.在 16 位 C 编译系统上,若定义 long a;,则能给 a 赋 40000 的正确语句是(分数:1.00)A.a=20000+20000;B.a=4000*10;C.a=30000+10000;D.a=4000L*1OL;34.有以下程序main()int a=i,b;for(b=1;b=
15、10;b+)if(a=8) break;if(a%2=1)a+=5; continue; a-=3;printf(“%d/n“,B) ;程序运行后的输出结果是(分数:1.00)A.3B.4C.5D.635.有以下程序float fl(float n)return n*n; 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.O);t=p1; p1=p2; p2=t;y2=p2(pl(2.0);printf(“%3.0f,%3,Of/n
16、“,y1,y2);程序运行后的输出结果是(分数:1.00)A.8,16B.8,8C.16,16D.4,836.在软件设计中,不属于过程设计工具的是(分数:1.00)A.PDL(过程设计语言)B.PAD 图C.N-S 图D.DFD 图37.s1 和 s2 已正确定义并分别指向两个字符串。若要求:当 s1 所指串大于 s2 所指串时,执行语句 S:则以下选项中正确的是(分数:1.00)A.if(s1s2)S;B.if(strcmp(s1,s2)S;C.if(strcmp(s2,s1)0)S:D.if(strcmp)(s1,s2)0)S;38.以下程序的功能是:按顺序读入 10 名学生 4 门课程的
17、成绩,计算出每位学生的平均分并输出,程序如下:main()int nk;float scoresum,ave;sum=0.0;for(n=1;n=10;n+)for(k=1;k=4;k+)scanf(“%f“,&score);sum+=score;ave=sum/4.0;printf(“NO%d:%f/n“,n,ave);上述程序运行后结果不正确,调试中发现有条语句出现在程序中的位置不正确。这条语句是(分数:1.00)A.sum=0.0;B.sum+=score;C.ave=sun/4.0;D.printf(“NO%d:%f/n“,n,ave);39.下面程序的功能是输出以下形式的金宁塔图案:
18、*main()int i,j;for(i=1;i=4;i+)for(j=1;j=4-i;j+)printf(“ “);for(j=1;j=( );j+)printf(“*“);printf(“/n“);在下划线处应填入的是(分数:1.00)A.iB.2*i-1C.2*i+1D.i+240.以下程序的输出结果是main()int b33=0,1,2,O,l,2,0,1,2,i,j,t=1;for(i=0;i3;i+)for(j=i;j=i;j+) t=t+bibjj;printf(“%d/n“,t);(分数:1.00)A.3B.4C.1D.941.以下程序中,while 循环的循环次数是main
19、()int i=0;while(i10)if(i1)continue;if(i=5)break;i+;(分数:1.00)A.1B.10C.6D.死循环,不能确定次数42.以下程序输出的结果是#include stdiohmain()int i=010,j=10;printf(“%d,%d/n“,+i,j-);(分数:1.00)A.11,10B.9,10C.010,9D.10,943.以下程序十函数 scmp 的功能是返回形参指针 s1 和 s2 所指字符串中较小字符串的首地址:#include stdio.h#include string.hchar *scrap(char *s1,char
20、*s2)if(strcmp(s1,s2)0)return(s1);else return(s2);main()int i; char string20, str320;for(i=0;i3;i+) gets(stri);strcpy(string,scmp(str 0,str1);/*库函数 strcpy 对宁符中进行复制*/strcpy(string,scmp(string,str2);printf(“%s/n“,string);若运行时依次输入:abcd、4bba 和 abc 三个宁符市,则输结果为(分数:1.00)A.abcdB.abbaC.abcD.abca44.有以下程序# incl
21、ude stdio.hmain()int a=1,2,3,4,5,6,7,8,9,10,11,12,*p=a+5,*q=NULL;*q=*(p+5);printf(“%d %d /n“,*p,*q);程序运行后的输出结果是(分数:1.00)A.运行后报错B.6 6C.6 11D.5 1045.有以下程序main()union unsigned int n;unsigned char C;ul;u1.C=A;printf(“%c/n“,u1.n);执行后输出结果是(分数:1.00)A.产生语法错B.随机值C.AD.6546.有以下程序,其中函数 f 的功能是将多个字符串按字典顺序排序#inclu
22、de string,hvoid f(char *p, int n)char *t;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 *p5=“abc“,“aabdfg“,“abbd“,“dcdbe“,“cd“;f(p,5);printf(“%d/n“。strlen(p1);程序运行后的输出结果是(分数:1.00)A.2B.3C.6D.447.有以下程序struct STUchar name10;int num;float TotalScore;vold f(struc
23、t STU *p)struct STU s2=“SunDan“,20044,550),“Penghua“20045,537,*q=s+p; +q; *p=*q;main()struct SrU s3=“YangSan“,20041,703),“LiSiGuo“,20042,580;f(s);printf(“%s %d %3.of/n“,S1name,s1num,s1Totalscore);程序运行后的输出结果是(分数:1.00)A.SunDan 20044 550B.Penghua 20045 537C.USiGuo 20042 580D.SunDan 20041 70348.有以下程序int
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 286 答案 解析 DOC
