【计算机类职业资格】二级C语言笔试-139及答案解析.doc
《【计算机类职业资格】二级C语言笔试-139及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-139及答案解析.doc(33页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试-139 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:50,分数:60.00)1.main()float x=123.456;printf(“%-5.2f/n“,x);以上程序输出的结果是_。(分数:2.00)A.123.4B.123.5C.123.45D.123.462.已知字母 A 的 ASCII 码值是 65,字母 a 的 ASCII 码值是 97,以下程序_。maini()char a=A;int b=20;printh(“%d,%o“,(a=a+a,a+b,b),a+a-A,b);(分数:2.00)A.表达式非法,输出零或不确定值B.因
2、输出项过多,无输出或输出不确定值C.输出结果为 20,141D.输出结果为 20,141,203.在软件开发过程中,软件结构设计是描述_。(分数:2.00)A.数据存储结构B.软件体系结构C.软件结构测试D.软件控制过程4.关系代数运算是以_为基础的运算。(分数:2.00)A.关系运算B.谓词运算C.集合运算D.代数运算5.已知形成链表的存储结构如下图所示,则下述类型描述中的空白处应填_。struct linkchar data;_,node;data next(分数:2.00)A.struct link nextB.link *nextC.stuct next linkD.struct li
3、nk *next6.以下程序段的输出结果是_。main()char s110,s210,s310;scanf(“%s“,s1);gets(s2);gets(s3);puts(s1);puts(s2);puts(s3);输入数据如下:(此处CR代表回车符)aaaCRbbbCR(分数:2.00)A.aaabbbB.aaabbbC.aaa/0bbb/0D.aaabbb7.数据存储和数据流都是_,仅仅是所处的状态不同。(分数:2.00)A.分析结果B.事件C.动作D.数据8.能将高级语言程序转换成目标语言程序的是_。(分数:2.00)A.调试程序B.解释程序C.编译程序D.编辑程序9.C 语言库函数
4、fgets(str,n,fp)的功能是_。(分数:2.00)A.从 fp 指向的文件中读取长度 n 的字符串存入 str 指向的内存B.从 fp 指向的文件中读取长度不超过 n-1 的字符串存入 str 指向的内存C.从 fp 指向的文件中读取 n 个字符串存入 str 指向的内存D.从 str 读取至多 n 个字符到文件 fp10._是构成 C 语言程序的基本单位。(分数:2.00)A.函数B.过程C.子程序D.子例程11.若有以下类型说明语句:char w;int x;flooat y,z;则表达式 w*x+z-y 的结果为_类型。(分数:1.00)A.floatB.charC.intD.
5、double12.数据的完整性是指数据的正确性、有效性和_。(分数:1.00)A.可维护性B.独立性C.安全性D.相容性13.以下程序的输出结果是_。#includestdio.h#define SQR(x)x*xmain()int a,k=3;a=+SQR(k+1);printf(“%d/n“,(分数:1.00)A.;do if(i=(i/2)*2)continue;sum+i;while(+i(分数:1.00)A.;printf(“%d/n“,sun);A) 2500B.2050C.4D.015.排序方法中,将整个无序序列分割成若干小的子序列并分别进行插入排序的方法,称为_。(分数:1.0
6、0)A.希尔排序B.冒泡排序C.插入排序D.选择排序16.下列程序的输出结果是_。main()int i;for(i=1;i+1;i+)if(i4)printf(“%d“,i+);break;printf(“%d“,i+);(分数:1.00)A.55B.56C.程序错误,没有输出D.循环条件永远为真,死循环17.下列程序执行后输出的结果是_。int d=1;fun(int p)int d=5;d+=p+;printh(“%d,“,d);main()int a=3;fuin((分数:1.00)A.;printf(“%c/n“,a|b);(分数:1.00)A.66B.98C.bD.B19.设已定义
7、 i 和 k 为 int 类型变量,则以下 for 循环语句_。for(i=0;k=-1,k=1,i+,k+)printf(“*/n“);(分数:1.00)A.判断循环结束的条件不合法B.是无限循环C.循环次也不执行D.循环只执行一次20.以下程序(程序左边的数字为附加的行号)_。1 #includestr.h2 #includestdio.h3 main()4 char s=“string“;5 puts(s);6 strcpy(s,“hello“);7 printf(“%3s/n“,s);(分数:1.00)A.没有错B.第 1 行有错C.第 6 行有错D.第 7 行有错21.下列程序的执行
8、结果是_。#includestdio.hunionint i;char c2;void main()union un x;x.c0=10;x.c1=1;printf(“/n%d“,x.i);(分数:1.00)A.266B.11C.265D.13822.以下程序的输出结果是_。main()char str12=s,t,r,i,n,g;printf(“%d/n“,strlen(str);(分数:1.00)A.6B.7C.11D.1223.若进栈序列为 1,2,3,4,进栈过程中可以出栈,则下列不可能的个出栈序列是_。(分数:1.00)A.1,4,3,2B.2,3,4,1C.3,1,4,2D.3,4
9、,2,124.模块本身的内聚是模块独立性的重要性度量因素之。在 7 类内聚中,具有最强内聚的类是 _。(分数:1.00)A.顺序性内聚B.过程性内聚C.逻辑性内聚D.功能性内聚25.以下程序输出的结果为_。main()char *alpha6=“ABCD“,“EFGH“,“IJKL“,“MNOP“,“QRST“,“UVWX“);char *p;int i;p=alpha;for(i=0;i4;i+)printf(“%s“,pi);(分数:1.00)A.ABCDEFGHIJKLB.ABCDC.ABCDEFGHIJKLMNOPD.AEIM26.请读程序:#includestdio.h#includ
10、estring.hmain()char *s1=“AbCdEf“,*s2=“aB“;s1+;s2+;printf(“%d/n“,strcmp(s1,s2);上面程序的输出结果是_。(分数:1.00)A.正数B.负数C.零D.不确定的值27.设有以下语句:char str 1=“string“,str28,*str3,*str4=“string“;则_不是对库函数的正确调用。(分数:1.00)A.strcpy(str 1,“HELLO1“);B.strcpy(str2,“HELLO2“);C.strcpy(str3,“HELLO3“);D.strcpy(str4,“HELLO4“);28.下列程
11、序的输出结果,是_。main()int a=0,b=0,c=0;if(+a0|+b0)+c;printf(“/na=%d,b=%d,c=%d“,a,b,c);(分数:1.00)A.a=0,b=0,c=0B.a=1,b=1,c=1C.a=1,b=0,c=1D.a=0,b=1,c=129.下面程序的输出结果是_。unsigned fun(unsigned num)unsigned k=1;dok*=num%10;num/=10;while(num);return(k);main()unsigned n=26;printf(“%d/n“,fun(n);(分数:1.00)A.0B.4C.12D.无限次
12、循环30.C 语言函数返回值的类型是由_决定的。(分数:1.00)A.return 语句中的表达式类型B.调用函数的主调函数类型C.调用函数时临时D.定义函数时所指定的函数类型31.若有如下说明,则_的叙述是正确的。struct stint a;int b2;a;(分数:1.00)A.结构体变量 a 与结构体成员 a 同名,定义是非法的B.程序只在执行到该定义时才为结构体 st 分配存储单元C.程序运行时为结构体 st 分配 6 个字节存储单元D.类型名 struct st 可以通过 extern 关键字提前引用(即引用在前,说明在后)32.若一个外部变量的定义形式为 static int x
13、;,那么,其中 static 的作用应该是_。(分数:1.00)A.将变量存储在静态存储区B.使变量 x 可以由系统自动初始化C.使 x 只能在文本文件内引用D.使 x 的值可以永久保留33.已知下面的程序段,正确的判断是_。#define A 3#define B((分数:1.00)A.(A+1)*a)int a=3;X=3*(A+B(7);A) 程序错误,不允许嵌套定义B.X=93C.X=81D.程序错误,宏定义不允许有参数34.若有定义:int a410;,则以下选项中对数组元素 aij引用错误的是_。 (0=i4,0=j10)(分数:1.00)A.*((分数:1.00)A.14B.8C
14、.5D.输出项不合法,无正常输出38.下述程序向文件输出的结果是_。#includestdio.hvoid main()FILE *fp=fopen(“TESY“,“wb“);fprintf(fp,“%d%5.0f%c%d“,58,76273.0,-,2278);fclose(fp);(分数:1.00)A.58 76273-2278B.5876273.000000-2278C.5876273-2278D.因文件为二进制文件而不可读39.下列程序的输出结果是_。main()int i=3;switch(i)case 1:case 2:printf(“%d“,i);case 3:case 4:br
15、eak;default:printh(“OK“;(分数:1.00)A.0B.3C.OKD.没有任何输出40.下述函数功能是_。int fun(char *x)char *y=x;while(*y+);retum y-x-1;(分数:1.00)A.求字符串的长度B.求字符串存放的位置C.比较两个字符串的大小D.将字符串 x 连接到字符串 y 后面41.下列程序执行后的输出结果是_。main()int m3=1,4,7,2,5,8,3,6,9;int i,k=2;for(i=0;i3;i+)printf(“%d“,mki);(分数:1.00)A.456B.258C.369D.78942.下面程序的
16、输出是_。char s=“ABCD“;main()char *p;for(p=s;ps+4;p+)printf(“%s/n“,p);(分数:1.00)A.ABCDBCDCDDB.ABCDC.DCBAD.ABCDABCABA43.下面是对宏定义的描述,不正确的是_。(分数:1.00)A.宏不存在类型问题,宏名无类型,它的参数也无类型B.宏替换不占用运行时间C.宏替换时先求出实参表达式的值,然后代入形参运算求值D.宏替换只不过是字符替代而已44.在顺序表(3,6,8,10,12,15,16,18,21,25,30)中,用二分法查找关键码值 11,所需的关键码比较次数为_。(分数:1.00)A.2B
17、.3C.4D.545.在数据结构中,从逻辑上可以把数据结构分为_。(分数:1.00)A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.内部结构和外部结构46.请读程序段:char str=“ABCD“,*p=str;printf(“%d/n“,*(p+4);程序段的输出结果是_。(分数:1.00)A.68B.0C.字符D的地址D.不确定的值47.以下程序的输出结果是_。#includestdio.hvoid prt(int *x,int *y,int *z)printf(“%d,%d,%d/n“,+*x,+y,*(z+);int a=10,b=40,c=20;main(
18、)prt(prt((分数:1.00)A.11,42,3112,22,41B.11,41,2012,42,20C.11,21,4011,21,41D.11,41,2112,42,2248.下面程序的输出结果是_。#includestdio.hmain()char *p=“BOOL“,“OPK“,“H“,“SP“;int i;for(i=3;i=0;i-,i-)printf(“%c“,*pi);printf(“/n“);(分数:1.00)A.SOB.SPC.SPOPKD.SHOB49.定义 int* swap()指的是_。(分数:1.00)A.个返回整型值的函数 swap()B.个返回指向整型值指
19、针的函数 swap()C.个指向函数 swap()的指针,函数返回一个整型值D.以上说法均错50.若有以下结构体定义,则_是正确的引用或定义。struct exampleint x;int y;v1;(分数:1.00)A.example.x=10B.example v2.x=10C.struct v2;v2.x=10D.struct example v2=10;二、填空题(总题数:17,分数:40.00)51.对于长度为 n 的顺序存储的线性表,当随机插入和删除个元素时,需平均移动元素的个数为 【1】 。(分数:2.00)填空项 1:_52.注释说明了程序的功能,它分为 【2】 注释和功能性注
20、释。(分数:2.00)填空项 1:_53.软件测试中路径覆盖测试是整个测试的基础,它是对软件 【3】 进行测试。(分数:2.00)填空项 1:_54.数据库技术的主要特点为数据的集成性、数据的高 【4】 和低冗余性、数据独立性和数据统一管理与控制。(分数:2.00)填空项 1:_55.数据元素之间 【5】 的整体称为逻辑结构。(分数:2.00)填空项 1:_56.若有定义 int m=5,y=2,则执行表达式 y+=y-=m*=y 后,y 的值为 【6】 。(分数:2.00)填空项 1:_57.若 x 和 y 都是 buble 型变量,且 x 的初值为 3.0,y 的初值为 2.0,则表达式
21、pow(y,fabs(x)的值为 【7】 。(分数:2.00)填空项 1:_58.没有 char a,b;,若要通过 ac=a+c+;return(c);main()int a=2,i,k;for(i=0;i2;i+)k=f(a+);prinf(“%d/n“,k);(分数:2.00)填空项 1:_60.下面程序执行后输出的结果是 【10】 。int m=13;int fun(int x,int y)int m=3;return(x*y-m);main()int a=7,b=5;printf(“%d/n“,fun(a,b)/m);(分数:2.00)填空项 1:_61.下列程序执行后输出的结果是
22、【11】 。main()int arr10,i,k=0;for(i=0;i10;i+)arri=i;for(i=1;i4;i+) k+=arri+i;printf(“%d/n“,k);(分数:2.00)填空项 1:_62.下列程序执行后输出的结果是 【12】 。struct sint x,y;data2=10,100,20,200;main()struct s *p=data;printf(“%d/n“,+(p-x);(分数:2.00)填空项 1:_63.下面程序有两个 printf 语句,如果第一个 printf 语句输出的是 194,则第二个 printf 语句的输出结果是 【13】 。m
23、ain()int a10=1,2,3,4,5,6,7,8,9,0,*p;p=a;printf(“%x/n“,p);printf(“%/n“,p+9);(分数:2.00)填空项 1:_64.以下函数的功能是计算 s=1+1/21+1/3!+1/n!,请填空。double fun(int n)double s=0.0,fac=1.0;int i,k=1;for(i=1;i=n;i+)【14】 ;fac=fac/k;s=s+fac;(分数:2.00)填空项 1:_65.下面程序的运行结果是 【15】 。main()unsigned a=0112,x;x=a3;printf(“x=%o“,x);(分数
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 139 答案 解析 DOC
