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

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

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

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

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

    1、二级 C 语言-13-2 及答案解析(总分:74.98,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:51.00)1.fscanf 函数的正确调用形式是U /U。 A. fscanf(文件指针,格式字符串,输出表列); B. fscanf(格式字符串,输出表列,文件指针); C. fscanf(格式字符串,文件指针,输入表列); D. fscanf(文件指针,格式字符串,输入表列);(分数:1.00)A.B.C.D.2.以下叙述中错误的是( )。 A. C 语言是一种结构化程序设计语言 B. 结构化程序由顺序、分支、循环三种基本结构组成 C. 使用三种基本结构构成的程序只能解决简

    2、单问题 D. 结构化程序设计提倡模块化的设计方法(分数:1.00)A.B.C.D.3.下列程序段输出的字符串长度为( )。printf(“/aaa/ccc/bddd/“); A. 11 B. 12 C. 13 D. 17(分数:1.00)A.B.C.D.4.以下程序的功能是计算: (分数:1.00)A.B.C.D.5.对于下述程序,在方式串分别采用“wt”和“wb”运行时,两次生成的文件 TEST 的长度分别是#includestdiohvoid main() FILE *fp=fopen(“TEST“,);fputc(A,fp);fputc(/n,fp);fputc(B,fp);fpute(

    3、/n,fp);fputc(C,fp);fclose(fp); A. 7 字节、7 字节 B. 7 字节、5 字节 C. 5 字节、7 字节 D. 5 字节、5 字节(分数:2.00)A.B.C.D.6.在数据管理技术发展过程中,文件系统与数据库系统的本质区别是:数据库系统具有_。 A.数据结构化 B.数据无冗余 C.数据共享 D.数据独立性(分数:2.00)A.B.C.D.7.下列叙述中正确的是_。 A. 为了建立一个关系,首先要构造数据的逻辑关系 B. 表示关系的二维表中各元组的每一个分量还可以分成若干数据项 C. 一个关系的属性名表称为关系模式 D. 一个关系可以包括多个二维表(分数:2.

    4、00)A.B.C.D.8.以下程序的输出结果是U /U。 #includestdio.h int m=13; int fun(int x,int y) int m=2; return(x*y-m); main() int a=7,b=6; printf(“%d“,fun(a,b)/m); A. 1 B. 3 C. 7 D. 10(分数:2.00)A.B.C.D.9.对长度为 n 的线性表进行顺序查找,在最坏情况下所需要的比较次数为 A. log2n B. n/2 C. n D. n+1(分数:1.00)A.B.C.D.10.有以下程序:main() int x8=8,7,6,5,O,0,*s;

    5、s=x+3;printf(“%d/n“,s2);执行后输出结果是( )。 A. 随机值 B. 0 C. 5 D. 6(分数:1.00)A.B.C.D.11.在下列选项中,没有构成死循环的是 A. int i=100; while(1) i=1%100+1; if(i100) break; B. for(;); C. int k=10000; dok+; while(k10000); D. int s=36; while(s) -s;(分数:1.00)A.B.C.D.12.有以下程序:main()char al=Ma2=m;printf(“%c/n“,(al,a2);以下叙述中正确的是 _。 A

    6、. 程序输出大写字母 M B. 程序输出小写字母 m C. 格式说明符不足,编译出错 D. 程序运行时产生出错信息(分数:1.00)A.B.C.D.13.以下程序的输出结果是_。main()int a=3;printf(“%d/n“,(a+=a-=a*A) ); A. -6 B. 1 C. 2 D. -12(分数:1.00)A.B.C.D.14.层次型、网状型和关系型数据库划分的原则是 A. 记录长度 B. 文件的大小 C. 联系的复杂程度 D. 数据之间的联系方式(分数:2.00)A.B.C.D.15.有以下程序#includestdio.hmain() int x,y,z;x=y=1;z=

    7、x+,y+,+y;printf(“%d,%d,%d/n“,x,y,z);程序运行后的输出结果是_。 A.2,3,1 B.2,3,2 C.2,3,3 D.2,2,1(分数:1.00)A.B.C.D.16.有以下程序;main()int i,S=0;for(i=1;i10;i+=2)s+=i+1;printf(“%d/n“,s);程序执行后的输出结果是U /U。 A. 自然数 19 的累加和 B. 自然数 110 的累加和 C. 自然数 19 中奇数之和 D. 自然数 110 中偶数之和(分数:2.00)A.B.C.D.17.“商品”与“顾客”两个实体集之间的联系一般是 A. 一对一 B. 一对多

    8、 C. 多对一 D. 多对多(分数:2.00)A.B.C.D.18.若有定义和语句:int*pp,*p, a=20,b=1O;pp= p= p= printf (“%d,%d/n“,*p,*pp);则输出结果是U /U。 A. 20,10 B. 20,20 C. 10,20 D. 10,10(分数:1.00)A.B.C.D.19.有以下程序:#include stdio.hmain() char c1,c2,c3,c4,c5,c6;scanf(%c%c%c%c,c5=getchar(); c6=getchar();putchar(c1); putchar(c2);printf(%c%c/n,c

    9、5,c6);程序运行后,若从键盘输入(从第 1 列开始)123回车45678回车则输出结果是U /U。 A. 1267 B. 1256 C. 1278 D. 1245(分数:1.00)A.B.C.D.20.下面程序的输出结果是U /U。#includestdio.h#includestring.hmain()char p1=“WHO“,p2=“who“,str50=“xyz“;strcpy(str+1,strcat(p1,p2);printf(“%s“,str); A. xyzWHOwho B. zWHOwho C. zWHOwho D. xWHOwho(分数:2.00)A.B.C.D.21.

    10、若有以下定义,则对 a 数组元素的正确引用是U /U。int a5,*p=a; A. *p2 B. p1n; C. p1*p2p1; D. p1p2p1;(分数:2.00)A.B.C.D.25.有以下程序:#include#define S(x) (x)*x*2main() int k=5,j-2;printf(“%d,“,S(k+j);printf(“%d/n“,S(k-j);程序运行后的输出结果是U /U。 A. 98,18 B. 39,11 C. 39,18 D. 98,11(分数:2.00)A.B.C.D.26.以下叙述中错误的是_。 A. C 语句必须以分号结束 B. 复合语句在语法

    11、上被看做一条语句 C. 空语句出现在任何位置都不会影响程序运行 D. 赋值表达式末尾加分号就构成赋值语句(分数:2.00)A.B.C.D.27.程序中对 fun 函数有如下说明:void * fun();此说明的含义是_。 A. fun 函数无返回值 B. fun 函数的返回值可以是任意的数据类型 C. fun 函数的返回值是无值型的指针类型 D. 指针 fun 指向一个函数,该函数无返回值(分数:2.00)A.B.C.D.28.有以下程序 #includestdio.h void main() char s=“01aXy“;int i,n=0; for(i=0;si!=0;i+) if(si

    12、=ab=char *p;p=a;for(p=a;pa+8;p+=2)putchar(*p); A. language B. lnug C. 有语法错误 D. lang(分数:2.00)A.B.C.D.31.以下选项中错误的是 U /U A. char *sp; gets(sp); B. char sp5 gets(sp); C. char *sp=“12345“; gets(sp); D. charsp5“/0“ gets(sp)(分数:1.00)A.B.C.D.32.有以下程序段中 b 的值是( )int a10=1,2,3,4,5,6,7,8,9,10,*p=b=p5; A.5 B.6 C

    13、.8 D.9 (分数:1.00)A.B.C.D.33.以下有 4 组用户标识符,其中合法的组是_。 A. FOR -sub Case B. 4d DO Size C. f2_G3 IF abc D. WORD void define(分数:1.00)A.B.C.D.34.执行以下程序时输入 1234567CR,则输出结果是#include stdio.hmain() int a=1,b;scanf(“%3d%2d“,printf(“%d%d/n“,a,b); A. 12367 B. 12346 C. 12312 D. 12345(分数:1.00)A.B.C.D.35.下列叙述中不正确的是U /

    14、U。 A. 在 C 语言中调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参 B. 在 C 的函数中,最好使用全局变量 C. 外部变量可以在函数之间传递数据 D. 自动变量实质上是一个函数内部的局部变量(分数:2.00)A.B.C.D.二、B填空题/B(总题数:1,分数:24.00)以下函数用来求出数组的最大元素在数组中的下标并存放在 k 所指的存储单元中。请填空。#include conio.h#include stdio.hint fun(int *s, int t, int *k)int i;*k=0;_if(s*ksi) *k=i;return _;main()int a10

    15、=876,675,896,101,301,401,980,431,451,777,k;fun(a,10,(分数:23.98)填空项 1:_填空项 1:_(3).软件是程序、数据和_的集合。(分数:2.18)填空项 1:_(4).对于长度为 n 的顺序存储的线性表,当随机插入和删除一个元素时,需平均移动元素的个数为U U /U /U。(分数:2.18)填空项 1:_(5).希尔排序法属于U U /U /U排序法。(分数:2.18)填空项 1:_(6).数据元素之间U U /U /U的整体称为逻辑结构。(分数:2.18)填空项 1:_(7).软件工程研究的内容主要包括:_技术和软件工程管理。(分数

    16、:2.18)填空项 1:_(8).可以把具有相同属性的一些不同对象归类,称为U U /U /U。(分数:2.18)填空项 1:_(9).以下函数用来求出数组的最大元素在数组中的下标并存放在 k 所指的存储单元中。请填空。 #includeconio.h #includestdio.h int fun(int *s,int t,int *k) int i; *k=0; _ if(s*ksi)*k=i; return_; main() int a10:876,675,896,101,301,401,980,431,451,777,k; fun(a,10, n=strlen(str); while(

    17、n-1) for(i=0;in;i+) if(stristri+1) temp=U U /U /U; stri=stri+1; U U /U /U=temp; printf(U U /U /U); (分数:2.18)填空项 1:_(11).数据元素之间U U /U /U的整体称为逻辑结构。(分数:2.18)填空项 1:_二级 C 语言-13-2 答案解析(总分:74.98,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:51.00)1.fscanf 函数的正确调用形式是U /U。 A. fscanf(文件指针,格式字符串,输出表列); B. fscanf(格式字符串,输出表列,文件

    18、指针); C. fscanf(格式字符串,文件指针,输入表列); D. fscanf(文件指针,格式字符串,输入表列);(分数:1.00)A.B.C.D. 解析:解析 fscanf 的调用形式是: fscanf(文件指针,格式字符串,输入表列);2.以下叙述中错误的是( )。 A. C 语言是一种结构化程序设计语言 B. 结构化程序由顺序、分支、循环三种基本结构组成 C. 使用三种基本结构构成的程序只能解决简单问题 D. 结构化程序设计提倡模块化的设计方法(分数:1.00)A.B.C. D.解析:解析 本题考查的知识点是结构化程序设计。结构化程序由 3 种基本结构组成:顺序结构、选择结构和循环

    19、结构。已经得到证明,由 3 种基本结构组成的算法结构可以解决任何复杂的问题。故本题中选项 C)是错误的。3.下列程序段输出的字符串长度为( )。printf(“/aaa/ccc/bddd/“); A. 11 B. 12 C. 13 D. 17(分数:1.00)A.B.C. D.解析:解析 转义字符有 1 个/、2 个/、1 个/b,普通字符有 3 个 a、3 个 c、3 个 d,共 13 个字符。4.以下程序的功能是计算: (分数:1.00)A.B.C. D.解析:解析 该程序的运行结果是 1.0000,算法错误。在 s=s+1/n 中,因为 n 为整型,所以循环中 1/n始终为 0。这就是本

    20、题算法错误的原因。应把 s=s+1/n 改为 s=s+1.0/n。5.对于下述程序,在方式串分别采用“wt”和“wb”运行时,两次生成的文件 TEST 的长度分别是#includestdiohvoid main() FILE *fp=fopen(“TEST“,);fputc(A,fp);fputc(/n,fp);fputc(B,fp);fpute(/n,fp);fputc(C,fp);fclose(fp); A. 7 字节、7 字节 B. 7 字节、5 字节 C. 5 字节、7 字节 D. 5 字节、5 字节(分数:2.00)A.B. C.D.解析:解析 以“wt”方式写入的是字符文件,转义字

    21、符“/n”被看做两个字符来处理。而“wb”方式写入的是二进制文件,转义字符“/n”是一个字符。6.在数据管理技术发展过程中,文件系统与数据库系统的本质区别是:数据库系统具有_。 A.数据结构化 B.数据无冗余 C.数据共享 D.数据独立性(分数:2.00)A. B.C.D.解析:7.下列叙述中正确的是_。 A. 为了建立一个关系,首先要构造数据的逻辑关系 B. 表示关系的二维表中各元组的每一个分量还可以分成若干数据项 C. 一个关系的属性名表称为关系模式 D. 一个关系可以包括多个二维表(分数:2.00)A. B.C.D.解析:解析 关系中的每一个属性都是不可分解的,所以表示关系的二维表中各元

    22、组的每一个分量不能分成若干数据项。关系模式是命名的属性集合。一个关系就是一张二维表。为了建立一个关系,首先需要构造数据的逻辑关系。8.以下程序的输出结果是U /U。 #includestdio.h int m=13; int fun(int x,int y) int m=2; return(x*y-m); main() int a=7,b=6; printf(“%d“,fun(a,b)/m); A. 1 B. 3 C. 7 D. 10(分数:2.00)A.B. C.D.解析:解析 本题考查的是函数调用时的参数的作用域。在函数调用时,当全局变量和局部变量的名称相同时,在局部变量的作用域内,局部变

    23、量起作用,因而在 fun 函数内 m 的应该等于 2,main 中的 m 为13,所以返回值为 76-2=40,而 fun(a,b)/m 值为 40/13=3。9.对长度为 n 的线性表进行顺序查找,在最坏情况下所需要的比较次数为 A. log2n B. n/2 C. n D. n+1(分数:1.00)A.B.C. D.解析:解析 对于长度为 n 的有序线性表,在最坏情况下,二分查找只需要比较 log2n 次,而顺序查找需要比较 n 次。10.有以下程序:main() int x8=8,7,6,5,O,0,*s;s=x+3;printf(“%d/n“,s2);执行后输出结果是( )。 A. 随

    24、机值 B. 0 C. 5 D. 6(分数:1.00)A.B. C.D.解析:解析 通过赋值语句“s=x+3”,使指针变量 s 指向数组元素 x3,输出语句巾的 spl 等价于*(s+2),即 x5值为 0。所以,B 选项为所选。11.在下列选项中,没有构成死循环的是 A. int i=100; while(1) i=1%100+1; if(i100) break; B. for(;); C. int k=10000; dok+; while(k10000); D. int s=36; while(s) -s;(分数:1.00)A.B.C.D. 解析:解析 选项 A)的循环表达式的条件永久为 1

    25、,并且小于 100 的数与 100 取余不超过 99,所以在循环体内表达式 i%100 +1 的值永远不大于 100,break 语句永远不会执行,所以是死循环;选项 B)的括号内没有能使循环停下来的变量增量,是死循环;选项 C)中先执行 k+,使 k=10001,从而使循环陷入死循环。12.有以下程序:main()char al=Ma2=m;printf(“%c/n“,(al,a2);以下叙述中正确的是 _。 A. 程序输出大写字母 M B. 程序输出小写字母 m C. 格式说明符不足,编译出错 D. 程序运行时产生出错信息(分数:1.00)A.B. C.D.解析:解析 输出项表是一个逗号表

    26、达式,它的值为 a2,因此输出的是 a2 的值。13.以下程序的输出结果是_。main()int a=3;printf(“%d/n“,(a+=a-=a*A) ); A. -6 B. 1 C. 2 D. -12(分数:1.00)A.B.C.D. 解析:解析 赋值运算符的结合方向是自右至左,所以表达式 a+=a-=a*a 先运算最右边的 a*a 得 9,再运算 a=a-9,即 a=3-9,所以此时 a 的值由 3 变成了-6,最后运算 a=a+(-6),即 a=(-6)+(-6)=-12。14.层次型、网状型和关系型数据库划分的原则是 A. 记录长度 B. 文件的大小 C. 联系的复杂程度 D.

    27、数据之间的联系方式(分数:2.00)A.B.C.D. 解析:解析 本题考查数据模型的性质。层次型、网状型和关系型数据库是通过数据之间的联系方式来划分的。15.有以下程序#includestdio.hmain() int x,y,z;x=y=1;z=x+,y+,+y;printf(“%d,%d,%d/n“,x,y,z);程序运行后的输出结果是_。 A.2,3,1 B.2,3,2 C.2,3,3 D.2,2,1(分数:1.00)A. B.C.D.解析:解析 对于表达式“z=x+,y+,+y;”,因为赋值运算符的优先级高于逗号运算符的优先级,所以可以将上式改成“(z=x+),(y+),(+y)”。然

    28、后从左向右先计算表达式 z=x+,因为 x+先使用后自增,所以 z 的值为 1,x 的值为 2。再计算逗号表达式第二个表达式 y+,此时 y 的值为,y+的值为。最后计算第三个表达式+y,y 的值为 3。故本题答案为 A。16.有以下程序;main()int i,S=0;for(i=1;i10;i+=2)s+=i+1;printf(“%d/n“,s);程序执行后的输出结果是U /U。 A. 自然数 19 的累加和 B. 自然数 110 的累加和 C. 自然数 19 中奇数之和 D. 自然数 110 中偶数之和(分数:2.00)A.B.C.D. 解析:解析 本题考核的知识点是 for 循环语句和

    29、复合赋值+=运算符的应用。本题中,i 赋初值为 1,并对其每次进行加 2 操作,即 i 每次均为 1-10 之间的奇数,s+=i+1,即 s=s+i+1,相当于 s 等于原来的 s每次加上 1-10 之间的偶数,直到 i10 不成立。当 i=1 时,s=0+1+1=2;当 i=3 时,s=2+3+1=2+4;当i=5 时,s=2+4+5+1=2+4+6;当 i=7 时,s=2+4+6+7+1;2+4+6+8;当 i=9 时,s=2+4+6+8+9+1=2+4+6+8+10;当 i=11 时,i10 不成立,结束循环。17.“商品”与“顾客”两个实体集之间的联系一般是 A. 一对一 B. 一对多

    30、 C. 多对一 D. 多对多(分数:2.00)A.B.C.D. 解析:解析 本题考核实体集之间的联系。实体集之间的联系有 3 种:一对一、一对多和多对多。因为一类商品可以由多个顾客购买,而一个顾客可以购买多类商品,所以,“商品”与“顾客”两个实体集之间的联系一般是“多对多”。18.若有定义和语句:int*pp,*p, a=20,b=1O;pp= p= p= printf (“%d,%d/n“,*p,*pp);则输出结果是U /U。 A. 20,10 B. 20,20 C. 10,20 D. 10,10(分数:1.00)A.B.C.D. 解析:解析 本题考查指针变量的赋值。 *pp 是定义了一个

    31、指向指针的指针变量,语句 pp=scanf(%c%c%c%c,c5=getchar(); c6=getchar();putchar(c1); putchar(c2);printf(%c%c/n,c5,c6);程序运行后,若从键盘输入(从第 1 列开始)123回车45678回车则输出结果是U /U。 A. 1267 B. 1256 C. 1278 D. 1245(分数:1.00)A.B.C.D. 解析:解析 在题目中,程序执行到 scanf()函数时,会暂停等待用户输入 4 个字符,按题意输入 123回车后,字符 13 被分别输入到 c1c3 中,而 c4 会得到一个换行符/n。然后执行第 1

    32、个getchar()函数,由于前面的 scanf()函数读完了缓冲区中的所有字符,所以此时程序会又暂停等待用户输入,按题意输入 45678回车后,缓冲区第 1 个字符4被读入并赋给 c5,第 2 个 getchar()函数会读入缓冲区第 2 个字符5。所以最后依次输出 c1、c2、c5、c6 的值后,屏幕上的结果是 1245。故应该选择 D。20.下面程序的输出结果是U /U。#includestdio.h#includestring.hmain()char p1=“WHO“,p2=“who“,str50=“xyz“;strcpy(str+1,strcat(p1,p2);printf(“%s“

    33、,str); A. xyzWHOwho B. zWHOwho C. zWHOwho D. xWHOwho(分数:2.00)A.B.C.D. 解析:解析 程序中,strcat(p1,p2)实现将以 p2 为首地址的字符串连接到以 p1 为首地址的字符串后面,并取消原来 p1 字符串后面的串结束标志,得到 WHOwho:strcpy(str+1,streat(p1,p2)实现将 WHOwho拷贝到以 shr+1 开头的地址单元中,最后得到 xWHOwho。21.若有以下定义,则对 a 数组元素的正确引用是U /U。int a5,*p=a; A. *p2 B. p1n; C. p1*p2p1; D.

    34、 p1p2p1;(分数:2.00)A.B.C.D. 解析:解析 本题考查指针变量的赋值。选项 A)中,p1、p2 本身都是地址变量,不能再将 p1 取地址赋给 p2;选项 B)中,不能将整型数据直接赋值给指针型数据;选项 C)中,*p2 代表了一个整型变量,而*p2p1 这个语句试图把一个地址值放入一个整型变量中是错误的;选项 D)中指针间的赋值是正确的。25.有以下程序:#include#define S(x) (x)*x*2main() int k=5,j-2;printf(“%d,“,S(k+j);printf(“%d/n“,S(k-j);程序运行后的输出结果是U /U。 A. 98,1

    35、8 B. 39,11 C. 39,18 D. 98,11(分数:2.00)A.B.C. D.解析:解析 由#define 的定义知,x 是在预编译阶段替换参数值,即第一个 s(k+j)替换成(k+j)*k+j*2,带入数值得 39;第二个 s(k-j)替换成(k-j)*(k-j)*2,带入数值得 18。故选 C) 。26.以下叙述中错误的是_。 A. C 语句必须以分号结束 B. 复合语句在语法上被看做一条语句 C. 空语句出现在任何位置都不会影响程序运行 D. 赋值表达式末尾加分号就构成赋值语句(分数:2.00)A.B.C. D.解析:解析 C 程序中所有语句都必须由一个分号“;”作为结束符

    36、。如果只有一个分号,这个分号也是一条语句,称为“空语句”,程序执行时不产生任何动作。程序设计中有时需要加一个空语句来表示存在一条语句,但随意加分号也会导致逻辑上的错误,影响程序的运行。所以选项 C 的说法是错误的。27.程序中对 fun 函数有如下说明:void * fun();此说明的含义是_。 A. fun 函数无返回值 B. fun 函数的返回值可以是任意的数据类型 C. fun 函数的返回值是无值型的指针类型 D. 指针 fun 指向一个函数,该函数无返回值(分数:2.00)A.B.C. D.解析:解析 C 语言中函数的定义分为有参函数的定义和无参函数的定义。无参函数的定义形式为: 类

    37、型标识符函数名() 说明部分 语句 有参函数的定义有两种形式: 类型标识符函数名(形式参数列表) 形式参数说明 说明部分 语句 或 类型标识符函数名(类型名 形参 1,类型名 形参 2,) 说明部分 语句 其中函数名为用户定义的 C 语言的合法标识符,其前面的类型标识符用来说明函数值的类型,可以是 C 允许的任何类型,如 int、char、float、double 和指针类型等。当函数值为整型时类型标识符可以省略,如果函数没有返回值,类型标识符可以是 void 型。当函数的形参多于一个时,各个形参之间用逗号分隔。28.有以下程序 #includestdio.h void main() char

    38、 s=“01aXy“;int i,n=0; for(i=0;si!=0;i+) if(si=ab=char *p;p=a;for(p=a;pa+8;p+=2)putchar(*p); A. language B. lnug C. 有语法错误 D. lang(分数:2.00)A.B. C.D.解析:解析 本程序首先定义了静态字符数组 a,然后将指针 P 指向数组 a 的首地址。 第 1 次 for 循环,p=a,p 指向数组的第 1 个元素,*p 是取指针 P 所指地址的内容,输出 1;第 2 次 for 循环,p=p+2,则 p指向数组的第 3 个元素,*p 是取指针 p 所指地址的内容,输出

    39、 n;第 3 次 for 循环,p=p+2,则 p 指向数组的第 5 个元素,*p 是取指针 p 所指地址的内容,输出 u;第 4 次 for 循环,p=p+2,则 p 指向数组的第7 个元素,*p 是取指针 p 所指地址的内容,输出 g,结束循环。31.以下选项中错误的是 U /U A. char *sp; gets(sp); B. char sp5 gets(sp); C. char *sp=“12345“; gets(sp); D. charsp5“/0“ gets(sp)(分数:1.00)A. B.C.D.解析:32.有以下程序段中 b 的值是( )int a10=1,2,3,4,5,

    40、6,7,8,9,10,*p=b=p5; A.5 B.6 C.8 D.9 (分数:1.00)A.B.C.D. 解析:解析 p=scanf(“%3d%2d“,printf(“%d%d/n“,a,b); A. 12367 B. 12346 C. 12312 D. 12345(分数:1.00)A.B.C.D. 解析:解析 scanf 函数中的格式控制说明为“%3d%2d”,分别选中输入中的 3 位和 2 位,因此a=123,b=45。因此正确答案为 D)。35.下列叙述中不正确的是U /U。 A. 在 C 语言中调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参 B. 在 C 的函数中,最好

    41、使用全局变量 C. 外部变量可以在函数之间传递数据 D. 自动变量实质上是一个函数内部的局部变量(分数:2.00)A.B. C.D.解析:解析 编译时,编译系统不为局部变量分配内存单元,而是在程序运行中,当局部变量所在的函数被调用时,编译系统根据需要要临时分配内存,调用结束空间释放;全局变量一经定义,编译系统为其分配固定的内存单元,在程序运行的自始至终都占用固定的单元。在考虑内存不定的情况下,最好使用全局变量。二、B填空题/B(总题数:1,分数:24.00)以下函数用来求出数组的最大元素在数组中的下标并存放在 k 所指的存储单元中。请填空。#include conio.h#include st

    42、dio.hint fun(int *s, int t, int *k)int i;*k=0;_if(s*ksi) *k=i;return _;main()int a10=876,675,896,101,301,401,980,431,451,777,k;fun(a,10,(分数:23.98)填空项 1:_ (正确答案:for(i=0; it; i+))解析:填空项 1:_ (正确答案:0)解析:解析 本题中直接使用指针变量 k,但在使用时要注意对 k 的指针运算,此外,一开始应使*k 的值为数组中的某一下标值,即*k=0。(3).软件是程序、数据和_的集合。(分数:2.18)填空项 1:_ (

    43、正确答案:相关文档)解析:解析 计算机软件是计算机系统中与硬件相互依存的另一部分,是包括程序、数据及相关文档的完整集合。(4).对于长度为 n 的顺序存储的线性表,当随机插入和删除一个元素时,需平均移动元素的个数为U U /U /U。(分数:2.18)填空项 1:_ (正确答案:n/2)解析:解析 删除一个元素,平均移动的元素个数为(n-1+n-2+0)/n=(n-1)/2;插入一个元素,平均移动元素个数为(n+n-1+n-2+ +1)/n=(n+1)/2;所以总体平均移动元素个数为 n/2。(5).希尔排序法属于U U /U /U排序法。(分数:2.18)填空项 1:_ (正确答案:插入)解

    44、析:解析 希尔排序法的基本思想是:将整个无序序列分割成若干小的子序列分别进行插入排序。所以希尔排序法属于插入类排序,但它对简单插入排序做了很大的改进。(6).数据元素之间U U /U /U的整体称为逻辑结构。(分数:2.18)填空项 1:_ (正确答案:逻辑关系)解析:解析 数据元素之间逻辑关系的整体称为逻辑结构。数据的逻辑结构就是数据的组织形式。(7).软件工程研究的内容主要包括:_技术和软件工程管理。(分数:2.18)填空项 1:_ (正确答案:软件开发)解析:解析 软件工程包括软件开发技术和软件工程管理。其中软件开发技术包括:软件开发方法学、开发过程、开发工具和软件工具环境,其主体内容是软件开发方法学:软件工程管理包括:软件管理学、软件工程经济学、软件心理学等内容。(8).可以把具有相同属性的一些不同对象归类,称为U


    注意事项

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




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

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

    收起
    展开