ImageVerifierCode 换一换
格式:DOC , 页数:15 ,大小:53.50KB ,
资源ID:1380193      下载积分:5000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-1380193.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

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

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

1、高级语言程序设计自考题-14 及答案解析(总分:100.00,做题时间:90 分钟)一、单项选择题(总题数:15,分数:30.00)1.若定义 int i,*p;使 p指向 i的赋值语句是( )Ap=&i; B*p=&i;C*p=i; Dp=*&i;(分数:2.00)A.B.C.D.2.以下程序输出的结果是( )main()int *k,*a,b=50;a=&b;k=&a;printf(“%d/n“,*k);A运行出错 B50Ca 的地址 Db 的地址(分数:2.00)A.B.C.D.3.一个源文件中定义的全局变量的作用域为( )A本文件的全部范围 B本程序的全部范围C本函数的全部范围 D从定

2、义该变量开始至本文件结束(分数:2.00)A.B.C.D.4.在 C语言中,下列说法不正确的是( )A调用函数时,只能把实参的值传送给形参B在函数中,最好使用全局外部变量C形式参数只是局限于所在函数D被说明为 static存储类型的内部变量是全局变量(分数:2.00)A.B.C.D.5.C语言中规定,程序中各函数之间( )A既允许直接递归调用也允许间接递归调用B不允许直接递归调用也不允许间接递归调用C允许直接递归调用不允许间接递归调用D不允许直接递归调用允许间接递归调用(分数:2.00)A.B.C.D.6.C语言源程序中常定义多个不同的函数,函数之间不能通过( )传递数据。A虚实结合 B返回值

3、C同名的全局变量 D同名的局部变量(分数:2.00)A.B.C.D.7.函数调用语句 func(exp1,exp2),(exp3,exp4,exp5);中,实参的个数为( )A0 B3C2 D5(分数:2.00)A.B.C.D.8.下面程序的输出是( )void prtv(int *x)printf(“%d/n“,+ *x);main()int a=36;prtv(&a);A35 B36C37 D38(分数:2.00)A.B.C.D.9.关于指针运算符“*”的说法错误的是( )A是单目前缀运算符B运算对象只能是指针变量C运算结果是运算对象对应的变量或数组元素等D运算结合性是自右向左(分数:2.

4、00)A.B.C.D.10.设 int m5,*p=m;,与元素 m2等价的是( )Am+2 B*m+2C*(p+2) D*p+2(分数:2.00)A.B.C.D.11.阅读程序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);该程序有两个 printf语句,如果第一个 printf语句输出的是 194,则第二个 printf语句的输出结果是( )A203 B204C1a4 D1a6(分数:2.00)A.B.C.D.12.设有数据定义语句“int i,j=7,*p=&i;”则与“i=j;”等

5、价的是( )Ai=*p; B*p=*&j;Ci=&j; Di=&p;(分数:2.00)A.B.C.D.13.设有定义语句“int x=6,*p=&x;”,则值不为 6的表达式是( )Ax B*pCp+0 D*&x(分数:2.00)A.B.C.D.14.对于 C语言中的函数,正确的叙述是( )A两个函数可以相互调用,但不能自己调用自己B程序执行可以始于任何一个函数,但结束必须在主函数C两个函数既可以定义成并列关系又可以定义成嵌套关系D一个 C程序可以由多个文件组成,一个文件又可以由多个函数组成(分数:2.00)A.B.C.D.15.定义函数时,省略函数的数据类型符,则默认的数据类型是( )Avo

6、id BcharCint Dfloat(分数:2.00)A.B.C.D.二、填空题(总题数:10,分数:20.00)16.“&”称为 1 运算符。(分数:2.00)填空项 1:_17.设有 char *a=“ABCD“,则 printf(“%c“,*a)的输出是 1。(分数:2.00)填空项 1:_18.函数间传递数据有四种方式:值传递、地址传递、 1 和全局变量传递。(分数:2.00)填空项 1:_19.值传递方式和地址传递方式都是在形参和实参之间传递数据,其区别在于值传递方式所传递的是 1。(分数:2.00)填空项 1:_20.当一个变量占用连续的若干个字节时, 1 的地址就是变量的地址。

