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

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

1、高级语言程序设计自考题模拟 43 及答案解析(总分:100.00,做题时间:90 分钟)一、第部分 选择题(总题数:15,分数:30.00)1.用户自定义标识符正确的是_(分数:2.00)A.3abB.intC.fa2_aD.sin(x)2.C 语言中,若 int 类型数据长度为 2 个字节,则 unsignedint类型数据的取值范围是_(分数:2.00)A.0 至 255B.0 至 65535C.-256 至 255D.-32768 至 327673.现要定义一个二维数组 cMN来存放字符串“hello”,“addassi”,“deiilaint”,则常量 M 和N 的合理取值应为_(分数

2、:2.00)A.3,9B.3,10C.4,9D.2,104.已知:char *p,*q,选择正确的语句_(分数:2.00)A.p*5B.p/=qC.p+=5D.p+=q5.设 int a=2,b=5;,结果为 0 的表达式是_(分数:2.00)A.a%bB.a, 错误 的语句是_(分数:2.00)A.+a;B.a+;C.a=-a;D.(-a)+;7.设有定义语句 int(*ptr)5;,其中的 ptr 是_(分数:2.00)A.一个指向具有 5 个元素的一维数组指针B.指向 5 个整型变量的函数指针C.5 个指向整型变量的指针D.具有 5 个指针元素的一维数组8.下列程序的输出结果是_ int

