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

上传人:eventdump275 文档编号:1380212 上传时间:2019-12-01 格式:DOC 页数:16 大小:55.50KB
下载 相关 举报
【学历类职业资格】高级语言程序设计自考题-5及答案解析.doc_第1页
第1页 / 共16页
【学历类职业资格】高级语言程序设计自考题-5及答案解析.doc_第2页
第2页 / 共16页
【学历类职业资格】高级语言程序设计自考题-5及答案解析.doc_第3页
第3页 / 共16页
【学历类职业资格】高级语言程序设计自考题-5及答案解析.doc_第4页
第4页 / 共16页
【学历类职业资格】高级语言程序设计自考题-5及答案解析.doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

1、高级语言程序设计自考题-5 及答案解析(总分:99.00,做题时间:90 分钟)一、单项选择题(总题数:15,分数:28.00)1.设 char*s1=“12345“,*s2=“1234“;,执行语句 printf(“%d/n“,strlen(strcpy(s1,s2);后的输出结果是( )A4 B5C9 D10(分数:2.00)A.B.C.D.2.关于主函数的形式参数,下列说法正确的是( ) A可以有两个 B类型可以是实型 C不可以由用户自己定义名字 D是在程序编译时获得实际值(分数:1.00)A.B.C.D.3.在一个 C 语言程序中( ) A主函数只能有一个 B主函数可以有多个 C非主函

2、数只能有一个 D主函数和非主函数都可以有多个(分数:2.00)A.B.C.D.4.字符串“save me!“在内存中所占用的字节数是( ) A4 B6 C8 D9(分数:2.00)A.B.C.D.5.设 charx=a,则 printf(“X=%c,y=%c/n“,x,97);的输出是( ) Ax=a,y=a Bx=97,y=a Cx=97,y=97 Dx=a,y=97(分数:2.00)A.B.C.D.6.设 int m;,与 while(!m)等价的是( )Awhile(m!=0) Bwhile(m=1)Cwhile(m=0) Dwhile(m!=1)(分数:2.00)A.B.C.D.7.打

3、开文件时,若文件使用方式选用字符串“w“,则表示( )A打开一个已存在的二进制文件,只能读取数据B打开一个文本文件,只能写入数据C打开一个已存在的文本文件,只能读取数据D打开一个二进制文件,只能写入数据(分数:2.00)A.B.C.D.8.设 typedef int ARR10;,与 ARR a,*b;等价的定义是( )Aint a,b; Bint a,*b;Cint a10,*b; Dint a10,*b10;(分数:2.00)A.B.C.D.9.使用函数 fseek()不能完成的操作是( )A定位到文件头 B定位到文件尾C定位到文件尾的后 10 个字节 D定位到文件的第 25 个字节(分数

4、:2.00)A.B.C.D.10.定义二维数组并初始化,正确的是( ) Aint a3=1,2,3,4,5,6 ; Bint a3=1,2,3,4,5,6; Cint a33=1,2,3,4,5,6; Dint a=1,2,3,4,5,6;(分数:2.00)A.B.C.D.11.有以下程序,程序运行后的输出结果是( ) main() int a10=1,2,3,4,5,6,7,8,9,10),*p=a3,*q=p+2; printf(“%d/11“,*p+*q); A16 B10 C8 D6(分数:2.00)A.B.C.D.12.设 int b5=1,2,3,4,5,6,7;,则元素 b12的

5、值是( )A0 B2C6 D7(分数:2.00)A.B.C.D.13.执行语 for(i=1;i+4;);后 i 的值是( ) A3 B4 C5 D不确定(分数:1.00)A.B.C.D.14.若 x、y 是 int 型变量,则执行以下语句后的 x 值是( ) #includestdioh main() int x,y; for(y=1,x=1;y50;y+) if(x=10)break; if(x%2=1) x+=5; x-=3; A3 B6 C7 D10(分数:2.00)A.B.C.D.15.下列程序段执行后 x、y 和 z 的值分别是( )int x=10,y=20,z=30;if(xy

6、)z=x;x=y;y=z;A10,20,30 B20,30,30C20,30,10 D20,30,20(分数:2.00)A.B.C.D.二、填空题(总题数:10,分数:20.00)16.将大写字母转换为小写字母的函数是 1。(分数:2.00)填空项 1:_17.若函数要求返回一个值,则应在函数体中有一条 1 语句。(分数:2.00)填空项 1:_18.外部函数的存储类型符是 1。(分数:2.00)填空项 1:_19.执行语句“n=1;if(n=5)n+;“后,变量 n 值为 1。(分数:2.00)填空项 1:_20.将字符转换成 ASC代码值的函数是 1。(分数:2.00)填空项 1:_21.

