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

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

1、高级语言程序设计自考题模拟 42 及答案解析(总分:100.00,做题时间:90 分钟)一、第部分 选择题(总题数:15,分数:30.00)1.以下不是 C 语言保留字的是_(分数:2.00)A.floatB.integerC.signedD.unsigned2.关于 C 语言程序描述正确的是_(分数:2.00)A.函数必须要有 return 语句B.主函数必须位于程序的开头C.程序中每行只能写一条语句D.一个程序中只能有一个主函数3.假设在程序中,x,y,z 均被定义成整型,且已赋大于 1 的值,则下列能正确表示 1/xyz 的表达式是_(分数:2.00)A.1/x*y*zB.1/(x*y*

2、z)C.1/x/y/(float)zD.1.0/(x*y*z)4.设有程序 main() int i,j; for(i=0,j=1;i=j+1;i+=2,j-) printf(“%d/n“,i); 在运行上述程序时,for 语句中循环体的执行次数是_(分数:2.00)A.3B.2C.1D.05.设 char c=“A“;int i=1,j;,执行语句 j=!c后,i 和 j 的值分别是_(分数:2.00)A.0 和 1B.1 和 0C.1 和 65D.2 和 666.以下合法的数组说明是_(分数:2.00)A.char a6=“string“B.int a5=0,1,2,3,4,5;C.cha

3、r a=“string“;D.int a=0,1,2,3,4,5;7.设有变量说明语句 int a=1,b=0; 则执行以下程序段的输出结果为_ switch(a) case 1: switch(b) case 0:printf(“*0*“);break; case 1:printf(“*1*“);break; case 2:printf(“*2*“);break; printf(“/n“);(分数:2.00)A.*0*B.*0*2*C.*0*1*2*D.有语法错误8.若已定义 int a9,*p=a; 并在以后的语句中未改变 P 的值,则不能表示 a1地址的表达式是_(分数:2.00)A.p

