高等教育自学考试高级语言程序设计试题九套_第1页
高等教育自学考试高级语言程序设计试题九套_第2页
高等教育自学考试高级语言程序设计试题九套_第3页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、全国2010年1月高等教育自学考试高级语言程序设计(一)试题课程代码:00342一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、 多选或未选均无分。1. 下列不属于保留字的是(C )A. defaultB. registerC. sructD. unsign2. 下列不能作为常量的是(A )A. 0582B. 0xa5C. nD. 2.5e-23. 设 typedef long class;,贝U class 是(C )A. 整型变量B. 长整型变量C. 长整型数据类型的新标识符D. 新的而非长整型

2、数据类型的标识符4. 设 char c= A int i=l, j;,执行 j=!c&i+;后,i 和 j 的值分别是(C)A. 1 和 0B. 1 和 1C. 2 和 0D. 2 和 I5. 设int a ,执行表达式(a=1, 2, 3), a+1后,a和表达式的值分别是(A )A. 1 和 2B. 2 和 3C. 3 和 4D. 4 和 56. 下列关于函数定义正确的是(D )A. fun(int x,y)intz; returnz;B. void fun(int x,int y)returnx+y; C. fun(x,y)int x,y; doublez;z=x+y ;returnz;

3、 D. double fun(int x,int y) double z; z=x+y ; return z;)7. 下列用户自定义标识符正确的是(B )A. 4aB. b_1C. -&D. *p8. 下列程序段中循环体执行的次数是(B )int x=-1 ;dox=x*x ;while(! x);A. 0B. 1C. 2D. 无限9. 实现字符串连接的系统函数名是(A )A. strcatB. strcmpC. strcpyD. strlen10. 若实参是一个数组名,在调用函数时,实参向形参传递的是 (B )A. 数组的长度B. 数组的首地址C. 数组每个元素的值D. 数组每个元素的地址1

4、1. 设 int a 4=l,2,3,4,5,6,7;,则 a13的值是(A )A. 0B. 3C. 4D. 712. 若定义一个只限本源文件使用的全局变量,则该变量的存储类别是(C )A. externB. registerC. staticD. auto13. 设 chark= a oat j=2.0;,执行 k+=5/j ; printf( % c”,k);后,输出结果是(C )A. aB. bC. cD. d14. 下列程序段正确的是(D )A. char s = xyz; ; seanf( %s” s);B. float*p , i;p=*p+i ;C. char s5= word

5、puts(s);D. int a5=0 , *p=a ;*p=*(p+1);15. 关于编译预处理命令,叙述正确的是(A )A. 预处理命令都以“ #开头B. 预处理命令必须位于程序的首部C. 预处理命令只能实现宏定义和条件编译的功能D. 每个程序必须在开头使用预处理命令#include二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。错填、不填均无分。16. 设float a,b,c;,若a、b和c分别为三角形的三条边长,它们能构成等边三角形”的逻辑表达式是(a-b)=(b-c)。17. 设 int i; float f=3.14 ;,执行 i=(int)f

6、 ;后,变量 f 的值是3。l 8.设 char s= ” Namen ”; , s 的长度是 15。19. 执行 printf(%“ n”,3&2&5);后的结果是 0。20. 算术运算符的优先级比关系运算符的优先级 高。21. 单目运算符的结合性是 自右向左。22. 设 int x=1 , y=3, z;,执行 z=xy?+x : y+ ;后,z 的值是3。23. 设int m=3 ; float n=12.6 ; char ch= a,若用输入语句实现上述三个变量的初始化结果且键入数据形式为:3, 12.6a,贝U scanf 语句应是scanf( “ d,%f%a ” ,&m,&n,&

7、ch);。24. 若定义函数时类型缺省,则该函数默认的类型是 int。25. 设 int a5=l , 3, 5, 7, 9, *p=&a2;,贝U +(*p)的值是6。三、程序分析题(本大题共4小题,每小题4分,共16分)阅读下列程序,将输出结果写到各题右侧的空白处。26.void main()int color=2 ;switch(color)case l: printf(case 2: printf(case 3: printf( 27.void main()int m , n; for(m=1 ; m=3 ;for(n=1 ;printf(28.n =2*m-ln )“red” ; b

8、reak ;“ yellow”)“ blue”)yellow bluem+);n+)printf“*”;)*void main()float x=3.6 ;int i;i=x;printf( x=%5.3f,=%d n”,x, i);x=3.600,i=329.void main()int a23=1 , 2, 3, 4, 5, 6;int b32 , i, j;for(i=0 ; i=1 ; i+)for (j=0 ; j=2 ; j+) printf(“ %5d, aij);bji=aij;printf( n)array b:142536printf( “ arrayb: n”)for (

9、i=0 ; i=2 ; i+)for (j=0 ; j=1 ; j+) printf(“ 5d, bij);四、程序填充题(本大题共3小题,每小题6分,共18分) 请将下列程序横线处缺少的部分补上,使其能正确运行。30. 从键盘输入10个学生的姓名、性别和成绩,计算并输出这些学生的平均成绩。#define N 10struct studentchar name 20;char sex;int score ; stuN;void main()int i ;float aver,sum=0 ;for(i=0 ; iN ; i+) scanf( “%d %c%” ,_&stui.score,&stu

