全国高等教育自学考试高级语言程序设计77.docx
- 文档编号:24256882
- 上传时间:2023-05-25
- 格式:DOCX
- 页数:11
- 大小:19.21KB
全国高等教育自学考试高级语言程序设计77.docx
《全国高等教育自学考试高级语言程序设计77.docx》由会员分享,可在线阅读,更多相关《全国高等教育自学考试高级语言程序设计77.docx(11页珍藏版)》请在冰豆网上搜索。
全国高等教育自学考试高级语言程序设计77
2001年10月全国高等教育自学考试高级语言程序设计
(一)试卷
第一部分选择题
一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。
1.C语言程序编译时,程序中的注释部分【】
A.参加编译,并会出现在目标程序中
B.参加编译,但不会出现在目标程序中
C.不参加编译,但会出现在目标程序中
D.不参加编译,也不会出现在目标程序中
2.下列表达式的值为0的是【】
A.3﹪5
B.3/5.0
C.3/5
D.3<5
3.正确的C语言用户自定义标识符是【】
A.print
B.float
C.when?
D.random﹪2
4.设inta=3;则表达式a<1&&--a>1的运算结果和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(a>b)if(c>d)x=1;elsex=2;等价的是【】
A.if(a>b){if(c>d)x=1;elsex=2;}
B.if(a>b){if(c>d)x=1;}elsex=2;
C.if((a>b)&&(c>d))x=1;elsex=2;
D.if(a<=b)x=2;elseif(c>d)x=1;
8.设charx=′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.设inta[][4]={1,2,3,4,5,6,7,8,9};则数组a的第一维的大小是【】
A.2
B.3
C.4
D.无确定值
10.执行下列程序
inta[3][3]={{1},{2},{3}};
intb[3][3]={1,2,3};
main()
{printf(″﹪d\n″,a[1][0]+b[0][0]);}
后输出的结果是【】
A.0
B.1
C.2
D.3
11.设charstr[100];inti=5;则引用数组元素的错误形式是【】
A.str[i+10]
B.(str+i)
C.(str+i-1)
D.((str++)+i)
12.设intx[]={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.在函数内,定义变量时存储类型符可省略的是【】
A.auto
B.static
C.extern
D.register
14.执行下列程序
inta=3,b=4;
voidfun(intx1,intx2)
{printf(″﹪d,﹪d\n″,x1+x2,b);}
main()
{inta=5,b=6;fun(a,b);}
后输出的结果是【】
A.3,4
B.11,1
C.11,4
D.11,6
15.设有定义语句
struct
{inta;floatb;}d[3]={{1,4},{2,5},{6,7}};
则printf(″﹪3.1f\n″,d[2].a*d[2].b/d[1].b);的输出是【】
A.2.5
B.2.0
C.8.0
D.8.4
16.设有定义语句:
enumt1{a1,a2=7,a3,a4=15}time;
则枚举常量a2和a3的值分别为【】
A.1和2
B.2和3
C.7和2
D.7和8
17.将一个整数10002存到磁盘上,以ASCII码形式存储和以二进制形式存储,占用的字节数分别是【】
A.2和2
B.2和5
C.5和2
D.5和5
18.在文件使用方式中,字符串″rb″表示【】
A.打开一个已存在的二进制文件,只能读取数据
B.打开一个文本文件,只能写入数据
C.打开一个已存在的文本文件,只能读取数据
D.打开一个二进制文件,只能写入数据
19.执行下列程序
#defineF(y)15>>y
#definePRINT(a)printf(″﹪d″,a)
main()
{
PRINT(F
(2));
}
后输出的结果是【】
A.3
B.3.5
C.14
D.7.5
20.main()函数可以带两个形参,一般分为argc和argv,其中argv可以定义为【】
A.intargv;
B.char*argv[];
C.charargv[];
D.char**argv[];
第二部分非选择题
二、填空题(本大题共10小题,每小题2分,共20分)
21.初始化值是0.618的双精度变量a的定义形式为_____________________。
22.表达式!
10!
=1的值是____________________。
23.“20 24.表达式a=1,a+1,a++的值是___________________。 25.设inti=5;则循环语句while(i>=1)i--;执行后,i的值为_______________。 26.被调函数在执行结束时,这个函数中定义的__________________类型的变量不被释放。 27.设 structstudent { intno; charname[12]; floatscore[3]; }sl,*p=&sl; 用指针法给sl的成员no赋值1234的语句是___________________。 28.C语言程序中对文本文件的存取是以________________为单位进行的。 29.设charstring[]=″This_is_a_book! ″;则数组的长度应是________________。 30.设inta[2][3]={{2},{3}};则数组元素_____________________的值为3。 三、程序分析题(本大题共5小题,每小题5分,共25分)阅读下列程序,将输出结果写到各题右侧的空白处 31.inta=200; main() {inti; for(i=1;i<=5;i++) {a++; printf(″﹪d,″,a); s() } { s() {staticinta=20; a++; printf(″﹪d\n″,a); } 32.#include″stdio.h″ main() {charc; c=getchar(); if(c>=′a′&&c<=′z′)‖c>=′X′&&c<=′Z′)c=c-23; printf(″﹪c\n″,c); } 设从键盘上输入Next↙ 33.#defineN7 main() {inti,j,temp,a[N]={1,2,3,4,5,6,7}; for(i=0;i {j=N-1-i; temp=a[i];a[i]=a[j];a[j]=temp; } for(i=0;i } 34.structporb {char*name; intcount; }x[]={″Lining″,19,″Langping″,21,″Zhujianhua″,20}; main() {inti; for(i=0;i<3;i++) printf(″﹪s: ﹪d\n″,x[i].name,x[i].count); } 35.main() {union {shorta;charch; }M; M.a=100;M.ch=′A′; printf(″﹪d,﹪d,﹪c\n″,sizeof(M),M.a,M.ch); } 四、程序填充题(本大题共3小题,每小题6分,共18分)给出下列程序,将横线处缺少的部分补上,使其能正确运行。 36.以下程序的功能是用选择法对数组a中的整数由小到大进行排序。 voidsort(intb[],intn) {inti,j,t; for(i=0;i for(______;j if(b[i]_____b[j]) {t=b[i];_____________;b[j]=t;} } main() {inta[]={5,8,6,2,7,4,1,3}; inti; sort(a,8); for(i=0;i<8;i++) printf(″﹪5d″,a[i]); printf(″\n″); } 37.输入一字符串(换行为结束标志)统计其中数字(0,1,2,…,9不单独统计)、空白和其它字符出现的次数。 #include″stdio.h″ main() {charc; int___________________________; while((c=getchar())! =′\n′) { if(__________________________)digit++; elseif(c==′′‖c==′\t′)++blank; else__________________________; } printf(″digit=﹪d,blank=﹪d,other=﹪d\n″,digit,blank,other); } 38.先为数组a输满数据,再为x输入一个数据,在数组a中找出第一个与x相等的元素并将其下标输出,若不存在这样的元素,则输出“Notfound! ”标志。 main() {inti,x,a[10]; for(i=0;i<10;i++)scanf(″﹪d″,___________); scanf(″﹪d″,&x);printf(″﹪d″,x); for(i=0;i<10;i++)if(_________________)break; if(i_________10)printf(″position: ﹪d\n″,i); elseprintf(″Notfound! \n″,x); } 五、程序设计题(第39小题5分,第40、41小题各6分,共17分)。 39.求出10至1000之内能同时被2、3、7整除的数,并输出。 40.求1到100之间的奇数之和及偶数之和,并将二者输出。 41.输入一字符串,检查是否回文(回文是指正反序相同,如,LeveL),若是则输出“Yes”,否则输出“No”。 高级语言程序设计 (一)试题参考答案 一、单项选择题 1.D 2.C 3.A 4.B 5.C 6.B 7.A 8.D 9.B 10.D 11.D 12.B 13.A 14.C 15.D 16.D 17.C 18.A 19.A 20.B 二、填空题 21.Doublea=0.618; 22.1 23.x>20&&x<=30或者(x>20)&&(x<=30) 24.2 25.0 26.静态存储,或者static 27.P->no=1234;或者(*p).no=1234; 28.字节 29.16 30.a[1][0] 三、程序分析题 31.201,21 202,22 203,23 204,24 205,25 32.Q 33.7654321 34.Lining: 19 Langping: 21 Zhujianhua: 20 35.2,65,A 四、程序填充题 36. (1)j=i+1 (2)> (3)b[i]=b[j] 37. (1)digit=0,blank=0,other=0 (2)c>=′0′&&c<=′9′ (3)++other或者other++ 38. (1)&a[i]或者a+i (2)x==a[i] (3)< 五、程序设计题 下述答案仅供参考,若采用其它方法答案,只要正确实现题目要求即可。 39.main() {inti for(i=10;i<=1000;i++) if((i﹪2==0)&&(i﹪3==0)&&(i﹪7==0)) printf(″i=﹪d\n″,i); } 40.main() {inta=0,b=0,i; for(i=2;i<=100;i+=2) {2+=i;b+=i-1;} printf(″Sumofevennumber=﹪d\n″,a); printf(″Sumofoddnumber=﹪d\n″,b); } 41.#include″string.h″ main() {inti,n;staticcharstr[80]; gets(str);n=strlen(str); for(i=0;i if(str[i]! =str[n-1-i]) {printf(″No! \n″);break;} if(i==n/2)printf(″Yes! \n″);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 全国 高等教育 自学考试 高级 语言程序设计 77
![提示](https://static.bdocx.com/images/bang_tan.gif)