4、+1B.a+1C.a+D.+p9.下列运算符优先级最高的是_(分数:2.00)A.+=B.,C.!D.?:10.下面程序段的运行结果是_ char str=“NBA“,*p=str; printf(“%d/n“,*(p+3);(分数:2.00)A.65B.0C.字符“A“的地址DA11.设 int a=10,*p=,则执行 printf(“%d/n“,p+a);的结果是_(分数:2.00)A.10B.20C.30D.4012.若定义的函数为 float*fun().,则函数的返回值是_(分数:2.00)A.float 型数据B.void 型数据C.float 型指针D.void 型指针13.设

5、有如下定义 struct sk int a; float b; data,*p; 若有 p= 则对 data 中的成员 a 的正确引用是_(分数:2.00)A.(*p).data.aB.(*p).aC.p-data.aD.data.a14.函数调用语句 fseek(fp,-20L,2);的含义是_(分数:2.00)A.将文件位置指针移动到距离文件头 20 个字节处B.将文件位置指针从当前位置向后移动 20 个字节C.将文件位置指针从文件末尾处向前移 20 个字节D.将文件位置指针移动到离当前位置 20 个字节处15.使用递归函数计算 n!(n=0,1,2,3,.)的是_(分数:2.00)A.f

6、ac(int n)int i,f=1;if(n=0)return 1;else for(i=1;i=n;i+)f*=i;return f;B.fac(int n)if(n=0| n=1)return 1;else return n*fac(n-1);C.fac(int n)int i=1,f=1;if(n=0)retum 1;else while(i=n)f*=i+;return f;D.fac(int n)int i=1,f=1;if(n=0)return 1;else dof*=i;while(i+n);return f;二、第部分 非选择题(总题数:10,分数:20.00)16.设 x

7、是个实型变量,满足数学式|x|4 的 C 语言表达式是 1。(写出任意一种) (分数:2.00)17.磁盘文件按文件中数据格式分类可以分成 1 和二进制文件。 (分数:2.00)18.若已知 int a=10,b=20;则表达式!ab 的值是 1。 (分数:2.00)19.设 a=6,b=-8,c=3,则下面逻辑表达式的值为 1。 “d“后的输出结果是 1。 (分数:2.00)21.在 C 程序中,可以移动指针的运算有:对指针变量加上一个整型常量、对指针变量减去一个整型常量和 1。 (分数:2.00)22.在 C 语言中,“.“称为 1 运算符。 (分数:2.00)23.使用系统函数对两个字符

8、串进行比较,该系统函数的名字是 1。 (分数:2.00)24.设 a,b,c 为整型数,且 a=2,b=3,c=4,则执行完以下语句: a*=16+(b+)-(+c);后,a 的值为 1。 (分数:2.00)25.在对文件的操作中,若要求文件的位置回到文件的开头,应调用的函数是 1。 (分数:2.00)三、程序分析题(总题数:4,分数:16.00)26.main() int a22,i,j; for(i=0;i2;i+) for(j=0;j2;j+) aij=i*j; printf(“%d/n“,aij); (分数:4.00)_27.void f(int x,int y) x=x+y;y=x-

9、y;x=x-y; printf(“%d,%d,“,x,y); main() int a=1,b=2; f(a,b); printf(“%d,%d/n“,a,b); (分数:4.00)_28.main() int n,k=1; for(n=1;n15;n+) k=1; while(k=n) if (n=k*k) printf(“%d,“,n); k+; (分数:4.00)_29.struct st int i; int j; *p; main() struct st m=1,2,5,10,6,36; p=m; printf(“%d/n“,+(+p)-j); (分数:4.00)_四、程序填充题(总

10、题数:3,分数:18.00)30.以下的程序功能为:从键盘输入若干学生的成绩,计算出平均值,并输出低于平均值的学生成绩,输入为负数时结束输入。 main() float x200,sum=0.0,ave,a; int n=0,i; printf(“Please input the mark:/n“);scanf(“%f“, while(a=0.0xn=a;n+;scanf(“%f“, ave=_;printf(“OUTPUT:/n“); printf(“ave=%f/n“,ave); for(i=0;in;i+) if _ printf(“%f/n“,xi); (分数:6.00)_31.以下程

11、序的功能是利用指针统计一个字符串中字母、空格和制表符、数字及其他字符的个数。 #includestdio.h #includestring.h main() int alpha,space,digit,other; char *p,s100; alpha=space=digit=other=0; printf(“Please input string:/n“); gets(s); for(p=s;*p!=“/0“;p+) if(_) alpha+; /统计字母个数 else if(_) space+; /统计空格和制表符的个数 else if(_) digit+; /统计数字个数 else o

12、ther+; printf(“alpha:%d space:%d digit:%d other:%d/n“,alpha,space,digit,other); (分数:6.00)_32.函数 f()的主要功能是求 p 指向的 m 行 5 列数组中的最大数与最小数,并通过形参指针变量 max 和 min返回。 void f(float *p,_,int m) int i,j; *max=*min=_; for(i=0;im;i+) for(j=1;j5;j+) if(*max*(p+i*5+j)_; if(*min*(p+i*5+j)*min=*(p+i*5+j); (分数:6.00)_五、程序

13、设计题(总题数:2,分数:16.00)33.用当型循环结构实现并输出 1+2+3+50 的和。 (分数:8.00)_34.设计结构型,包含职工编号、姓名、基本工资和业绩提成。编程序,输入 30 名职工信息存入结构型数组,然后统计基本工资和业绩提成的总额并输出。 (分数:8.00)_高级语言程序设计自考题模拟 42 答案解析(总分:100.00,做题时间:90 分钟)一、第部分 选择题(总题数:15,分数:30.00)1.以下不是 C 语言保留字的是_(分数:2.00)A.floatB.integer C.signedD.unsigned解析:考点 本题主要考查的知识点为 C 语言的保留字。 保

14、留字是 C 语言中具有特殊含义的单词,主要用于构成语句。C 语言中表示整型的保留字是 int 而不是integer。2.关于 C 语言程序描述正确的是_(分数:2.00)A.函数必须要有 return 语句B.主函数必须位于程序的开头C.程序中每行只能写一条语句D.一个程序中只能有一个主函数 解析:考点 本题主要考查的知识点为 C 语言特点。 在 C 程序的函数中不一定要有 return 语句,例如有 cout 语句的时候就不用有 return 语句;主函数可以位于程序的任何位置;一个程序中一行可以写多条语句。3.假设在程序中,x,y,z 均被定义成整型,且已赋大于 1 的值,则下列能正确表示

15、 1/xyz 的表达式是_(分数:2.00)A.1/x*y*zB.1/(x*y*z)C.1/x/y/(float)z D.1.0/(x*y*z)解析:考点 本题主要考查的知识点为数据类型转换。 表达式 1/xyz 为小数是实型数据,B 项中表达式的结果为整型,而 D 项的结果为 double 型。4.设有程序 main() int i,j; for(i=0,j=1;i=j+1;i+=2,j-) printf(“%d/n“,i); 在运行上述程序时,for 语句中循环体的执行次数是_(分数:2.00)A.3B.2C.1 D.0解析:考点 本题主要考查的知识点为 for 循环。 在该循环语句中,第

16、一次执行循环条件成立,执行完一次循环以后,j=0,i=2,循环条件不再成立,所以循环体只被执行一次。5.设 char c=“A“;int i=1,j;,执行语句 j=!c后,i 和 j 的值分别是_(分数:2.00)A.0 和 1B.1 和 0 C.1 和 65D.2 和 66解析:考点 本题主要考查的知识点为逻辑运算符及运算符的优先级。 题中先计算!c 的值为 0,则不再计算后面的 i+,i 的值为 0,i 的值仍为 1。6.以下合法的数组说明是_(分数:2.00)A.char a6=“string“B.int a5=0,1,2,3,4,5;C.char a=“string“;D.int a

17、=0,1,2,3,4,5; 解析:考点 本题主要考查的知识点为数组的说明。 A 项中表示字符串“string“的教组应该是 char a7,B 项中只能有 5 个元素,而不是 6 个,C 项的表达方式不正确。7.设有变量说明语句 int a=1,b=0; 则执行以下程序段的输出结果为_ switch(a) case 1: switch(b) case 0:printf(“*0*“);break; case 1:printf(“*1*“);break; case 2:printf(“*2*“);break; printf(“/n“);(分数:2.00)A.*0*B.*0*2* C.*0*1*2*

18、D.有语法错误解析:8.若已定义 int a9,*p=a; 并在以后的语句中未改变 P 的值,则不能表示 a1地址的表达式是_(分数:2.00)A.p+1B.a+1C.a+ D.+p解析:考点 本题主要考查的知识点为数组元素地址的表示。 数组名 a 代表数组 a9的首地址,是一个地址常量,只能按常量的方式使用,所以 C 项是错误的。9.下列运算符优先级最高的是_(分数:2.00)A.+=B.,C.! D.?:解析:考点 本题主要考查的知识点为运算符的优先级。 A、B、C、D 四个选项优先级由高到低依次为:!、?:、+=、,。10.下面程序段的运行结果是_ char str=“NBA“,*p=s

19、tr; printf(“%d/n“,*(p+3);(分数:2.00)A.65B.0 C.字符“A“的地址DA解析:考点 本题主要考查的知识点为字符数组。 程序输出的是字符数组的第四个元素,未赋值默认为 0。11.设 int a=10,*p=,则执行 printf(“%d/n“,p+a);的结果是_(分数:2.00)A.10B.20 C.30D.40解析:考点 本题主要考查的知识点为指针。 int*p= float b; data,*p; 若有 p= 则对 data 中的成员 a 的正确引用是_(分数:2.00)A.(*p).data.aB.(*p).a C.p-data.aD.data.a解析

20、:考点 本题主要考查的知识点为结构型变量的成员的引用。 当结构型变量的地址已赋予相同结构型的指针变量时,可以用两种方式来引用该结构型变量的成员:(*指针变量).成员名或指针变量-成员名。14.函数调用语句 fseek(fp,-20L,2);的含义是_(分数:2.00)A.将文件位置指针移动到距离文件头 20 个字节处B.将文件位置指针从当前位置向后移动 20 个字节C.将文件位置指针从文件末尾处向前移 20 个字节 D.将文件位置指针移动到离当前位置 20 个字节处解析:15.使用递归函数计算 n!(n=0,1,2,3,.)的是_(分数:2.00)A.fac(int n)int i,f=1;i

21、f(n=0)return 1;else for(i=1;i=n;i+)f*=i;return f;B.fac(int n)if(n=0| n=1)return 1;else return n*fac(n-1); C.fac(int n)int i=1,f=1;if(n=0)retum 1;else while(i=n)f*=i+;return f;D.fac(int n)int i=1,f=1;if(n=0)return 1;else dof*=i;while(i+n);return f;解析:二、第部分 非选择题(总题数:10,分数:20.00)16.设 x 是个实型变量,满足数学式|x|4

22、 的 C 语言表达式是 1。(写出任意一种) (分数:2.00)解析:x4|x-4(或 x-4|x4)17.磁盘文件按文件中数据格式分类可以分成 1 和二进制文件。 (分数:2.00)解析:文本文件18.若已知 int a=10,b=20;则表达式!ab 的值是 1。 (分数:2.00)解析:119.设 a=6,b=-8,c=3,则下面逻辑表达式的值为 1。 “d“后的输出结果是 1。 (分数:2.00)解析:621.在 C 程序中,可以移动指针的运算有:对指针变量加上一个整型常量、对指针变量减去一个整型常量和 1。 (分数:2.00)解析:指针赋值22.在 C 语言中,“.“称为 1 运算符

23、。 (分数:2.00)解析:成员23.使用系统函数对两个字符串进行比较,该系统函数的名字是 1。 (分数:2.00)解析:strcmp24.设 a,b,c 为整型数,且 a=2,b=3,c=4,则执行完以下语句: a*=16+(b+)-(+c);后,a 的值为 1。 (分数:2.00)解析:2825.在对文件的操作中,若要求文件的位置回到文件的开头,应调用的函数是 1。 (分数:2.00)解析:int rewind(FILE *fp)三、程序分析题(总题数:4,分数:16.00)26.main() int a22,i,j; for(i=0;i2;i+) for(j=0;j2;j+) aij=i

24、*j; printf(“%d/n“,aij); (分数:4.00)_正确答案:()解析:0 0 0 127.void f(int x,int y) x=x+y;y=x-y;x=x-y; printf(“%d,%d,“,x,y); main() int a=1,b=2; f(a,b); printf(“%d,%d/n“,a,b); (分数:4.00)_正确答案:()解析:2,1,1,228.main() int n,k=1; for(n=1;n15;n+) k=1; while(k=n) if (n=k*k) printf(“%d,“,n); k+; (分数:4.00)_正确答案:()解析:1,

25、4,9,29.struct st int i; int j; *p; main() struct st m=1,2,5,10,6,36; p=m; printf(“%d/n“,+(+p)-j); (分数:4.00)_正确答案:()解析:11四、程序填充题(总题数:3,分数:18.00)30.以下的程序功能为:从键盘输入若干学生的成绩,计算出平均值,并输出低于平均值的学生成绩,输入为负数时结束输入。 main() float x200,sum=0.0,ave,a; int n=0,i; printf(“Please input the mark:/n“);scanf(“%f“, while(a=

26、0.0xn=a;n+;scanf(“%f“, ave=_;printf(“OUTPUT:/n“); printf(“ave=%f/n“,ave); for(i=0;in;i+) if _ printf(“%f/n“,xi); (分数:6.00)_正确答案:()解析:a sum/n 或 sum/(float)n 或 sum/(double)n (xiave)或(!(xi=ave)或(ave xi)31.以下程序的功能是利用指针统计一个字符串中字母、空格和制表符、数字及其他字符的个数。 #includestdio.h #includestring.h main() int alpha,space,

27、digit,other; char *p,s100; alpha=space=digit=other=0; printf(“Please input string:/n“); gets(s); for(p=s;*p!=“/0“;p+) if(_) alpha+; /统计字母个数 else if(_) space+; /统计空格和制表符的个数 else if(_) digit+; /统计数字个数 else other+; printf(“alpha:%d space:%d digit:%d other:%d/n“,alpha,space,digit,other); (分数:6.00)_正确答案:

28、()解析:*p=“A“ *max=*min=_; for(i=0;im;i+) for(j=1;j5;j+) if(*max*(p+i*5+j)_; if(*min*(p+i*5+j)*min=*(p+i*5+j); (分数:6.00)_正确答案:()解析:float *max,float *min *p *max= *(p+i*6+j)五、程序设计题(总题数:2,分数:16.00)33.用当型循环结构实现并输出 1+2+3+50 的和。 (分数:8.00)_正确答案:()解析:main() long sum=0,i; i=1; while(i51) sum+=i+; printf(“sum=

29、%d/n“,sum); 34.设计结构型,包含职工编号、姓名、基本工资和业绩提成。编程序,输入 30 名职工信息存入结构型数组,然后统计基本工资和业绩提成的总额并输出。 (分数:8.00)_正确答案:()解析:main() struct long num; char name10; float wage2; s30,*p=s; int k; float x,total2; for (p=s;ps+30;p+) scanf(“%1d,%s“, for(k=0;k2;k+) scanf(“%f“, p-wagek=x; total0=total1=0.0; for(k=0;k2;k+) for(p=s;ps+30;p+) totalk+=p-wagek; for(k=0;k2;k+) printf(“%f/n“,totalk);

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

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

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