7、(分数:2.00)填空项 1:_21.C语言中规定,在程序中表示一维数组首地址的表达式可以写成 1,还可写成数组名。(分数:2.00)填空项 1:_22.若函数要求返回一个值,则应在函数体中有一条 1 语句。(分数:2.00)填空项 1:_23.C程序中允许定义的寄存器变量一般以 1 个左右为宜。(分数:2.00)填空项 1:_24.表达式“tolower(B)”的值是 1。(分数:2.00)填空项 1:_25.执行下列程序后,*p 等于_。int a5=1,3,5,7,9,*p;p=a;p+;(分数:2.00)填空项 1:_三、程序分析题(总题数:4,分数:16.00)26.void mai

8、n()int i,a5,*p;for(i=4;i=0;i-):*(a+i)=i;for(p=a;pa+5;p+)printf(“%d/t“,*p);printf(“/n“);(分数:4.00)_27.void fot(int *p1,int *p2)printf(“%d,%d/n“,*(p1+),+*p2);int x=371,y=269;main()fot(&x,&y);fot(&x,&y);(分数:4.00)_28.main()int i,a5,*P=&a3;for(i=0;i5;i+) scanf(“%d,“,&ai); /输入 2,3,4,5,6 回车for(;P=a;P-) prin

9、tf(“%d/n“,*P);(分数:4.00)_29.main()int x36=1,2,3,4,5,6,7,8,9,(*P)6=x,s=0,k;for(k=0;k6;k+)s=s+*(*(p+1)+k);printf(“%d/n“,s);(分数:4.00)_四、程序填充题(总题数:3,分数:18.00)30.以下程序的功能是从键盘上输入若干个字符(以回车键作为结束)组成一个字符串存入一个字符数组,然后输出该字符数组中的字符串。main()char str51,*sptr;int i;for(i=0;i50;i+)stri=getchar();if(str j=/n)_;stri:_;sptr

10、=str;while(*sptr)putchar(*sptr_);(分数:6.00)填空项 1:_31.以下 Check函数的功能是将 value中的值四舍五入成整数,若计算后的值与 num的值相等,则显示“OK”,否则显示计算后的值。void Check(int num,float value)int val;val=_;printf(“计算后的值:%d“,val);if(_) printf(“/nOK/n“);_printf(“/nSorry,the correct answer is %d/n“,val);(分数:6.00)填空项 1:_32.以下程序的功能是将无符号八进制数字构成的字符

11、串转换为十进制整数。#include stringhmain()char s6,*p_;int n;gets(p);n=*p-_;while(_p!=/0)n=n*8+*p-0:printf(“%d/n“,n);(分数:6.00)填空项 1:_五、程序设计题(总题数:2,分数:16.00)33.编写程序,要求输入两个数,比较大小,输出大数和小数(用指针实现)。(分数:8.00)_34.在主函数中输入不同大小的实型数组,计算数组中元素的平均值。(分数:8.00)_高级语言程序设计自考题-14 答案解析(总分:100.00,做题时间:90 分钟)一、单项选择题(总题数:15,分数:30.00)1.

12、若定义 int i,*p;使 p指向 i的赋值语句是( )Ap=&i; B*p=&i;C*p=i; Dp=*&i;(分数:2.00)A. B.C.D.解析:解析 本题主要考查的知识点为指针变量的赋值。要点透析 i 是一个整型变量,p 是一个指针变量,p 中存放的只能是 i在内存中的地址值。2.以下程序输出的结果是( )main()int *k,*a,b=50;a=&b;k=&a;printf(“%d/n“,*k);A运行出错 B50Ca 的地址 Db 的地址(分数:2.00)A.B. C.D.解析:解析 本题主要考查的知识点为指针变量的赋值。要点透析 k 为指向指针的变量,k 指向指针变量 a

13、,a 指向变量 b。最后输出*k 的值等价于*a,等价于b,所以输出 50。3.一个源文件中定义的全局变量的作用域为( )A本文件的全部范围 B本程序的全部范围C本函数的全部范围 D从定义该变量开始至本文件结束(分数:2.00)A.B.C.D. 解析:解析 本题主要考查的知识点为全局变量的作用域。要点透析 全局变量的作用域是从定义点到整个程序结束,既从定义该变量时开始到该程序结束,全局变量都产生作用。4.在 C语言中,下列说法不正确的是( )A调用函数时,只能把实参的值传送给形参B在函数中,最好使用全局外部变量C形式参数只是局限于所在函数D被说明为 static存储类型的内部变量是全局变量(分

14、数:2.00)A.B. C.D.解析:解析 本题主要考查的知识点为全局外部变量。要点透析 全局外部变量破坏了模块的独立性,过多使用全局外部变量,会使程序很容易误用变量,出现混乱。5.C语言中规定,程序中各函数之间( )A既允许直接递归调用也允许间接递归调用B不允许直接递归调用也不允许间接递归调用C允许直接递归调用不允许间接递归调用D不允许直接递归调用允许间接递归调用(分数:2.00)A. B.C.D.解析:6.C语言源程序中常定义多个不同的函数,函数之间不能通过( )传递数据。A虚实结合 B返回值C同名的全局变量 D同名的局部变量(分数:2.00)A.B.C.D. 解析:7.函数调用语句 fu

