全国10月高等教育自学考试高级语言程序设计(一)试题及答案解析

  • 格式:docx
  • 大小:20.13 KB
  • 文档页数:9

全国10月高等教育自学考试高级语言程序设计(一)试题及答案解析

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

高级语言程序设计(一)试题

课程代码:00342

一、单项选择题(在每小题的四个备选答案中选出一个正确答案,并将其号码填在题干的括号内。每小题1分,共20分)

1.C语言不能选用的字母是( )

A.w

B.π

C.I

D.i

2.构成一个C程序的是( )

A.一个主函数和若干个非主函数

B.若干个主函数和若干个非主函数

C.一个主函数和最多一个非主函数

D.若干个主函数和最多一个非主函数

3.设int m1=5,m2=3;表达式m1>m2?(m1=1):(m2=-1)运算后,m1和m2的值分别是( )

A.1和-1

B.1和3

C.5和-1

D.5和3

4.设float m=4.0,n=4.0;使m为10.0的表达式是( )

A.m-=n*2.5

B.m/=n+9

C.m*=n-6

D.m+=n+2

5.表达式5&2||5|2的值是( ) A.0

B.1

C.2

D.3

6.对于do-while语句,错误

..的.说法是( )

A.先执行循环体后判断循环条件

B.循环体至少要执行一次

C.循环体有可能一次也不执行

D.循环体中可以包含若干条语句

7.设int x=-1;执行表达式++x||++x||++x后,x的值是( )

A.0

B.1

C.2

D.3

8.设int a=7,b=8;则printf(″%d,%d″,(a+b,a),(b,a+b));的输出是( )

A.7,15

B.8,15

C.15,7

D.出错

9.设int a[10];则对a数组元素的错误

..引用是( )

A.a[5]

B.*(a+1)

C.a[10-10]

D.a(5)

10.设char c[5]={′a′,′b′,′\0′,′c′,′\0′};则printf(″%s″,c)的输出是( )

A.′a′′b′

B.ab C.abc

D.″ab\0c″

11.设double * p[6];则( )

A.p是指向double型变量的指针

B.p是double型数组

C.p是指针数组,其元素是指向double型变量的指针

D.p是数组指针,指向double型数组

12.设char *s=″china″;则printf(″%s,%c,%c\n″,s,*s,s[3]);的输出是( )

A.china, c,n

B.china,china,i

C.c,c,n

D.china,china,n

13.全局变量的存储类型可以定义为( )

A.auto或static

B.extern或register

C.auto或extern

D.extern或static

14.函数调用语句fun((((1,2),3),4));中参数的个数是( )

A.1

B.2

C.3

D.4

15.对于下列定义的枚举型

enum colorl {yellow,green,blue=5, red,brone};

则枚举常量yellow和red的值分别是( )

A.3,6

B.1,6

C.0,6

D.0,3 16.设有定义struct ru{long x;float y;} time,*timep=&time;则对time中成员x的正确引用是( )

A.rnu.time.x

B.timep.x

C.(* timep).x

D.time->x

17.设FILE*fp;若fp指向的文件未结束,则函数feof(fp)的返回值为( )

A.0

B.true

C.非0

D.false

18.C语言中,系统自动打开的文件是( )

A.二进制文件

B.随机文件

C.非缓冲文件

D.设备文件

19.执行下列程序

#define R 0.5

#define AREA(x) R*x*x

main ()

{int a=1, b=2;

printf (″%5。1f\n″, AREA(a+b));

}

后输出的结果是( )

A.0.0

B.0.5

C.3.5

D.4.5

20.执行下列程序 #include ″stdio. h″

min ()

{printf(″%d\n″,NULL);}

后输出的结果是( )

A.-1

B.0

C.1

D.2

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

21.如果在定义局部变量时省略了存储类型符,则默认的类型是________。

22.利用运算符__ __,下列两个语句

b=5+a;a-=1;

的功能可以仅由一个语句实现,这个语句是________。

23.“n是小于整数m的偶数”的C语言表达式是________。

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

25.语句for(i=1;i==1;i++);循环的次数是________。

26.在C语言中,优先级最低的运算符是________。

27.设

union

{

int a;

char c[99];

}b;

则sizeof(b)的值是________。

28.设int a[10]={1,2,3};则*(a+3)的值是________。

29.设short a[3][4];如果数组a首地址为2000,则a+1的地址是________。

30.设int a [2][4],(*p)[4]=a;用指针变量p表示数组元素a[1][2]为________。

三、程序分析题(每小题5分,共25分)

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

31.min()

{ int a =10,i=1,j=2;

printf(″%d,%o,%x\n″,a,a,a);

printf(″i=%d\n″,i++);

printf(″%c\n″,i==j?′A′:′B′);

}

32.main()

{ int k; char a[]=″LANGUAGE″,b[]=″PROGRAM″;

char *p=a,*q=b;

for(k=0;k<=5;k++)

if(*(p+k)==*(q+k)) printf(″%c″,*(q+k));

}

33.main()

{ int a,b,c;

a=10;b=20;c=30;

a=(--b<=a)||(a+b!=c);

printf(″%d,%d\n″,a,b);

}

34.int x=30,y=50;

sub(int x, int y)

{

y-x>y? x:y;

return y;

}

main*()

{

{ int x=100;

printf(″%d\n″,sub(x,y));

}

printf(″%d,%d\n,x,y);

}

35.f()

{

int x=1;

return x++;

}

g()

{

static int x=1;

return x++;

}

main()

{

int i,a=0,b=0;

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

{

a+=f();

b+=g();

}

printf(″a=%d\nb=%d\n″,a,b);

}

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

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

36.将十个数输入数组中,找出其中最大数和最小数并输出。

main()

{ in i,max,min,a[10];

for(i=0,i<10;i++)

scanf(″%d″,&a[i]);

max=a[0];

min=a[0];

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

{

if(a[i]>max)

max=_____; /* 第一空*/

if(a[i]

_______; /*第二空*/

}

printf(″max=%d,min=%d\n″,_______); /*第三空*/

}

37.根据对n的输入,求1+2+3+…+n的和。

float sum(int x)

{

int i;

float s;

________; /* 第一空*/

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

s+=i;

________; /* 第二空*/

}

main()

{int n;

scanf(″%d″,________); /* 第三空*/

printf(″%f\n″,sum(n));

}

38.建立一个磁盘文件,文件名和内容由键盘输入。