欢迎来到麦多课文档分享! | 帮助中心 海量文档,免费浏览,给你所需,享你所想!
麦多课文档分享
全部分类
  • 标准规范>
  • 教学课件>
  • 考试资料>
  • 办公文档>
  • 学术论文>
  • 行业资料>
  • 易语言源码>
  • ImageVerifierCode 换一换
    首页 麦多课文档分享 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    【计算机类职业资格】二级C语言笔试-174及答案解析.doc

    • 资源ID:1325996       资源大小:89.50KB        全文页数:26页
    • 资源格式: DOC        下载积分:5000积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    二维码
    微信扫一扫登录
    下载资源需要5000积分(如需开发票,请勿充值!)
    邮箱/手机:
    温馨提示:
    如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如需开发票,请勿充值!如填写123,账号就是123,密码也是123。
    支付方式: 支付宝扫码支付    微信扫码支付   
    验证码:   换一换

    加入VIP,交流精品资源
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    【计算机类职业资格】二级C语言笔试-174及答案解析.doc

    1、二级 C 语言笔试-174 及答案解析(总分:98.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.若有下面的程序片段:int12=0,*p3,*pp,i;for(i=0;i3;i)pi=&ai*4;pp=p;则对数组元素的错误引用是(分数:2.00)_2.下面能正确进行字符串赋值操作的是(分数:2.00)A.chars5=“ABCDE“;B.char s5=A,b,C,D,E;C.char*s;s=“ABCDE“;D.char*s;scanf(“%s“,s);3.有如下程序main()float x=2.0,y;if(x0.0)y=0.0;else if(x10.

    2、0)y=1.0/x;else y=1.0;printf(“%f/n“,y);该程序的输出结果是(分数:2.00)A.0.000000B.0.250000C.0.500000D.1.0000004.设有下面的程序段:char s=“china“; char*p;p=S;则下列叙述正确的是(分数:2.00)A.s 和 p 完全相同B.数组 s 中的内容和指针变量 p 中的内容相同C.s 数组长度和 p 所指向的字符串长度相等D.*p 与 s0相等5.下列程序的输出结果是main()double d=3.2;int x,y;x=1.2;y=(x+3.8)/5.0;printf(“%d/n“,d*y)

    3、;(分数:2.00)A.3B.3.2C.0D.3.076.有以下程序int add(int a,int b)return(a+b);main()int k,(*f)(),a=5,b=10;f=add;则以下函数调用语句错误的是(分数:2.00)A.k=(*f)(a,b);B.k=add(a,b);C.k=*f(a,b);D.k=f(a,b);7.设有以下程序段int x=0,s=0;while(!x!=0)s+=+x;printf(“%d“,s);则(分数:2.00)A.运行程序段后输出 0B.运行程序段后输出 1C.程序段中的控制表达式是非法的D.程序段执行无限次8.fwrite 函数的一般

    4、调用形式是(分数:2.00)A.fwrite(buffer,count,size,fp);B.fwrite(fp,size,count,buffer);C.fwrite(fp,count,size,buffer);D.fwrite(buffer,size,count,fp);9.相对于数据库系统,文件系统的主要缺陷有数据关联差、数据不一致性和(分数:2.00)A.可重用性差B.安全性差C.非持久性D.冗余性10.结构化程序设计主要强调的是(分数:2.00)A.程序的规模B.程序的效率C.程序设计语言的先进性D.程序易读性11.判断 char 型变量 c1 是否为大写字母的正确表达式是(分数:1

    5、.00)A.=c1=ZB.(c1=)&(c1=)C.(=c1)(=c1)D.(c1=)&(c1=)12.以下 scanf 函数调用语句中对结构体变量成员的引用不正确的是char name20;pup5,*p;(分数:1.00)A.scanf(“%s“,pup0.name);B.scanf(“%d“,&pup0.age);C.scanf(“%dT“,&(p-sex);D.scanf(“%d“,p-age);13.以下程序的输出结果是#includestdio.hvoid prt(int *x,int *y,int*z)printf(“%d,%d,%d/n“,+*x,+*y,*(z+);main(

    6、)int a=10,b=40,c=20;prt(&a,&b,&c);prr(&a,&b,&c);(分数:1.00)A.11,42,3112,22,41B.11,41,2012,42,20C.11,21,4011,21,21D.11,41,2112,42,2214.下列不属于软件工程的 3 个要素的是(分数:1.00)A.工具B.过程C.方法D.环境15.算法的空间复杂度是指(分数:1.00)A.算法程序的长度B.算法程序中的指令条数C.算法程序所占的存储空间D.算法执行过程中所需要的存储空间16.阅读下列程序,则在执行后,程序的运行结果为#include“stdio.h“#include“st

    7、ring.h“main()chara30=“nice to meet you!“;strcpy(a+strlen((分数:1.00)A./2,“you“);printf(“%s/n“,a);A) nice17.下列关于标识符的说法中错误的是(分数:1.00)A.合法的标识符是由字母、数字和下划线组成B.C 语言的标识符中,大写字母和小写字母被认为是两个不同的字符C.C 语言的标识符可以分为三类,即关键字、预定义标识符和用户标识符D.用户标识符与关键字不同时,程序在执行时将给出出错信息18.请选出以下程序的输出结果#includestdio.hmain()int a=1,2,3,4,i;int

    8、x=0;for(i=0;i4;i+)sub(a,x);Printf(“%d“,x);printf(“/n“);sub(S,y)int *s,y;static int t=3;y=st;t-;(分数:1.00)A.1 2 3 4B.4 3 2 1C.0 0 0 0D.4 4 4 419.如下程序的输出结果是#includestdio.hmain()chsr ch25=“6937“,“8254“,*p2;int i,j,s=0;for(i=0;i2;i+) pi=chi;for(i=0;i2;i+)for(j=0;pij/0;j+=2)s=10*s+pij-0printf(“%d/n“,s);(分

    9、数:1.00)A.69825B.63825C.6385D.69382520.软件开发离不开系统环境资源的支持,其中必要的测试数据属于(分数:1.00)A.硬件资源B.通信资源C.支持软件D.辅助资源21.以下程序的运行结果是#define MAX(A,B) ((分数:2.00)A.(B.(A):(B)#define PRINT(Y) printf(:Y=%d/t“,Y)main()int a=1,b=2,c=3,d=4,t;t:MAX(a+b,c+d);PRINT(t);A) Y=3B) 存在语C.Y=7D.Y=022.算法中,对需要执行的每一步操作,必须给出清楚、严格的规定。这属于算法的(分

    10、数:2.00)A.正当性B.可行性C.确定性D.有穷性23.下述关于数据库系统的叙述中正确的是(分数:2.00)A.数据库系统减少了数据冗余B.数据库系统避免了一切冗余C.数据库系统中数据的一致性是指数据类型一致D.数据库系统比文件系统能管理更多的数据24.若有函数 max(a,b),为了让函数指针变量 p 指向函数 max,当调用该函数时,正确的赋值方法是(分数:2.00)A.(*p)max(a,b)B.*pmax(a,b)C.p=max(a,b)D.*p=max(a,25.下面程序的运行结果是#includestdio.hmain()int a=28,b;char s10,*p;p=s;d

    11、ob=a%16;if(b10) *p=b+48;else*p=b+55;p+;a=a/5;while(a0);*p=/0;puts(s);(分数:2.00)A.10B.C2C.C51D./026.以下程序输出的结果是#includestdio.h#includestring.hmain()charw10=“ABCD“,“EFGH“,“IJKL“,“MNOP“1,k;for(k=1;k3;k+) printf(“%s/n“,&wkk);(分数:2.00)A.ABCDFGHKLB.ABCEFGUMC.EFGJK0D.FGHKL27.函数 rewind 的作用是(分数:2.00)A.使文件位置指针重

    12、新返回文件的开始位置B.将文件位置指针指向文件中所要求的特定位置C.使文件位置指针指向文件的末尾D.使文件位置指针自动移至下一个字符位置28.以下程序中调用 scanf 函数给变量 a 输入数值的方法是错误的,其错误原因是main()int*p,*q,a,b;p=&a;printf(“input a:“);scanf(“%d“,*p);(分数:2.00)A.*p 表示的是指针变量 p 的地址B.*p 表示的是变量 a 的值,而不是变量 a 的地址C.*p 表示的是指针变量 p 的值D.*p 只能用来说明 p 是一个指针变量29.有以下程序main()int i,s=0,t=1,2,3,4,5,

    13、6,7,8,9;for(i=0;i9;i+=2)s+=*(t+i);printf(“%d/n“,s);程序执行后的输出结果是(分数:2.00)A.45B.20C.25D.3630.下列叙述中正确的是(分数:2.00)A.一个算法的空间复杂度大,则其时间复杂度也必定大B.一个算法的空间复杂度大,则其时间复杂度必定小C.一个算法的时间复杂度大,则其空间复杂度必定小D.上述三种说法都不对31.设有下列二叉树:(分数:2.00)A.B.C.D.32.以下程序的功能是进行位运算main()unsigned char a,b;a=73;b=4&3;pfintf(“%d%d/n“,a,b);程序运行后的输出

    14、结果是(分数:2.00)A.4 3B.7 3C.7 0D.4 033.以下程序执行后 x 的值是main()int x,y=252,i=386,*m=&y,*z=&i;x=(z=y);printf(“%d“,x);(分数:2.00)A.252B.1C.0D.运行时出错,x 无定值34.下列数据模型中,具有坚实理论基础的是(分数:2.00)A.层次模型B.网状模型C.关系模型D.以上 3 个都是35.以下程序的输出结果是#includestdio.hmain()int a=15,b=21,m+0;switch(a%3)case0:m+;bteak;case 1:m+;switch(b%2)def

    15、ault:m+;case 0:m+;break;printf(“%d/n“,m);(分数:2.00)A.1B.2C.3D.436.若变量均已正确定义并赋值,以下合法的 C 语言赋值语句是(分数:2.00)A.x=y=5;B.x=n%2.5;C.x+n=i;D.x=5-4+1;37.下列二维数组初始化语句中,正确且与语句 floata3=0,3,8,0,9;等价的是(分数:2.00)A.floata2=0,3,8,0,9;B.float a3=0,3,8,0,9,0;C.float a3=0,3,8,0,9,0;D.float a2=0,3,8,0,9,0;38.栈和队列的共同特点是(分数:2.

    16、00)A.都是先进先出B.都是先进后出C.只允许在端点处插入和删除元素D.没有共同点39.下列程序执行后的输出结果是void funcl(int i);void func2(int i);char st=“hello,friend!“;void funcl(int i)printf(“%c“,sti);if(i3)i+=2;func2(i);void func2(int i)printf(“%c“,sti);if(i3)i+=2;func1(i);main()int i=0;func1(i);printf(“/n“);(分数:2.00)A.helloB.helC.hloD.hlm40.以下程序

    17、的输出结果是#includestdio.hstruct sti int x;int *y;*p;int dt4=10,20,30,40;struct st aa4=50,&dt0,60,&dt0,60,&it0,60,&dt0,;main()p=aa;printf(“%d/n“,+(p-x);(分数:2.00)A.10B.11C.51D.60二、填空题(总题数:12,分数:28.00)41.长度为 n 的顺序存储线性表中,当在任何位置上插入一个元素概率都相等时,插入一个元素所需移动元素的平均个数为_。(分数:2.00)填空项 1:_42.数据结构分为线性结构和非线性结构,带链的队列属于_。(分

    18、数:2.00)填空项 1:_43.软件工程研究的内容主要包括:_技术和软件工程管理。(分数:2.00)填空项 1:_44.常用的黑箱测试有等价分类法、_、因果图法和错误推测法 4 种。(分数:2.00)填空项 1:_45.数据库保护分为安全性、控制性、_、并发性控制和数据恢复。(分数:2.00)填空项 1:_46.以下程序中,函数 fun 的功能是计算 x2-2x+6,主函数中将调用 fun 函数计算:y1=(x+8)2-2(x+8)+6y2=sin2(x)-2sin(x)+6请填空。double fun(double x)return(x*x-2*x+6);double x,y1,y2;pr

    19、intf(“Enter x:“);scanf(“%lf“,&x);y1=fun( 6 );y2=fun( 7 );printf(“y1=%lf,y2=%lf/n“,y1,y2);(分数:4.00)填空项 1:_47.以下 isprime 函数的功能是判断形参 a 是否为素数,是素数,函数返回 1,否则返回 0。请填空。int isprime(int a)for(i=2;i=a/2;i+)if(a%i=0) 8 ;9 ;(分数:4.00)填空项 1:_48.下面程序的运行结果是_。main()int i=0,j=10,k=2,s=0;i+=k;if(ij)printf(“%d/n“,s);bre

    20、ak;s+=i;(分数:2.00)填空项 1:_49.以下程序的输出结果是_。main()char*p=“BOOL“,“OPK“,“H“,“SP:,;for(i=3;i0;i-,i-)printf(“%c“,*pi);printf(“/n“);(分数:2.00)填空项 1:_50.以下程序用来输出结构体变量 ex 所占存储单元的字节数,请填空。struct stchar name20;double score;main()struct st ex;pfintf(“exsize:%d/n“,sizeof(_);(分数:2.00)填空项 1:_51.以下程序的功能是:利用指针向三个整型变量,并通过

    21、指针运算找出三个数中最大值,输出到屏幕上。请填空main()int x,y,z,max,*px,*py,*pz,*pmax;scanf(“%d%d%d“,&x,&y,&z);px=&x;py=&y;pz=&z;pmax=&max;_;if(*pmax*py)*pmax=*py;if(*pmax*pz)*pmax 二*pz;printf(“max=%d/n“,max);(分数:2.00)填空项 1:_52.以下程序中函数 fun 的功能是:构成一个如图所示的带头结点的单词链表,在结点的数据域中放入了具有两个字符的字符串。函数 disp 的功能是显示输出该单链表中所有结点中的字符串。请填空完成函数

    22、disp。(分数:2.00)填空项 1:_二级 C 语言笔试-174 答案解析(总分:98.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.若有下面的程序片段:int12=0,*p3,*pp,i;for(i=0;i3;i)pi=&ai*4;pp=p;则对数组元素的错误引用是(分数:2.00)_解析:命题目的 考查指向数组的指针。解题要点 本题综合考查一维数组和多维数组指针变量的表示方法。在 C 语言中,引用数组元素的方法有两种,即下标法和指针法。下标法如 ai形式;指针法如*(a+i)或*(p+1)。其中,a 是数组名,p 是指向数组的指针变量,其初值 p=a。再如

    23、*(*(p+2)+2)是 a22的值,注意语句中指针型数组的书写格式,不能写成“(*数组名)长度”,因为这是定义指向含有“长度”个元素的一维数组的指针变量。例如有定义语句“int a,b,c,c,*p3=&a,&b,&c2.下面能正确进行字符串赋值操作的是(分数:2.00)A.chars5=“ABCDE“;B.char s5=A,b,C,D,E;C.char*s;s=“ABCDE“; D.char*s;scanf(“%s“,s);解析:命题目的 考查了一维字符数组的定义和初始化。解题要点 选项 A)和 B)定义的数组空间太小,至少应该为 6 个字符的长度才可以。选项 D)中的指针 s未赋初值,

    24、所以指向一个不确定的地址,因而不能用 scanf 输入数据到这一指针所指向的地址中。考点链接 通过赋初值的方式给一维字符数组赋字符串。3.有如下程序main()float x=2.0,y;if(x0.0)y=0.0;else if(x10.0)y=1.0/x;else y=1.0;printf(“%f/n“,y);该程序的输出结果是(分数:2.00)A.0.000000B.0.250000C.0.500000D.1.000000 解析:命题目的 if 语句的嵌套。解题要点 本题考查 if 语句中的一种表达方式,即:if else if。该表达式的语句是:if 表达式 1)语句 1else if

    25、(表达式 2)语句 2else if(表达式 3)语句 3else语句 4本题执行 else y=1.0,并且以“%f”输出。考点链接 条件表达式在 if 语句中的使用。4.设有下面的程序段:char s=“china“; char*p;p=S;则下列叙述正确的是(分数:2.00)A.s 和 p 完全相同B.数组 s 中的内容和指针变量 p 中的内容相同C.s 数组长度和 p 所指向的字符串长度相等D.*p 与 s0相等 解析:命题目的 考查的是字符指针和字符数组的区别。解题要点 选项 A)中,s 为数组名,是一个常量地址,而指针 p 为一个字符变量,不能说两者完全相同,所以选项 A)错误。选

    26、项 B)和 C)的说法都不严谨,只有选项 D)的说法正确。考点链接 用于字符串处理的函数。5.下列程序的输出结果是main()double d=3.2;int x,y;x=1.2;y=(x+3.8)/5.0;printf(“%d/n“,d*y);(分数:2.00)A.3B.3.2C.0 D.3.07解析:命题目的 考查复合的赋值表达式。解题要点 本题中,程序先执行语句 x=1.2;,根据赋值运算的类型转换规则,先将 double 型的常量1.2 转换为 int 型,即取整为 1,然后将 1 赋值给变量 x。接下来执行语句 y=(x+3.8)/5.0;根据运算符的优先级,先计算小括号内,再计算除

    27、法,最后执行赋值运算。小括号内的运算过程:先将整型变量 x 的值 1 转换为 double 型 1.0,然后与 3.8 进行加法运算,得到中间结果 4.8。接着进行除法运算 4.8/5.0,其结果小于 1.0,这里没有必要计算出精确值,因为接着进行赋值运算,赋值号左边变量 y 的类型为整型,于是对这个小于 1.0 的中间结果进行取整,结果为 0,于是变量 y 的值为 0,d*y 的值也为 0。考点链接 格式输出语句 printf 的使用。6.有以下程序int add(int a,int b)return(a+b);main()int k,(*f)(),a=5,b=10;f=add;则以下函数调

    28、用语句错误的是(分数:2.00)A.k=(*f)(a,b);B.k=add(a,b);C.k=*f(a,b); D.k=f(a,b);解析:命题目的 函数的调用。解题要点 在语句“k=*f(a,b)”中,由于“()”的优先级高于“*”,所以“*f(a,b);”表示其返回类型为指针的带有两个整型参数的函数。7.设有以下程序段int x=0,s=0;while(!x!=0)s+=+x;printf(“%d“,s);则(分数:2.00)A.运行程序段后输出 0B.运行程序段后输出 1 C.程序段中的控制表达式是非法的D.程序段执行无限次解析:命题目的 考查 while 语句的使用。解题要点 本题考查

    29、逻辑非运算符和不等于运算符的区别,逻辑非运算符“!”的优先级大于不等于运算符“!=”的优先级。考点链接 for 语句和 dowhile 语句的使用。8.fwrite 函数的一般调用形式是(分数:2.00)A.fwrite(buffer,count,size,fp);B.fwrite(fp,size,count,buffer);C.fwrite(fp,count,size,buffer);D.fwrite(buffer,size,count,fp); 解析:解题要点 fwrite 的形式是 fwrite(buffer,size,count,fP), buffer 表示准备输出的数据块的起始地址,

    30、size 表示每个数据块的字节数,count 用来指定每写一次或输出的数据块,fp 为文件指针。9.相对于数据库系统,文件系统的主要缺陷有数据关联差、数据不一致性和(分数:2.00)A.可重用性差B.安全性差C.非持久性D.冗余性 解析:命题目的 考查文件系统和数据库系统的区别。解题要点 文件系统所管理的数据文件基本上是分散的、相互独立的,因此相对于数据库系统,以此为基础的数据处理存在 3 个缺点,即数据冗余大、数据的不一致性、程序与数据的相互依赖(简称为数据依赖)。考点链接 文件系统和数据库系统各自的特点,人工管理阶段及数据库系统的特点。10.结构化程序设计主要强调的是(分数:2.00)A.

    31、程序的规模B.程序的效率C.程序设计语言的先进性D.程序易读性 解析:命题目的 本题考查考生的结构化程序设计的思想。解题要点 结构化程序设计强调的是程序的易读性。考点链接 结构化程序设计的目的。11.判断 char 型变量 c1 是否为大写字母的正确表达式是(分数:1.00)A.=c1=ZB.(c1=)&(c1=)C.(=c1)(=c1)D.(c1=)&(c1=) 解析:命题目的 字母大小写的判断。解题要点 字符型数据在计算机内部是以 ASCII 码存储的,英文大写字母和小写字母在 ASCII 码表中都是连续的。大写字母 A 到 Z 是从 65 到 90,所以只要变量 c1 大于 A 并且小于

    32、 Z 就能保证其为大写字母。考点链接 逻辑运算符的功能与作用。12.以下 scanf 函数调用语句中对结构体变量成员的引用不正确的是char name20;pup5,*p;(分数:1.00)A.scanf(“%s“,pup0.name);B.scanf(“%d“,&pup0.age);C.scanf(“%dT“,&(p-sex);D.scanf(“%d“,p-age); 解析:命题目的 考查结构体成员变量的引用方法。解题要点 可用结构体变量名,数据成员名或者结构体指针-数据成员名两种方法采引用。考点链接 结构体类型的变量、数组和指针变量的定义。13.以下程序的输出结果是#includestdi

    33、o.hvoid prt(int *x,int *y,int*z)printf(“%d,%d,%d/n“,+*x,+*y,*(z+);main()int a=10,b=40,c=20;prt(&a,&b,&c);prr(&a,&b,&c);(分数:1.00)A.11,42,3112,22,41B.11,41,2012,42,20 C.11,21,4011,21,21D.11,41,2112,42,22解析:命题目的 考查指针作为参数的函数调用。解题要点 尽管 C 语言以传值方式进行函数调用,但也可以通过传递指针的值(变量的地址)来达到修改实参变量值的目的,这是此题主要说明的问题。另外,应注意表达

    34、式*(2+)的值是*z,其后的 z+在程序中无实际作用。函数调用时,由于 x,y 和 z 分指向 a,b 和 c,因此,*x,*y 和,z 就是 a,b 和 c。第一次调用函数时,*x=a=10,*y=b=40,*z=c=20 输出结果为 11,41,10,至此,已经可以肯定选项 B)是正确的。在第一次输出后,a=11,b=41,c=20,第二次输出为:12, 42,20。考点链接 指针作为参数的函数调用的执行过程。14.下列不属于软件工程的 3 个要素的是(分数:1.00)A.工具B.过程C.方法D.环境 解析:命题目的 本题考查了软件工程的基本概念。解题要点 软件工程包括 3 个要素,即方

    35、法、工具和过程。方法是完成软件工程项目的技术手段;工具支持软件的开发、管理和文档生成;过程支持软件开发的各个环节的控制和管理。考点链接 软件生命周期。15.算法的空间复杂度是指(分数:1.00)A.算法程序的长度B.算法程序中的指令条数C.算法程序所占的存储空间D.算法执行过程中所需要的存储空间 解析:命题目的 考查考生对算法空间复杂度的掌握。解题要点 算法空间复杂度是指执行这个算法所需要的内存空间。考点链接 算法时间复杂度。16.阅读下列程序,则在执行后,程序的运行结果为#include“stdio.h“#include“string.h“main()chara30=“nice to mee

    36、t you!“;strcpy(a+strlen((分数:1.00)A./2,“you“);printf(“%s/n“,a);A) nice解析:命题目的 考查通过赋值的方式给一维数组赋初值。解题要点 字符串复制函数 strcpy 调用形式为:strcpy (s1,s2),此函数用来把 s2 所指字符串的内容复制到 s1 所指存储空间中,函数返回 s1 的值,即目的串的首地址;求字符串长度函数 strlen 的调用形式如下:strlen(s),此函数计算出以 s 为起始地址的字符串长度,并作为函数值返回。注意这一长度不包括串的结束标志。考点链接 用于字符串处理的函数。17.下列关于标识符的说法中

    37、错误的是(分数:1.00)A.合法的标识符是由字母、数字和下划线组成B.C 语言的标识符中,大写字母和小写字母被认为是两个不同的字符C.C 语言的标识符可以分为三类,即关键字、预定义标识符和用户标识符D.用户标识符与关键字不同时,程序在执行时将给出出错信息 解析:命题目的 考查对于标识符的掌握情况。解题要点 用户标识符与关键字相同时,程序在编译过程中将给出出错信息。错解分析 选项 D)应该改为用户标识符与关键字相同,程序在编译时将给出出错信息。考点链接 合法的标识符中,第一个字符必须为字母或下划线。18.请选出以下程序的输出结果#includestdio.hmain()int a=1,2,3,

    38、4,i;int x=0;for(i=0;i4;i+)sub(a,x);Printf(“%d“,x);printf(“/n“);sub(S,y)int *s,y;static int t=3;y=st;t-;(分数:1.00)A.1 2 3 4B.4 3 2 1C.0 0 0 0 D.4 4 4 4解析:命题目的 考查通过指针来引用一维数组元素的方法。解题要点 若指针 s 指向数组 a,则 st可以引用数组 a 中下标为 t 的元素。考点链接 通过数组的首地址引用数组元素。19.如下程序的输出结果是#includestdio.hmain()chsr ch25=“6937“,“8254“,*p2;

    39、int i,j,s=0;for(i=0;i2;i+) pi=chi;for(i=0;i2;i+)for(j=0;pij/0;j+=2)s=10*s+pij-0printf(“%d/n“,s);(分数:1.00)A.69825B.63825C.6385 D.693825解析:命题目的 考查通过指针引用字符串数组中的元素。解题要点 通过行指针 p 来实现数组元素的引用。考点链接 用格式说明符%s 进行整串输入与输出。20.软件开发离不开系统环境资源的支持,其中必要的测试数据属于(分数:1.00)A.硬件资源B.通信资源C.支持软件D.辅助资源 解析:命题目的 本题考查了软件测试。解题要点 软件测试

    40、过程中,辅助资源包括测试用例(测试数据)、测试计划、出错统计和最终分析报告等。考点链接 白箱和黑箱测试。21.以下程序的运行结果是#define MAX(A,B) ((分数:2.00)A.(B.(A):(B)#define PRINT(Y) printf(:Y=%d/t“,Y)main()int a=1,b=2,c=3,d=4,t;t:MAX(a+b,c+d);PRINT(t);A) Y=3B) 存在语C.Y=7 D.Y=0解析:命题目的 考查带参数的宏替换。解题要点 宏替换不像函数调用要进行参数值的计算、传递等,而只是简单按照原格式进行字符串的替换。考点链接 宏定义的命令格式。22.算法中,

    41、对需要执行的每一步操作,必须给出清楚、严格的规定。这属于算法的(分数:2.00)A.正当性B.可行性C.确定性 D.有穷性解析:解题要点 一个算法应当具有 5 个特性,即有穷性、确定性、可行性、有零个或多个输入以及有一个或多个输出。算法的确定性是指:算法中每一条指令必须有确切的含义,读者理解时不会产生二义性。并且在任何条件下,算法只有唯一的一条执行路径,即对于相同的输入只能得出相同的执行结果。23.下述关于数据库系统的叙述中正确的是(分数:2.00)A.数据库系统减少了数据冗余 B.数据库系统避免了一切冗余C.数据库系统中数据的一致性是指数据类型一致D.数据库系统比文件系统能管理更多的数据解析

    42、:命题目的 本题考查了数据库系统的基本知识。解题要点 数据库系统的数据具有高共享性和低冗余性,但不能完全避免数据冗余;数据的一致性是指在系统中同一数据的不同出现应保持相同的值。考点链接 数据库系统的基本特点。24.若有函数 max(a,b),为了让函数指针变量 p 指向函数 max,当调用该函数时,正确的赋值方法是(分数:2.00)A.(*p)max(a,b)B.*pmax(a,b)C.p=max(a,b) D.*p=max(a,解析:命题目的 考查指向函数的指针变量的使用。解题要点 在本题中,将函数的入口地址赋给指针后就可以用该指针调用函数了。考点链接 函数的指针形参。25.下面程序的运行结

    43、果是#includestdio.hmain()int a=28,b;char s10,*p;p=s;dob=a%16;if(b10) *p=b+48;else*p=b+55;p+;a=a/5;while(a0);*p=/0;puts(s);(分数:2.00)A.10B.C2C.C51 D./0解析:命题目的 考查用字符指针处理字符串的方法。解题要点 语句“p=s;”是使指针 P 指向字符数组 s。 *p 则引用了 p 所指位置的数组元素。考点链接 通过指针来引用一维数组元素。26.以下程序输出的结果是#includestdio.h#includestring.hmain()charw10=“A

    44、BCD“,“EFGH“,“IJKL“,“MNOP“1,k;for(k=1;k3;k+) printf(“%s/n“,&wkk);(分数:2.00)A.ABCDFGHKLB.ABCEFGUMC.EFGJK0D.FGHKL 解析:命题目的 考查二维数组的定义及其元素引用的方法。解题要点 当 k=1 时,引用的是二维数组元素 w11,值为字符串“FGH”;当 k=2 时,引用的是数组元素 w22,即字符串“KL”;当 k=3 时,结束程序的执行。考点链接 字符串数组的定义。27.函数 rewind 的作用是(分数:2.00)A.使文件位置指针重新返回文件的开始位置 B.将文件位置指针指向文件中所要求

    45、的特定位置C.使文件位置指针指向文件的末尾D.使文件位置指针自动移至下一个字符位置解析:解题要点 函数 rewind 的功能是将文件指针重新指向一个流的开头。用法如下:int rewind(FILE *stream);并且无返值。28.以下程序中调用 scanf 函数给变量 a 输入数值的方法是错误的,其错误原因是main()int*p,*q,a,b;p=&a;printf(“input a:“);scanf(“%d“,*p);(分数:2.00)A.*p 表示的是指针变量 p 的地址B.*p 表示的是变量 a 的值,而不是变量 a 的地址 C.*p 表示的是指针变量 p 的值D.*p 只能用来

    46、说明 p 是一个指针变量解析:命题目的 考查格式输入语句 scanf 的使用。解题要点 本题经过定义语句和赋值后,p 表示的是变量 a 的地址,*P 表示的是变量 a 的值。考点链接 变量地址的表示方法。29.有以下程序main()int i,s=0,t=1,2,3,4,5,6,7,8,9;for(i=0;i9;i+=2)s+=*(t+i);printf(“%d/n“,s);程序执行后的输出结果是(分数:2.00)A.45B.20C.25 D.36解析:解题要点 统计 19 九个数中的奇数和,此题考查指向数组的指针。C 语言规定数组名代表数组的首地址,也就是第一个元素的地址。因此*(t+i 代表数组的第 i+1 个元素。程序运行的结果是1+2+3+4+5+6+7+8+9=25。30.下列叙述中正确的是(分数:2.00)A.一个算法的空间复杂度大,则其时间复杂度也必定大B.一个算法的空间复杂度大,则其时间复杂度必定小C.一个算法的时间复杂度大,则其空间复杂度必定小D.上述三种说法都不对 解析:命题目的 考查算法复杂度的基本知识。解题要点 算法复杂度主要包括时间


    注意事项

    本文(【计算机类职业资格】二级C语言笔试-174及答案解析.doc)为本站会员(wealthynice100)主动上传,麦多课文档分享仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文档分享(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
    备案/许可证编号:苏ICP备17064731号-1 

    收起
    展开