7、设 int a,b,C;,表达式 a=2,b=5,b+,a+b 的值是 1。(分数:2.00)填空项 1:_22.转义字符由 1 符号开始的单个字符或若干个字符组成。(分数:2.00)填空项 1:_23.设 a=6,b=5,c=4,则 abc 的值为 1。(分数:2.00)填空项 1:_24.位运算的对象只能是 1。(分数:2.00)填空项 1:_25.函数调用“exit(0)”的功能是 1。(分数:2.00)填空项 1:_三、程序分析题(总题数:4,分数:17.00)26.struct peoplechar name10;float score;per=“Tom“,95.5),“Mary“,

8、88.0);void main()struct people。pper+1;printf(“%s,%.1f/n“,per0.name,pscore);(分数:4.00)_27.#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)_28.#includestdioh int trans(int m,int n) int i; if(mn) i=m%n;trans(m,n); el

9、se i=m: if(i10)printf(“%d/n“,i): else printf(“%c“,A+i-10): main() int i; printf(“The output is:/n“); printf(“n%d/n“,-23); trans(21,3); printf(“n%d/n“,123); trans(123,16); (分数:4.00)_29.#includestdioh typedef struct abc int a,b,c; ; main() struct abe s2=1,2,3),4,5,6; int t=-s0a+s1b; printf(“%d/n“,t);

10、(分数:4.00)_四、程序填充题(总题数:3,分数:18.00)30.下列程序的功能是从键盘上输入若干员工的工资,统计并输出最高工资和最低工资,当输入负数时结束输入。main()float x,max,min;scanf(“%f“,&x);_while(_)if(xmax)max=x;if(xmin)min=x;_printf(“/nmax=%f/nmin=%f/n“,max,min);(分数:6.00)填空项 1:_31.下面程序的作用是求以下算式中 X、Y、Z 的值,请在“_“处填入正确的内容。 * main() int X,Y,Z,j,result=768; for(x=0;_;x+)

11、 /*第一空*/ for(y=0;y10;y+) for(z=0;z10;z+) j=( )+(100*y+10*z+z); /*第二空*/ if(_) /*第三空*/ printf(”X=%d,Y=%d,Z=%d/n”,x,y,z); (分数:6.00)填空项 1:_32.下面程序段可以求出 n!的值。 #includestdioh main() int i,n; long np; scanf(“%d“,n); _;/*第一空*/ for(i=2;_;i+)/*第二空*/ _;/*第三空*/ printf(“n=%d,n!=%ld/n“,n,np); (分数:6.00)填空项 1:_五、程序

