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

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

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

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

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

    1、二级 C语言笔试-295 及答案解析(总分:110.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.下列叙述中正确的是_。(分数:2.00)A.C程序中注释部分可以出现在程序中任何合适的地方B.花括号“”和“”只能作为函数体的定界符C.构成 C程序的基本单位是函数,所有函数名都可以由用户命名D.分号是 C语句之间的分隔符,不是语句的部分2.以下程序的输出结果是_。main()int i,a10;for(i=9;i=0;i-)ai=1O-i;printf(“%d%d%d“,a2,a5,a8);(分数:2.00)A.258B.741C.852D.3693.以下程序的输出

    2、结果是_。main()int a44=1,3,5,2,4,6,3,5,7printf(“%d%d%d%d/n“,a03,a12,a21,a30);(分数:2.00)A.0650B.1470C.5430D.输出值不定4.以下程序的输出结果_。main()char st20=“he11/O/t/“;printf(“%d%d/n“,str1en(st),sizeof(st);(分数:2.00)A.99B.520C.1320D.20205.在数据流图(DFD) 中,带有名字的箭头表示_。(分数:2.00)A.控制程序的执行顺序B.模块之间的调用关系C.数据的流向D.程序的组成成分6.以下有 4组用户标

    3、识符,其中合法的组是_。(分数:2.00)A.FOR-subCaseB.4d DOSizeC.f2_G3 IFabcD.WORDvoiddefine7.以下各选项企图说明种新的类型名,其中正确的是_。(分数:2.00)A.typedef vi int;B.typedef V2=int;C.typedef int v3;D.lypedef v4:int8.已知二叉树 BT的后后序遍历序列是 dabec,中序遍历序列是 debac,它的前序遍序列是_。(分数:2.00)A.cedbaB.acbedC.decabD.deabc9.以下程序的输出结果是_。#includestdio.hmain()in

    4、t a=200;#define a 100printf(“%d“,(分数:2.00)A.;int i;myf=fopen(fname,“w“)for(i=0;istrlen(st);i+)fputc(stimyf);fdose(myf);main()fun(“test.t“new word“);fun(“test.t,“hello,“);(分数:2.00)A.hello,B.new wor1dhelloC.new worldD.hello,rld13.下面程序的输出结果为_。#includestring.hmain()charP17=“abc“=“ABC“.STR50=“xyz“;strcpy

    5、(str,strcat(p1,p2);printf(%s,str);(分数:2.00)A.xyzabcABCB.abcABCC.xyzabcD.xyzABC14.以下程序的结果是_。int a,b;void fun()a=100;b=200; main()int a=5,b=7;fun();printf(“%d%d/n“,a,b);(分数:2.00)A.100200B.57C.200100D.7515.下列不属于软件调试技术的是_。(分数:2.00)A.强行排错法B.集成测试法C.回溯法D.原因排除法16.若有以下说明和语句:struct stint n;char*ch;struct st a

    6、3=5,“abc“7,“def“,9“,ghk“),*p=a;则值为 6的表达式是_。(分数:2.00)A.p+-nB.p-n+C.(*p).n+D.+Pn17.整型变量 X和 Y的值相等,且为非 0值,则以下选项中结果为 0的表达式是_。(分数:2.00)A.X|YB.X|YC.X(分数:2.00)A.4B.5C.3D.不确定19.栈和队列的共同点是_。(分数:2.00)A.都是先进后出B.都是先进先出C.只允许在端点处插入和删除元素D.没有共同点20.以下合法的赋值语句是_。(分数:2.00)A.X=Y=100B.D-;C.X+Y;D.C=int(A+21.在下列几种排序方法中,要求内存量

    7、最大的是_。(分数:2.00)A.插入排序B.选择排序C.快速排序D.归并排序22.设 x为 int型变量,执行以下语句,x=10;x+=x-=x-x;x 的值为_。(分数:2.00)A.10B.20C.30D.4023.以下函数值的类型是_。fun(float x)float y;y=3*x-4return y;(分数:2.00)A.intB.不确定C.voidD.float24.下面的关键字中,不能够从循环体中跳到循环体外的是_。(分数:2.00)A.gotoB.breakC.returnD.continue25.下列叙述中,不属于软件需求规格说明书的作用的是_。(分数:2.00)A.便于

    8、用户、开发人员进行理解和交流B.反映出用户问题的结构,可以作为软件开发工作的基础和依据C.作为确认测试和验收的依据D.便于开发人员进行需求分析26.在计算机中,算法是指_。(分数:2.00)A.查询方法B.加工方法C.解题方案的准确而完整的描述D.排序方法27.视图设计般有 3种设计次序,下列不属于视图设计的是_。(分数:2.00)A.自顶向下B.由外向内C.由内向外D.自底向上28.以下程序的输出结果是_。#define M(x,y,z)x*y+zmain()int a=1,b=2,c=3;printf(“%d/n“,M(a+b,b+c,c+(分数:2.00)A.);,则能完成 i=j赋值功

    9、能的语句是_。(分数:2.00)A.i=*pB.*P=*,则数组 x在内存中所占字节数是_。(分数:2.00)A.3B.6C.10D.2037.以下程序的输出结果是_。structHARint x,y;structHAR*p;main()h0.x=1;h0.y=2;h1.x=3;h1.y=4;h0.p=printf(“%d%d/n“,(h0.p-y);(分数:2.00)A.12B.23C.14D.3238.以下程序运行后的输出结果是_。int d=1;fun(int p)static int d=5;d+=pprintf(“%d,d“);retum d;main()int a=3;printf

    10、(“%d/n“,fun(a+fun(d) );(分数:2.00)A.699B.9C.61515D.661539.SQL语言又称为_。(分数:2.00)A.结构化定义语言B.结构化控制语言C.结构化查询语言D.结构化操纵语言40.设 ab、c、d、m、n 均为 int型变量,且 a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=aB)strcpy(str1+strlen(str1)/2“es she“);pfinff(“%s/n“,p1);(分数:2.00)填空项 1:_48.以下程序输出的最后个值是 【8】 int ff(int n)static int f=1;f=f*nre

    11、turn f;main()int i;for(i=1;i=5:i+) printf(“%d、n“,ff(i);(分数:2.00)填空项 1:_49.下列程序的输出结果是 【9】 。main()int a=2,4,6,*prt=for(y=0;y3;y+)z=(*(ptr+yx)?*(ptr+y):x;printf(“%d/n“,z);(分数:2.00)填空项 1:_50.若有定义语句 char s100,d100;int j=0,i=0;且 s中已赋字符串,请填空以实现拷贝。 (注:不使用逗号表达式)whi1e()si)dj= 【10】 :j+;dj=0;(分数:2.00)填空项 1:_51.

    12、若有如下结构体说明:struct STRU int a,b;charc:double d;struct STRU*p1,*p2; 请填空,以完成对 t数组的定义,t 数组的每个元素为该结构体类型。 【11】 t20(分数:2.00)填空项 1:_52.下面的程序可对指定字符串中的字符串进行从大到小排序,请将程序填完整。 (注:程序采用了冒泡排序法)#includestdio.h#includestring.hmain()char*str=“ABCDabcd“,temp;int n,i;n=strlen(str);while(n-1)for(i=0;in;i+)if(stristri+l)tem

    13、p= 【12】 ;stri=stri+l;【13】 =temp;printf( 【14】 );(分数:6.00)填空项 1:_53.以下程序段打开文件后,先利用 fseek函数将文件位置指针定位在文件末尾,然后调用 ftell函数返回当前文件位置指针的具体位置,从而确定文件长度,请填空。FILE*myf;longfl;myf= 【15】 (“test.t“,“rb“);fseek(myf,(),SEEK_END) fl+ftell(myf);fclose(myf);printf(“%ld/n“,fl);(分数:2.00)填空项 1:_二级 C语言笔试-295 答案解析(总分:110.00,做题

    14、时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.下列叙述中正确的是_。(分数:2.00)A.C程序中注释部分可以出现在程序中任何合适的地方 B.花括号“”和“”只能作为函数体的定界符C.构成 C程序的基本单位是函数,所有函数名都可以由用户命名D.分号是 C语句之间的分隔符,不是语句的部分解析:评析 C 程序中注释部分用“/*”和“*/”括起来,可以出现在程序中任何合适的地方;花括号“”和“”不仅可作为函数体的定界符,也可作为复合语句的定界符;构成 C程序的基本单位是函数;个语句必须在最后出现分号,分号是 C 语句中不可缺少的部分。2.以下程序的输出结果是_。main()int

    15、 i,a10;for(i=9;i=0;i-)ai=1O-i;printf(“%d%d%d“,a2,a5,a8);(分数:2.00)A.258B.741C.852 D.369解析:评析 在本题运行时主要注意的是当 i=9时,ai=l0-9=1;ai=8 时,ai=10-8=2;i=7 时,ai=10-7=3;依此类推,直到 i=O时,ai=10-0=10;此时,i 的值已变为-1,判断 for的循环条件,不成立,然后输出 a2,a5,a8分别为 8,5,2。3.以下程序的输出结果是_。main()int a44=1,3,5,2,4,6,3,5,7printf(“%d%d%d%d/n“,a03,a

    16、12,a21,a30);(分数:2.00)A.0650 B.1470C.5430D.输出值不定解析:评析 对未给出初始值的整数数组元素,被默认初始化为零。4.以下程序的输出结果_。main()char st20=“he11/O/t/“;printf(“%d%d/n“,str1en(st),sizeof(st);(分数:2.00)A.99B.520 C.1320D.2020解析:评析 C 语言中字符串是以/O字符结束的,且 strlen()函数计算的是/O字符前的所有字符的个数。本题中 strlen(st)应为 5。数组定义以后系统就为其分配相应大小的内存空间,而不论其中有没有内容。sizeof

    17、()函数是计算变量或数组的所分配到的内存空间的大小。所以本题的 sizeof(st)为 20。5.在数据流图(DFD) 中,带有名字的箭头表示_。(分数:2.00)A.控制程序的执行顺序B.模块之间的调用关系C.数据的流向 D.程序的组成成分解析:评析 在数据流图中,用标有名字的箭头表示数据流。数据流可以从加工流向加工,也可以从加工流向文件或从文件流向加工,并且可以从外部实体流向系统或从系统流向外部实体。6.以下有 4组用户标识符,其中合法的组是_。(分数:2.00)A.FOR-subCaseB.4d DOSizeC.f2_G3 IFabc D.WORDvoiddefine解析:评析 C 语言

    18、的标识符的定义为:以字母或下划线开头的由字母、数字字符、下划线组成的字符串。而且标识符不能与关键字相同。7.以下各选项企图说明种新的类型名,其中正确的是_。(分数:2.00)A.typedef vi int;B.typedef V2=int;C.typedef int v3; D.lypedef v4:int解析:评析 C 语言中可以使用 typedef来重新定义已有的数据类型,相当于数据类型取个别名。8.已知二叉树 BT的后后序遍历序列是 dabec,中序遍历序列是 debac,它的前序遍序列是_。(分数:2.00)A.cedba B.acbedC.decabD.deabc解析:评析 二叉树

    19、 BT的后序遍历序列为 dabec,故 BT的根结点为 c:而 BT的中序遍历序列是debac,即遍历序列中最后个结点为跟结点,说明 BT的右子树为空。由 BT的的后序遍历序列和中序遍历序列可知 BT的左子树(LST)的后序遍历序序列和序遍历序列分别为 dabe和 deba(树是递归定义的):故LST的根结点是 e,在由 LST的中序遍历序列可知其左子树为 d。因此 BT的前序遍历序列为 cedba。9.以下程序的输出结果是_。#includestdio.hmain()int a=200;#define a 100printf(“%d“,(分数:2.00)A.;其中,f 是函数名,调用它以后能

    20、得到个指向整型数据的指针(地址),x,y 是函数 f的形参。在 f的两侧为别为*运算符和()运算符,而()优先级高于*,因此 f先与()结合,显然是函数形式。这个函数前面有一个*,表示此函数是指针型函数(函数值是指针)。前面的 int表示返回的指针指向整型变量。12.下面的程序执行后,文件 test.t中内容是_。#inc1udestdio.hvoid fun(char*fname,char*st)FILE*myf;int i;myf=fopen(fname,“w“)for(i=0;istrlen(st);i+)fputc(stimyf);fdose(myf);main()fun(“test.

    21、t“new word“);fun(“test.t,“hello,“);(分数:2.00)A.hello, B.new wor1dhelloC.new worldD.hello,rld解析:评析 C 语言中文件有文本文件与二进制文件,对文件的使用前必须先打开,打开方式有只读,写入、读写等方式。13.下面程序的输出结果为_。#includestring.hmain()charP17=“abc“=“ABC“.STR50=“xyz“;strcpy(str,strcat(p1,p2);printf(%s,str);(分数:2.00)A.xyzabcABCB.abcABC C.xyzabcD.xyzABC

    22、解析:评析 strcpy(strl,s1):作用是将字符串 s1拷贝到字符数组 strl中去。strcat(字符数组 1,字符数组 2):把字符串 2接到字符串 1的后面,结果放在字符数组 1中,函数调用后返回字符数组 1的地址。本题定义了三个字符数组 pl,p2,str,strcat(pl,p2)函数的作用是将字符串数组 p2接到字符串 p1的后面,结果放在字符数组 p1中,再通过 strcpy()函数将该字符串拷贝到 str数组中,原 str数组中的字符串 xyz被覆盖,因此打印输出字符串 str即可得到 abcABC。14.以下程序的结果是_。int a,b;void fun()a=10

    23、0;b=200; main()int a=5,b=7;fun();printf(“%d%d/n“,a,b);(分数:2.00)A.100200B.57 C.200100D.75解析:评析 全程变量是可以在子函数中对其值作改变,且它也可作为函数间的值传递。但当函数或子函数中定义了与全程变量名称相同的局部变量,则全程变量将被屏蔽。15.下列不属于软件调试技术的是_。(分数:2.00)A.强行排错法B.集成测试法 C.回溯法D.原因排除法解析:评析 调试的关键在于推断程序内部的错误位置及原因。主要的调试方法有强行排错法、回溯法和原因排除法。16.若有以下说明和语句:struct stint n;ch

    24、ar*ch;struct st a3=5,“abc“7,“def“,9“,ghk“),*p=a;则值为 6的表达式是_。(分数:2.00)A.p+-nB.p-n+C.(*p).n+D.+Pn 解析:评析 根据结构变量的存储特点,p+l 意味着增加地址值为结构体数组 a的个元素所占的字节数,即 P使 p由 a0指向 a1起始地址。本题+p-n 得到 p指向的结构体变量中成员 n的值使之加1。因为 p指向数组 a起始地址,p-n 的值为 5,再执行自加 l运行,结果为 6。17.整型变量 X和 Y的值相等,且为非 0值,则以下选项中结果为 0的表达式是_。(分数:2.00)A.X|YB.X|YC.

    25、X(分数:2.00)A.4B.5 C.3D.不确定解析:评析;程序中定义了一个指向整型变量的指针变量,并对其赋值为二维整型数组 a的首元素的地址。p4等价于*(p+4),即二维数组 a中第四个元素的值,而 a是一个 2*3的二维数组,其第四个元素为 a11,即 5。19.栈和队列的共同点是_。(分数:2.00)A.都是先进后出B.都是先进先出C.只允许在端点处插入和删除元素 D.没有共同点解析:评析 栈和队列都是种特殊的操作受限的线性表,只允许在端点处进行插入和删除。二者的区别是栈是种“后进先出”的线性表;而队列是种“先进先出”的线性表。20.以下合法的赋值语句是_。(分数:2.00)A.X=

    26、Y=100B.D-; C.X+Y;D.C=int(A+解析:评析 本题中的答案 A与 D都缺少“;”,而答案 C中,表达式是不能独立成为语句的,答案 B使用了 C语言的自减运算符它就相当于 DD-1,所以答案 B为赋值语句。21.在下列几种排序方法中,要求内存量最大的是_。(分数:2.00)A.插入排序B.选择排序C.快速排序D.归并排序 解析:评析 快速排序的基本思想是,通过一趟排序将待排序记录分割成独立的两部分,其中部分记录的关键字均比另部分记录的关键字小,再分别对这两分记录继续进行排序,以达到整个序列有序;插入排序的基本操作是指将无序序列中的各元素依次插入到已经有序的线性表中,从而得到一

    27、个新的序列;选择排序的基本思想是:扫描整个线性表,从中选出最小的元素,将它交换到表的最前面(这是它应有的位置),然后对剩下的子表采用同样的方法,直到表空为止;归并排序是将两个或两个以上的有序表组合成一个新的有序表。22.设 x为 int型变量,执行以下语句,x=10;x+=x-=x-x;x 的值为_。(分数:2.00)A.10B.20 C.30D.40解析:评析 本题 x=l0,表达式“x+=x-=x-x;”的求解步骤如下:先进行 x-x-x 的运算,相当于 x=x-(x-x)=x=l0;再进行 x+=x的运算,即 x=x+x=20。23.以下函数值的类型是_。fun(float x)floa

    28、t y;y=3*x-4return y;(分数:2.00)A.int B.不确定C.voidD.float解析:评析 C 语言中如果函数前不加任何数据类型时,默认函数的类型为整型,函数的类型就是函数返回值的类型。24.下面的关键字中,不能够从循环体中跳到循环体外的是_。(分数:2.00)A.gotoB.breakC.returnD.continue 解析:评析 continue 语句与 break语句的区别是:continue 语句只结束本次循环,而不是终止整个循环的的执行。而 break语句则是结束整个循环过程,不再判断执行循环的条件是否成立。gpto 语句可跳出多层循环,如果在函数的循环体

    29、内使用 return 语句,就会直接结束循环返回函数值。25.下列叙述中,不属于软件需求规格说明书的作用的是_。(分数:2.00)A.便于用户、开发人员进行理解和交流B.反映出用户问题的结构,可以作为软件开发工作的基础和依据C.作为确认测试和验收的依据D.便于开发人员进行需求分析 解析:评析 软件需求规格说明书是需求分析阶段的最后成果,是软件开发中的重要文档之一。它不能方便开发人员进行需求分析。26.在计算机中,算法是指_。(分数:2.00)A.查询方法B.加工方法C.解题方案的准确而完整的描述 D.排序方法解析:评析 计算机算法是指解题方案的准确而完整的描述,它有以下几个基本特征:可行性、确

    30、定性、有穷性和拥有足够的情报。27.视图设计般有 3种设计次序,下列不属于视图设计的是_。(分数:2.00)A.自顶向下B.由外向内 C.由内向外D.自底向上解析:评析 视图设计般有 3种设计次序,它们分别是自顶向下、自底向上和由内向外,它们又为视图设计提供了具体的操作方法,设计者可根据实际情况灵活掌握,可以单独使用也可混合使用。28.以下程序的输出结果是_。#define M(x,y,z)x*y+zmain()int a=1,b=2,c=3;printf(“%d/n“,M(a+b,b+c,c+(分数:2.00)A.);,则能完成 i=j赋值功能的语句是_。(分数:2.00)A.i=*pB.*

    31、P=*,则数组 x在内存中所占字节数是_。(分数:2.00)A.3B.6C.10D.20 解析:评析 当数组定义后,系统就为其分配内存空间,而不论其中有没有内容。因此,本题中数组x10不论是否为其元素初始化,它所分配的存储空间仍为 2*10=20个字节。37.以下程序的输出结果是_。structHARint x,y;structHAR*p;main()h0.x=1;h0.y=2;h1.x=3;h1.y=4;h0.p=printf(“%d%d/n“,(h0.p-y);(分数:2.00)A.12B.23C.14D.32 解析:评析 本题中是个含有两个结点的循环链表。C 语言中结构体的定义为:srt

    32、yct 结构体类型名成员项表;38.以下程序运行后的输出结果是_。int d=1;fun(int p)static int d=5;d+=pprintf(“%d,d“);retum d;main()int a=3;printf(“%d/n“,fun(a+fun(d) );(分数:2.00)A.699B.9C.61515 D.6615解析:评析 静态局部变量在编译时赋初值,即只赋初值次,在程序运行时它已有初值。以后每次调用时不再重新赋初值而只是保留上次函数调用结束时的值,而对自动变量赋初值,不是在编译时进行的,而在函数调用时进行,每调用次函数重新给次初值,相当于执行次赋值语句。本题在程序开头定义

    33、了全局变量 d并赋初值 1,在被调函数 fun()中,定义了静态局部变量 d,初值为 5。在第次调用函数fun时,d 初值为 5,p 由主函数传递过来的值为 1,则 d=d+p=5+1=6,由于 d是静态局部变量,在函数调用结束后,它仍保留 d=6。再次调用 fun函数,d 的初值为 6,而由主函数传递的 p的值为 9,则此时d=d+p=6+9=15,最后打印输出 d的值并返回主函数。39.SQL语言又称为_。(分数:2.00)A.结构化定义语言B.结构化控制语言C.结构化查询语言 D.结构化操纵语言解析:评析 结构化查询语言(structured Query Language,简称 SQL)

    34、是集数据定义、数据操纵和数据控制功能于一体的数据库语言。40.设 ab、c、d、m、n 均为 int型变量,且 a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=aB)strcpy(str1+strlen(str1)/2“es she“);pfinff(“%s/n“,p1);(分数:2.00)填空项 1:_ (正确答案:How does she)解析:评析 strcpy(strl,sl):字符串拷贝函数,作用是将字符串 sl拷贝到字符数组 strl中去。strlen(str):测试字符串 str的长度,函数的值为字符串中实际长度,不包括/0在内。本题中strlen(str l)

    35、的值为 13,则 strcpy(strl+strlen(strl)/2“es she“)相当于 strcpy(strl+6“es she“);,因此可得答案为 How does she。48.以下程序输出的最后个值是 【8】 int ff(int n)static int f=1;f=f*nreturn f;main()int i;for(i=1;i=5:i+) printf(“%d、n“,ff(i);(分数:2.00)填空项 1:_ (正确答案:120)解析:评析 静态变量的类型说明符是 static,静态局部变量属于静态存储方式,它具有以下特点:静态局部变量属于静态存储类别,在静态存储区内

    36、分配存储单元。在程序整个运行期间都不释放。对静态局部变量是在编译时赋初值的,即只赋初值次,在程序运行时它已有初值。以后每次调用函数时不再重新赋初值而只是保留上次函数调用结束时的值。如在定义局部变量时不赋初值的话,则对静态局部变量来说,编译时自动赋初值 0(对数值型变量)或空字符(对字符变量)。 (注意:C 语言中非静态变量在定义时,系统并不会自动给它赋初值)虽然静态局部变量在函数调用结束后仍然存在,但其他函数是不能引用它的。本题中函数的功能是:与for语句一起求一个整数的阶乘。49.下列程序的输出结果是 【9】 。main()int a=2,4,6,*prt=for(y=0;y3;y+)z=(

    37、*(ptr+yx)?*(ptr+y):x;printf(“%d/n“,z);(分数:2.00)填空项 1:_ (正确答案:6)解析:评析 条件运算符的优先级高于赋值运算符,因此本题先计算关系个表达式(*ptr+y)x)?(ptr+y):x的值,再赋绐变量 z,当 y=O 时,*(ptr+y)=2,而 x=8,(*(ptr+y)x)条件为真,则整个条件表达式的值为*(pry)=2,所以 z=2;当 y=1时*(ptr+y)=4, (*(ptr+y)x)条件为真,则整个条件表达式的值为*(ptr+y)=4,所以 z=4;当 y=2时,*(ptr+y)=6,*(ptr+y)x)条件为真,则整个条件表

    38、达式的值为*(ptr+y)=6,所以 z=6;循环结束。因此输出 z的结果为 6。50.若有定义语句 char s100,d100;int j=0,i=0;且 s中已赋字符串,请填空以实现拷贝。 (注:不使用逗号表达式)whi1e()si)dj= 【10】 :j+;dj=0;(分数:2.00)填空项 1:_ (正确答案:si+)解析:评析 本题中为了能实现字符串的拷贝,需要使字符数组 s从头到尾依次遍历其所有元素。本题应使用 i的自增后置来实现。51.若有如下结构体说明:struct STRU int a,b;charc:double d;struct STRU*p1,*p2; 请填空,以完成

    39、对 t数组的定义,t 数组的每个元素为该结构体类型。 【11】 t20(分数:2.00)填空项 1:_ (正确答案:stmctSTRU)解析:评析 结构件类型是构造数据类型,是用户自己定义的种类型。结构件类型的定义:struct 结构体类型名 成员项表; 定义结构伸变量的的形式为:struct 结构体类型名变量 1,变量 2,其中变量包括;般变量、指针变量、数组变量等。52.下面的程序可对指定字符串中的字符串进行从大到小排序,请将程序填完整。 (注:程序采用了冒泡排序法)#includestdio.h#includestring.hmain()char*str=“ABCDabcd“,temp;

    40、int n,i;n=strlen(str);while(n-1)for(i=0;in;i+)if(stristri+l)temp= 【12】 ;stri=stri+l;【13】 =temp;printf( 【14】 );(分数:6.00)填空项 1:_ (正确答案:12stri13stri+114“%s“,str)解析:评析 本题要求将字符串 str中的字符用冒泡排序算法从大到小排列,其实过程是将相邻两个字符进行比较,如果当前字符小于下一个字符,则通过中间变量 temp将字符两两交换,所以第空应填:stri,第二空应填 stri+1最终打印输出得到的字符串 str,所以第三空应填“%s“,st

    41、r。53.以下程序段打开文件后,先利用 fseek函数将文件位置指针定位在文件末尾,然后调用 ftell函数返回当前文件位置指针的具体位置,从而确定文件长度,请填空。FILE*myf;longfl;myf= 【15】 (“test.t“,“rb“);fseek(myf,(),SEEK_END) fl+ftell(myf);fclose(myf);printf(“%ld/n“,fl);(分数:2.00)填空项 1:_ (正确答案:fopen)解析:评析 C 语言中的文件分为:ASCII 文件与二进制文件。文件在使用前打开,使用后要关闭。打开文件的函数为:fopen(),调用形式为:fp=fopen(“文件名“,“使用文件方式“);关闭文件的函数为:fclose(),调用形式为:fclose(fp),其中 fp为文件指针。


    注意事项

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




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

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

    收起
    展开