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

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

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

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

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

    1、二级 C语言笔试-331 及答案解析(总分:94.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.可以在 C语言中用做用户标识符的是_。(分数:2.00)A.voiddefine WORDB.as b3_123IfC.for-abccasD.2cDoSIG2.对于 n个结点的单向链表(无表头结点),需要指针单元的个数至少为_。(分数:2.00)A.n-1B.nC.n+lD.2n3.下列程序执行后的输出结果是_。main() int m3=1,4.7,6,5,8,3,6,9;int i,k=2for(i=0,i3;i+)printf(“%d“,mki;(分数:2.00

    2、)A.456B.258C.369D.7894.以下程序的输出结果是_。#includestdio.hvoid prt(int*x,int*y,int*z)printf(“%d,%d,%d/n“+*x,+*y,*(z+);int a=10,b=40,c=20main()prt(prt(int b=20;printf(“%d,%o“,(a=a+a,a+b,b),a+a+A,b);(分数:2.00)A.表达式非法,输出零或不确定值B.因输出项过多,无输出或输出不确定值C.输出结果为 20,141D.输出结果为 20,141,206.关系代数运算是以_为基础的运算。(分数:2.00)A.关系运算B.谓

    3、词运算C.集合运算D.代数运算7.以下程序(程序左边的数字为附加的行号)_。1#includestr.h2#includestdio.h3main()4 char s=“string“;5puts(s);6strcpy(s,“hello“);7printf(“%3s/n“,s);(分数:2.00)A.没有错B.第 1行有错C.第 6行有错D.第 7行有错8.定义 int*swap()指的是_。(分数:2.00)A.一个返回整型值的函数 swap()B.一个返回指向整型值指针的函数 swap()C.一个指向函数 swap()的指针,函数返回一个整型值D.以上说法均错9.下列程序的输出结果是_。#

    4、define A 100main()int i=0,sum=0;do if(i=(i/2)*2) continue;sum+=i;while(+i(分数:2.00)A.;printf(“%d/n“,sum);A) 2500B.2050C.4D.010.已知下面的程序段,正确的判断是_#define A3#define B((分数:2.00)A.(A+1)*a)X=3*(A+B(7);X=3*(A+B(7);A) 程序错误,不允许嵌套定义B.X=93C.X=81D.程序错误,宏定义不允许有参数11.能将高级语言程序转换成目标语言程序的是_。(分数:2.00)A.调试程序B.解释程序C.编译程序D

    5、.编辑程序12.模块本身的内聚是模块独立性的重要性度量因素之一。在 7类内聚中,具有最强内聚的类是 _。(分数:2.00)A.顺序性内聚B.过程性内聚C.逻辑性内聚D.功能性内聚13.下列程序的输出结果是_。main()int i=3;switch(i)case1:case2:printf(“%d“,i);case3:case4:break;default: printf (“OK“);(分数:2.00)A.0B.3C.OKD.没有任何输出14.排序方法中,将整个无序序列分割成若干小的子序列并分别进行插入排序的方法,称_。(分数:2.00)A.希尔排序B.冒泡排序C.插入排序D.选择排序15.

    6、下述函数功能是_。int fun(char*x)char*y=x;while(*y+);return y-x-1;(分数:2.00)A.求字符串的长度B.求字符串存放的位置C.比较两个字符串的大小D.将字符串 x连接到字符串 y后面16.若一个外部变量的定义形式为 static int x;,那么,其中 static的作用应该是_。(分数:2.00)A.将变量存储在静态存储区B.使变量 x可以由系统自动初始化C.使 x只能在本文件内引用D.使 x的值可以永久保留17.以下程序的输出结果是_。#includestdio.h#define SQR(x)x*xmain()int a,k=3;a=+S

    7、QR(k+1)printf(“%d/n“,(分数:2.00)A.A) 8B.9C.17D.2018.已知形成链表的存储结构如下图所示,则下述类型描述中的空白处应填_。struct linkchar data;_;node;(分数:2.00)A.Struct link nextB.link*nextC.struct next linkD.Struct link*next19.若有定义:int a410;,则以下选项中对数组元素 aij引用错误的是_。(0=i4,0=j10)(分数:2.00)A.*(s1+;s2+;printf(“%d/n“,strcmp(s1,s2);上面程序的输出结果是_。(

    8、分数:2.00)A.正数B.负数C.零D.不确定的值26.在数据结构中,从逻辑上可以把数据结构分为_。(分数:2.00)A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.内部结构和外部结构27.以下程序段的输出结果是_ 。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.aaabbb28.若有以下结构体定义,则是正确

    9、的引用或定义。Struct exampleint x;int y;V1;(分数:2.00)A.example.x=10B.example V2.x=10C.structv2;v2x=10D.struct examplev2=10;29.以下程序输出的结果为_。main()char*dlpha6=“ABCD“,“EFGH“,“IJKL“,“MNOP“,“QRST“,“UVWX“;char*p;int i;p=alpha;for(i=0;i4;iff)printf(“%s“,pi)(分数:2.00)A.ABCDEFGHIJKLB.ABCDC.ABCDEFGHIJKLMNOPD.AEIM30.设有以

    10、下语句:char str1=“string“,str28,*str3,*str4=“string;则_不是对库函数的正确调用。(分数:2.00)A.strcpy(str1,“HELLO1“);B.strcpy(str2,“HELLO2“);C.strcpy(str3,“HELLO3“);D.strcpy(str4,“HELLO4“)31.数据存储和数据流都是_,仅仅是所处的状态不同。(分数:2.00)A.分析结果B.事件C.动作D.数据32.在软件开发过程中,软件结构设计是描述_。(分数:2.00)A.数据存储结构B.软件体系结构C.软件结构测试D.软件控制过程33.下列程序的执行结果是_。#

    11、includestdio.hunion unint i;char c2;void main()union un x;x.c0=10;x.c1=1;printf(“/n%d“,x.i);(分数:2.00)A.266B.11C.265D.13834.下列程序执行后输出的结果是_。int d=1;fun(int p)int d=5;d+=p+;printf(“%d,“,d);main()int a3;fun((分数:2.00)A.;fprintf(fp,“%d%5.0f%c%d“,58,76273.0,2278);fclose(fp);(分数:2.00)A.58 76273-2278B.587627

    12、3.000000-2278C.5876273-2278D.因文件为二进制文件而不可读二、填空题(总题数:12,分数:24.00)36.对于长度为 n的顺序存储的线性表,当随机插入和删除一个元素时,需平均移动元素的个数为 【1】 。(分数:2.00)填空项 1:_37.注释说明了程序的功能,它分为 【2】 注释和功能性注释。(分数:2.00)填空项 1:_38.软件测试中路径覆盖测试是整个测试的基础,它是对软件 【3】 进行测试。(分数:2.00)填空项 1:_39.数据库技术的主要特点为数据的集成性、数据的高 【4】 和低冗余性、数据独立性和数据统一管理与控。(分数:2.00)填空项 1:_4

    13、0.数据元素之间 【5】 的整体称为逻辑结构。(分数:2.00)填空项 1:_41.若 x和 y都是 double型变量,且 x的初值为 3.0,y的初值为 2.0,则表达式 pow(y,fabs(x)的值为 【6】 。(分数:2.00)填空项 1:_42.没有 char a,b;,,若要通过 areturn(x*y-m);main()int a=7,b,5;prntf(“%d/n“,fun(a,B) /m);(分数:2.00)填空项 1:_44.下列程序执行后输出的结果是 【9】 。main()int arr10,i,k=0);fot(i=0;i10;i+)arti=i;for(i=1:i4

    14、;i+) k+=arri+i;printf(“%d/n“,k);(分数:2.00)填空项 1:_45.下面程序有两个 printf语句,如果第一个 printf语句输出的是 194,则第二个 printf语句的输出结果是 【10】 。main()int a10=1,2,3,4,5,6,7,8,9,0,*p;p=a;printf(“%x/n“,p);printf(“%x/n,p+9);(分数:2.00)填空项 1:_46.函数 delete(s,i,n)的作用是从字符串 s中删除从第 i个字符开始的 n个字符,请填空。void delete(char s,int i, int n)int j,k

    15、,legth=0;while(slength)【11】 ;-i;j=i;if( 【12】 )k=i+n;if(i+nlength)while(klength)sj+=sk+;sj=/0(分数:2.00)填空项 1:_47.下述函数统计一个字符串中的单词个数,单词是指处在空格之间的字符序列,请填空。int word(char*s)int num=0,flag=0;while(*s)if( 【13】 =) flag=0;else if( 【14】 )flag=1;num+return 【15】 (分数:2.00)填空项 1:_二级 C语言笔试-331 答案解析(总分:94.00,做题时间:90 分

    16、钟)一、选择题(总题数:35,分数:70.00)1.可以在 C语言中用做用户标识符的是_。(分数:2.00)A.voiddefine WORDB.as b3_123If C.for-abccasD.2cDoSIG解析:评析 C 语言规定,标识符只能由字母、数字和下划线三种符号组成,而且第一个字符必须是字母或下划线。另外还需要注意的是关键字不能作标识符。选项 A中 void, C 中 for都为关键字,D 中 2c以字母开头。2.对于 n个结点的单向链表(无表头结点),需要指针单元的个数至少为_。(分数:2.00)A.n-1B.nC.n+l D.2n解析:评析 在 n个结点的单向链表(无表头结点

    17、)中,每个结点都有一个指针单元(即指针域),加上头指针,至少需要 n+1个指针单元。3.下列程序执行后的输出结果是_。main() int m3=1,4.7,6,5,8,3,6,9;int i,k=2for(i=0,i3;i+)printf(“%d“,mki;(分数:2.00)A.456B.258C.369 D.789解析:评析 根据二维数组的定义得出:m00=1,m01=4,m02=7,m10=2,m11=5,m12=8,m20=3,m21=6, m22=9,所以本题的输出是第 3行的值 m20,m21,m22,即 369。4.以下程序的输出结果是_。#includestdio.hvoid

    18、prt(int*x,int*y,int*z)printf(“%d,%d,%d/n“+*x,+*y,*(z+);int a=10,b=40,c=20main()prt(prt(int b=20;printf(“%d,%o“,(a=a+a,a+b,b),a+a+A,b);(分数:2.00)A.表达式非法,输出零或不确定值B.因输出项过多,无输出或输出不确定值C.输出结果为 20,141 D.输出结果为 20,141,20解析:评析 本题中首先输出逗号表达式“a=a+a,a+b,b”的值,即 20。然后以八进制的形式输出a+a-A的值为 97对应的八进制数 141,由于最后一个表达式 b没有对应输出

    19、格式的输出项表列就不会输出。6.关系代数运算是以_为基础的运算。(分数:2.00)A.关系运算B.谓词运算C.集合运算 D.代数运算解析:评析 关系代数运算是以关系代数作为运算对象的一组高级运算的集合。它的基本操作是并、交、差、笛卡尔积,另外还包括垂直分割(投影)、水平分割(选择)、关系的结合(连接)等。7.以下程序(程序左边的数字为附加的行号)_。1#includestr.h2#includestdio.h3main()4 char s=“string“;5puts(s);6strcpy(s,“hello“);7printf(“%3s/n“,s);(分数:2.00)A.没有错B.第 1行有错

    20、 C.第 6行有错D.第 7行有错解析:评析 字符串复制函数 strcpy包含在头文件 string.h中,因此,程序中的第 1行文件包含命令是错误的。8.定义 int*swap()指的是_。(分数:2.00)A.一个返回整型值的函数 swap()B.一个返回指向整型值指针的函数 swap() C.一个指向函数 swap()的指针,函数返回一个整型值D.以上说法均错解析:评析 一个函数可以带回一个整型值、字符值、实型值等,但也可以带回指针型数据,即地址。本题的定义中,包括括号和*号,由于 0优先级高于*。故它是一个返回整型指针的函数。9.下列程序的输出结果是_。#define A 100mai

    21、n()int i=0,sum=0;do if(i=(i/2)*2) continue;sum+=i;while(+i(分数:2.00)A.;printf(“%d/n“,sum);A) 2500 B.2050C.4D.0解析:评析 本题程序的功能是求 1到 99之间(包括 1和 99)所有奇数之和。程序中的 while循环的终止条件为+i=100,在 while 循环体内,如果 i是偶数,则执行 continue,跳过这依次循环,执行下一次循环,否则求和。最后输出的值是 1到 99之间(包括 1和 99)所有奇数之和(1+99)*50/2=2500。10.已知下面的程序段,正确的判断是_#def

    22、ine A3#define B((分数:2.00)A.(A+1)*a)X=3*(A+B(7);X=3*(A+B(7);A) 程序错误,不允许嵌套定义B.X=93C.X=81 D.程序错误,宏定义不允许有参数解析:评析 本题的宏定义是合法的,宏定义展开为 3*(3+(A+1)*a)=3*(3+(7+1)*3)=81。11.能将高级语言程序转换成目标语言程序的是_。(分数:2.00)A.调试程序B.解释程序C.编译程序 D.编辑程序解析:评析 用高级语言编写的程序称为“源程序”,而计算机只能识别和执行由 0和 1组成的二进制指令,所以高级语言必须先用种称为“编译程序”的软件,把源程序翻译成二进制形

    23、式的“目标程序”。12.模块本身的内聚是模块独立性的重要性度量因素之一。在 7类内聚中,具有最强内聚的类是 _。(分数:2.00)A.顺序性内聚B.过程性内聚C.逻辑性内聚D.功能性内聚 解析:评析 内聚性是一个模块内部各元素间彼此结合的紧密程度的度量。内聚共有 7类,它们之间的内聚性由弱到强排列顺序为:偶然内聚、逻辑内聚、时间内聚、过程内聚、通信内聚、顺序内聚和功能内聚。13.下列程序的输出结果是_。main()int i=3;switch(i)case1:case2:printf(“%d“,i);case3:case4:break;default: printf (“OK“);(分数:2.

    24、00)A.0B.3C.OKD.没有任何输出 解析:评析 在题中,i 的值为 3,由于“case 3:”后面没有 break语句,所以继续向下执行“case 4:”后面的语句,由于“case 4:”后面的语句为 break强行退出 switch语句,所以,本题没有任何输出。14.排序方法中,将整个无序序列分割成若干小的子序列并分别进行插入排序的方法,称_。(分数:2.00)A.希尔排序 B.冒泡排序C.插入排序D.选择排序解析:评析 希尔排序法的基本思想是:将整个无序列分割成若干小的子序列分别进行插入排序。15.下述函数功能是_。int fun(char*x)char*y=x;while(*y+

    25、);return y-x-1;(分数:2.00)A.求字符串的长度 B.求字符串存放的位置C.比较两个字符串的大小D.将字符串 x连接到字符串 y后面解析:评析 在函数体内定义一字符型指针并指向形参,然后遍历其中各字符直到 NULL,最后返回字符串首尾地址的差值,即字符串的长度。16.若一个外部变量的定义形式为 static int x;,那么,其中 static的作用应该是_。(分数:2.00)A.将变量存储在静态存储区B.使变量 x可以由系统自动初始化C.使 x只能在本文件内引用 D.使 x的值可以永久保留解析:评析 事实上,无论有无 static修饰,外部变量都具有 A、B 和 C三种特

    26、性。作为一种修饰,static仅是限制此类型外部变量韵引用范围:只能在定义它的文件范围内使用。17.以下程序的输出结果是_。#includestdio.h#define SQR(x)x*xmain()int a,k=3;a=+SQR(k+1)printf(“%d/n“,(分数:2.00)A.A) 8B.9 C.17D.20解析:评析 本题宏替换中遇到形参 x以实参 k+1代替,其他字符不变。SQR(k+1)展开后应为字符串k+1*k+1。18.已知形成链表的存储结构如下图所示,则下述类型描述中的空白处应填_。struct linkchar data;_;node;(分数:2.00)A.Stru

    27、ct link nextdatanextB.link*nextC.struct next linkD.Struct link*next 解析:评析 在单向链表中,由于每个结点需要存储下一个结点的地址,且下一个结点的数据类型与前一个结点的数据类型完全相同,故应为 struct link *next。19.若有定义:int a410;,则以下选项中对数组元素 aij引用错误的是_。(0=i4,0=j10)(分数:2.00)A.*(s1+;s2+;printf(“%d/n“,strcmp(s1,s2);上面程序的输出结果是_。(分数:2.00)A.正数 B.负数C.零D.不确定的值解析:评析 函数

    28、strcmp的功能是比较字符串 s1和 s2,如果 s1s2,则返回个正数:如果 s1s2,则返回负数,否则返回零。由于本题中小写字母 b的 ASCII码值大于大写字母 B,故 s1s2,所以函数的值为正数。26.在数据结构中,从逻辑上可以把数据结构分为_。(分数:2.00)A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构 D.内部结构和外部结构解析:评析 逻辑结构反映数据元素之间的逻辑关系,线性结构表示数据元素之间一对一的关系,非线性结构表示数据元素之间一对多或多对一的关系。27.以下程序段的输出结果是_ 。main()char s110,s210,s310;scanf

    29、(“%s“,s1);gets(s2);gets(s3);puts(s1);puts(s2);puts(s3);输入数据如下: (此处CR代表回车符)aaaCRbbbCR(分数:2.00)A.aaabbbB.aaabbb C.aaa/0bbb/0D.aaabbb解析:评析 scanf 是标准输入函数,在输入字符串 a阻时,实际的内容为“aaa、0”,“/0”是由系统自动加入的;gets 的功能是从终端读入一行字符,即一直读到换行符为止,并由系统自动以“、0”代替换行符。28.若有以下结构体定义,则是正确的引用或定义。Struct exampleint x;int y;V1;(分数:2.00)A.

    30、example.x=10B.example V2.x=10C.structv2;v2x=10D.struct examplev2=10; 解析:评析 在定义结构体变量时,不能只用结构体名 example或关键字 struct进行定义,必需要用结构体类型名 struct example定义,在引用结构体成员变量时,需要用结构体变量名进行引用,所以选D。29.以下程序输出的结果为_。main()char*dlpha6=“ABCD“,“EFGH“,“IJKL“,“MNOP“,“QRST“,“UVWX“;char*p;int i;p=alpha;for(i=0;i4;iff)printf(“%s“,p

    31、i)(分数:2.00)A.ABCDEFGHIJKLB.ABCDC.ABCDEFGHIJKLMNOP D.AEIM解析:评析 alpha0指向“ABCD”的首地址;alpha1指向“EFGH”的首地址;alpha2指向“IJKL”的首地址,依此类推。当执行 p=alpha后,p 指向指针数组 alpha的首地址。for 循环中输出了4个字符串。30.设有以下语句:char str1=“string“,str28,*str3,*str4=“string;则_不是对库函数的正确调用。(分数:2.00)A.strcpy(str1,“HELLO1“);B.strcpy(str2,“HELLO2“);C.

    32、strcpy(str3,“HELLO3“); D.strcpy(str4,“HELLO4“)解析:评析 C 语言中:strcpy(st1,st2);,其两个参数均为字符指针或字符数组,选项 C中的目的中指针 str3没有指向具体有效的存储单元,故是错误的调用。31.数据存储和数据流都是_,仅仅是所处的状态不同。(分数:2.00)A.分析结果B.事件C.动作D.数据 解析:评析 数据流图有 4种成分:源点或终点、处理、数据存储和数据流。数据存储是处于静止状态的数据,数据流是处于运动中的数据。32.在软件开发过程中,软件结构设计是描述_。(分数:2.00)A.数据存储结构B.软件体系结构 C.软件

    33、结构测试D.软件控制过程解析:评析 从工程管理解度来看,软件设计分两步完成:概要设计和详细设计。概要设计(又称结构设计)将软件需求转化为软件体系结构、确定系统级接口、全局数据结构或数据库模式。33.下列程序的执行结果是_。#includestdio.hunion unint i;char c2;void main()union un x;x.c0=10;x.c1=1;printf(“/n%d“,x.i);(分数:2.00)A.266 B.11C.265D.138解析:评析 由于本题定义的是共用体,所以成员表列中的整型变量 x与字符数组 c共占用同一个存储单元,且此存储单元为 2 个字节,通常

    34、c0位于低字节,c1位于高字节,所以 x.i的值为 266。34.下列程序执行后输出的结果是_。int d=1;fun(int p)int d=5;d+=p+;printf(“%d,“,d);main()int a3;fun((分数:2.00)A.;fprintf(fp,“%d%5.0f%c%d“,58,76273.0,2278);fclose(fp);(分数:2.00)A.58 76273-2278B.5876273.000000-2278C.5876273-2278 D.因文件为二进制文件而不可读解析:评析 fprintf 函数工作时,多个数据间不会自动加分隔符,选项 A错误:浮点数的输出

    35、格式是“%5.0f”表明其小数部分输出 0位,即没有输出,所以选项 B也是错误的。二、填空题(总题数:12,分数:24.00)36.对于长度为 n的顺序存储的线性表,当随机插入和删除一个元素时,需平均移动元素的个数为 【1】 。(分数:2.00)填空项 1:_ (正确答案:n/2)解析:评析 删除一个元素,平均移动的元素个数为(n-1+n-2+0)/n=(n-1)/2;插入一个元素,平均移动元素个数为(n+n-1+n-2+ +1)/n=(n+1)/2;所以总体平均移动元素个数为 n/2。37.注释说明了程序的功能,它分为 【2】 注释和功能性注释。(分数:2.00)填空项 1:_ (正确答案:

    36、序言性)解析:评析 注释一般分为序言性注释和功能性注释。38.软件测试中路径覆盖测试是整个测试的基础,它是对软件 【3】 进行测试。(分数:2.00)填空项 1:_ (正确答案:结构)解析:评析 路径测试是白盒测试方法中的一种,它要求对程序中的每条路径最少检查一次,目的是刑软件的结构进行测试。39.数据库技术的主要特点为数据的集成性、数据的高 【4】 和低冗余性、数据独立性和数据统一管理与控。(分数:2.00)填空项 1:_ (正确答案:共享性)解析:评析 数据库技术的主要特点有以下几个方面:数据的集成性,数据的高共享性与低冗余性,数据的独立性,数据统一管理与控制。40.数据元素之间 【5】

    37、的整体称为逻辑结构。(分数:2.00)填空项 1:_ (正确答案:逻辑关系)解析:评析 数据元素之间逻辑关系的整体称为逻辑结构。数据的逻辑结构就是数据的组织形式。41.若 x和 y都是 double型变量,且 x的初值为 3.0,y的初值为 2.0,则表达式 pow(y,fabs(x)的值为 【6】 。(分数:2.00)填空项 1:_ (正确答案:8.000000)解析:评析 fabs 函数功能是求 x的绝对值,计算结果为 double型。pow 功能是计算 x的 y次方的值,计算结果同样为 double型。所以本题表达式相当于 2.0的 3.0次方,结果为 8.000000。42.没有 ch

    38、ar a,b;,,若要通过 areturn(x*y-m);main()int a=7,b,5;prntf(“%d/n“,fun(a,B) /m);(分数:2.00)填空项 1:_ (正确答案:2)解析:评析 本题变量 m既是外部变量(值是 13),又是 fun函数的局部变量(值为 3)。函数 fun(x*y-m)的值为 7*5-3=32,在 main函数中,fun(a,b)/m 中的 m应取外部变量的值 13,因此输出 2。44.下列程序执行后输出的结果是 【9】 。main()int arr10,i,k=0);fot(i=0;i10;i+)arti=i;for(i=1:i4;i+) k+=a

    39、rri+i;printf(“%d/n“,k);(分数:2.00)填空项 1:_ (正确答案:12)解析:评析 本题的第一个 for循环用于给数组 arr赋初值,第二个 for循环用于求和运算。由于第二个 for循环初始值为 1,而循环条件为 i4,所以求的是 arr1到 arr3及 i的和,所以输出结果为12。45.下面程序有两个 printf语句,如果第一个 printf语句输出的是 194,则第二个 printf语句的输出结果是 【10】 。main()int a10=1,2,3,4,5,6,7,8,9,0,*p;p=a;printf(“%x/n“,p);printf(“%x/n,p+9)

    40、;(分数:2.00)填空项 1:_ (正确答案:1a6)解析:评析 对于指针变量的运算,就是对地址的运算。本题中由于指针指向的是整型变量,所以,使指针变量移动 9个位置也就是移动 18个字节。注意,本题是以十六进制输出的。46.函数 delete(s,i,n)的作用是从字符串 s中删除从第 i个字符开始的 n个字符,请填空。void delete(char s,int i, int n)int j,k,legth=0;while(slength)【11】 ;-i;j=i;if( 【12】 )k=i+n;if(i+nlength)while(klength)sj+=sk+;sj=/0(分数:2.

    41、00)填空项 1:_ (正确答案:11 length+12 ilength)解析:评析 第个循环极有可能是计算串的长度,在 i=length 时字符才被删除,被删除的是从第 i个到第 i+n或最后一个间的所有字符。删除前,应判断 i=length。由于已经进行了-i 运算,故实际应填入 ilength。47.下述函数统计一个字符串中的单词个数,单词是指处在空格之间的字符序列,请填空。int word(char*s)int num=0,flag=0;while(*s)if( 【13】 =) flag=0;else if( 【14】 )flag=1;num+return 【15】 (分数:2.00

    42、)填空项 1:_ (正确答案:13 *s+14 flag=0 或 *(s-1)=15 num)解析:评析 在统计字符串单词个数的算法中,本题的 flag是为了记录一个单词是否结束。第 13空应填*s+;如果某个字符不是空格,则必须判断它是否是单词,如是,则使得 flag的标志为 1,num 的值加1。本题判断方法是:先判断 s所指向的字符是否为空格,如果是则使得 flag=0,否则判断前一个字符是否是空格,如果是则说明这个字符是一个单词的开始,将 flag标志为 1,num 的值加 1,如果不是,则不必记录。故第 14空应填 flag=0 或*(s-1)=;最后一个空格需填写的是返回的单词的个数,即 num。


    注意事项

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




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

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

    收起
    展开