3、 b=2; int func(int *a) b+=*a;return(b); main() int a=2,res=2; res+=func( printf(“%d/n“,res); (分数:2.00)A.4B.6C.8D.109.设 float m=2.0,n=5.0,使 m 为 8.0 的表达式是_(分数:2.00)A.m-=n*3.0B.m/=n+9C.m*=n-3D.m+=n+110.设 int a=2,b=6,c=8;,表达式(a,b),(c,10)的值是_(分数:2.00)A.2B.6C.8D.1011.运行下列程序后,输出结果是_ void fun(int *x,int *y)

4、 printf(“%d,%d,“,*x,*y);*y=3; main() int x=1,y=2; fun(printf(“%d,%d“,x,y); (分数:2.00)A.1,2,3,3B.1,2,3,2C.2,1,3,2D.2,3,1,212.能正确表达逻辑关系“-1x1 并且-1y1”的表达式是_(分数:2.00)A.(-1x1) int b: double c; printf(“%d/n“,sizeof(struct st);(分数:2.00)A.10B.8C.20D.2815.打开文件时,文件操作方式选用“w“或“r“,它们的共同点是_(分数:2.00)A.能读B.能写C.文件已经存在

5、D.文件可以不存在二、第部分 非选择题(总题数:10,分数:20.00)16.C 语言词类主要分为常量、变量、运算符、 1、表达式和保留字 6 类。 (分数:2.00)17.如果表达式!x 的值为 1,则 x 的值为 1。 (分数:2.00)18.单精度实型数据的范围是 1。 (分数:2.00)19.break 语句可在循环或 1 语句中使用。 (分数:2.00)20.printf()系统函数的第一个参数是输出格式字符串,后面参数是 1。 (分数:2.00)21.设 float a45;,则数组 a 中第一维下标的最大值是 1。 (分数:2.00)22.设有定义 int x=0;,则表达式+*

6、,则数据定义语句 F x,y,z2;,相当于数据定义语句 1。 (分数:2.00)25.设 int x=3;,执行语句 printf(x%2)?(“*%d/n“):(“#%d/n“),x);后,输出结果是 1。 (分数:2.00)三、程序分析题(总题数:4,分数:16.00)26.main() int x; while(1) scanf(“%d“, /输入 25 if(x0)printf(“-1/n“);else if(x0)printf(“1/n“); else break; (分数:4.00)_27.void f(int x,int y,int *px,int *py) *px=x+y;

7、*py=x-y; main() int a=10,b=20; f(a,b, printf(“%d,%d/n“,a,b); (分数:4.00)_28.假定名为“test.txt”的文本文件不存在。 #include “stdio.h“ #include “stdlib.h“ main() FILE *fp; char *s3=“12“,“abc“,“789“; int k; if(fp=fopen(“test.txt“,“a+“)=NULL) printf(“File not open!/n“);exit(0); for(k=0;k3;k+)fwrite(sk,(long)(k+1),1,fp)

8、; rewind(fp); while(!feof(fp)printf(“%c“,fgetc(fp); fclose(fp); (分数:4.00)_29.main() static char a=“ABCDEFGH“,b=“aBcDeFgH“; char *p1=a,*p2=b; while(*p1 !=“/0“) if(*p1=*p2) printf(“%c“,*p2); p1+,p2+; (分数:4.00)_四、程序填充题(总题数:3,分数:18.00)30.下列程序的主要功能是输入字符串数组 a,然后复制到数组 b 中并输出。 #include “stdio.h“ main() char

9、 a20,b20; int _; scanf(“%s“,_); while(_)k+; printf(“%s/n“,b); (分数:6.00)_31.为 n 输入一个正整数值后,计算并输出 (分数:6.00)_32.下列程序的主要功能是使用结构型来计算复数 x 和 y 的乘积。 提示:设复数 A+Bi 和复数 C+Di 的乘积为 E+Fi,则 E=AC-BD,F=BC+AD。 main() struct COMP float r; float i; struet COMP x,y,z; scanf(“%f,%f,%f,%f“, z.r=x.r*y.r-x.i*y.i; z.i=_; print

10、f(“%f+%fi/n“,_); (分数:6.00)_五、程序设计题(总题数:2,分数:16.00)33.设计结构型,包含学生的编号、姓名、任课教师姓名。编程序,输入 100 名学生的信息存入结构型数组,再输入某位教师的姓名,然后统计出选学该教师的学生数目并输出。 (分数:8.00)_34.(1)编写一个函数 change()实现两个实型变量的值交换。 (2)写出主函数,从键盘上输入两个数,然后调用函数 change()交换两个实型数的值并输出。 (分数:8.00)_高级语言程序设计自考题模拟 43 答案解析(总分:100.00,做题时间:90 分钟)一、第部分 选择题(总题数:15,分数:3

11、0.00)1.用户自定义标识符正确的是_(分数:2.00)A.3abB.intC.fa2_a D.sin(x)解析:2.C 语言中,若 int 类型数据长度为 2 个字节,则 unsignedint类型数据的取值范围是_(分数:2.00)A.0 至 255B.0 至 65535 C.-256 至 255D.-32768 至 32767解析:考点 本题主要考查的知识点为无符号整型数据的数值范围。 整型常量在一般微型机中占用 2 个字节,不管是十进制、八进制还是十六进制,无符号整型的数值范围都是十进制的 0 至 65535。3.现要定义一个二维数组 cMN来存放字符串“hello”,“addass

12、i”,“deiilaint”,则常量 M 和N 的合理取值应为_(分数:2.00)A.3,9B.3,10 C.4,9D.2,10解析:考点 本题主要考查的知识点为二维数组的行、列长度。 有三个字符串需要存储,所以 M 的值为 3;N 的值应根据最长字符串取值。4.已知:char *p,*q,选择正确的语句_(分数:2.00)A.p*5B.p/=qC.p+=5 D.p+=q解析:考点 本题主要考查的知识点为指针的运算。 指针 p 指向字符串的首地址,p+=5 是指向字符串中第 6 个元素。5.设 int a=2,b=5;,结果为 0 的表达式是_(分数:2.00)A.a%bB.a, 错误 的语句

13、是_(分数:2.00)A.+a;B.a+;C.a=-a;D.(-a)+; 解析:考点 本题主要考查的知识点为+运算符。 由于增 1(+)、减 1(-)运算符的运算对象是变量,不能是表达式,而 D 选项中(-a)是由单目负(-)运算符和变量构成的表达式,所以 D 项中的语句是错误的。7.设有定义语句 int(*ptr)5;,其中的 ptr 是_(分数:2.00)A.一个指向具有 5 个元素的一维数组指针 B.指向 5 个整型变量的函数指针C.5 个指向整型变量的指针D.具有 5 个指针元素的一维数组解析:考点 本题主要考查的知识点为一维数组指针。 这是一个一维数组指针的定义,ptr 是一个指向具

14、有 5 个元素的一维数组指针。8.下列程序的输出结果是_ int b=2; int func(int *a) b+=*a;return(b); main() int a=2,res=2; res+=func( printf(“%d/n“,res); (分数:2.00)A.4B.6 C.8D.10解析:考点 本题主要考查的知识点为函数调用。 a=2,b=b+a,func(,表达式(a,b),(c,10)的值是_(分数:2.00)A.2B.6C.8D.10 解析:考点 本题主要考查的知识点为逗号表达式。 逗号运算符的结合性是从左至右,表达式的值为右边的值,题中(a,b)的值为 b,(c,10)的值

15、为 10,故逗号表达式的值为 10。11.运行下列程序后,输出结果是_ void fun(int *x,int *y) printf(“%d,%d,“,*x,*y);*y=3; main() int x=1,y=2; fun(printf(“%d,%d“,x,y); (分数:2.00)A.1,2,3,3B.1,2,3,2C.2,1,3,2 D.2,3,1,2解析:12.能正确表达逻辑关系“-1x1 并且-1y1”的表达式是_(分数:2.00)A.(-1x1) int b: double c; printf(“%d/n“,sizeof(struct st);(分数:2.00)A.10B.8C.2

16、0 D.28解析:考点 本题主要考查的知识点为结构体变量所占的内存空间。 为结构型变量分配的内存字节数等于该结构型所有成员占用的字节数之和。本题中 char a10占 10 个字节,int b 占 2 个字节,double c 占 8 个字节,故总字节数为 20 个。15.打开文件时,文件操作方式选用“w“或“r“,它们的共同点是_(分数:2.00)A.能读B.能写C.文件已经存在 D.文件可以不存在解析:考点 本题主要考查的知识点为文件操作方式“w“和“r“。 “w“是打开一个文本文件,只能写数据;“r“是打开一个已存在的文本文件,只能读数据。其共同点是二者都是文本文件,且该文件可以已存在。

17、二、第部分 非选择题(总题数:10,分数:20.00)16.C 语言词类主要分为常量、变量、运算符、 1、表达式和保留字 6 类。 (分数:2.00)解析:函数调用17.如果表达式!x 的值为 1,则 x 的值为 1。 (分数:2.00)解析:018.单精度实型数据的范围是 1。 (分数:2.00)解析:-10 38 10 38 (保留 7 位有效数字)19.break 语句可在循环或 1 语句中使用。 (分数:2.00)解析:switch20.printf()系统函数的第一个参数是输出格式字符串,后面参数是 1。 (分数:2.00)解析:输出表达式21.设 float a45;,则数组 a

18、中第一维下标的最大值是 1。 (分数:2.00)解析:322.设有定义 int x=0;,则表达式+*,则数据定义语句 F x,y,z2;,相当于数据定义语句 1。 (分数:2.00)解析:float *x,*y,*z2;25.设 int x=3;,执行语句 printf(x%2)?(“*%d/n“):(“#%d/n“),x);后,输出结果是 1。 (分数:2.00)解析:*3三、程序分析题(总题数:4,分数:16.00)26.main() int x; while(1) scanf(“%d“, /输入 25 if(x0)printf(“-1/n“);else if(x0)printf(“1/

19、n“); else break; (分数:4.00)_正确答案:()解析:127.void f(int x,int y,int *px,int *py) *px=x+y; *py=x-y; main() int a=10,b=20; f(a,b, printf(“%d,%d/n“,a,b); (分数:4.00)_正确答案:()解析:30,-1028.假定名为“test.txt”的文本文件不存在。 #include “stdio.h“ #include “stdlib.h“ main() FILE *fp; char *s3=“12“,“abc“,“789“; int k; if(fp=fope

20、n(“test.txt“,“a+“)=NULL) printf(“File not open!/n“);exit(0); for(k=0;k3;k+)fwrite(sk,(long)(k+1),1,fp); rewind(fp); while(!feof(fp)printf(“%c“,fgetc(fp); fclose(fp); (分数:4.00)_正确答案:()解析:lab78929.main() static char a=“ABCDEFGH“,b=“aBcDeFgH“; char *p1=a,*p2=b; while(*p1 !=“/0“) if(*p1=*p2) printf(“%c“

21、,*p2); p1+,p2+; (分数:4.00)_正确答案:()解析:BDFH四、程序填充题(总题数:3,分数:18.00)30.下列程序的主要功能是输入字符串数组 a,然后复制到数组 b 中并输出。 #include “stdio.h“ main() char a20,b20; int _; scanf(“%s“,_); while(_)k+; printf(“%s/n“,b); (分数:6.00)_正确答案:()解析:k=0 a 或 float i; struet COMP x,y,z; scanf(“%f,%f,%f,%f“, z.r=x.r*y.r-x.i*y.i; z.i=_; p

22、rintf(“%f+%fi/n“,_); (分数:6.00)_正确答案:()解析: char s_name10; char t_name10; s100, *p=s; int n=0; char name10; for(p=s;ps+100;p+) scanf(“%1d%s%s“, scanf(“%s“,name); for(p=s;ps+100;p+) if(strcmp(name,p-t_name)=0)n+; printf(“%s:%d/n“,name,n); 34.(1)编写一个函数 change()实现两个实型变量的值交换。 (2)写出主函数,从键盘上输入两个数,然后调用函数 change()交换两个实型数的值并输出。 (分数:8.00)_正确答案:()解析:void change(float *x,float *y) float temp; temp=*x; *x=*y; *y=temp; main() float a,b; scanf(“%f,%f“, change( printf(“%f,%f/n“,a,b);

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

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

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