高等教育自学考试高级语言程序设计考试试题九套.docx

上传人:b****1 文档编号:46577 上传时间:2023-04-28 格式:DOCX 页数:84 大小:90.80KB
下载 相关 举报
高等教育自学考试高级语言程序设计考试试题九套.docx_第1页
第1页 / 共84页
高等教育自学考试高级语言程序设计考试试题九套.docx_第2页
第2页 / 共84页
高等教育自学考试高级语言程序设计考试试题九套.docx_第3页
第3页 / 共84页
高等教育自学考试高级语言程序设计考试试题九套.docx_第4页
第4页 / 共84页
高等教育自学考试高级语言程序设计考试试题九套.docx_第5页
第5页 / 共84页
高等教育自学考试高级语言程序设计考试试题九套.docx_第6页
第6页 / 共84页
高等教育自学考试高级语言程序设计考试试题九套.docx_第7页
第7页 / 共84页
高等教育自学考试高级语言程序设计考试试题九套.docx_第8页
第8页 / 共84页
高等教育自学考试高级语言程序设计考试试题九套.docx_第9页
第9页 / 共84页
高等教育自学考试高级语言程序设计考试试题九套.docx_第10页
第10页 / 共84页
高等教育自学考试高级语言程序设计考试试题九套.docx_第11页
第11页 / 共84页
高等教育自学考试高级语言程序设计考试试题九套.docx_第12页
第12页 / 共84页
高等教育自学考试高级语言程序设计考试试题九套.docx_第13页
第13页 / 共84页
高等教育自学考试高级语言程序设计考试试题九套.docx_第14页
第14页 / 共84页
高等教育自学考试高级语言程序设计考试试题九套.docx_第15页
第15页 / 共84页
高等教育自学考试高级语言程序设计考试试题九套.docx_第16页
第16页 / 共84页
高等教育自学考试高级语言程序设计考试试题九套.docx_第17页
第17页 / 共84页
高等教育自学考试高级语言程序设计考试试题九套.docx_第18页
第18页 / 共84页
高等教育自学考试高级语言程序设计考试试题九套.docx_第19页
第19页 / 共84页
高等教育自学考试高级语言程序设计考试试题九套.docx_第20页
第20页 / 共84页
亲,该文档总共84页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

高等教育自学考试高级语言程序设计考试试题九套.docx

《高等教育自学考试高级语言程序设计考试试题九套.docx》由会员分享,可在线阅读,更多相关《高等教育自学考试高级语言程序设计考试试题九套.docx(84页珍藏版)》请在冰点文库上搜索。

高等教育自学考试高级语言程序设计考试试题九套.docx

高等教育自学考试高级语言程序设计考试试题九套

全国2010年1月高等教育自学考试

高级语言程序设计

(一)试题

课程代码:

00342

一、单项选择题(本大题共15小题,每小题2分,共30分)

在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。

错选、多选或未选均无分。

1.下列不属于保留字的是(C)

A.default

B.register

C.sruct

D.unsign

2.下列不能作为常量的是(A)

A.0582

B.0xa5

C.’\n’

D.2.5e-2

3.设typedeflongclass;,则class是(C)

A.整型变量

B.长整型变量

C.长整型数据类型的新标识符

D.新的而非长整型数据类型的标识符

4.设charc=’A’;inti=l,j;,执行j=!

c&&i++;后,i和j的值分别是(C)

A.1和0

B.1和1

C.2和0

D.2和l

5.设inta;,执行表达式(a=1,2,3),a+1后,a和表达式的值分别是(A)

A.1和2

B.2和3

C.3和4

D.4和5

6.下列关于函数定义正确的是(D)

A.fun(intx,y){intz;returnz;}

B.voidfun(intx,inty){returnx+y;}

C.fun(x,y){intx,y;doublez;z=x+y;returnz;}

D.doublefun(intx,inty){doublez;z=x+y;returnz;)

7.下列用户自定义标识符正确的是(B)

A.4a

B.b_1

C.-&

D.*p

8.下列程序段中循环体执行的次数是(B)

intx=-1;

do

{

x=x*x;

}while(!

x);

A.0

B.1

C.2

D.无限

9.实现字符串连接的系统函数名是(A)

A.strcat

B.strcmp

C.strcpy

D.strlen

10.若实参是一个数组名,在调用函数时,实参向形参传递的是(B)

A.数组的长度

B.数组的首地址

C.数组每个元素的值

D.数组每个元素的地址

11.设inta[][4]={l,2,3,4,5,6,7};,则a[1][3]的值是(A)

A.0

B.3

C.4

D.7

12.若定义一个只限本源文件使用的全局变量,则该变量的存储类别是(C)

A.extern

B.register

