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

    【学历类职业资格】高级语言程序设计真题2005年下半年及答案解析.doc

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

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

    【学历类职业资格】高级语言程序设计真题2005年下半年及答案解析.doc

    1、高级语言程序设计真题 2005 年下半年及答案解析(总分:100.00,做题时间:90 分钟)一、B单项选择题/B(总题数:20,分数:20.00)1.下列不属于 C 语言保留字的是( )(分数:1.00)A.charB.whileC.typedefD.look2.下列关于 C 语言的叙述错误的是( )(分数:1.00)A.英文字母大小写不加以区分B.不同类型的变量可以出现在同一个表达式中C.在赋值表达式中赋值号两边的类型可以不同D.某些运算符在不同的场合可以有不同的含义3.下列转义字符中错误的是( )(分数:1.00)A./000B./14C./x111D./24.执行语句 printf(“

    2、%x“,-1);后输出结果是( )(分数:1.00)A.-1B.-ffffC.1D.ffff5.设 float a=2,b=4,c=3;,以下 C 语言表达式与代数式计算结果不一致的是( )(分数:1.00)A.(a+*c/2B.(1/2)*(a+*cC.(a+*c*1/2D.c/2*(a+6.设 int a=10,b=20,c=30;条件表达式 ab? a=5:c 的值是( )(分数:1.00)A.5B.10C.20D.307.设 inta=9,b=6,c;,执行语句 c=a/b+0.8;后 c 的值是( )(分数:1.00)A.1B.1.8C.2D.2.38.执行语 for(i=1;i+4

    3、;);后 i 的值是( )(分数:1.00)A.3B.4C.5D.不确定9.在位运算中,操作数左移一位,其结果相当于操作数( )(分数:1.00)A.乘以 2B.除以 2C.乘以 4D.除以 410.使用语句 scanf(“a=%f,b=%f“,a,b);输入变量 a、b 的值(口代表空格),正确的是( )(分数:1.00)A.125,2.4B.1.25 口 2.4C.a=1.25,b= 2.4D.a=1.25 口 b=2.411.下列说法中错误的是( )(分数:1.00)A.C 语言中循环嵌套的层数没有限定B.C 语言中的内部函数只能在本文件中被调用C.用 typedef 语句定义的数据类型

    4、名称必须是大写字母D.C 语言中的 continue 语句,可以通过改变程序的结构而省略12.设 char s10,*p=s;,下列语句中错误的是( )(分数:1.00)A.p=s+5;B.s=p+s;C.s2=p4;D.*p=s0;13.设 enum weeksun,mon,tue,wed,thu,fri,satday;,正确的赋值语句是( )(分数:1.00)A.sun=0;B.sun=day;C.mon=sun+1;D.day=sun;14.若用数组名作为函数调用时的实参,则实际上传递给形参的是( )(分数:1.00)A.数组的第一个元素值B.数组元素的个数C.数组中全部元素的值D.数组

    5、首地址15.下列错误的是( )(分数:1.00)A.char s=“China“;B.char s10=“China“;C.char s10;s=“China“;D.char s10=c,h,i,n,a;16.在 C 语言中,有值函数的数据类型是指( )(分数:1.00)A.函数形式参数的数据类型B.函数返回值的数据类型C.调用该函数时的实参的数据类型D.任意指定的数据类型17.设 struct short a; char b; float c; cs; 则 sizeof(cs)的值是( )(分数:1.00)A.4B.5C.6D.718.设 intx=1,2,3,4,5,6,7,8,9,0),

    6、*p=x,k; 且 0k10,则对数组元素 xk的错误引用是( )(分数:1.00)A.p+kB.*(x+C.xp-x+kD.*(19.设 #define N 3 #define Y(n)(N+1)*n) 则表达式 2*(N+Y(54+1)的值是( )(分数:1.00)A.42B.48C.54D.出错20.关于主函数的形式参数,下列说法正确的是( )(分数:1.00)A.可以有两个B.类型可以是实型C.不可以由用户自己定义名字D.是在程序编译时获得实际值二、B填空题/B(总题数:10,分数:20.00)21.可以将被调函数中获得的值返回给主调函数的语句是 1。(分数:2.00)填空项 1:_2

    7、2.设 int x=2,y=1;则表达式 x+y 的值是 1。(分数:2.00)填空项 1:_23.若未指定局部变量的存储类型,则其隐含的存储类型是 1。(分数:2.00)填空项 1:_24.在执行循环结构或 switch 结构时,能够立即退出该结构的语句是 1。(分数:2.00)填空项 1:_25.设 int a=-3,b=7,c=-1;则执行(a=0)(a=a%bb/c);后变量 a 的值是 1。(分数:2.00)填空项 1:_26.设 int a,b,c;则执行 a=(b=3,c=5,b=10);后变量 a 的值是 1。(分数:2.00)填空项 1:_27.设 int a=100,*p1

    8、=a,*p2=p1;,则表达式*p2 的值是 1。(分数:2.00)填空项 1:_28.静态型外部变量的作用域是 1。(分数:2.00)填空项 1:_29.设 int a23=1,2,3,4,5,6; 则数组元素 a10的值是_。(分数:2.00)填空项 1:_30.函数调用时,若形参是一个变量,而对应的实参是一个有确定值的表达式,则函数参数的传递方式是 1 传递。(分数:2.00)填空项 1:_三、B程序分析题/B(总题数:5,分数:25.00)31.mian() int i; for(i=1;i3;i+)f(i); f(int j) static int a=100; int k=1; +

    9、k; printf(“%d/n“,j+a+k); a-=2; (分数:5.00)_32.#includestdioh long fun(int n) long s; if(n=2)s=2; else s=n+fun(n-1); printf(“%d/t“,s); return s; main() fun(5); printf(“/n“); (分数:5.00)_33.struct porb char*name; int age; s=“LiHua“,18,“WangXin“,25,“LiuGuo“,21; #define N(sizeof(s)/sizeof(s0) void f(struct

    10、porb a,int n); main() f(s,N); void f(struct porb a,int n) int i; for(i=0;in;i+) printf(“%s:d/n“,ainame,aiage); (分数:5.00)_34.void LE(int*a,int b) int x=*a: printf(“%d/t%d/n“,*a,b); *a=b;b=x; main() int x=10,y=25; LE(x,y); printf(“%d/t%d/n“,x,y); (分数:5.00)_35./*设从键盘输入:420回车*/ #includestdioh main() cha

    11、r c; while(c=getchar()!=/n) switch(C-0) case 0: case 1:putchar(c+2); case 2:putchar(c+3);break; case 3:putchar(c+4); default:putchar(c+1);break; printf(“/n“); (分数:5.00)_四、B程序填充题/B(总题数:3,分数:18.00)36.一个三位整数(100999),若各位数的立方和等于该数自身,则称其为“水仙花数“(如:153=13+5 3+33),找出所有的这种数。 main() int n,a,b,c;/*n、a、b 和 C 分别为

    12、三位数自身及其个位、十位和百位*/ for(c=1;c=9;c+) for(b=0;b=9;b+) for(_;a+)/*第一空*/ n=_;/*第二空*/ if(a*a*a+b*b*b+e*c*c=_)/*第三空*/ printf(“%d/n“,n); (分数:6.00)填空项 1:_37.输入一个数字(范围在 09 之间,若不在此范围内显示输入错),输出对应的英文单词(Zero,One,Two,Nine)。 main() int i; char *digit10=“Zero“,“One“,“Two“,“Three“,“Four“, “Five“,“Six“,“Seven“,“Eight“,

    13、“Nine“; scanf(“%d“,_);/*第一空*/ printf(“%d“,i); if(_)/*第二空*/ printf(“%s/n“,digit_);/*第三空 */ else printf(“Input error!/n“); (分数:6.00)填空项 1:_38.将一个文本文件(madat)拷贝到另一个文本文件(niudat)中。 #includestdioh main() FILE*ma,*niu; mazfopen(“madat“,_);/*第一空*/ niu=fopen(“niudat“,“w“); while(!feof(ma)fputc(fgetc(ma),_);/*

    14、第二空*/ fclose(niu);_;/*第三空*/ (分数:6.00)填空项 1:_五、B程序设计题/B(总题数:3,分数:17.00)39.输入某学生的数学(math)、英语(english)和 C 语言(c)的成绩,输出该学生这三门课的成绩、总成绩(sum)和平均成绩(aver)。(分数:5.00)_40.按下列要求分别写出两个函数(不用写主函数)(1)计算 n! 计算公式:n!=123n 函数首部为 long fac(int n)(2)调用上述函数计算 计算公式: 函数首部为 long cmk(int m,int k)(分数:6.00)_41.在一个二维数组(定义为 int a55;

    15、)中形成并按下列形式输出矩阵各元素的值。 1 0 0 0 0 2 1 0 0 0 3 2 1 0 0 4 3 2 1 0 5 4 3 2 1(分数:6.00)_高级语言程序设计真题 2005 年下半年答案解析(总分:100.00,做题时间:90 分钟)一、B单项选择题/B(总题数:20,分数:20.00)1.下列不属于 C 语言保留字的是( )(分数:1.00)A.charB.whileC.typedefD.look 解析:2.下列关于 C 语言的叙述错误的是( )(分数:1.00)A.英文字母大小写不加以区分 B.不同类型的变量可以出现在同一个表达式中C.在赋值表达式中赋值号两边的类型可以不

    16、同D.某些运算符在不同的场合可以有不同的含义解析:3.下列转义字符中错误的是( )(分数:1.00)A./000B./14C./x111 D./2解析:4.执行语句 printf(“%x“,-1);后输出结果是( )(分数:1.00)A.-1B.-ffffC.1D.ffff 解析:5.设 float a=2,b=4,c=3;,以下 C 语言表达式与代数式计算结果不一致的是( )(分数:1.00)A.(a+*c/2B.(1/2)*(a+*c C.(a+*c*1/2D.c/2*(a+解析:6.设 int a=10,b=20,c=30;条件表达式 ab? a=5:c 的值是( )(分数:1.00)A

    17、.5 B.10C.20D.30解析:7.设 inta=9,b=6,c;,执行语句 c=a/b+0.8;后 c 的值是( )(分数:1.00)A.1 B.1.8C.2D.2.3解析:8.执行语 for(i=1;i+4;);后 i 的值是( )(分数:1.00)A.3B.4C.5 D.不确定解析:9.在位运算中,操作数左移一位,其结果相当于操作数( )(分数:1.00)A.乘以 2 B.除以 2C.乘以 4D.除以 4解析:10.使用语句 scanf(“a=%f,b=%f“,a,b);输入变量 a、b 的值(口代表空格),正确的是( )(分数:1.00)A.125,2.4B.1.25 口 2.4C

    18、.a=1.25,b= 2.4 D.a=1.25 口 b=2.4解析:11.下列说法中错误的是( )(分数:1.00)A.C 语言中循环嵌套的层数没有限定B.C 语言中的内部函数只能在本文件中被调用C.用 typedef 语句定义的数据类型名称必须是大写字母 D.C 语言中的 continue 语句,可以通过改变程序的结构而省略解析:12.设 char s10,*p=s;,下列语句中错误的是( )(分数:1.00)A.p=s+5;B.s=p+s; C.s2=p4;D.*p=s0;解析:13.设 enum weeksun,mon,tue,wed,thu,fri,satday;,正确的赋值语句是(

    19、)(分数:1.00)A.sun=0;B.sun=day;C.mon=sun+1;D.day=sun; 解析:14.若用数组名作为函数调用时的实参,则实际上传递给形参的是( )(分数:1.00)A.数组的第一个元素值B.数组元素的个数C.数组中全部元素的值D.数组首地址 解析:15.下列错误的是( )(分数:1.00)A.char s=“China“;B.char s10=“China“;C.char s10;s=“China“; D.char s10=c,h,i,n,a;解析:16.在 C 语言中,有值函数的数据类型是指( )(分数:1.00)A.函数形式参数的数据类型B.函数返回值的数据类型

    20、 C.调用该函数时的实参的数据类型D.任意指定的数据类型解析:17.设 struct short a; char b; float c; cs; 则 sizeof(cs)的值是( )(分数:1.00)A.4B.5C.6D.7 解析:18.设 intx=1,2,3,4,5,6,7,8,9,0),*p=x,k; 且 0k10,则对数组元素 xk的错误引用是( )(分数:1.00)A.p+k B.*(x+C.xp-x+kD.*(解析:19.设 #define N 3 #define Y(n)(N+1)*n) 则表达式 2*(N+Y(54+1)的值是( )(分数:1.00)A.42B.48 C.54D

    21、.出错解析:20.关于主函数的形式参数,下列说法正确的是( )(分数:1.00)A.可以有两个 B.类型可以是实型C.不可以由用户自己定义名字D.是在程序编译时获得实际值解析:二、B填空题/B(总题数:10,分数:20.00)21.可以将被调函数中获得的值返回给主调函数的语句是 1。(分数:2.00)填空项 1:_ (正确答案:return 或返回语句)解析:22.设 int x=2,y=1;则表达式 x+y 的值是 1。(分数:2.00)填空项 1:_ (正确答案:3)解析:23.若未指定局部变量的存储类型,则其隐含的存储类型是 1。(分数:2.00)填空项 1:_ (正确答案:auto 型

    22、或自动型)解析:24.在执行循环结构或 switch 结构时,能够立即退出该结构的语句是 1。(分数:2.00)填空项 1:_ (正确答案:break)解析:25.设 int a=-3,b=7,c=-1;则执行(a=0)(a=a%bb/c);后变量 a 的值是 1。(分数:2.00)填空项 1:_ (正确答案:-3)解析:26.设 int a,b,c;则执行 a=(b=3,c=5,b=10);后变量 a 的值是 1。(分数:2.00)填空项 1:_ (正确答案:10)解析:27.设 int a=100,*p1=a,*p2=p1;,则表达式*p2 的值是 1。(分数:2.00)填空项 1:_ (

    23、正确答案:100)解析:28.静态型外部变量的作用域是 1。(分数:2.00)填空项 1:_ (正确答案:本文件)解析:29.设 int a23=1,2,3,4,5,6; 则数组元素 a10的值是_。(分数:2.00)填空项 1:_ (正确答案:4)解析:30.函数调用时,若形参是一个变量,而对应的实参是一个有确定值的表达式,则函数参数的传递方式是 1 传递。(分数:2.00)填空项 1:_ (正确答案:值)解析:三、B程序分析题/B(总题数:5,分数:25.00)31.mian() int i; for(i=1;i3;i+)f(i); f(int j) static int a=100; i

    24、nt k=1; +k; printf(“%d/n“,j+a+k); a-=2; (分数:5.00)_正确答案:()解析:103 10232.#includestdioh long fun(int n) long s; if(n=2)s=2; else s=n+fun(n-1); printf(“%d/t“,s); return s; main() fun(5); printf(“/n“); (分数:5.00)_正确答案:()解析:2 5 9 1433.struct porb char*name; int age; s=“LiHua“,18,“WangXin“,25,“LiuGuo“,21; #

    25、define N(sizeof(s)/sizeof(s0) void f(struct porb a,int n); main() f(s,N); void f(struct porb a,int n) int i; for(i=0;in;i+) printf(“%s:d/n“,ainame,aiage); (分数:5.00)_正确答案:()解析:LiHua:18 WangXin:25 LiuGuo:2134.void LE(int*a,int b) int x=*a: printf(“%d/t%d/n“,*a,b); *a=b;b=x; main() int x=10,y=25; LE(x,

    26、y); printf(“%d/t%d/n“,x,y); (分数:5.00)_正确答案:()解析:10 25 25 2535./*设从键盘输入:420回车*/ #includestdioh main() char c; while(c=getchar()!=/n) switch(C-0) case 0: case 1:putchar(c+2); case 2:putchar(c+3);break; case 3:putchar(c+4); default:putchar(c+1);break; printf(“/n“); (分数:5.00)_正确答案:()解析:5523四、B程序填充题/B(总题

    27、数:3,分数:18.00)36.一个三位整数(100999),若各位数的立方和等于该数自身,则称其为“水仙花数“(如:153=13+5 3+33),找出所有的这种数。 main() int n,a,b,c;/*n、a、b 和 C 分别为三位数自身及其个位、十位和百位*/ for(c=1;c=9;c+) for(b=0;b=9;b+) for(_;a+)/*第一空*/ n=_;/*第二空*/ if(a*a*a+b*b*b+e*c*c=_)/*第三空*/ printf(“%d/n“,n); (分数:6.00)填空项 1:_ (正确答案:第一空:a=0;a=9 或 a=0;a0)解析:第二空:100

    28、*c+10*b+a 第三空:n37.输入一个数字(范围在 09 之间,若不在此范围内显示输入错),输出对应的英文单词(Zero,One,Two,Nine)。 main() int i; char *digit10=“Zero“,“One“,“Two“,“Three“,“Four“, “Five“,“Six“,“Seven“,“Eight“,“Nine“; scanf(“%d“,_);/*第一空*/ printf(“%d“,i); if(_)/*第二空*/ printf(“%s/n“,digit_);/*第三空 */ else printf(“Input error!/n“); (分数:6.00

    29、)填空项 1:_ (正确答案:第一空:n)解析:第二空:i=0i=9 第三空:i38.将一个文本文件(madat)拷贝到另一个文本文件(niudat)中。 #includestdioh main() FILE*ma,*niu; mazfopen(“madat“,_);/*第一空*/ niu=fopen(“niudat“,“w“); while(!feof(ma)fputc(fgetc(ma),_);/*第二空*/ fclose(niu);_;/*第三空*/ (分数:6.00)填空项 1:_ (正确答案:第一空:“r“)解析:第二空:niu 第三空:fclose(ma)五、B程序设计题/B(总题

    30、数:3,分数:17.00)39.输入某学生的数学(math)、英语(english)和 C 语言(c)的成绩,输出该学生这三门课的成绩、总成绩(sum)和平均成绩(aver)。(分数:5.00)_正确答案:()解析:main() float math,english,C,sum,aver; scanf(“%f%f%,math,english,C); sum=math+english+C; aver=sum/3: printf(“math=%If,english=%If,C=%If,sum=%If,aver=%2f/n“, math,english,C,sum,aver); 40.按下列要求分别

    31、写出两个函数(不用写主函数)(1)计算 n! 计算公式:n!=123n 函数首部为 long fac(int n)(2)调用上述函数计算 计算公式: 函数首部为 long cmk(int m,int k)(分数:6.00)_正确答案:()解析:(1) long fac(int n) long f=1;int i; for(i=1;i=n;i+)f*=i; return f: (2) long cmk(int m,int k) return fac(m)/fac(k)/fac(m-k); 41.在一个二维数组(定义为 int a55;)中形成并按下列形式输出矩阵各元素的值。 1 0 0 0 0 2 1 0 0 0 3 2 1 0 0 4 3 2 1 0 5 4 3 2 1(分数:6.00)_正确答案:()解析:main() int i,j,a55 for(i=0;i5;i+) for(j=0;j5;j+) if(ij)aij=0; else aij=i-j+1; for(i=0;i5;i+) for(j=0;j5;j+)printf(“%5d“,aij); printf(“/n“)


    注意事项

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




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

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

    收起
    展开