10、i.sex,&); /* 第一空 */sum=sum+stui.score ;/* 第二空 */aver=sum/N ;/* 第三空 */printf( “aver=%6.2f n”,aver);31. 从键盘输入一串字符(以“ ?作为结束标志),保存到文本文件text. txt中。#i nclude“ stdio.h ”void main()FILE _*fp;/* 第一空 */char ch ;if( (fp=fopen ( “text. txt ” w” ) )=NULL) exit(0) ;/*第二空 */while( (ch=getchar( )!= ?fp)jte

11、 (ch,fp) ;/* 第三空 */fclose(fp);32. 用递归方法计算学生年龄,已知第一位学生年龄为10岁,其余学生一个比一个大2岁,求第5位学生的年龄。递归公式如下:10 n=la点口-0+ 2口=1age( n)= Lint age(int n)if (n=1) return (_10) ;/* 第一空 */else return(_age(n-1)+2) ;/* 第二空 */void main()printf( %”, _age(5); /* 第三空 */五、程序设计题(本大题共2小题,每小题8分,共16分)33. 从键盘输入三个整数a、b和c,按照由小到大的顺序输出。#in

12、clude void main()int a,b,c,t;scan f(%d,%d,%d,&a,&b, &c);if(ab)t=a;a=b;b=t;if(ac)t=a;a=c;c=t;if(b%d-%dn,c,b,a);34. (1)编写一函数,将指针变量 pl和p2所指向的整数值交换。其中:函数头是 void swap (int *pl,int *p2)void swap(int *p1,int *p2)int t;t=*p1;*p1=*p2;*p2=t;(2)编写一个主程序,从键盘输入两个整数,调用上述函数实现两个数据的交换并输出。void main()int a=19,b=-99,*p=

13、&a,*q=&b;swap(p,q);printf( “%d,%d ” ,*p,*q);全国2009年10月高等教育自学考试高级语言程序设计(一)试题课程代码:00342一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。1. 主函数头中的main是(B )A. 保留字B. 函数名C. 变量名D. 类型名2. 下列运算符中优先级最高的是(D )A. ?:B. &C. IID. !3. 设 static int a;,执行表达式(a= =1)& (a=-1)& ( a=2 )后,a 的值

14、是(D )A. -1B. 0C. 1D. 24. 设 int a,b ;,与 a+=b+ ;等价的是(C )A. a=b+ ;B. a=+b ;C. a=a+b+ ;D. a=a+b ;5. 关于宏定义命令,叙述正确的是(B)A. 在程序编译前进行宏替换B. 在程序编译时进行宏替换C. 在程序编译后进行宏替换D. 在程序运行时进行宏替换6. 下列表达式值为0的是(D)A. 5 / 2B. 2&5C. !25D. 2 &57. 对循环结构正确的叙述是(B )A. do-while循环体可能被执行 0次B. do-while循环体至少被执行1次C. while循环体不可能被执行0次D. for循环

15、体不可能被执行无限次8下列数组定义并初始化正确的是(C )A. int s= (1,2,3,4,5);B. int s5=1,2,3,4,5 ;C. int s : 2+3 =1,2,3;D. int s (5) =1,2,3;9. 设char s10;,能将字符串“+*/”正确输入的语句是(B )A. scanf ( % s ”)s ;B. scanf ( % s ” ,*);C. scanf ( % s”,$0);D. scanf ( % s”,$10);10. 对于C语言中的函数,正确的叙述是(D )A. 两个函数可以相互调用,但不能自己调用自己B. 程序执行可以始于任何一个函数,但结束

16、必须在主函数C. 两个函数既可以定义成并列关系又可以定义成嵌套关系D. 个C程序可以由多个文件组成,一个文件又可以由多个函数组成11. 设 int m5,*p=m ;,与元素 m5,*p=m;,与元素 m2等价的是(C )A. m+2B. *m+2C. * (p+2)D. *p+212. 设 int a33=1,2,3,4,5,6;,元素 a12的值是(A )A. 0B. 1C. 4D. 613. 设 typedef int ARR10;,与 ARRa,*b ;等价的定义是(D )A. int a,b;B. int a,*b ;C. int a10,*b ;D. int a10,*b10;14

17、. 设 int n,p=0 ;,与语句 if (n! =0) p=1 ;等价的是(A )A. if ( n) p=1 ;B. if (n=1 ) p=l ;C. if (n! =1) p=1 ;D. if (! n) p=l ;15. 文件使用方式“ rb+的含义是(C )A. 对文本文件只读B. 对文本文件读和写C. 对二进制文件读和写D. 对二进制文件只写二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。错填、不填均无分。16. 执行 printf ( % n”,1+!2+( 3=0 ; i-) * (a+i) =i;for (p=a; pq ) retu

18、rn gcd ( p-q,q );else return gcd ( p,q-p );void main ()int m=24,n=36,min,max ;max=gcd (m,n);min=m*n / max ;printf ( “ max=% d,min= % n”,max, min);max=12, min=7228.s (int a)static int b=IO;if (a % 2= =1) return (+b );else return (+a);void main () i nt i;for (i=0 ; i3; i+ ) printf ( % d、t ” ,( i);prin

19、tf ( n);111329.struct peoplechar name10;float score;per =“ Tom ,95.5,“ Mary ” ;,88.0void main ()struct people*p=per+1 ;printf ( % s,%n”,,pf score);Tom,88.0四、程序填充题(本大题共3小题,每小题6分,共18分)请将下列程序横线处缺少的部分补上,使其能正确运行。30. 对两个整型变量先进行输入和输出,将它们的值交换后再输出。#define PR printf ( “ a% d,b= % n” ,a,bvoid main ()i

20、nt a,b,_temp;/ * 第一空 * /scanf ( % d % d ,_&a,&b );/ * 第二空 */PR;temp=a,_a=b,b=temp ; /* 第三空 */PR ;31. 为二维数组各元素输入数据,计算并输出全部元素之和。#define N 5void main ()int i,j,a : N N: ,sum=_0; /* 第一空 */for (i=0 ; iN ; i+ )for (j=0 ; j0);printf( “ %d ” ,t);全国2009年1月高等教育自学考试高级语言程序设计(一)试题课程代码:00342一、单项选择题(本大题共 15小题,每小题2

21、分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。1. 设 int a,b;,则表达式(b=2, a=5, b+, a+b)的值是( C )A. 2B. 5C. 7D. 82. 设 int a=7; float x=2.5, y=4.7;,则表达式 x+3%(int)(x+y)/4的值是( C )A. 2.75B. 3.5C. 2.5D. 0.03. 设char cl;,则cl中为小写英文字母字符的正确表达式为(B )A. a=a)&(cl=a)&(c1=z)D. (a=c1)4. 一维数组a的正确说明语句为( B )A.

22、int a(10);B. int n=10, an;C. int n;D. #define SIZE 10scanf( %d,&n);int aSIZE;int an;5. 已知字符 A 的 ASCII 码值是 65,且 char cl=A,c2=D:则执行语句printf( %d,%dn ,cl,c2-2);后的输出结果是(D )A. A, DB. A, BC. 65, 68D. 65, 666. 正确的条件语句为( C )A. if(a=b;)0)t=a;B. if(a=b)0)then t=a;C. if(ab)t=a;D. if(ab=a+;b+);7. 若有下列程序段:int x=l

23、, y=2;x=x+y;y=x_y;x=x_y;则执行后x和y的值分别为(C )A. 1 和 2B. 2 和 2C. 2 和 1D. 1 和 18. 设 int k,a,b;unsigned long w=5;double x=1.42;则不符合类型要求的表达式是(A )A. x%(-3)B. w+=2C. k=(a=2,b=3)D. a+=(b=4)*(a=3)9. 设 int a=3,b=4;,则 printf(%d,%d,(a,b),(b,a);的输出结果是( B )A. 3,4B. 4,3C. 3,4,4,3D. 4,3,3,410. 设int i=l, k=2;,则错误的循环语句是(

24、 A )A. for(i=0,k=-1;i+,k+);B. for(;k-1;i+);C. for(i=1,k=4;k-;i+);D. for(;k-;);11. 设 typedef structint a;char s10; TYPE;TYPE u1;则 printf(%dn,sizeof(u1);的输出结果是( B )A. 2B. 12C. 14D. 1612. 设 char sl =string1,s28,*s3, *s4=string2;,则对系统函数 strcpy 的错误调用是( C )A. strcpy(s1, string1);B. strcpy(s4, string2);C.

25、strcpy(string2,s2);D. strcpy(s3, string1);13. 正确的数组定义及初始化的是(A )A. char a10=string;B. int a5=0,1,2,3,4,5;C. char a=string;D. int a =x,y,z;14. 在循环体中用来强制继续循环的语句是(B )A. breakB. continueC. exitD. return15. 在C语言中,标准的输入设备stdin是指(D )A. 软盘B. 硬盘C. 显示器D. 键盘二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。错填、不填均无分。16.

26、 设有宏定义 #define X 10-4,则 printf(%dn,6*X);的输出结果是 56。17. 设 double x:,则表达式 x=5,(x+5)/2 的值是5.0。18. 能正确表述2x3 或 x-10的 C 语言表达式是 (x2)&(x3) 。19. 设有循环语句for(i=-1;i=5;i+)i+;,则其循环体执行的次数是 4。20. 调用系统函数strcmp(),必须在程序的开头写上一条文件包含命令是 #include 21 .设 char s15=(programming);,贝U printf(%dn,strlen(s);的结果是 11。22.设 float a34=

27、7.5,8.2,2.3,3.7,1.2,1.0,3.4;, 贝U a21的值是3.4。23 .设 char a20=Switch,*p=a:,则 *(p+2)的值是i。24. 在函数间传递数据时,函数的形参和调用时的实参都是数组,传递方式为 地址传递 25. 若文件型指针fp已指向某文件的末尾,则函数feof(fp)的返回值是 非零。三、程序分析题(本大题共4小题,每小题4分,共16分) 阅读下列程序,将输出结果写到各题右侧的空白处。26. main() int x=1,a=0,b=0;switch(x)case 0: a+; break;case l: b+;case 2: a+; b+;

28、break;case 3: a+; b+;printf( a=%d,b=%d n ,a,b);a=1,b=227. main() int a=10,b=20,*p仁&a,*p2=&b;*p 1= 20;*p2=40;if(*p2*p1)*p1=*p2;printf( a=%d,b=%d n ,a,b);a=40,b=4028. f(int b) static int y=3;retur n( b+y+);main () int a=2,i,k;for(i=0;i2;i+)printf( %ah ,f(a+);5729. int funs(int n) if(n= =1 |n= =2) retu

29、rn 2;else return n+funs(n-1);main () int x=4;printf( S=%cn ,funs(x);S=9四、程序填充题(本大题共3小题,每小题6分,共18分)请将下列程序横线处缺少的部分补上,使其能正确运行。30. 从键盘输入10个整数,用冒泡排序法”由小到大进行排序。#define N 10main () int i,j,t,aN;for(i=0;iN;i+)scan f(%d,&ai);for(i=0;i=i+1;_-_) /* 第一空 */if(ajaj-1) t=aj;_aj=aj-1;aj-1=t;/* 第二空 */for(i=0;iN;i+)p

30、rintf( %5d , ai); /* 第三空 */printf( n);31. 统计文本文件file.dat的行数(提示:以n作为每行的结束)。#i nclude#i ncludemain () int lines=0; / * 第一空 */char ch;FILE *fp;fp=fopen( file.dat , r);while(_!feof(fp)/ *第二空 * / ch=fgetc(fp);if (ch _=_ n) lines+ :/ *第三空 */printf( Lines=%dn ,lines);fclose(fp);32. 从键盘输入10名学生的姓名和数学、英语及C语言的

31、成绩,计算并输出其总成绩和平均成绩。typedef struct char name20;int math,english,C;float sum,aver; /*总成绩和平均成绩 */STU;main () STU st10,*p;int i:for(i=0;i10;i+) printf( In put name :);scanf( %s ,_);/* 第一空 */printf( Input3 score:);seanf( %d,%d,%d,&sti . math,&sti.english,&sti.C);for(p=st;p_sum=p-math+p-english+p_C

32、;/*第二空 */p-_aver=p-sum/3;/* 第三空 */printf( name=%s,sum=%5.1f,aver=%5.1f n , p-name, p-sum, p-aver); 五、程序设计题(本大题共2小题,每小题8分,共16分)33 .输入实数x,按下列公式计算并输出x和y的值(小数点后保留两位)。sin X00 cz L0#include #include void main()float x,y,sin,n;scanf( “ f ”,&x);if(x=0)n=x*3.14/180;y=sin(n);printf(“ .2f ” ,y);if(x10) n=x*x*x

33、+x*x+1;y=1/n;printf( “ .2f ” ,y);c)计算公式:F(小数点后保留两34.( 1)编写一个计算摄氏(C)到华氏(F)转换的函数。函数头是:float temp(float=(9/5)C+32float temp(float c)float f;f=32+c*9/5;return(f); (2)编写主函数从键盘输入摄氏温度的值,调用上述函数输出摄氏及华氏温度的值位)。void main()float c,F;scanf( “ f”,&c);F=temp(c);printf( “ %f ” ,F);全国2008年10月高等教育自学考试高级语言程序设计(一)试题课程代码

34、:00342一、单项选择题(本大题共15小题,每小题2分,共30分)错选、在每小题列出的四个备选项中只有一个是最符合题目要求的,请将其代码填写在题后的括号内多选或未选均无分。1在一个C语言程序中( A )A. 主函数只能有一个B. 主函数可以有多个C. 非主函数只能有一个D. 主函数和非主函数都可以有多个2正确定义无符号整型变量m的语句是(B )A. int m;B. unsigned int m;C. signed int m;D. unsigned signed m;3. 不属于字符型常量的是( A )A. s ”B. 8C. AD. n4. 设int x=2,y=4;,值为非0的表达式是

35、( A )A. 1/x*yB. 1/(x*y)C. 1.0/x/yD. 1/x/ (double)y5. 设int a=2,b=5;,结果为0的表达式是( B )A. a%bB. a&bC. a=bD. a!=b6. 设int a=0;,错误的语句是( D )A. +a;B. a+;C. a=_a;D. (-a)+;7. 设 int a=1,b=2,c=3,d=4,f;,执行语句 f=(a!=b)?c+:d+;后 f 的值是( B )A. 2B. 3C. 4D. 58. 设 int m=5;,语句 while (m=0)printf ( %d ,r=2);的循环体执行的次数是(A )A. 0B

36、. 1C. 2D. 无限9. 下列运算符优先级最高的是(C )A. +=B. ,C. !D. ?:10. 定义二维数组并初始化,正确的是( B )A. int a3 =1,2,3,4,5,6;B. int a 3=1,2,3,4,5,6;C. int a33=1,2,3,4,5,6;D. int a =1,2,3,4,5,6;11. 有关变量的叙述,正确的是( D )A. 形式参数是全局变量B. a和A在C语言中是同一个变量C. 函数体内定义的变量为全局变量D. 在所有函数之外定义的变量为全局变量12. 若定义的函数为float*fun( ),则函数的返回值是( C )A. float型数据B

37、. void型数据C. float型指针D. void型指针13. 设int a10,*p=a;,数组元素a4的正确引用是( A )A. *(p+4)B. p+4C. *p+4D. a+414. 合法的用户标识符是(D )A. defaultB. #defineC. a+bD. book15. 使用系统函数sprt()时,应在程序开头写上的编译预处理命令是(C )A. #include B. #in clude C. #i nclude D. #i nclude 二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。错填、不填均无分。16. 赋值运算符的结合性是

38、自右向左 。17. 设char ch;,判断ch为数学字符的逻辑表达式是 ( ch= O) &(ch0);的输出结果是 1。21. 函数中未指定存储类型的局部变量,其隐含的存储类型是auto。22. 若全局整型变量未初始化,则默认的初始值是_0。23. 设int a,*p=&a;,通过指针变量 p为a输入值的scanf语句是scanf( “ %d ” ,p);24. 设 char*s= abc,语句0;s+) printf ( W 的输出结果是 WWW 。25. 设 struct studentchar name 20;char sex;stu;语句 printf( %ah ,sizeof(s

39、tu);的输出结果是 21。三、程序分析题(本大题共4小题,每小题4分,共16分)阅读下列程序,请将输出结果写到各题右侧的空白处。26. #i ncludevoid main()int i=11,j;j=i%3;switch (j) case 1:case 2: printf( %血,j); break; default: printf( %dh ,i); 227. #i ncludeint fx (int n)int s;if (n=0) s=0;else s=n+fx (n-2);return s;void main()printf ( %dn ,fx(8); 2028. #i nclude#i ncludevoid main ()char *pa, a 20= Beijing2008 ;for (pa=a+7;*pa!=0;pa+) putchar (*pa); putchar (n); 200829. #i nclude#define N 6void main ()int a N=2,5,-6,4,-9,10, i;for (i=0; iN;i+)if(ai0) continue;printf( %3d ,ai);printf ( n);25 410四、程序填充题(本大题共3小题,每小题

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论