2017年电大电大年春《C语言程序设计》形成性考核册答案 下载本文

C语言程序设计形成性考核册

6. #include void main(){ int a[8]={3,5,7,9,11,13,15,17}; int i,*p=a; for(i=0;i<8;i++){; printf(\ if( (i+1)%4==0 )printf(\ } }

输出结果为:

3 5 7 9 11 13 15 17 Press any key to continue

7. #include int LA(int *a,int n){ int i,s=0; for(i=0;i

void main(){ int a[]={5,10,15,20,25,30}; int b=LA(a,4); int c=LA(a+2,3); printf(\}

输出结果为: 50 60

Press any key to continue

8. #include int LB(int *a,int n){ int i,s=1; for(i=0;i

void main(){ int a[]={1,2,3,4,2,4,5,2}; int b=LB(a,4)+LB(&a[3],4); printf(\

} 输出结果为:

b=184

Press any key to continue

共25页 - 17 -

C语言程序设计形成性考核册

四、写出下列每个函数的功能 1. #include

int WB(int a[],int n,int x){ for(int i=0;i

函数功能为:

根据整型数组元素中是否能找到整数x,返回1或0

2. #include

int WC(int a[],int n,int k){ int c=0;for(int i=0;i=k)c++; return c; }

函数功能为:

返回数组中前n个其值大于等于k的元素个数。

3. #include #include #include const int N=10; int ff(int x,int y){ int z; printf(\ scanf(\ if(x+y==z)return 1;else return 0; }

void main() { int i,a,b,c=0; srand(time(0)); //初始化随机数系列 for(i=0;i

函数功能为:

函数ff让两个数相加,要求输入其和,判断结果是否正确。在主函数中用随机函数产生两个20以内的随机整数,通过10次调用这个函数,算对一次得10分,计算所得分

共25页 - 18 -

C语言程序设计形成性考核册

4. int fun6(int m,int n,int b=2) { if(m

函数功能为:

此函数带有一个默认参数,若使用默认值,则通过递归调用,返回前2参数的最小公倍数; 不使用默认值时,若最后一个参数不小于前2个参数,则返回前2参数之乘积; 否则,通过递归调用,返回前2参数最小公倍数的n倍数。

5. #include #include void LI(int n){ int * a=(int *)malloc(n*sizeof(int)); int i; for(i=0;i=0;i--)printf(\ printf(\ free(a); }

函数功能为:

将从键盘输入的n个整数逆序输出

6. #include int LK(double a[],int n){ double s=0;int i,m=0; for(i=0;i=s)m++; return m; }

函数功能为:

求不小于数组元素之平均值的元素个数。

共25页 - 19 -

C语言程序设计形成性考核册

C语言程序设计形成性考核 作业四

一、选择题

1. 假定有“struct BOOK{char title[40];float price;};struct BOOK *book;”,则不正确的语句为( A )。

A.struct BOOK *x=malloc(book); B.struct BOOK x={“C++ Programming”,27.0}; C.struct BOOK *x=malloc(sizeof(BOOK)); D.struct BOOK **x=&book; 2. 假定有“struct BOOK{char title[40];float price;} book;”,则正确的语句为( B )。 A.struct BOOK x=&book; B.struct BOOK *x=&book; C.struct BOOK x=calloc(BOOK); D.struct BOOK *x=BOOK; 3.表示文件结束的符号常量为( C )。

A.eof B.Eof C.EOF D.feof

4.C语言中系统函数fopen()是( D )一个数据文件的函数。 A.读取 B.写入 C.关闭 D.打开

5.从一个数据文件中读入以换行符结束的一行字符串的函数为( B )。 A.gets() B.fgets() C.getc() D.fgetc()

6.向一个二进制文件写入信息的函数fwrite()带有( D )参数。 A.1 B.2 C.3 D.4

二、填空题

1.假定一个结构类型的定义为“struct A{int a,b;A*c;};”,则该类型的大小为___12___字节。 2.假定一个结构类型的定义为“struct B{int a[5],char *b;};”,则该类型的大小为__24__字节。 3.假定一个结构类型的定义为“struct D{int a;union{int b;double c;};struct D* d[2];};”,则该类型的大小为___20_____字节。

4.假定要动态分配一个类型为struct Worker的具有n个元素的数组,并由r指向这个动态数组,则使用语句的表达式为struct Worker* r=__(Worker*)malloc(n*sizeof(Worker));_____。 5.假定要访问一个结构x中的由a指针成员所指向的对象,则表示方法为__x.(*a)___。 6.假定要访问一个结构指针p所指向对象中的b指针成员所指的对象,则表示方法为_____ *(p->b)___

7.与结构成员访问表达式(*fp).score等价的表达式是__fp->score______。

三、写出下列每个程序运行后的输出结果

1. #include struct Worker{ char name[15]; //姓名 int age; //年龄 float pay; //工资 };

void main(){ struct Worker x={\ struct Worker y,*p; y=x;p=&x; printf(\

共25页 - 20 -