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

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

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

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

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

    1、高级语言程序设计自考题-2 及答案解析(总分:100.00,做题时间:90 分钟)一、单项选择题(总题数:15,分数:30.00)1.设 int a=2,b=6,c=8;,表达式(a,b ),(c,10)的值是( )A2 B6C8 D10(分数:2.00)A.B.C.D.2.以下程序的运行结果是( ) #includestdioh main() int a=1,2,3,4,5,6,7,8,9,10,11,12; int *p=a5,*q=NULL; printf(“%d%d/n“,*p,*q); A运行后报错 B6 0 C6 12 D5 5(分数:2.00)A.B.C.D.3.以下属于 C语言

    2、保留字的是( ) Adefine Bput Cfclose Dextern(分数:2.00)A.B.C.D.4.下面程序的功能是输出以下形式的金字塔图案: * #includestdioh main() int i,j; for(i=1;i=4;i+) for(j=1;j=4-i;j+)printf(“); for(j=1;j=_;j+)printf(“*“); printf(“/n“); 在下划线处应填入的是( ) Ai B2*i-1 C2*i+1 Di+2(分数:2.00)A.B.C.D.5.下列属于 C语言保留字的是( )AInt BtypedefCENUM DUnion(分数:2.00

    3、)A.B.C.D.6.数组定义及初始化正确的是( )Achar a5=; Bint a5=0,1,2,3,4,5;Cchar a=“string“; Dchar a=0,1,2,3,4,5;(分数:2.00)A.B.C.D.7.若定义 int i,*p;使 p指向 i的赋值语句是( )Ap=&i; B*p=&i;C*p=i; Dp=*&i;(分数:2.00)A.B.C.D.8.执行以下程序段后,m 的值是( ) int a23=1,2,3,4,5,6); int m,*ptr; ptr=a00; m=(*ptr)*(*(ptr+2)*(*(ptr+4); A15 B24 C45 D不确定(分数

    4、:2.00)A.B.C.D.9.函数调用语句 func(exp1,exp2),(exp3,exp4,exp5);中,实参的个数为( )A0 B3C2 D5(分数:2.00)A.B.C.D.10.下列数据定义语句中正确的是( )Astruct int x;x1 Bstruct xxint x;Cstruct xxint x; Dstruct xxint xx1。(分数:2.00)A.B.C.D.11.包含用户类型符“FILE“的定义的头文件是( ) Astring.h Bfile.h Cstdio.h Dstdlib.h(分数:2.00)A.B.C.D.12.以下是对二维数组的正确说明的是( )

    5、 Aint3 Bfloat a(3,4) Cdouble a14 Dfloat a(3)(4)(分数:2.00)A.B.C.D.13.设 typedef double DB;,则与 DB u5;的等价形式是( ) Adouble db5; Bdouble DB5; Cdouble u; Ddouble u5;(分数:2.00)A.B.C.D.14.若 x=100;,则表达式 x+100? x+20:x+10 的值是( ) A110 B120 C130 D101(分数:2.00)A.B.C.D.15.有以下程序( ) #includestdioh main() unsigned char a,b

    6、; a=43; b=43; printf(“%d%d/n“,a,b ); 执行后输出结果是 A7 0 B0 7 C1 1 D43 0(分数:2.00)A.B.C.D.二、填空题(总题数:10,分数:20.00)16.设 int x=2,y=1;则表达式 x-y的值是 1。(分数:2.00)填空项 1:_17.设 float a64;则数组 a中第一维下标的最大值是 1。(分数:2.00)填空项 1:_18.如果形参是数组名,则传递方式称为“ 1“。(分数:2.00)填空项 1:_19.设 char string=“this_is_a_book!“;,则数组的长度应是 1。(分数:2.00)填空

    7、项 1:_20.设 int a,*p=&a;,通过指针变量 p为 a输入值的 scanf语句是 1。(分数:2.00)填空项 1:_21.设 int x=-9,y;,则执行 y=x=0? x:-x;后 y的值是 1。(分数:2.00)填空项 1:_22.语句 printf(“a/bre/hi/y/bou/n“);输出的结果是 1。(分数:2.00)填空项 1:_23.从计算机的角度来讲, 1 是计算机程序中解决问题的方法步骤。(分数:2.00)填空项 1:_24.设 int x=9;,执行语句 printf(“%d/n“,x2);后的结果是 1。(分数:2.00)填空项 1:_25.读字符串函

    8、数是 1。(分数:2.00)填空项 1:_三、程序分析题(总题数:4,分数:16.00)26.输入数据:2743回车。 #includestdioh main() int c; while(c=getchar()!=n) switch(c-2) case 0: case 1:putchar(c+4); case 2:putchar(c+4);break; case 3:putchar(c+3); case 4:putchar(c+2);break; printf(“/n“);(分数:4.00)_27.int f(int n)static int f=1;f=f*n;return f;main(

    9、)int i;for (i=1;i5;i+)printf(“%d,“,f(i);(分数:4.00)_28.struct stu int x;int *px;a4,*p=a;main()int i,y4=10,11,12,13;for(i=0;i4;i+)ai.x=i,ai.px=y+i;printf(“%d/n“,+P-x);printf(“%d/n“,(+p)-x);printf(“%d/n“,+(*p-px);(分数:4.00)_29.#includestdioh main() char b=“ABCDEFG“; char *chp=eb7; while(-chpb0) putchar(*

    10、chp); (分数:4.00)_四、程序填充题(总题数:3,分数:18.00)30.下面程序通过函数 average()计算数组中各元素的平均值。 float average(_,int n)/*第一空*/ int i; float avg=0.0; for(i=0;in;i+) avg=avg+_;/*第二空*/ avg=_;/*第三空*/ return avg; main() int i,a5=2,4,6,8,10); float mean; mean=average(a,5); printf(“%f/n“,mean); (分数:6.00)填空项 1:_31.下列给定程序中,函数 fun(

    11、)的功能是:读人一个字符串(长度20),将该字符串中的所有字符按ASC码降序排序后输出。 #includestdioh void fun(char t) char c; int i,j; for(i=0;_;i+)/*第一空*/ for(j=i+1;j=strlen(t);j+) if(_)/*第二空*/ c=tj; tj=ti; ti=c; main() char s81; printf(“Please enter a character string:/n“); gets(s); printf(“/n/nBefore sorting:/n%s“,s); _;/*第三空*/ printf(“

    12、/nAfter sorting decreasingly:/n%s/n“,s); (分数:6.00)填空项 1:_32.下面程序输出两个字符串对应位置相等的字符。main()char a=“students“,b=“study“;int i=0;while(ai!=/0&_)if(ai=bi)printf(“%c“,_);else_;(分数:6.00)填空项 1:_五、程序设计题(总题数:2,分数:16.00)33.在同一程序中,用三种循环语句分别显示 19 的平方值。(分数:8.00)_34.(1) 编写一个计算梯形面积的函数。函数头是:float area(float t,float b,

    13、float h)其中变量t、b 和 h分别表示梯形的上底、下底和高。 (2) 编写主函数从键盘输入梯形的上底、下底和高的值,调用上述函数输出梯形面积(保留小数点后两位)。(分数:8.00)_高级语言程序设计自考题-2 答案解析(总分:100.00,做题时间:90 分钟)一、单项选择题(总题数:15,分数:30.00)1.设 int a=2,b=6,c=8;,表达式(a,b ),(c,10)的值是( )A2 B6C8 D10(分数:2.00)A.B.C.D. 解析:解析 逗号的同级结合性为自左向右,逗号表达式的值为最后一个表达式的值。(a,b )的值为6,(c,10)的值为 10,故整个表达式的

    14、值为 10。2.以下程序的运行结果是( ) #includestdioh main() int a=1,2,3,4,5,6,7,8,9,10,11,12; int *p=a5,*q=NULL; printf(“%d%d/n“,*p,*q); A运行后报错 B6 0 C6 12 D5 5(分数:2.00)A. B.C.D.解析:解析 #includestdioh main() int a=1,2,3,4,5,6,7,8,9,10,11,12; int*p=a5,*q=NULL; printf(“%d%d/n“,*P,*q);/*被置空的指针不能参与“*“运算*/ 3.以下属于 C语言保留字的是(

    15、 ) Adefine Bput Cfclose Dextern(分数:2.00)A.B.C.D. 解析:4.下面程序的功能是输出以下形式的金字塔图案: * #includestdioh main() int i,j; for(i=1;i=4;i+) for(j=1;j=4-i;j+)printf(“); for(j=1;j=_;j+)printf(“*“); printf(“/n“); 在下划线处应填入的是( ) Ai B2*i-1 C2*i+1 Di+2(分数:2.00)A.B. C.D.解析:解析 应填入控制打印“*“的个数,其个数与行数 i的关系是 2*i-1的关系。5.下列属于 C语言

    16、保留字的是( )AInt BtypedefCENUM DUnion(分数:2.00)A.B. C.D.解析:解析 本题主要考查的知识点为 C语言的保留字。要点透析 C 语言的保留字都是以小写字母组成的。6.数组定义及初始化正确的是( )Achar a5=; Bint a5=0,1,2,3,4,5;Cchar a=“string“; Dchar a=0,1,2,3,4,5;(分数:2.00)A.B.C.D. 解析:7.若定义 int i,*p;使 p指向 i的赋值语句是( )Ap=&i; B*p=&i;C*p=i; Dp=*&i;(分数:2.00)A. B.C.D.解析:解析 本题主要考查的知识

    17、点为指针变量的赋值。要点透析 i 是一个整型变量,p 是一个指针变量,p 中存放的只能是 i在内存中的地址值。8.执行以下程序段后,m 的值是( ) int a23=1,2,3,4,5,6); int m,*ptr; ptr=a00; m=(*ptr)*(*(ptr+2)*(*(ptr+4); A15 B24 C45 D不确定(分数:2.00)A. B.C.D.解析:解析 “*ptr“、“*(ptr+2)“和“*(ptr+4)“的值分别是 1、3 和 5,故答案选 A。9.函数调用语句 func(exp1,exp2),(exp3,exp4,exp5);中,实参的个数为( )A0 B3C2 D5

    18、(分数:2.00)A.B.C. D.解析:解析 本题主要考查的知识点为函数的参数。要点透析 此函数的实参只有两个,即两个逗号表达式(exp1,exp2)和(exp3,exp4,exp5)。10.下列数据定义语句中正确的是( )Astruct int x;x1 Bstruct xxint x;Cstruct xxint x; Dstruct xxint xx1。(分数:2.00)A.B. C.D.解析:11.包含用户类型符“FILE“的定义的头文件是( ) Astring.h Bfile.h Cstdio.h Dstdlib.h(分数:2.00)A.B.C. D.解析:12.以下是对二维数组的正

    19、确说明的是( ) Aint3 Bfloat a(3,4) Cdouble a14 Dfloat a(3)(4)(分数:2.00)A.B.C. D.解析:13.设 typedef double DB;,则与 DB u5;的等价形式是( ) Adouble db5; Bdouble DB5; Cdouble u; Ddouble u5;(分数:2.00)A.B.C.D. 解析:14.若 x=100;,则表达式 x+100? x+20:x+10 的值是( ) A110 B120 C130 D101(分数:2.00)A.B.C.D. 解析:15.有以下程序( ) #includestdioh main

    20、() unsigned char a,b; a=43; b=43; printf(“%d%d/n“,a,b ); 执行后输出结果是 A7 0 B0 7 C1 1 D43 0(分数:2.00)A. B.C.D.解析:二、填空题(总题数:10,分数:20.00)16.设 int x=2,y=1;则表达式 x-y的值是 1。(分数:2.00)填空项 1:_ (正确答案:1)解析:17.设 float a64;则数组 a中第一维下标的最大值是 1。(分数:2.00)填空项 1:_ (正确答案:5)解析:18.如果形参是数组名,则传递方式称为“ 1“。(分数:2.00)填空项 1:_ (正确答案:地址传

    21、递方式)解析:19.设 char string=“this_is_a_book!“;,则数组的长度应是 1。(分数:2.00)填空项 1:_ (正确答案:16)解析:20.设 int a,*p=&a;,通过指针变量 p为 a输入值的 scanf语句是 1。(分数:2.00)填空项 1:_ (正确答案:scanf(“%d“,P);)解析:21.设 int x=-9,y;,则执行 y=x=0? x:-x;后 y的值是 1。(分数:2.00)填空项 1:_ (正确答案:9)解析:22.语句 printf(“a/bre/hi/y/bou/n“);输出的结果是 1。(分数:2.00)填空项 1:_ (正

    22、确答案:rehiyou)解析:23.从计算机的角度来讲, 1 是计算机程序中解决问题的方法步骤。(分数:2.00)填空项 1:_ (正确答案:算法)解析:24.设 int x=9;,执行语句 printf(“%d/n“,x2);后的结果是 1。(分数:2.00)填空项 1:_ (正确答案:36)解析:25.读字符串函数是 1。(分数:2.00)填空项 1:_ (正确答案:fgets-|_|-)解析:三、程序分析题(总题数:4,分数:16.00)26.输入数据:2743回车。 #includestdioh main() int c; while(c=getchar()!=n) switch(c-

    23、2) case 0: case 1:putchar(c+4); case 2:putchar(c+4);break; case 3:putchar(c+3); case 4:putchar(c+2);break; printf(“/n“);(分数:4.00)_正确答案:(66877)解析:解析 #includestdioh main() int c; while(c=getchar()!=/n/*从键盘获得字符*/switch(c-2)/*开始进行分支选择*/ case 0: case 1:putchar(c+4);/*如果此行语句被执行,则其下面的一行语句将被无条件执行。*/ case 2:

    24、putchar(c+4);break;/*如果此行语句被执行,则仅执行这一行。*/ case 3:putchar(c+3);/*同 casel*/ case 4:putchar(c+2);break;/*同 case3*/ printf(“/n“);27.int f(int n)static int f=1;f=f*n;return f;main()int i;for (i=1;i5;i+)printf(“%d,“,f(i);(分数:4.00)_正确答案:(1,2,6,24,)解析:28.struct stu int x;int *px;a4,*p=a;main()int i,y4=10,11

    25、,12,13;for(i=0;i4;i+)ai.x=i,ai.px=y+i;printf(“%d/n“,+P-x);printf(“%d/n“,(+p)-x);printf(“%d/n“,+(*p-px);(分数:4.00)_正确答案:(1112)解析:29.#includestdioh main() char b=“ABCDEFG“; char *chp=eb7; while(-chpb0) putchar(*chp); (分数:4.00)_正确答案:(GFEDCB)解析:解析 #includestdioh main() char b=“ABCDEFG“; char*chp=b7;/*指针变

    26、量 chp获得数组元素 b7的值*/ while(-chpb0)/*逆序输出*/ putchar(*chp); 四、程序填充题(总题数:3,分数:18.00)30.下面程序通过函数 average()计算数组中各元素的平均值。 float average(_,int n)/*第一空*/ int i; float avg=0.0; for(i=0;in;i+) avg=avg+_;/*第二空*/ avg=_;/*第三空*/ return avg; main() int i,a5=2,4,6,8,10); float mean; mean=average(a,5); printf(“%f/n“,m

    27、ean); (分数:6.00)填空项 1:_ (正确答案:int *pa/*第一空。定义形参变量,main()函数调用average()函数的笫一个实参变量是指针变量,故此处应定义一个指针变量*/ pai /*第二空。将数组各个元素加;因函数调用采用地址传递参数的方式,故可以这样引用 */ avg/n/*第三空。求平均值*/)解析:31.下列给定程序中,函数 fun()的功能是:读人一个字符串(长度20),将该字符串中的所有字符按ASC码降序排序后输出。 #includestdioh void fun(char t) char c; int i,j; for(i=0;_;i+)/*第一空*/

    28、for(j=i+1;j=strlen(t);j+) if(_)/*第二空*/ c=tj; tj=ti; ti=c; main() char s81; printf(“Please enter a character string:/n“); gets(s); printf(“/n/nBefore sorting:/n%s“,s); _;/*第三空*/ printf(“/nAfter sorting decreasingly:/n%s/n“,s); (分数:6.00)填空项 1:_ (正确答案:i=strlen(t)/*第一空。设定循环上限,以减少不必要的比较束提高程序效率*/ titj/*第二

    29、空。如果 ti内所包含的字符变量的 ASC值小于 tj内所包含的字符变量的 ASC,则执行后面语句以交换其位置。*/ fun(s)/*第三空。对函数 fun(s)进行调用进行排序,参数传递方式采用地址传递方式。*/)解析:32.下面程序输出两个字符串对应位置相等的字符。main()char a=“students“,b=“study“;int i=0;while(ai!=/0&_)if(ai=bi)printf(“%c“,_);else_;(分数:6.00)填空项 1:_ (正确答案:bi!=/0ai+i+)解析:五、程序设计题(总题数:2,分数:16.00)33.在同一程序中,用三种循环语句

    30、分别显示 19 的平方值。(分数:8.00)_正确答案:(#include stdio.hmain() int i;for(i=1;i=9;i+)printf(“%d,“,i*i);printf(“/n“);i=1;while(i=9)printf(“%d,“,i*i);i+;printf(“in“);i=1;doprintf(“%d,“,i*i);i+;while(i=9);)解析:34.(1) 编写一个计算梯形面积的函数。函数头是:float area(float t,float b,float h)其中变量t、b 和 h分别表示梯形的上底、下底和高。 (2) 编写主函数从键盘输入梯形的上底、下底和高的值,调用上述函数输出梯形面积(保留小数点后两位)。(分数:8.00)_正确答案:(#includestdio.b float area(float t,float b,float h) return(t+b )*h*0.5; main0 float t1,b1,h1; scanf(“%f%f%f“,&t1,&b1,&h1); printf(“area=%7.2f/n“,area(t1,b1,h1); )解析:


    注意事项

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




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

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

    收起
    展开