15、nc(exp1,exp2),(exp3,exp4,exp5);中,实参的个数为( )A0 B3C2 D5(分数:2.00)A.B.C. D.解析:解析 本题主要考查的知识点为函数的参数。要点透析 此函数的实参只有两个,即两个逗号表达式(exp1,exp2)和(exp3,exp4,exp5)。8.下面程序的输出是( )void prtv(int *x)printf(“%d/n“,+ *x);main()int a=36;prtv(&a);A35 B36C37 D38(分数:2.00)A.B.C. D.解析:解析 本题主要考查的知识点为指针变量作为形参时的函数调用。要点透析 题中将变量 a的地址值

16、作为参数传给形参 int*x,+*x 即+a,故输出为 37。9.关于指针运算符“*”的说法错误的是( )A是单目前缀运算符B运算对象只能是指针变量C运算结果是运算对象对应的变量或数组元素等D运算结合性是自右向左(分数:2.00)A.B. C.D.解析:10.设 int m5,*p=m;,与元素 m2等价的是( )Am+2 B*m+2C*(p+2) D*p+2(分数:2.00)A.B.C. D.解析:解析 考查知识点为指针变量与一维数组的等价关系要点透析 当指针变量指向一维数组后,对下标为 i的数组元素引用一共有下列四种方法:*(指针变量+i)、*(数组名+i)、指针变量i、数组名i。11.阅

17、读程序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);该程序有两个 printf语句,如果第一个 printf语句输出的是 194,则第二个 printf语句的输出结果是( )A203 B204C1a4 D1a6(分数:2.00)A.B.C.D. 解析:解析 本题主要考查的知识点为指针变量与一维数组的等价关系及地址值的计算。要点透析 输出 p为十六进制地址值,由于 p为 int型,所以 p+9相当于 p所对应的地址值加 18,也就是十六进制数 12,194 加 12为 1a6。12.设有数

18、据定义语句“int i,j=7,*p=&i;”则与“i=j;”等价的是( )Ai=*p; B*p=*&j;Ci=&j; Di=&p;(分数:2.00)A.B. C.D.解析:13.设有定义语句“int x=6,*p=&x;”,则值不为 6的表达式是( )Ax B*pCp+0 D*&x(分数:2.00)A.B.C. D.解析:解析 本题主要考查的知识点为指针变量。要点透析 p+0 就是 p,p 是 x的地址,不是表达式。14.对于 C语言中的函数,正确的叙述是( )A两个函数可以相互调用,但不能自己调用自己B程序执行可以始于任何一个函数,但结束必须在主函数C两个函数既可以定义成并列关系又可以定义

19、成嵌套关系D一个 C程序可以由多个文件组成,一个文件又可以由多个函数组成(分数:2.00)A.B.C.D. 解析:15.定义函数时,省略函数的数据类型符,则默认的数据类型是( )Avoid BcharCint Dfloat(分数:2.00)A.B.C. D.解析:解析 本题主要考查的知识点为函数的默认数据类型。要点透析 数据类型符确定了函数返回值的数据类型,如果没有返回值,必须用 void,省略数据类型符时,默认为 int。二、填空题(总题数:10,分数:20.00)16.“&”称为 1 运算符。(分数:2.00)填空项 1:_ (正确答案:取地址)解析:17.设有 char *a=“ABCD

20、“,则 printf(“%c“,*a)的输出是 1。(分数:2.00)填空项 1:_ (正确答案:A)解析:18.函数间传递数据有四种方式:值传递、地址传递、 1 和全局变量传递。(分数:2.00)填空项 1:_ (正确答案:返回值)解析:19.值传递方式和地址传递方式都是在形参和实参之间传递数据,其区别在于值传递方式所传递的是 1。(分数:2.00)填空项 1:_ (正确答案:参数值)解析:20.当一个变量占用连续的若干个字节时, 1 的地址就是变量的地址。(分数:2.00)填空项 1:_ (正确答案:第一个字节)解析:21.C语言中规定,在程序中表示一维数组首地址的表达式可以写成 1,还可

