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

    【学历类职业资格】高级语言程序设计自考题-17及答案解析.doc

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

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

    【学历类职业资格】高级语言程序设计自考题-17及答案解析.doc

    1、高级语言程序设计自考题-17 及答案解析(总分:100.00,做题时间:90 分钟)一、B单项选择题/B(总题数:15,分数:30.00)1.C语言程序的基本单位是_ A.程序字段 B.语句 C.函数 D.字符(分数:2.00)A.B.C.D.2.若定义 int i,*p;指向 i的赋值语句是_ A.p=print(“%d/n“,*(p+2);的输出是_ A.4 B.3 C.1 D.2(分数:2.00)A.B.C.D.4.下面程序的输出是_void apple(int *x)printf(“%d/n“,+*x);main()int a=25;apple( A.23 B.24 C.25 D.26

    2、(分数:2.00)A.B.C.D.5.在 C语言中,下列说法不正确的是_ A.调用函数时,只能把实参的值传送给形参 B.在函数中,最好使用全局外部变量 C.形式参数只是局限于所在函数 D.被说明为 static存储类型的外部变量是全局变量(分数:2.00)A.B.C.D.6.若有定义:float *p3;则以下叙述中正确的是_ A.定义了一个基类型为 float的指针变量 p,该变量具有 3个指针 B.定义了一个指针数组 p,该数组含有 3个元素,每个元素都是基类型为 float的指针 C.定义了一个名为*p 的整型数组,该数组含有 3个 float类型元素 D.定义了一个可指向一维数组的指针

    3、变量 p,所指一维数组应具有 3个 float类型元素(分数:2.00)A.B.C.D.7.设有以下定义和语句int a32=1,2,3,4,5,6,*p3;p0=a2;则*(p0+1)所代表的数组元素是_ A.a11 B.a10 C.a21 D.a12(分数:2.00)A.B.C.D.8.C语言程序设计中,用户定义的函数可以嵌套调用,还可以_ A.宏调用 B.嵌套创建 C.先调用再定义 D.递归调用(分数:2.00)A.B.C.D.9.下列函数返回值的数据类型是_fun(int x)int y;y=4*x-5;return y; A.int B.void C.float D.不确定(分数:2

    4、.00)A.B.C.D.10.有以下定义#includestdio.hchar a10,*b=a;不能给数组 a输入字符串的语句是_ A.gets(a) B.gets(int v4=0,0,0,0,k,i;for(k=0;*(s+k);k+) switch(*(s+k) case 1:i=0;case 2:i=1;case 3:i=2;case 4:i=3;vi+;for(k=0;k4;k+)printf(“%d“,vk); A.0 2 1 8 B.0 0 0 8 C.8 8 8 8 D.4 6 7 8(分数:2.00)A.B.C.D.13.若有定义 int a5;则对 a数组的第 i个元素地

    5、址的正确引用为_ A.a0+i B.*(a0+i) C.*(a+i) D.(a+i)(分数:2.00)A.B.C.D.14.以下说法正确的是_ A.外部变量只能定义成无存储类型或 static类型 B.在定义内部变量时,省略存储类型,系统默认为 static类型 C.外部变量能重名,但是内部变量不能重名 D.extern类型有时可允许初始化(分数:2.00)A.B.C.D.15.以下程序的输出结果是_char apple(char ch)if(ch=Areturn ch;main()char s=“ABC+abc=defGHI“,*p=s;while(*p)*p=apple(*p);p+;pr

    6、intf(“%s/n“,s); A.abc+ABC=DEFghi B.abc+abc=defghi C.abcaABCDEFghi D.abcabedefghi(分数:2.00)A.B.C.D.二、B填空题/B(总题数:10,分数:20.00)16.“*”是_运算符。(分数:2.00)填空项 1:_17.设 int a10,*p=a;则对 a3的引用可以是_和_。(分数:2.00)填空项 1:_18.函数间传递数据有四种方式:值传递、地址传递、_和全局变量传递。(分数:2.00)填空项 1:_19.若自定义函数要求返回一个值,则应在该函数体中有一条_语句;若自定义函数要求没有返回值时,则应在该

    7、函数的说明时加一个类型说明符_。(分数:2.00)填空项 1:_20.C语言中规定,在程序中表示一维数组首地址的表达式可以写成_,还可写成数组名。(分数:2.00)填空项 1:_21.以下函数调用语句中实参的个数是_。 apple(x1,x2),(x3,x4,x5),x6)(分数:2.00)填空项 1:_22.值传递方式传递的是_,地址传递方式传递的是_。(分数:2.00)填空项 1:_23.若有说明语句:int a10=9,4,8,3,2,6,7,0,1,5;则*(a+a9)的值为_。(分数:2.00)填空项 1:_24.下面程序的输出是_。 void apple(int *x) print

    8、f(“%d/n“,+*x); main() int a=25;apple((分数:2.00)填空项 1:_25.下面程序的输出结果是_。 main() char *p10=“abc“,“aabde“,“kdhjfh“,“hjeud“,“cd“ printf(“%d/n“,strlen(p4); (分数:2.00)填空项 1:_三、B程序分析题/B(总题数:4,分数:16.00)26.#includestdio.h func(int a,int b) int c;c=a+b; return c; main() int x=6,r; r=func(x,x+=2); printf(“%d/n“,r)

    9、; (分数:4.00)_27.void f(int x,int y,int *px,int *py) *px=x*y; *px=x-y; main() int a=10,b=20; f(a,b, printf(“%d,%d/n“,a,b); (分数:4.00)_28.s(int a) static int b=10; if(a%2=1) retun(+b); else return(+a); void main() int i; for(i=0;i4;i+) printf(“%d/t“,s(i); printf(“/n“); (分数:4.00)_29.#includestring.h char

    10、 *scmp(char *s1,char *s2) if(strcmp(s1,s2)0)return(s1); else return(s2); main() int i;char string20,str320; for(i=0;i3;i+)gets(stri); strcpy(string,scmp(str0,str1); strcpy(string,scmp(string,str2); printf(“%s/n“,string); 依次输入: ABCD ABBA ABC(分数:4.00)_四、B程序填充题/B(总题数:3,分数:18.00)30.以下程序通过函数指针 p调用函数 fun(

    11、 )。 void fun(int *x,int *y) main() int a=10,b=20; _; /*第一空*/ p=fun;p( (分数:6.00)填空项 1:_31.SumColumMin( )的功能是:求出 M行 N列二维数组每列元素中的最小值,并计算它们的和值。和值通过形参传回主函数输出。 #includestdio.h #define M 2 #define N 4 void SumColumMin(_,int*sum)/*第一空*/ int i,j,s=0 for(i=0;i N;i+) k=0; for(j=1;jM;j+) if(_)k=j;/*第二空*/ s+=aki

    12、; _;/*第三空*/ main() int xMN=3,2,6,1,4,1,8,3,s; SumColumMin(x, printf(“%d/n“,s); (分数:6.00)填空项 1:_32.下列函数 f2( )的功能是对 pa、pb、pc 指向的 3个实数排序,保证*pa*pb*pc。 该函数调用了函数 f1( )。 void f1(int *x,int *y) int t; _;*y=t; /*第一空*/ viod f2(int *pa,int *pb,int *pc) if(_)f1(pa,pb); /*第二空*/ if(*pa*pc) f1(pa,pc); if(*pb*pc) f

    13、1(_);/*第三空*/ (分数:6.00)填空项 1:_五、B程序设计题/B(总题数:2,分数:16.00)33.自行输入一个二维数组 int a44,输出其 4个边的元素。(分数:8.00)_34.通过调用函数,实现如下功能:在形参 s所指字符串中的每个数字字符之后插入一个*号。例如,形参s所指的字符串为 def35adh3kjs7,执行结果为 def3*5*adh3*kjs7*。(分数:8.00)_高级语言程序设计自考题-17 答案解析(总分:100.00,做题时间:90 分钟)一、B单项选择题/B(总题数:15,分数:30.00)1.C语言程序的基本单位是_ A.程序字段 B.语句 C

    14、.函数 D.字符(分数:2.00)A.B.C. D.解析:考点 C 语言的基本知识 解析 C 程序是由若干个函数构成的,它的基本单位是函数。2.若定义 int i,*p;指向 i的赋值语句是_ A.p=print(“%d/n“,*(p+2);的输出是_ A.4 B.3 C.1 D.2(分数:2.00)A.B. C.D.解析:考点 指针的移动 解析 数组名 a指向数组的首地址,a+2 指针移动指向了“3”,所以输出的是 3。4.下面程序的输出是_void apple(int *x)printf(“%d/n“,+*x);main()int a=25;apple( A.23 B.24 C.25 D.

    15、26(分数:2.00)A.B.C.D. 解析:考点 函数的地址传递 解析 主函数中把 a的地址p0=a2;则*(p0+1)所代表的数组元素是_ A.a11 B.a10 C.a21 D.a12(分数:2.00)A.B.C. D.解析:考点 利用指针数组去引用数组元素 解析 p0为指向数组的指针,p0=a2表示第三行数组的首地址赋给 p0;p0+1 指针指向第三行第二个元素,即 a21。8.C语言程序设计中,用户定义的函数可以嵌套调用,还可以_ A.宏调用 B.嵌套创建 C.先调用再定义 D.递归调用(分数:2.00)A.B.C.D. 解析:考点 函数的调用 解析 C 语言允许函数的嵌套调用和递归

    16、调用,所谓嵌套调用就是函数甲调用了乙,乙调用了丙。所谓递归调用就是指函数调用自己。9.下列函数返回值的数据类型是_fun(int x)int y;y=4*x-5;return y; A.int B.void C.float D.不确定(分数:2.00)A. B.C.D.解析:考点 默认返回值类型 解析 在 C语言中,当函数类型为 int时,函数类型名 int可以不写,系统默认为 int。10.有以下定义#includestdio.hchar a10,*b=a;不能给数组 a输入字符串的语句是_ A.gets(a) B.gets(int v4=0,0,0,0,k,i;for(k=0;*(s+k)

    17、;k+) switch(*(s+k) case 1:i=0;case 2:i=1;case 3:i=2;case 4:i=3;vi+;for(k=0;k4;k+)printf(“%d“,vk); A.0 2 1 8 B.0 0 0 8 C.8 8 8 8 D.4 6 7 8(分数:2.00)A.B. C.D.解析:考点 switch 语句和指针 解析 *s=“12134211“,把字符串的首地址给予指针 s,另外 case语句中都无 break,一旦 case语句执行会一直执行到最后一句,i=3,因此 vi+;只给 v3增 1。字符串的长度为 8,都能在 switch语句中执行到 case语句

    18、,所以输出 0 0 0 8。13.若有定义 int a5;则对 a数组的第 i个元素地址的正确引用为_ A.a0+i B.*(a0+i) C.*(a+i) D.(a+i)(分数:2.00)A.B.C.D. 解析:考点 一维数组的指针 解析 A 项为 a0的值加 i;B 项不是地址且不合法;C 项为第 i个元素的值,不是地址。14.以下说法正确的是_ A.外部变量只能定义成无存储类型或 static类型 B.在定义内部变量时,省略存储类型,系统默认为 static类型 C.外部变量能重名,但是内部变量不能重名 D.extern类型有时可允许初始化(分数:2.00)A. B.C.D.解析:考点 函

    19、数的存储 解析 外部变量只能定义成无存储类型或 static类型;在定义内部变量时,省略存储类型,系统默认为 auto类型,外部变量不能重名,但是内部变量能重名;extern 类型不允许初始化。15.以下程序的输出结果是_char apple(char ch)if(ch=Areturn ch;main()char s=“ABC+abc=defGHI“,*p=s;while(*p)*p=apple(*p);p+;printf(“%s/n“,s); A.abc+ABC=DEFghi B.abc+abc=defghi C.abcaABCDEFghi D.abcabedefghi(分数:2.00)A.

    20、B. C.D.解析:考点 函数的调用和指针移动 解析 ch=A则对 a3的引用可以是_和_。(分数:2.00)填空项 1:_ (正确答案:p3,*(p+3))解析:考点 指向一维数组的指针的使用 解析 *p=a 指针指向首地址,可以用 p替代 a或通过指针移动来引用数组元素。18.函数间传递数据有四种方式:值传递、地址传递、_和全局变量传递。(分数:2.00)填空项 1:_ (正确答案:返回值传递)解析:考点 函数调用时数据传递方法 解析 函数调用时数据传递方法有四种:值传递方式、地址传递方式、返回值传递方式、全局变量传递方式。19.若自定义函数要求返回一个值,则应在该函数体中有一条_语句;若

    21、自定义函数要求没有返回值时,则应在该函数的说明时加一个类型说明符_。(分数:2.00)填空项 1:_ (正确答案:return,void)解析:考点 函数的定义 解析 当要求有一个返回值时,要加上 return语句,如果不要求有返回值时要加上类型说明符 void。20.C语言中规定,在程序中表示一维数组首地址的表达式可以写成_,还可写成数组名。(分数:2.00)填空项 1:_ (正确答案: main() int a=25;apple((分数:2.00)填空项 1:_ (正确答案:26)解析:考点 函数调用 解析 传递的是实参的地址,*x 的值为 25,+*x 的值为 26。25.下面程序的输出

    22、结果是_。 main() char *p10=“abc“,“aabde“,“kdhjfh“,“hjeud“,“cd“ printf(“%d/n“,strlen(p4); (分数:2.00)填空项 1:_ (正确答案:2)解析:考点 指针数组元素的使用 解析 p4是“cd”的地址,输出的是“cd”的长度。三、B程序分析题/B(总题数:4,分数:16.00)26.#includestdio.h func(int a,int b) int c;c=a+b; return c; main() int x=6,r; r=func(x,x+=2); printf(“%d/n“,r); (分数:4.00)_

    23、正确答案:(16(注意:x+=2 后,x 的值改变了)解析:27.void f(int x,int y,int *px,int *py) *px=x*y; *px=x-y; main() int a=10,b=20; f(a,b, printf(“%d,%d/n“,a,b); (分数:4.00)_正确答案:(200,-10)解析:28.s(int a) static int b=10; if(a%2=1) retun(+b); else return(+a); void main() int i; for(i=0;i4;i+) printf(“%d/t“,s(i); printf(“/n“);

    24、 (分数:4.00)_正确答案:(1 11 3 13)解析:29.#includestring.h char *scmp(char *s1,char *s2) if(strcmp(s1,s2)0)return(s1); else return(s2); main() int i;char string20,str320; for(i=0;i3;i+)gets(stri); strcpy(string,scmp(str0,str1); strcpy(string,scmp(string,str2); printf(“%s/n“,string); 依次输入: ABCD ABBA ABC(分数:4.

    25、00)_正确答案:(ABBA)解析:四、B程序填充题/B(总题数:3,分数:18.00)30.以下程序通过函数指针 p调用函数 fun( )。 void fun(int *x,int *y) main() int a=10,b=20; _; /*第一空*/ p=fun;p( (分数:6.00)填空项 1:_ (正确答案:void(*p)())解析:31.SumColumMin( )的功能是:求出 M行 N列二维数组每列元素中的最小值,并计算它们的和值。和值通过形参传回主函数输出。 #includestdio.h #define M 2 #define N 4 void SumColumMin(

    26、_,int*sum)/*第一空*/ int i,j,s=0 for(i=0;i N;i+) k=0; for(j=1;jM;j+) if(_)k=j;/*第二空*/ s+=aki; _;/*第三空*/ main() int xMN=3,2,6,1,4,1,8,3,s; SumColumMin(x, printf(“%d/n“,s); (分数:6.00)填空项 1:_ (正确答案:int aMN akiaji *sum=s)解析:32.下列函数 f2( )的功能是对 pa、pb、pc 指向的 3个实数排序,保证*pa*pb*pc。 该函数调用了函数 f1( )。 void f1(int *x,i

    27、nt *y) int t; _;*y=t; /*第一空*/ viod f2(int *pa,int *pb,int *pc) if(_)f1(pa,pb); /*第二空*/ if(*pa*pc) f1(pa,pc); if(*pb*pc) f1(_);/*第三空*/ (分数:6.00)填空项 1:_ (正确答案:t=*x;*x=*y; *pa*pb pb,pc)解析:五、B程序设计题/B(总题数:2,分数:16.00)33.自行输入一个二维数组 int a44,输出其 4个边的元素。(分数:8.00)_正确答案:(#incudestdio.h main() int a44; int i,j;

    28、for(i=0;i4;i+) for(j=0;i4;j+) scanf(“%d“, for(i=0;i4;i+) for(j=0;j4;j+) if(i=0)|(i=3)printf(“%d“,aij);/*如果是第一行或第四行则输出该元素*/ else if(j=0)|(j=3)printf(“%d“,aij);/*如果是第一列或第四列则输出该元素*/ )解析:34.通过调用函数,实现如下功能:在形参 s所指字符串中的每个数字字符之后插入一个*号。例如,形参s所指的字符串为 def35adh3kjs7,执行结果为 def3*5*adh3*kjs7*。(分数:8.00)_正确答案:(#includestdio.h void fun(char*s) int i,j,n; for(i=0;si!=/0;i+) if(si0 while(si+1+n!=0) n+;/*算出遇到的数字后面还有几个字符,为把指针向后移做准备*/ for(j=i+n+1;ji;j-)sj+1=sj;/*遇到的数字之后的字符都向后移动一位*/ sj+1=*;/*j+1 把指针移到遇到数字的后一位并赋值*/ i=i+1; main() char s60; gets(s); fun(s); printf(“结果是:%s/n“,s); )解析:


    注意事项

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




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

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

    收起
    展开