自学考试高级语言程序设计历年真题和答案 .pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《自学考试高级语言程序设计历年真题和答案 .pdf》由会员分享,可在线阅读,更多相关《自学考试高级语言程序设计历年真题和答案 .pdf(42页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第 1 页2001 年 10 月自考高级语言程序设计(一)试题第一部分选择题一、单项选择题(本大题共20 小题,每小题1 分,共 20 分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。1.C 语言程序编译时,程序中的注释部分A.参加编译,并会出现在目标程序中B.参加编译,但不会出现在目标程序中C.不参加编译,但会出现在目标程序中D.不参加编译,也不会出现在目标程序中2.下列表达式的值为0 的是()A.3%5 B.3/5.0 C.3/5 D.35 3.正确的 C 语言用户自定义标识符是()A.print B.float C.when?D.rando
2、m%2 4.设 int a=3;则表达式a1的运算结果和a 的值分别是()A.0 和 2 B.0 和 3 C.1 和 2 D.1 和 3 5.下列叙述中,正确的是()A.引用带参的宏时,实际参数的类型应与宏定义时的形式参数类型相一致B.宏名必须用大写字母表示C.宏替换不占用运行时间,只占编译时间D.在程序的一行上可以出现多个有效的宏定义6.下列保留字中用于构成循环结构的是()A.if B.while C.switch D.default 7.与语句 if(ab)if(cd)x=1;else x=2;等价的是()A.if(ab)if(cd)x=1;else x=2;B.if(ab)if(cd)x
3、=1;else x=2;C.if(ab)&(cd)x=1;else x=2;D.if(ad)x=1;8.设 char x=a;则 printf(x=%c,y=%c n,x,97);的输出是A.x=a,y=97 B.x=97,y=a C.x=97,y=97 D.x=a,y=a 9.设 int a4=1,2,3,4,5,6,7,8,9;则数组 a的第一维的大小是()A.2 B.3 C.4 D.无确定值10.执行下列程序int a33=1,2,3;int b33=1,2,3;main()printf(%d n”,a1 0+b00);后输出的结果是A.0 B.1 C.2 D.3 11.设 char s
4、tr100;int i=5;则引用数组元素的错误形式是()A.str i+10B.*(str+i)C.*(str+i-1)D.*(str+)+i)12.设 int x=1,2,3,4,5,6,*p=x;则值为 3 的表达式是()A.p+=2,*+p B.p+=2,*p+C.p+=3,*p D.p+=2,+*p 13.在函数内,定义变量时存储类型符可省略的是()名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 42 页 -第 2 页A.auto B.static C.extern D.register 14.执行下列程序()int a=3,b=4;void fun(int x1,in
5、t x2)printf(%d,%dn,x1+x2,b);main()int a=5,b=6;fun(a,b);后输出的结果是A.3,4 B.11,1 C.11,4 D.11,6 15.设有定义语句struct int a;float b;d3=1,4,2,5,6,7;则 printf(%3.1fn,d2.a*d2.b/d1.b);的输出是()A.2.5 B.2.0 C.8.0 D.8.4 16.设有定义语句:enum t1 a1,a2=7,a3,a4=15time;()则枚举常量a2 和 a3 的值分别为A.1 和 2 B.2 和 3 C.7 和 2 D.7 和 8 17.将一个整数10002
6、 存到磁盘上,以ASCII 码形式存储和以二进制形式存储,占用的字节数分别是()A.2 和 2 B.2 和 5 C.5 和 2 D.5 和 5 18.在文件使用方式中,字符串rb 表示()A.打开一个已存在的二进制文件,只能读取数据B.打开一个文本文件,只能写入数据C.打开一个已存在的文本文件,只能读取数据D.打开一个二进制文件,只能写入数据19.执行下列程序()#define F(y)15y#define PRINT(a)printf(%d,a)main()PRINT(F(2);后输出的结果是A.3 B.3.5 C.14 D.7.5 20.main()函数可以带两个形参,一般分为argc和
7、argv,其中 argv 可以定义为()A.int argv B.char*argv;C.char argv;D.char*argv;第二部分非选择题二、填空题(本大题共 10 小题,每小题2 分,共 20 分)21.初始化值是0.618 的双精度变量a 的定义形式为 _。22.表达式!10!=1 的值是 _。23.“20=1)i-;执行后,i 的值为 _。26.被调函数在执行结束时,这个函数中定义的_类型的变量不被释放。27.设struct student 名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 42 页 -第 3 页int no;char name12;float s
8、core3;s1,*p=&s1;用指针法给s1 的成员 no 赋值 1234 的语句是 _。28.C 语言程序中对文本文件的存取是以_为单位进行的。29.设 char string=This_is_a_book!;则数组的长度应是_。30.设 int a23=2,3;则数组元素_的值为 3。三、程序分析题(本大题共5 小题,每小题5 分,共 25 分)阅读下列程序,将输出结果写到各题右侧的空白处31.int a=200;main()int i;for(i=1;i=a&c=A&c=x&c=X&c=Z)c=c-23;printf(%n,c);设从键盘上输入Next 33.#define N 7 m
9、ain()int i,j,temp,aN=1,2,3,4,5,6,7;for(i=0;iN/2;i+)j=N-1-i;temp=ai;ai=aj;aj=temp;for(i=0;iN;i+)printf(%5d,ai);34.struct porb char*name;int count;x=Li ning,19,Lang ping,21,Zhu jian hua,20;main()int i;名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 42 页 -第 4 页for(i=0;i3;i+)printf(%s:%dn,xi.name,xi.count);35.main()unio
10、n short a;char ch;M;M.a=100;M.ch=A;printf(%d,%d,%cn,sizeof(M),M.a,M.ch);四、程序填充题(本大题共3 小题,每小题6 分,共 18 分)给出下列程序,将横线处缺少的部分补上,使其能正确运行。36.以下程序的功能是用选择法对数组a 中的整数由小到大进行排序。void sort(int b,int n)int i,j,t;for(i=0;in-1;i+)for(_;in;i+)if(bi_bj)t=bi;_;bj=t;main()int a=5,8,6,2,7,4,1,3;int i;sort(a,8);for(i=0;i8;i
11、+)printf(%5d,ai);printf(n);37.输入一字符串(换行为结束标志)统计其中数字(0,1,2,,,9 不单独统计)、空白和其它字符出现的次数。#include“stdio.h main()char c;int_;while(c=getchar())!=n)if(_)digit+;else if(c=|c=t)+blank;else_;printf(digit=%d,blank=%d,other=%dn,digit,blank,other);38.先为数组a输满数据,再为x 输入一个数据,在数组a 中找出第一个与x 相等的元素并将其下标输出,若不存在这样的元素,则输出“No
12、t found!”标志。main()int i,x,a10;for(i=0;i10;i+)scanf(%d,_);scanf(%d,&x);printf(%d,x);名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 42 页 -第 5 页for(i=0;i20&x20)&(xno=1234;或者(*p).no=1234;28.字节29.16 30。a10 三、程序分析题(本大题共5 小题,每小题5 分,共 25 分)31.201,21 202,22 203,23 204,24 205,25 32.Q(若结果为Qhaw,只得 3 分)33.7 6 5 4 3 2 1 34.Li ni
13、ng:19 Lang ping:21 Zhu jian hua:20 35.2,65,A 四、程序填充题(本大题共3 小题,每小题6 分,共 18 分)36.(1)j=i+1(2)(3)bi=bj 37.(1)digit=0,blank=0,other=0(2)c=0&c=9 名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 42 页 -第 6 页(3)+other 或者 other+38.(1)&ai 或者 a+i(2)x=ai(3)五、程序设计题(第 39 小题 5 分,第 40、41 小题各 6 分,共 17 分)39.main()int i;for(i=10;i=1000;
14、i+)if(i%2=0)&(i%3=0)&(i%7=0)printf(i=%dn,i);40.main()int a=0,b=0,i;for(i=2;i=100;i+=2)a+=i;b+=i-1;printf(Sum of even number=%dn,a);printf(Sum of odd number=%dn,b);41.#include string.h main()int i,n;static char str80;gets(str);n=strlen(str);for(i=0;ib)printf(%dn,a);printf(%dn,b);B.printf(%dn,b);if(ab
15、)printf(%dn,a);C.if(ab)printf(%dn,a);else printf(%dn,b);D.if(ab)printf(%dn,a);printf(%dn,b);6.执行语句“for(s=0,i=1;i=10;i=i+3)s+=i;”后,变量s、i 的当前值是()A.22,13 B.12,10 C.22,10 D.12,13 7.下列各语句定义了数组,其中一个不正确的是()A.static int a 5,b2 3;B.char no30,rec 30,6;C.int x =2,4,6,8,10;D.int x 10=1,2,3,4,5;8.宏定义“define p(x,
16、y,z)x=y*z;”的宏替换“p(a,x+5,y3.1)”应为()A.a=x+5*y3.1 B.a=(x+5)*(y3.1);C.a=x+5*y3.1 D.a=(x+5)*(y3.1)9.下列语句定义p 为指向 float 类型变量d 的指针,其中哪一个是正确的()A.float d,*p=d;B.float d,*p=&d;C.float d,p=d;D.float*p=&d,d;10.执行语句“for(i=0;i10;+i,+a)scanf(%d,a);”试图为int 类型数组a10输入数据,是错误的。错误的原因是()A.指针变量不能做自增运算B.数组首地址不可改变C.+i 应写作 i+
17、D.+a 应写作 a+11.定义函数时,缺省函数的类型声明,则函数类型取缺省类型()A.void B.char C.float D.int 12.执行语句“k=53;”后,变量k 的当前值是()A.1 B.8 C.7 D.2 名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 42 页 -第 8 页13.执行语句“k=53;”后,变量k 的当前值是()A.15 B.125 C.8 D.6 14.以“只读”方式打开文本文件a:aa.dat,下列语句中哪一个是正确的()A.fp=fopen(a:aa.dat,ab);B.fp=fopen(a:aa.dat,a);C.fp=fopen(a:
18、aa.dat,wb);D.fp=fopen(a:aa.dat,r);15.写字符到磁盘文件的fpuc 函数,其函数原型(头)正确的是()A.FILE*fputc(char)B.int fputc(FILE*)C.int fpuc(char,FILE*)D.int fputc(FILE*,char)二、填空题(每空 1 分,共 15 分)1.设 int a=5,b=2;float c=32.8;,表达式 b*(int)c%a 的值为 _。2.计算 a、b中最小值的条件表达式为_。3.计算 x、y 之和的立方根,表达式应写作_。4.判断变量a、b、c 的值是否是等差数列中连续的三项,写作C 的表达
19、式为 _。5.判断变量a、b 的值均不为0 的 C 表达式为 _。6.执行语句“a=5+(c=6);”后,变量a、c 的值依次为 _。7.整型变量x 的值为 23,语句“printf(%o n,x);”的输出结果为_。8.执行语句“n=1;if(n=5)n+;后,变量n 值为 _。9.执行语句“s=0;n=5;while(n)s+=n;”后,变量s、n 值依次为 _。10.执行语句“for(s=0,i=1;i11;i+)if(i=6)continue;s+=i;后,s 值为 _。11.若声明“char a=windows ,b=9x;”,执行语句“printf(%s,strcat(a,b);”
20、的输出结果为_。12.若声明“char a15=Windows9x;”,语句“printf(%s,a+8);”的输出结果为_。13.程序中使用了字符串函数(如 strlen),则必须包含的头文件名为_。14.访问结构体数组元素ak的成员b,写作 _。15.a、b 都是结构体变量,语句“a=b;”能够执行的条件是_。三、程序阅读题,读下列程序,在程序旁的划线处写出程序的输出结果。每行2 分,共 24 分)1.include void main()输出结果:_ int i;_ for(i=1;i5;i+)printf(%dt%c n,i,A+i);_ _ 2.include void main()
21、int i,j,a 4 4;for(i=0;i4;i+)for(j=0;j4;j+)a i j=1+ij;for(i=0;i4;i+)for(j=0;j0)printf(%3d,ai j);_ putchar(n);_ _ 3.include void f(float a,float b,float*c)名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 42 页 -第 9 页 static float x;float y;x=(y=ab?a:b)x?y:x;*c=x;void main()float a 5=2.5,1.5,7.5,4.5,6.5,x;for(int i=0;i4;
22、i+)输出结果:_ f(ai,a i+1,&x);_ printf(%.1fn,x);_ _ 四、根据下列各编程题题意填空(每空 2 分,共 24 分)1.输入 2 个整数,输出它们的最小公倍数和最大公约数。include void main()int m,n,gbs,gys;scanf(1);gbs=m;while(2)gbs=gbs+m;gys=(3);(4);2.下列函数sum的返回值为一个整数m 的所有因子之和。(1)int s=1;i;for(2);inum&(2)p2=p1;p1=p1next;if(3)if(p1=h)h=p1next;else(4);printf(delete:
23、%1dn,n);else printf(%1d not been found!n,n);return h;五、编程题(第 1 小题 6 分,其他小题各8分,共 22 分)1.编程,先输入n,再输入n 个实数并分别统计正数的和、负数的和,然后输出统计结果。2.编程,输入a1、a2、.、a15名师资料总结-精品资料欢迎下载-名师精心整理-第 9 页,共 42 页 -第 10 页1111111231415aaaaa3.把文本文件x1.dat 复制到文本文件x2.dat 中,要求仅复制x1.dat 中的非空格字符。浙江省 2002 年 1 月高等教育自学考试高级语言程序设计(一)试题参考答案课程代码:
24、00342 一、单项选择题(每小题 1 分,共 15 分)1.B 2.C 3.C 4.C 5.C 6.A 7.B 8.A 9.B 10.B 11.D 12.C 13.D 14.D 15.C 二、填空题(每空 1 分,共 15 分)1.4 2.ab 15.a、b 为同类型的结构体变量三、程序阅读题(每行 2 分,共 24 分)1.1 B 2.1 3.2.5 2 C 2 1 7.5 3 D 3 2 1 7.5 4 E 4 3 2 1 7.5 四、根据下列各编程题题意填空(每空 2 分,共 24 分)1.(1)%d%d,&m,&n(2)gbs%n!=0(3)m*n/gbs 名师资料总结-精品资料欢迎
25、下载-名师精心整理-第 10 页,共 42 页 -第 11 页(4)printf(%d%dn,gbs,gys);2.(1)int sum(int m)(2)i=2(3)m%i=0(4)return s 3.(1)return h(2)p1next!=NULL(3)n=p1num(4)p2next=p1next 五、编程题(第 1 小题 6 分,其他小题各8分,共 22 分)1.include void main()int i,n;float x,s1=0;s2=0;scanf(%d,&n);for(i=1;i0)s1+;if(x0)s2+;printf(%f%fn,s1,s2,);2.incl
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 自学考试高级语言程序设计历年真题和答案 2022 自学考试 高级 语言程序设计 历年 答案
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内