国开11253《C语言程序设计》期末考试历届试题及答案2023年07月(课程号:03595,04407)

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

试卷代号:11253

国家开放大学2023年春季学期期末统一考试

C语言程序设计 试题

2023年7月

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

1.在C语言中,每条复合语句的开始标记符为( )。

A.[B.(

C.{D.<

2.-个程序文件开始使用的每条预处理命令,其首字符必须是(

A.@B.#

C.$D.%

3.C语言源程序文件的扩展名为( )。

A.cppB.exe

C.objD.c

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

A.1B.2

C.4D.8

5.下列运算符,其优先级最高的是( )。

A.[]B.=

C.+D.<

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

A.1~19B.1~20

C.0~19D.0~20

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

A.10B.6

C.4D.5

8.假定有一条定义语句为“int a[10]={3,4,2,8,6);”,则元素a[5]的值为( )。

A.0B.2

C.8D.6

9.-个二维字符数组a[M][N]能够存储的字符串个数至多为( )。

A.MB.N

C.M-1D.N-1

10.假定p是一个指向数据对象的指针,则通过p表示该教据对象为( )。

A.p*B.p&

C.&pD.*p

11.已知“inta[3][5];”,则元素a[2][3]的地址比该数组的首地址大( )。

A.13个字节B.52个字节

C.26个字节D.48个字节

12.假定一个函数的数组参数说明为char a口,与之等价的指针参数说明为( )。

A.char aB.char* a

C.char& aD.char**a

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

A.x->aB.x.a

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

14.表示文件结束符的符号常量为( )。

A.eofB.Eof

C.EOFD.feof

二、是非判断题(根据叙述正确与否在其括号内打对号“√”或叉号“×”。每小题2分,共30分)

15.若要在程序文件中使用标准输入和输出函数,则需要引入的系统头文件为

stdio.h。( )

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

17.在一条变量定义语句中,定义多个变量时需要使用分号隔开。( )

18.表达式x=x+y表示成复合赋值表达式为x=+y。( )

19.若x=5,y=8,则x<=y的逻辑值为真。( )

20.do-while循环语句的循环体,可以是简单语句,也可以是复合语句。( )

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

22.在二维数组的定义语句中,不能给数组中每个元素赋初值。( )

23.在定义指针变量的语句“int *p,pp;”中,p和pp具有相同的数据类型。( )

24.假定a是一个一维数组名,则a+i的值与&a[i]的值相等。( )

25.在一个函数定义中,参数表中的参数说明项之间是采用分号分开的。( )

26.在C语言程序中,除主函数外的任何用户定义的函数都可以是递归函数。( )

27.不能够在定义结构类型的同时定义它的变量。( )

28.在一个链表中,表头结点无前驱结点。( )

29.每次只能从文本文件中读取一个字符,不能一次读取一行字符串。( )

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

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

#include<stdio.h>

Void main( ){

int x=5,y=8,z=6,w=0;

if(x>=y)w=x;else w=y;

if(z>w) w=z;

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

}

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

#include<stdio.h>

Void main( ){

int n=10,y=0;

while(n>6)(y+=n;n-;)

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

}

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

#include<stdio.h>

Void main( ){

int a[8]={2,5,6,8,4,9,10,6};

int i,x=a[O]+a[l];

for(i=1;i<7;i++){

int y=a[i]+a[i+l];

if(y>x)x=y;

}

printf("0/<dn",x);

}

33.假定使用xxk3(5)调用下面函数,则返回值为( )。

int xxk3(int n){

int i,s=l;

for(i=l;i<=n;i++)s*=i;

return s:

}

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

34.补充完整下面的函数定义,计算出整型数组a中n个元素的所有偶数之和。

int xxk4(int a[],int n){

int i,s=0;

//在下面添上一行for循环语句,循环变量为i,累加变量为s

return s:

}

35.补充完整下面函数xxk5的定义,计算并返回数组a[n]中所有元素的平均值。

double xxk5(int a[],int n)

{

int i,sum=0;//假定分别设置i和sum为循环变量和累加变量

//在下面添上一行for循环语句,循环变量为i,累加变量为sum

return double(sum)/n;

}