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

上传人:b****7 文档编号:21890615 上传时间:2023-02-01 格式:DOCX 页数:136 大小:67.72KB
下载 相关 举报
高等教育自学考试高级语言程序设计试题九套Word文件下载.docx_第1页
第1页 / 共136页
高等教育自学考试高级语言程序设计试题九套Word文件下载.docx_第2页
第2页 / 共136页
高等教育自学考试高级语言程序设计试题九套Word文件下载.docx_第3页
第3页 / 共136页
高等教育自学考试高级语言程序设计试题九套Word文件下载.docx_第4页
第4页 / 共136页
高等教育自学考试高级语言程序设计试题九套Word文件下载.docx_第5页
第5页 / 共136页
点击查看更多>>
下载资源
资源描述

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

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

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

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)

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<

stdio.h>

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

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

错填、不填均无分。

16.

设floata,b,c;

,若a、b和c分别为三角形的三条边长,它们“能构成等边三角形”

的逻辑表达式是______(a-b)==(b-c)______。

17.

设inti;

float

f=3.14;

,执行i=(int)f;

后,变量f的值是_____3_______。

l8.

设chars[]=

”’Name

n”;

,s的长度是_____15_______。

19.执行printf(%“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(

“redn”);

break;

case2:

“yellown”);

case3:

“bluen”);

}

yellow

blue

27.

void

main()

int

m,n;

for(m=1;

m<

=3;

m++)

for(n=1;

n<

=2*m-l;

n++)printf

“*”);

printf(

“n”);

*

***

*****

28.

floatx=3.6;

i;

i=x;

printf(‘x=%5.3f,i=%dn”,x,i);

x=3.600,i=3

29.

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

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

for(i=0;

i<

=1;

i++)

for

(j=0;

j<

=2;

j++)

“%5d”,a[i][j]);

1

2

3

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

4

5

6

printf(‘‘n”);

printf(“arrayb:

n”);

array

b:

(i=0;

2536

for(j=0;

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

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

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

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

#defineN10

structstudent

charname[20];

charsex;

intscore;

}stu[N];

voidmain()

inti;

floataver,sum=0;

N;

{scanf(“%d,%c%s”,__&

stu[i].score,&

stu[i].sex,&

stu[i].name_______)

sum=sum+___stu[i].score______;

/*第二空*/

/*第一空

*/

aver=___sum/N________;

/*第三空

printf(“aver=%6.2fn”,aver);

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

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

#include“stdio.h”

*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________);

printf(‘‘%dn”,__age(5)_______);

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

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

#include<

stdio.h>

voidmain(){

inta,b,c,t;

scanf("

%d,%d,%d"

&

a,&

b,&

c);

if(a<

b){t=a;

a=b;

b=t;

c){t=a;

a=c;

c=t;

if(b<

c){t=b;

b=c;

printf("

%d->

%d\n"

c,b,a);

34.

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

其中:

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

voids*p1,int*p2){

intt;

t=*p1;

*p1=*p2;

*p2=t;

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

inta=19,b=-99,*p=&

a,*q=&

b;

s);

printf(“%d,%d”,*p,*q);

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

高级语言程序设计

(一)试题

00342

一、单项选择题(本大题共

15小题,每小题

2分,共

30分)

在每小题列出的四个备选项中只有一个是符合题目要求的内。

请将其代码填写在题后的括号

1.主函数头中的“main是”(BA.保留字

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&

C.!

25

D.2&

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

B)

A.do-while

循环体可能被执行

0次

B.do-while

循环体至少被执行

1次

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

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

8.下列数组定义并初始化正确的是(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};

C)

9.设chars[10];

能将字符串“+-*/”正确输入的语句是(B)

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

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

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

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

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)

D.6

13.设typedef

ARR[10];

与ARRa,*b

等价的定义是(D)

A.int

a,b;

B.int

a,*b;

C.int

a[10],*b

D.int

a[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(“%

n”,1+!

2+(3<

=4)+5/6+7%8);

后的输出结果是____9_____。

17.设int

m=0;

执行表达式m

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

18.设int

n;

“n的值能同时被

3和5

整除”的逻辑表达式是____n%(3*5)!

=0_____。

19.执行循环语句for(;

’0;

’)printf

(“Happy!

后,输出“Happy!

的”行数是___无数

______。

20.设宏定义#define

K2+3执行printf

(“%n”,K/K);

后的输出结果是

____6_____。

21.设int

执行for(n=0;

n==0;

n++)n=0;

后,循环体被执行的次数是

____1_____。

22.执行printf(“%

n”,5&

5-3&

4);

后的输出结果是____4_____。

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

____void_____。

24.设char*strp=“CHINA;

”,执行printf(“%n”,strp+3);

后的输出结果是___NA_____。

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

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

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

voidmain()

inti,a[5],*p;

for(i=4;

i>

=0;

i--)*(a+i)=i;

for(p=a;

p<

a+5;

p++)printf(“%dt”,*p);

printf(“n”);

01

234

gcd(int

p,int

q)

if(p==q)returnp;

elseif(p>

q)returngcd(p-q,q);

elsereturngcd(p,q-p);

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

max=gcd(m,n);

min=m*n/max;

printf

(“max=%d,min=

n”,max,min);

max=12,min=72

s(inta)

staticintb=l0;

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

elsereturn(++a);

{inti;

for(i=0;

3;

i++)printf(“%d\t”(,si));

printf(“\n”);

111

structpeople

charname[10];

floatscore;

}per[]=={{“Tom”,95.5},{

“Mary”;

88.0}}

structpeople*p=per+1;

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

score);

Tom,88.0

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

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

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

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

inta,b,__temp____;

/*第一空*/

scanf(“%d%d”,_&

b________);

/*第二空*/

PR;

temp=a,__a=b_____,b=temp;

/*第三空*/

31.为二维数组各元素输入数据

#defineN5

计算并输出全部元素之和。

inti,j,a[N][N],sum=__0_____;

/*

第一空

*/

i++)

for(j=0;

j++)

scanf(“%d”,&

a[i][j]

);

sum+=__a[i][j]____________

/*

第二空

printf(“sum=%

n”,____sum_______);

第三空

32.为n输入一个正整数值后

计算并输出

sum=1-

的值。

voidmain()

intn,k=0;

float__sum=0.0_____;

scanf(″%d″,&

n);

k++;

if(__n%2==1______

)sum+=1.0/k;

elsesum-=1.0/k;

}while

(_--n_______);

/*第三空

(″sum=%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,计算并输出对应的摄氏温度。

输出形

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

当前位置:首页 > 工程科技 > 机械仪表

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1