12、设计题(总题数:2,分数:16.00)33.编写程序,要求输入两个数,比较大小,输出大数和小数(用指针实现)。(分数:8.00)_34.编一个程序,对名为“abc.txt“的磁盘文件中“之前的所有字符加密,加密方法是每个字节的内容减10。(分数:8.00)_高级语言程序设计自考题-5 答案解析(总分:99.00,做题时间:90 分钟)一、单项选择题(总题数:15,分数:28.00)1.设 char*s1=“12345“,*s2=“1234“;,执行语句 printf(“%d/n“,strlen(strcpy(s1,s2);后的输出结果是( )A4 B5C9 D10(分数:2.00)A. B.C

13、.D.解析:2.关于主函数的形式参数,下列说法正确的是( ) A可以有两个 B类型可以是实型 C不可以由用户自己定义名字 D是在程序编译时获得实际值(分数:1.00)A. B.C.D.解析:3.在一个 C 语言程序中( ) A主函数只能有一个 B主函数可以有多个 C非主函数只能有一个 D主函数和非主函数都可以有多个(分数:2.00)A. B.C.D.解析:4.字符串“save me!“在内存中所占用的字节数是( ) A4 B6 C8 D9(分数:2.00)A.B.C.D. 解析:5.设 charx=a,则 printf(“X=%c,y=%c/n“,x,97);的输出是( ) Ax=a,y=a

14、Bx=97,y=a Cx=97,y=97 Dx=a,y=97(分数:2.00)A. B.C.D.解析:6.设 int m;,与 while(!m)等价的是( )Awhile(m!=0) Bwhile(m=1)Cwhile(m=0) Dwhile(m!=1)(分数:2.00)A.B.C. D.解析:解析 表达式“!m”与“m=0”起到的作用是一样的,即当 m 为真时,“!m”与“m=0”的值均为假;当 m 为假时,“!m”与“m=0”的值均为真。其他三项均错误,故本题选 C。7.打开文件时,若文件使用方式选用字符串“w“,则表示( )A打开一个已存在的二进制文件,只能读取数据B打开一个文本文件,

15、只能写入数据C打开一个已存在的文本文件,只能读取数据D打开一个二进制文件,只能写入数据(分数:2.00)A.B. C.D.解析:解析 本题主要考查的知识点为打开文件函数。要点透析 A 项的文件使用方式应选用字符串“rb“,C 项的文件使用方式应选用字符串“r“,D 项的文件使用方式应选用“wb“。8.设 typedef int ARR10;,与 ARR a,*b;等价的定义是( )Aint a,b; Bint a,*b;Cint a10,*b; Dint a10,*b10;(分数:2.00)A.B.C.D. 解析:9.使用函数 fseek()不能完成的操作是( )A定位到文件头 B定位到文件尾

16、C定位到文件尾的后 10 个字节 D定位到文件的第 25 个字节(分数:2.00)A.B.C. D.解析:解析 本题主要考查的知识点为 fseek 函数的使用。要点透析 fseek()为文件随机定位函数,它可以使文件内部指针指向需要读取的某个数据,而不是某几个数据,然后读取当前数据。10.定义二维数组并初始化,正确的是( ) Aint a3=1,2,3,4,5,6 ; Bint a3=1,2,3,4,5,6; Cint a33=1,2,3,4,5,6; Dint a=1,2,3,4,5,6;(分数:2.00)A.B. C.D.解析:11.有以下程序,程序运行后的输出结果是( ) main()

17、int a10=1,2,3,4,5,6,7,8,9,10),*p=a3,*q=p+2; printf(“%d/11“,*p+*q); A16 B10 C8 D6(分数:2.00)A.B. C.D.解析:解析 最后打印输出的是“*p+*q“的值,即数组 a 的第四个几豢及第六个几元素的和。12.设 int b5=1,2,3,4,5,6,7;,则元素 b12的值是( )A0 B2C6 D7(分数:2.00)A. B.C.D.解析:解析 主要考查的知识点为二维数组元素的初始化。要点透析 在数组中,没有被赋初值的元素的默认值为零。13.执行语 for(i=1;i+4;);后 i 的值是( ) A3 B

18、4 C5 D不确定(分数:1.00)A.B.C. D.解析:14.若 x、y 是 int 型变量,则执行以下语句后的 x 值是( ) #includestdioh main() int x,y; for(y=1,x=1;y50;y+) if(x=10)break; if(x%2=1) x+=5; x-=3; A3 B6 C7 D10(分数:2.00)A. B.C.D.解析:解析 #includestdioh main() int x,y; for(y=1,x=1;y50;y+)/*以 y 为线索进行循环,步进值为 1*/ if(x=10)break;/*如果 x 大于 10 则中断循环*/ i

19、f(x%2=1)/*当 x 是奇数时,执行“x+=5;“*/ x+=5;) X-=3;/*循环执行完毕,x 的值减 3*/ 15.下列程序段执行后 x、y 和 z 的值分别是( )int x=10,y=20,z=30;if(xy)z=x;x=y;y=z;A10,20,30 B20,30,30C20,30,10 D20,30,20(分数:2.00)A.B. C.D.解析:解析 题干中,条件表达式“xy”的值为假,所以不执行语句“z=x;”,而按顺序执行语句“x=y;y=z;”,即 x=20,y=39,z=30,故本题选 B。二、填空题(总题数:10,分数:20.00)16.将大写字母转换为小写字

20、母的函数是 1。(分数:2.00)填空项 1:_ (正确答案:tolower-|_|-)解析:17.若函数要求返回一个值,则应在函数体中有一条 1 语句。(分数:2.00)填空项 1:_ (正确答案:return(表达式))解析:18.外部函数的存储类型符是 1。(分数:2.00)填空项 1:_ (正确答案:extern)解析:19.执行语句“n=1;if(n=5)n+;“后,变量 n 值为 1。(分数:2.00)填空项 1:_ (正确答案:6)解析:语句中“if(n=5)“一句给 n 赋以 5 值,执行“n+;“之后 n 的值为 6。20.将字符转换成 ASC代码值的函数是 1。(分数:2.

21、00)填空项 1:_ (正确答案:toascii-|_|-)解析:21.设 int a,b,C;,表达式 a=2,b=5,b+,a+b 的值是 1。(分数:2.00)填空项 1:_ (正确答案:8)解析:22.转义字符由 1 符号开始的单个字符或若干个字符组成。(分数:2.00)填空项 1:_ (正确答案:/)解析:23.设 a=6,b=5,c=4,则 abc 的值为 1。(分数:2.00)填空项 1:_ (正确答案:0)解析:24.位运算的对象只能是 1。(分数:2.00)填空项 1:_ (正确答案:整型数据)解析:25.函数调用“exit(0)”的功能是 1。(分数:2.00)填空项 1:

22、_ (正确答案:关闭当前已经打开的所有文件,收回分配的所有内存,结束程序的运行。)解析:三、程序分析题(总题数:4,分数:17.00)26.struct peoplechar name10;float score;per=“Tom“,95.5),“Mary“,88.0);void main()struct people。pper+1;printf(“%s,%.1f/n“,per0.name,pscore);(分数:4.00)_正确答案:(Tom,88.0)解析:27.#includestdioh long fun(int n) long s; if(n=2)s=2; else s=n+fun(

23、n-1); printf(“%d/t“,s); return s; main() fun(5); printf(“/n“); (分数:5.00)_正确答案:(2 5 9 14)解析:28.#includestdioh int trans(int m,int n) int i; if(mn) i=m%n;trans(m,n); else i=m: if(i10)printf(“%d/n“,i): else printf(“%c“,A+i-10): main() int i; printf(“The output is:/n“); printf(“n%d/n“,-23); trans(21,3);

24、 printf(“n%d/n“,123); trans(123,16); (分数:4.00)_正确答案:(The output is: n-23)解析:解析 #include stdioh int trans(int m,int n) int i; if(mn) i=m%n;trans(m,n);/*如果 mn,则将 m 除以 n 的余数赋给 i,并再次调用函数 trans()*/ else i=m; if(i10)printf(“%d/n“,i);/*如果 i10,则打印输出 i 的值*/ else printf(“%c“,A+i-10); main() int i; printf(“The

25、 output is:/n“); printf(“n%d/n“,-23); trans(21,3); printf(“n%dkn“,123); trans(123,16); 29.#includestdioh typedef struct abc int a,b,c; ; main() struct abe s2=1,2,3),4,5,6; int t=-s0a+s1b; printf(“%d/n“,t); (分数:4.00)_正确答案:(4)解析:解析 #includestdioh typedef struct abc int a,b,C; ;/*定义一个结构体类型*/ main() str

26、uct abc s2=1,2,3,4,5,6;/*定义一个结构体数组 s2并赋初值*/ int t=-s0a+s1b;/*引用结构体数组元素的成员进行计算,计算 t 的值*/ printf(“%d/n“,t); 四、程序填充题(总题数:3,分数:18.00)30.下列程序的功能是从键盘上输入若干员工的工资,统计并输出最高工资和最低工资,当输入负数时结束输入。main()float x,max,min;scanf(“%f“,&x);_while(_)if(xmax)max=x;if(xmin)min=x;_printf(“/nmax=%f/nmin=%f/n“,max,min);(分数:6.00

27、)填空项 1:_ (正确答案:max=min=x;x0.0 或!(x0)scanf(“%f“,&x);)解析:31.下面程序的作用是求以下算式中 X、Y、Z 的值,请在“_“处填入正确的内容。 * main() int X,Y,Z,j,result=768; for(x=0;_;x+) /*第一空*/ for(y=0;y10;y+) for(z=0;z10;z+) j=( )+(100*y+10*z+z); /*第二空*/ if(_) /*第三空*/ printf(”X=%d,Y=%d,Z=%d/n”,x,y,z); (分数:6.00)填空项 1:_ (正确答案:x10/*第一空,因 x 可能

28、是 09 之间的任意数字,故循环上限条件是 x10*/100*x+10*y+z/*第二空,此处为算式中加数 XYZ 的数学表达式*/ j=resuh /*第三空,判定计算结果是否满足算式要求*/)解析:32.下面程序段可以求出 n!的值。 #includestdioh main() int i,n; long np; scanf(“%d“,n); _;/*第一空*/ for(i=2;_;i+)/*第二空*/ _;/*第三空*/ printf(“n=%d,n!=%ld/n“,n,np); (分数:6.00)填空项 1:_ (正确答案:np=1/*笫一空。给变量 np 赋以 1 的初值*/ i=n

29、/*第二空。确定乘法运算的上限*/ np*=i/*第三空。求阶乘的乘法运算*/)解析:五、程序设计题(总题数: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.编一个程序,对名为“abc.txt“的磁盘文件中“之前的所有字符加密,加密方法是每个字节的内容减10。(分数:8.00

30、)_正确答案:(#include stdioh #includesldlibh main() FILE *fp; char c; if(fp=fopen(“abctxt“,“r+“)=NULL)/*测试文什是否正确被打开*/ printf(“Can not open file!/n“);exit(0);) while(!feof(fp) if(c=fgetc(fp)!=)/*如果不足字符则进行加密运算*/ c=c-10;/*加密运算*/ fseek(fp,-11,1);/*前移一个字符。因在执行 fgetc(fp)时文什内部指针会自动后移一个字符。指向应被加密字符的下一个字符*/ fputc(c,fp);/*将获得加密后的字符填入该位置,且文件内部指针会自动后移一个字符*/ fseek(fp,01,1);)/*避免指针漂移,定位文件内部指针在当前位置不移动,并将其传递给函数feof(fp)*/ else break; fclose(fp); return 0; )解析:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

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