C.static

D.auto

13.设chark=’a’;floatj=2.0;,执行k+=5/j;printf(“%c”,k);后,输出结果是(C)

A.a

B.b

C.c

D.d

14.下列程序段正确的是(D)

A.chars[]={‘xyz’};

scanf(‘‘%s”,s);

B.float*p,i;

p=*p+i;

C.chars[5]=‘word’;

puts(s);

D.inta[5]={0},*p=a;

*p=*(p+1);

15.关于编译预处理命令,叙述正确的是(A)

A.预处理命令都以“#”开头

B.预处理命令必须位于程序的首部

C.预处理命令只能实现宏定义和条件编译的功能

D.每个程序必须在开头使用预处理命令#include

二、填空题(本大题共10小题,每小题2分,共20分)

请在每小题的空格中填上正确答案。

错填、不填均无分。

16.设floata,b,c;,若a、b和c分别为三角形的三条边长,它们“能构成等边三角形”的逻辑表达式是______(a-b)==(b-c)______。

17.设inti;floatf=3.14;,执行i=(int)f;后,变量f的值是_____3_______。

l8.设chars[]=”\t\’Name\\Address\n”;,s的长度是_____15_______。

19.执行printf(“%d\n”,3&&2&5);后的结果是_____0_______。

20.算术运算符的优先级比关系运算符的优先级_____高_______。

21.单目运算符的结合性是_____自右向左_______。

22.设intx=1,y=3,z;,执行z=x>y?

++x:

y++;后,z的值是______3______。

23.设intm=3;floatn=12.6;charch=’a’;,若用输入语句实现上述三个变量的初始化结果且键入数据形式为:

3,12.6a<回车换行>,则scanf语句应是_____scanf(“%d,%f%a”,&m,&n,&ch);_______。

24.若定义函数时类型缺省,则该函数默认的类型是____int________。

25.设inta[5]={l,3,5,7,9},*p=&a[2];,则++(*p)的值是_____6_______。

三、程序分析题(本大题共4小题,每小题4分,共16分)

阅读下列程序,将输出结果写到各题右侧的空白处。

26.

voidmain()

{

  intcolor=2;

  switch(color)

  {

   casel:

printf(“red\n”);break;

   case2:

printf(“yellow\n”);

   case3:

printf(“blue\n”);

  }yellow

}blue

27.

voidmain()

{

  intm,n;

  for(m=1;m<=3;m++)

  {

   for(n=1;n<=2*m-l;n++)printf“*”);

   printf(“\n”);*

  }***

}*****

28.

voidmain()

{

  floatx=3.6;

  inti;

  i=x;

  printf(‘x=%5.3f,i=%d\n”,x,i);

}x=3.600,i=3

29.

voidmain()

{

  inta[2][3]={{1,2,3},{4,5,6}};

  intb[3][2],i,j;

  for(i=0;i<=1;i++)

   {

    for(j=0;j<=2;j++)

     {printf(“%5d”,a[i][j]);123

      b[j][i]=a[i][j];456

     }

    printf(‘‘\n”);

   }

  printf(“arrayb:

\n”);arrayb:

  for(i=0;i<=2;i++)142536

  for(j=0;j<=1;j++)

  printf(“%5d”,b[i][j]);

}

四、程序填充题(本大题共3小题,每小题6分,共18分)

请将下列程序横线处缺少的部分补上,使其能正确运行。

30.从键盘输入10个学生的姓名、性别和成绩,计算并输出这些学生的平均成绩。

#defineN10

structstudent

{

  charname[20];

  charsex;

  intscore;

}stu[N];

voidmain()

