【计算机类职业资格】二级C语言笔试-118及答案解析.doc
《【计算机类职业资格】二级C语言笔试-118及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-118及答案解析.doc(36页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试-118 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:50,分数:60.00)1.程序中头文件 typelh 的内容是:#define N 5#define M1 N *3程序如下:#include“typelh”#define M2 N*2main()int i;i=M1+M2;Printf(“%d/n”,0;程序编译后运行的输出结果是:(分数:1.00)A.10B.20C.25D.302.以下选项中,与 k=n+完全等价的表达式是(分数:1.00)A.k=n,n=n+1B.n=n+1,k=nC.k=+nD.k+=n+13.利用 E-R 模型进
2、行数据库的概念设计,可以分成三步:首先设计局部 E-R 模型,然后把各个局部 E-R 模型综合成一个全局的模型,最后对全局 E-R 模型进行(),得到最终的 E-R 模型。(分数:1.00)A.简化B.结构化C.最小化D.优化4.以下程序中函数 sort 的功能是对 a 所指数组中的数据进行由大到小的排序void sort(int a,int n)int i,j,t;for(i=0;in-1;i+)for(j=i+1;jn;j+)if(aiaj) t=ai;ai=aj;aj=t;main()int aa10=1,2,3,4,5,6,7,8,9,10,i;sort(&aa3,5);for(i=0
3、;i10;i+)printf(“%d”,aa i);pfintf(“/n”);程序运行后的输出结果是(分数:1.00)A.1,2,3,4,5,6,7,8,9,10B.10,9,8:7,6,5,4,3,2,1C.1,2,3,8,7,6,5,4,9,10D.1,2,10,9,8,7,6,5,4,35.在面向对象中,一个对象请求另一个对象为其服务的方式是通过发送(分数:1.00)A.调用语句B.命令C.口令D.消息6.有以下程序main()int aa44=1,2,3,4,5,6,7,8,3,9,10,2,4,2,9,6;int i,s=0;for(i=0;i4;i+)s+=aai1;pdrintf
4、(“%d/n”,s);程序运行后的输出结果是(分数:1.00)A.11B.19C.13D.137.以下程序中函数 f 的功能是将 n 个字符串按由大到小的顺序进行排序。#includestringhvoid f(char p10,int n)char t20;int i,j;for(i=0;in-1;i+)for(j=i+1;jn;j+)if(strcmp(pi,pj0)strcpy(t,pi);strcpy(pi,pj);strcpy(pj,t);main()charp10=“abc”,“aabdfg”,“abbd”,“dcdbe”,”cd”;int i;f(p,5);printf(“%d/
5、n”,strlen(P0);程序运行后的输出结果是(分数:1.00)A.6B.4C.5D.38.有以下程序int fa(int x)return x*x;int fb(int x)return x*x*x;int f(int(*f1)(),int(*f2)(),int x)return f2(x)-f1(x);main()int i;i=f(fa,fb,2);pfintf(“%d/n”,i);程序运行后的输出结果是(分数:1.00)A.-4B.1C.4D.89.C 语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是(分数:1.00)A.voidB.intC.floatD.double10
6、.以下叙述中正确的是(分数:1.00)A.构成 C 语言程序的基本单位是函数B.可以在一个函数中定义另一个函数C.main()函数必须放在其他函数之前D.所有被调用的函数一定要在调用之前进行定义11.已知 i、j、k 为 int 型变量,若从键盘输入:1,2,3回车,使 i 的值为 1、j 的值为 2、k 的值为3,以下选项中正确的输入语句是(分数:1.00)A.scanf(“%2d%2d%2d”,&i,&j,&k);B.scanf(“%d%d%d”,&i,&j,&k);C.scant(“%d,%d,%d”,&i,&j,&k);D.scanf(“i=%d,j=%d,k=%d”,&i,&j,&k
7、);12.已有定义:int x=3,y=4,z=5,则表达式!(x+y)+z-1&y+x/2 的值是(分数:1.00)A.6B.0C.2D.113.设有定义:long x=-123456L;,则以下能够正确输出变量 x 值的语句是(分数:1.00)A.printf(“x=%d/n”,x);B.printf(“x=%1d/n”,x);C.printf(“x=%8dL/n”,x);D.pfintf(“x=%LD/n”,x);14.在数据库设计的 4 个阶段;为关系模式选择存取方法应该在(分数:1.00)A.需求分析阶段B.概念设计阶段C.逻辑设计阶段D.物理设计阶段15.已知大写字母 A 的 AS
8、CII 码值是 65,小写字母 a 的 ASCII 码是 97,则用八进制表示的字符常量/101是(分数:1.00)A.字符 AB.字符 aC.字符 eD.非法的常量16.有一函数 (分数:1.00)A.B.C.D.17.若有以下程序: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,418.有以下程序#includestringhmain()char *p=“abcde、Ofghjik/0”;printf(“%d/n”,strlen(p);程序运行后的输出结果(
9、分数:1.00)A.12B.15C.6D.519.若有以下说明和定义typedef int*INTEGER;INTEGER p,*q;以下叙述正确的是(分数:1.00)A.p 是 int 型变量B.p 是基类型为 int 的指针变量C.q 是基类型为 int 的指针变量D.程序中可用 INTEGER 代替 int 类型名20.设有如下定义:struct skint a;float b;data;int *p;若要使 p 指向 data 中的 a 域,正确的赋值语句是(分数:1.00)A.p=&a;B.p=dataa;C.p=&dataa;D.*p=dataa;21.以下程序的功能是:按顺序读入
10、 10 名学生 4 门课程的成绩,计算出每位学生的平均分并输出,程序如下:main()int n,k;float score,sum,ave;sum=0.0;for(n=1;n10;n+)for(k=1;k4;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=sum/4.0;D.printf(“NO%d:%f/n”,n,ave);22.下列不属于数
11、据库管理系统提供的数据语言的是(分数:1.00)A.数据定义语言B.数据查询语言C.数据操纵语言D.数据控制语言23.设 a 和 b 均为 double 型变量,且 a=5.5、b=2.5,则表达式(int)a+b/b 的值是(分数:1.00)A.6.500000B.6C.5.500000D.6.00000024.有以下程序main()char a=a,b,c,d,e,f,g,h,/0;int i,j;i=sized((分数:1.00)A.;j=stden(a);25.有以下程序void fun(char *c,int d)*c=*c+1;d=d+1;printf(“%c,%c”,*c,d);
12、main()char a=A,b=a;fun(&b,(分数:1.00)A.;printf(“%c,%c/n”,a,B.;程26.有以下程序#includestdiohmain()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”,&k,&n);printf(“%d%d/n”,k,n);fclose(fp);程序运行后的输出结果是(分数:1.00)A.20 30B.20
13、 50C.30 50D.30 2027.以下选项中合法的用户标识符是(分数:1.00)A.longB._2TestC.3DmaxD.dat28.有以下程序int a=3;main()int s=0;int a=5;s+=a+;8+=a+;printf(“%d/n”,s);程序运行后的输出结果是(分数:1.00)_29.以下叙述中错误的是(分数:1.00)A.二进制文件打开后可以先读文件的末尾,而顺序文件不可以B.在程序结束时,应当用 fclose 函数关闭已打开的文件C.在利用 fread 函数从二进制文件中读数据时,可以用数组名给数组中所有元素读入数据D.不可以用 FILE 定义指向二进制文
14、件的文件指针30.软件调试的目的是(分数:1.00)A.发现错误B.改正错误C.改善软件的性能D.挖掘软件的潜能31.设有下列二叉树:(分数:1.00)A.B.C.D.32.有以下程序main()unsigned char,a,b,c;a=0x3;b=a|0x8;c=b1;printf(“%d%d/n”,b,c);程序运行后的输出结果是(分数:1.00)A.-11 12B.-6 -13C.12 24D.11 2233.有以下程序#includestringhmain(int arge,char *argv)int i,len=0;for(i=1;iarge;i+)len+=strlen(arg
15、vi);printf(“%d/n”,len);程序编译连接后生成的可执行文件是 exlexe,若运行时输入带参数的命令行是:exl abcd efg 10回车则运行的结果是(分数:1.00)A.22B.17C.12D.934.有以下程序struct STUchar num10;float score3;main()stmct STU s3=“20021”,90,95,85,“20022”,95,80,75,“20023”,100,95,90,*p=s;int i;float sum=0;for(i=0;i3;i+)sum=sum+p-scorei;printf(“%6.2f/n”,sum);程
16、序运行后的输出结果是(分数:1.00)_35.有以下程序main()int a=15,b=21,m=0;switch(a%3)casc 0:m+;break;case 1:m+;switch(b%2)default:m+;case 0:m+;break;printf(“%d/n”,m);程序运行后的输出结果是(分数:1.00)A.1B.2C.3D.436.与数学式子 (分数:1.00)A.B.C.D.37.有以下程序#includestdlibhmain()char*p,*q;p=(char *)malloc(sizeof(char)*20);q=p;scanf(“%s%s”,p,q);pri
17、ntf(“%s%s/n”,p,q);若从键盘输入:abc def回车,则输出结果是(分数:1.00)A.def defB.abc defC.abc dD.d d38.有以下程序#includestdlibhstruct NODEint num;stmct NODE*next;main()struct NODE*p,*q,*r;p=(struct NODE*)malloc(sizeof(struct NODE);q=(struct NODE*)malloc(sizeof(struct NODE);r=(struct NODE*)malloc(sizeof(struct NODE);p-num=1
18、0;q-num=20;r-num=30;p-next=q;q-next=r;printf(“%d/n”,p-num+q-next-num);程序运行后的输出结果是(分数:1.00)A.10B.20C.30D.4039.有以下程序段:int n=0,p;doscanf(“%d”,&p);n+;while(p!=12345&n3);此处 do-while 循环的结束条件是(分数:1.00)A.p 的值不等于 12345 并且 n 的值小于 3B.p 的值等于 12345 并且 n 的值大于等于 3C.p 的值不等于 12345 或者 n 的值小于 3D.p 的值等于 12345 或者 n 的值大于
19、等于 340.若有说明:int n=2,*p=&n,*q=p;,则以下非法的赋值语句是(分数:1.00)A.p=q;B.*p=*q;C.n=*q;D.p=n;41.以下非法的赋值语句是(分数:2.00)A.n=(i=2,+i);B.j+;C.+(i+1);D.x=j0;42.以下程序中函数 reverse 的功能是将 a 所指数组中的内容进行逆置。void reverse(int a,int n)int i,t;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
20、(b,8);for(i=6;i10;i+)s+=bi;printf(“%d/n”,s);程序运行后的输出结果是(分数:2.00)A.22B.10C.34D.3043.有以下程序int f(int n)if(n=1)return 1;else return f(n-1)+1;main()int i,j=0;for(i=1;i3;i+)j+=f(i);printf(“%d/n”,j);程序运行后的输出结果是(分数:2.00)A.4B.3C.2D.144.下列不属于软件工程三要素的是(分数:2.00)A.工具B.过程C.方法D.环境45.以下选项中合法的实型常数是(分数:2.00)A.5E2.0B.
21、E-3C.2E0D.1.3E46.源程序中应包含一些内部文档,以帮助阅读和理解程序,源程序的内部文档通常包括选择合适的标识符、注释和(分数:2.00)A.程序的视觉组织B.尽量不用或少用 GOTO 语句C.检查输入数据的有效性D.设计良好的输出报表47.有以下程序float fun(int x,int y)return(x+y);main()int a=2,b=5,c=8;printf(“%3Of/n”,fun(int)fun(a+c,b),a-c);程序运行后的输出结果是(分数:2.00)A.编译出错B.9C.21D.9.048.下列叙述中,正确的是(分数:2.00)A.线性表是线性结构B.
22、栈和队列是非线性结构C.线性链表是非线性结构D.二叉树是线性结构49.有以下程序void ss(char *s,char t)while(*s)if(*s=t)*s=t-a+A;s+;main()char strl100=“abcddfefdbd”,c=d;ss(strl,c);printf(“%s/n”,strl);程序运行后的输出结果是(分数:2.00)A.ABCDDEFEDBDB.abeDDfefDbDC.abcAMefAbAD.Abcddfefdbd50.下列不属于算法特性的是(分数:2.00)A.确定性B.可行性C.有输出D.无穷性二、填空题(总题数:17,分数:40.00)51.算
23、法执行过程中,所需要的基本运算次数称为算法的 【1】 。(分数:2.00)填空项 1:_52.在一棵二叉树上第 6 层的结点个数最多是 【2】 。(分数:2.00)填空项 1:_53.软件是程序、数据和 【3】 的集合。(分数:2.00)填空项 1:_54.实体联系模型是一种常用的高级概念数据模型,而 【4】 是实体 模型中的核心。(分数:2.00)填空项 1:_55.在数据库理论中,数据库总体逻辑结构的改变,如修改数据模式、增加新的数据类型、改变数据间联系等,不需要修改相应的应用程序,称为 【5】 。(分数:2.00)填空项 1:_56.设有定义:int n,*k=&n;以下语句将利用指针变
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 118 答案 解析 DOC
