国开11253《C语言程序设计A》期末考试历届试题及答案2020年01月(课程号:02274)

小虾米 2026-05-11 15:09:42 2 次阅读 0 分钟阅读

试卷代号:1253 座位号口口

国家开放大学2 0 1 9年秋季学期期末统一考试

C语言程序设计试题

2020年1月

一、单项选择题(把合适的选项编号填写在括号内。每小题3分,共 42分)

1.C语言中使用的字符常量,其起止标记符是( )。

A.单引号 B.双引号

C.中括号 D.尖括号

2.一个程序中用户定义的普通函数的名称不能为( )。

A.Main B. main

C. xyz D. mainInt

3.程序运行中需要从键盘上输人多于一个数据时,若不特别规定分隔符,则输人的各数据之间所使用的分隔符为( )。

A.空格或逗号 B.逗号或回车

C.逗号或分号 D.空格或回车

4.int类型的长度为( )。

A.1 B.2

C.4 D.8

5.运算符优先级最高的是( )。

A.() B.=

C.+ D.<

6.带有随机函数的表达式rand()%20的取值范围是( )。

A.1~19 B.1~20

C.O ~19 D. 0~20

7.在循环语句“for(i=n-l; i>=l; i-)S;”中,循环体S被执行的次数为( )。

A.1 B.n-l

C.n D.n+l

8.假定一维数组的定义为“char* a[8];”'贝0该数组所占用的存储空间的字节数为( )。

A.8 B.16

C.64 D.32

9.对于一个长度为n的字符串,保存它至少需要占用的存储字节数为( )。

A.n B.n-l

C.n+l D.n十2

10.假定变量m定义为“int m一7;”,则下面定义语句格式正确的是( )。

A. int p=&m; B.int* p=&m;

C. int &p=* m; D.int *p=m;

11.已知“int a[10],x,*pa—a;”,若要把数组a[3]元素的值赋给x,则不正确的语句为

)。

A.x—pa[3]; B.x=*(a+3);

C. x=a[3]; D.x一*pa+3;

12.若用数组名作为函数调用的实参,传递给形参的是( )。

A.数组的酋地址 B.数组中第一个元素的值

C.数组中全部元素的值 D.数组元素的个数

13.假定要访问一个结构指针变量x中的数据成员a,则表示方法为( )。

A.x. a B.x->a

C.x(a) D.x(a)

14.在c语言中,打开一个数据文件的系统函数为( )。

A.fopen() B.fclose()

C fread() D.fwrite()

二、是非判断题(根据叙述正确与否在其后面的括号内打对号“√”或

x”。每小题2分,共30分)

15.在c语言程序中,只有一种使用注释语句的方法。( )

16.常数3. 26是双精度定点数。( )

17.表达式(float)25/4的值为6。( )

18.已知x- -25,则fabs(x)的值为-25.0。( )

19.while循环是先判断循环条件,当条件为真时执行循环体。( )

20.在一维数组的定义语句中,数组名后带有一对中括号。( )

21.字符串允许为空,并且其长度为o。( )

22.一个二维字符数组a[10][20]中存储每个字符串的最大长度为20。( )

23.假定a是一个一维数组,则进行a++运算是不允许的。( )

24.在一个函数定义中,函数体是一条简单语句。( )

25.在C语言程序中,对于递归函数和非递归函数,其函数头部有区别标志。( )

26.在结构类型的定义中,结构类型的作用域范围,与它的定义位置有关。( )

27.在结构成员访问运算符中,点运算符和箭头运算符的左边均为结构指针变量。( )

28.在一个磁盘数据文件的文件名中,文件主名是必须的,扩展名可任选使用。( )

29.对二进制文件进行读和写操作将使用不同的系统函数。( )

三、程序填空题(分析程序后把合适的内容填写在括号内。每小题5分,共20分)

30.执行下面程序的输出结果为( )。

#include<stdio. h>

void main(){

int x-5 ,y-8;

if(x>=y) printf(“%d%d\n”,x,y);

else printf(“%d%d\n”,y,x);

31.执行下面程序的输出结果为( )。

# include<stdio. h>

void main()(

int i,sl=0, s2-0;

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

if(i%2) sl+=i;

else s2+=i;

printf(" %d %dn",sl, s2);

)

32.执行下面程序的输出结果为( )。

#include<stdio. h>

void main(){

int a[8]= {10,8, 16,15,9,21,7, 16};

int i.x=a[0];

for(i=l;i<8;i+十)

if(a[i]<x)x=a[i];

printf( "x= %dn",x);

33.执行下面程序的输出结果为( )。

#include<stdio. h>

void main(){

int a[8]=(3,8,6,5,9,2,8,5);

int i.s-0;

for(i一0;i<8;i++)

if(a[i]>5)s+=a[i];

printf("s= %dn",s);

四、编程题(按题目要求编写程序或函数。每小题4分,共8分)

34.补充完整下面的函数定义,该函数要求返回满足不等式1十22+32 +…n2<=X的

最大n的值。

int FF(int x)

{

int n一1,s—l;//使用n作为计数变量,使用s作为累加求和的变量

//在下面一行写出合适的while循环语句

return n-l;

)

35.按照“int FF(int a[],int n)”的函数声明,编写出递归函数的定义,求出数组a中所有n个元素之积并返回。