{

  inti;

  floataver,sum=0;

  for(i=0;i

  {scanf(“%d,%c%s”,__&stu[i].score,&stu[i].sex,&stu[i].name_______);/*第一空*/

   sum=sum+___stu[i].score______;/*第二空*/

  }

  aver=___sum/N________;/*第三空*/

  printf(“aver=%6.2f\n”,aver);

}

31.从键盘输入一串字符(以“?

”作为结束标志),保存到文本文件text.txt中。

#include“stdio.h”

voidmain()

{

  FILE__*fp_____;/*第一空*/

  charch;

  if((fp=fopen(“text.txt’’,___”w”____))==NULL)exit(0);/*第二空*/

  while((ch=getchar())!

=’?

’)fpute(ch,___fp______);/*第三空*/

  fclose(fp);

}

32.用递归方法计算学生年龄,已知第一位学生年龄为10岁,其余学生一个比一个大2岁,求第5位学生的年龄。

递归公式如下:

age(n)=

intage(intn)

{

  if(n==1)return(__10______);/*第一空*/

  elsereturn(_age(n-1)+2________);/*第二空*/

}

voidmain()

{

  printf(‘‘%d\n”,__age(5)_______);/*第三空*/

}

五、程序设计题(本大题共2小题,每小题8分,共16分)

33.从键盘输入三个整数a、b和c,按照由小到大的顺序输出。

#include

voidmain(){

inta,b,c,t;

scanf("%d,%d,%d",&a,&b,&c);

if(a

if(a

if(b

printf("%d->%d->%d\n",c,b,a);

}

34.

(1)编写一函数,将指针变量pl和p2所指向的整数值交换。

其中:

函数头是voidswap(int*pl,int*p2)

voidswap(int*p1,int*p2){

intt;

t=*p1;*p1=*p2;*p2=t;

}

(2)编写一个主程序,从键盘输入两个整数,调用上述函数实现两个数据的交换并输出。

voidmain(){

inta=19,b=-99,*p=&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.

D.!

3.设staticinta;,执行表达式(a==1)&&(a=-1)&&(a=2)后,a的值是(D)

A.-1

B.0

C.1

D.2

4.设inta,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/2

B.2&&5

C.!

2

5

D.2&5

7.对循环结构正确的叙述是(B)

A.do-while循环体可能被执行0次

B.do-while循环体至少被执行1次

C.while循环体不可能被执行0次

D.for循环体不可能被执行无限次

8.下列数组定义并初始化正确的是(C)

A.ints[]=(1,2,3,4,5);

B.ints[5]=1,2,3,4,5;

C.ints[2+3]={1,2,3};

D.ints(5)={1,2,3};

9.设chars[10];,能将字符串“+-*/”正确输入的语句是(B)

A.scanf(“%s”,s);

B.scanf(“%s”,*s);

C.scanf(“%s”,s[0]);

D.scanf(“%s”,s[10]);

10.对于C语言中的函数,正确的叙述是(D)

A.两个函数可以相互调用,但不能自己调用自己

B.程序执行可以始于任何一个函数,但结束必须在主函数

C.两个函数既可以定义成并列关系又可以定义成嵌套关系

D.一个C程序可以由多个文件组成,一个文件又可以由多个函数组成

11.设intm[5],*p=m;,与元素m[5],*p=m;,与元素m[2]等价的是(C)

A.m+2

B.*m+2

C.*(p+2)

D.*p+2

12.设inta[3][3]={{1,2,3},{4,5},{6}};,元素a[1][2]的值是(A)

A.0

B.1

C.4

D.6

13.设typedefintARR[10];,与ARRa,*b;等价的定义是(D)

A.inta,b;

B.inta,*b;

C.inta[10],*b;

D.inta[10],*b[10];

14.设intn,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(“%d\n”,1+!

2+(3<=4)+5/6+7%8);后的输出结果是____9_____。

17.设intm=0;,执行表达式m

(m=2)

(m=3)

(m=4)后,m的值是____2_____。

18.设intn;,“n的值能同时被3和5整除”的逻辑表达式是____n%(3*5)!

=0_____。

19.执行循环语句for(;’0’;)printf(“Happy!

\n”);后,输出“Happy!

”的行数是___无数______。

20.设宏定义#defineK2+3执行printf(“%d\n”,K/K);后的输出结果是____6_____。

21.设intn;,执行for(n=0;n==0;n++)n=0;后,循环体被执行的次数是____1_____。

22.执行printf(“%d\n”,5&5-3&&4);后的输出结果是____4_____。

23.表示空类型(或称无类型)的保留字是____void_____。

24.设char*strp=“CHINA”;,执行printf(“%s\n”,strp+3);后的输出结果是___NA_____。

25.使用系统函数对两个字符串进行比较,该系统函数的名字是____strcmp()_____。

三、程序分析题(本大题共4小题,每小题4分,共16分)

阅读下列程序,将输出结果写到各题右侧的空白处。

26.

voidmain()

{

  inti,a[5],*p;

  for(i=4;i>=0;i--)*(a+i)=i;

  for(p=a;p

  printf(“\n”);

}01234

27.

gcd(intp,intq)

{

  if(p==q)returnp;

  elseif(p>q)returngcd(p-q,q);

  elsereturngcd(p,q-p);

}

voidmain()

{

  intm=24,n=36,min,max;

  max=gcd(m,n);

  min=m*n/max;

  printf(“max=%d,min=%d\n”,max,min);

}max=12,min=72

28.

s(inta)

{

  staticintb=l0;

  if(a%2==1)return(++b);

  elsereturn(++a);

}

voidmain()

{inti;

 for(i=0;i<3;i++)printf(“%d\t”,s(i));

 printf(“\n”);

}1113

29.

structpeople

{

  charname[10];

  floatscore;

}per[]=={{“Tom”,95.5},{“Mary”,88.0}};

voidmain()

{

  structpeople*p=per+1;

  printf(“%s,%.1f\n”,per[0].name,p

score);

}Tom,88.0

四、程序填充题(本大题共3小题,每小题6分,共18分)

请将下列程序横线处缺少的部分补上,使其能正确运行。

30.对两个整型变量先进行输入和输出,将它们的值交换后再输出。

#definePRprintf(“a=%d,b=%d\n”,a,b)

voidmain()

{

  inta,b,__temp____;/*第一空*/

  scanf(“%d%d”,_&a,&b________);/*第二空*/

  PR;

  temp=a,__a=b_____,b=temp;/*第三空*/

  PR;

}

31.为二维数组各元素输入数据,计算并输出全部元素之和。

#defineN5

voidmain()

{

  inti,j,a[N][N],sum=__0_____;/*第一空*/

  for(i=0;i

  for(j=0;j

  {

    scanf(“%d”,&a[i][j]);

    sum+=__a[i][j]____________;/*第二空*/

  }

  printf(“sum=%d\n”,____sum_______);/*第三空*/

}

32.为n输入一个正整数值后,计算并输出sum=1-

的值。

voidmain()

{

  intn,k=0;

  float__sum=0.0_____;/*第一空*/

  scanf(″%d″,&n);

  do

  {

    k++;

    if(__n%2==1______)sum+=1.0/k;/*第二空*/

    elsesum-=1.0/k;

  }while(_--n_______);/*第三空*/

  printf(″sum=%.4f\n″,sum);

}

五、程序设计题(本大题共2小题,每小题8分,共16分)

33.

(1)根据下列计算公式写出函数,将华氏温度(F)转化为摄氏温度(C)。

公式:

C=

(F-32)

函数头为:

floatchange(floatF)

floatchange(floatF){

floatc;

c=5*(F-32)/9;

return(c);

}

(2)写出主函数,输入华氏温度,调用函数change,计算并输出对应的摄氏温度。

输出形式(温度要求两位小数):

F=?

C=?

voidmain(){

floatC,n;

scanf(“%f”,&n);

C=change(n);

printf(“%.2f”,C);

}

34.用循环结构实现下列问题:

现有1020本书,第一天卖掉一半多两本,以后每天卖掉剩下的一半多两本,直到卖完为止。

计算并输出卖完所需要的天数。

voidmain(){

intm,n=1020,t;

do{

m=n-(n/2+2);

t++;

n=m;

}

while(n>0);

printf(“%d”,t);

}

全国2009年1月高等教育自学考试

高级语言程序设计

(一)试题

课程代码:

00342

一、单项选择题(本大题共15小题,每小题2分,共30分)

在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。

错选、多选或未选均无分。

1.设inta,b;,则表达式(b=2,a=5,b++,a+b)的值是( C )

A.2

B.5

C.7

D.8

2.设inta=7;floatx=2.5,y=4.7;,则表达式x+3%(int)(x+y)/4的值是( C )

A.2.75

B.3.5

C.2.5

D.0.0

3.设charcl;,则cl中为小写英文字母字符的正确表达式为( B )

A.'a'<=c1='z'

B.(cl>='a')&&(cl<='z')

C.(cl>=a)&&(c1<=z)

D.('a'<=c1)||('z'>=c1)

4.一维数组a的正确说明语句为( B )

A.inta(10);

B.intn=10,a[n];

C.intn;

D.#defineSIZE10 

 scanf(″%d″,&n);

 inta[SIZE];

 inta[n];

5.已知字符'A'的ASCII码值是65,且charcl='A',c2='D';

则执行语句printf(″%d,%d\n″,cl,c2-2);后的输出结果是( D )

A.A,D

B.A,B

C.65,68

D.65,66

6.正确的条件语句为( C )

A.if((a=b;)>0)t=a;

B.if((a=b)>0)thent=a;

C.if(a>b)t=a;

D.if(a

7.若有下列程序段:

intx=l,y=2;x=x+y;y=x-y;x=x-y;

则执行后x和y的值分别为( C )

A.1和2

B.2和2

C.2和1

D.1和1

8.设intk,a,b;unsignedlongw=5;doublex=1.42;则不符合类型要求的表达式是( A )

A.x%(-3)

B.w+=2

C.k=(a=2,b=3)

D.a+=(b=4)*(a=3)

9.设inta=3,b=4;,则printf("%d,%d,"(a,b),(b,a));的输出结果是( B )

A.3,4

B.4,3

C.3,4,4,3

D.4,3,3,4

10.设inti=l,k=2;,则错误的循环语句是( 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--;);

1

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

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2