21、写成数组名。(分数:2.00)填空项 1:_ (正确答案:&数组名0)解析:22.若函数要求返回一个值,则应在函数体中有一条 1 语句。(分数:2.00)填空项 1:_ (正确答案:return(表达式))解析:23.C程序中允许定义的寄存器变量一般以 1 个左右为宜。(分数:2.00)填空项 1:_ (正确答案:2)解析:24.表达式“tolower(B)”的值是 1。(分数:2.00)填空项 1:_ (正确答案:b)解析:25.执行下列程序后,*p 等于_。int a5=1,3,5,7,9,*p;p=a;p+;(分数:2.00)填空项 1:_ (正确答案:3)解析:三、程序分析题(总题数:

22、4,分数:16.00)26.void main()int i,a5,*p;for(i=4;i=0;i-):*(a+i)=i;for(p=a;pa+5;p+)printf(“%d/t“,*p);printf(“/n“);(分数:4.00)_正确答案:(0 1 2 3 4)解析:27.void fot(int *p1,int *p2)printf(“%d,%d/n“,*(p1+),+*p2);int x=371,y=269;main()fot(&x,&y);fot(&x,&y);(分数:4.00)_正确答案:(371,270371,271)解析:28.main()int i,a5,*P=&a3;f

23、or(i=0;i5;i+) scanf(“%d,“,&ai); /输入 2,3,4,5,6 回车for(;P=a;P-) printf(“%d/n“,*P);(分数:4.00)_正确答案:(5432)解析:29.main()int x36=1,2,3,4,5,6,7,8,9,(*P)6=x,s=0,k;for(k=0;k6;k+)s=s+*(*(p+1)+k);printf(“%d/n“,s);(分数:4.00)_正确答案:(15)解析:四、程序填充题(总题数:3,分数:18.00)30.以下程序的功能是从键盘上输入若干个字符(以回车键作为结束)组成一个字符串存入一个字符数组,然后输出该字符数

24、组中的字符串。main()char str51,*sptr;int i;for(i=0;i50;i+)stri=getchar();if(str j=/n)_;stri:_;sptr=str;while(*sptr)putchar(*sptr_);(分数:6.00)填空项 1:_ (正确答案:break/0+)解析:31.以下 Check函数的功能是将 value中的值四舍五入成整数,若计算后的值与 num的值相等,则显示“OK”,否则显示计算后的值。void Check(int num,float value)int val;val=_;printf(“计算后的值:%d“,val);if(_

25、) printf(“/nOK/n“);_printf(“/nSorry,the correct answer is %d/n“,val);(分数:6.00)填空项 1:_ (正确答案:(int)(value*10+5)/10)num=valelse)解析:32.以下程序的功能是将无符号八进制数字构成的字符串转换为十进制整数。#include stringhmain()char s6,*p_;int n;gets(p);n=*p-_;while(_p!=/0)n=n*8+*p-0:printf(“%d/n“,n);(分数:6.00)填空项 1:_ (正确答案:=s0*+)解析:五、程序设计题(总

26、题数:2,分数:16.00)33.编写程序,要求输入两个数,比较大小,输出大数和小数(用指针实现)。(分数:8.00)_正确答案:(main() int a,b,*p1,*p2,*p;scanf(“%d,%d“,&a,&h);p1=&a;p2=&b;if(ab)p=p1;p1=p2;p2=p;printf(“max=%d,min=%d/n“,*p1,*p2);)解析:34.在主函数中输入不同大小的实型数组,计算数组中元素的平均值。(分数:8.00)_正确答案:(float average(float array,int n) in i;float sum=0,av:for(i=0;in;i+)

27、sum=sum+arrayi;av=sum/n;return av;Main() int i;float score16,score210,ave;printf(“please input 6 scores for score1:“);for(i=0;i6;i+)scanf(“%f“,&score1i);ave=average(score1,6);printf(“average score is%5.2f/n“,ave);printf(“please input 10 scores for score2:“);for(i=0;i10;i+)scanf(“%f“,&score2i);ave=average(score2,10);printf(“average score is%5.2f/n“,ave);)解析:

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