《国开《C语言程序设计》(形考任务三)试题及答案.docx》由会员分享,可在线阅读,更多相关《国开《C语言程序设计》(形考任务三)试题及答案.docx(13页珍藏版)》请在第一文库网上搜索。
1、一、选择题(共30分,每小题2分)试题1在下面的函数声明语句中,存在着语法错误的是()。选择一项:a.AA(int a, int b)b.AA(intz int)c.AA(int a; int b)d.AA(int a, int)试题2在下面的保留字中,不能作为函数的返回值类型的是()。选择一项:a.voidb.intc.enumd.long试题3假定p是一个指向float型数据的指针,则p+1所指数据的地址比p所指数据的地址增加的字节数为()。选择一项:a.lb.2* c.4厂d.8试题4假定a为一个数组名,在下面的表达式中,存在语法错误的是()。选择一项:a.aib.*a+ +c/ad.*
2、(a + l)试题5用calloc函数创建具有10个整型元素的一维数组的正确语句是()。选择一项:a.int *p=calloc(10,2);c b.int *p=calloc(10);& c.int *p=calloc(10,4);d.int *p=malloc(10)试题6假定变量m定义为intm=7/,则下面正确的语句为()。选择一项:a.int p=&m;& b.int *p=&m;c.int &p=*m;d.int *p=m;试题7假定k是一个double类型的变量,则定义变量p的正确语句为()。选择一项:a.double p=&k;b.int *p=&k;c. double &p=
3、*k; d.char *p=Thank you!;试题8若有语句为int a10, x, *pa=a;,要把数组a中下标为3的元素值赋给x,则不正确的语句为()O选择一项:a.x=pa3;b.x=*(a+3);C c.x=a3; d.x=*pa+3;试题9假定有语句为intb10;int*pb;,则下面不正确的赋值语句为()。选择一项:a.pb=b;b.pb=&bO;C c.pb=b+2; d.pb=b5;试题10已知int*p=malloc(lOO);,要释放p所指向的动态内存,正确的语句为()。选择一项: a.free(p);b.free p;c.free(*p);d.freep;试题11
4、在程序的一个文件中定义的函数,若要在另一个文件中调用,则必须在这另一个文件中给出该函数的()。选择一项:6 a.原型语句b.参数表c.函数名广d.返回类型试题12假定一个函数定义为static intfl(intx,int y)retum x+y;,该函数名称为()。选择一项:a.staticb.int“ c.fld.return试题13假定一个函数的原型语句为intff(int*x,一个整型数组为a10,则下面函数调用表达式不正确的是()。选择一项:a.ff(a)母 b.ff(aO)c.ff(a+3)d.ff(&aO)试题14假定一个函数的数组参数说明为char a口,与之等价的指针参数说明
5、为()。1B选择一项:a.char ab.char* a( c.char& ad.char*a试题15假定一个函数的二维数组参数说明为char与之等价的指针参数说明为()。选择一项:份 a.char (*w)Nr b.char *wNc.char (*w)Nd.char*a二、判断题(共30分,每小题2分。叙述正确则回答是,否则回答否)试题16在c语言中,一个函数由函数头和函数体组成。选择一项:6对r错试题17在函数模块之外定义的变量称为全局变量,若没有被初始化则系统隐含对它赋初值Oo选择一项:才对错试题18如果一个函数只允许同一程序文件中的函数调用,则不应在该函数定义的开始前加上保留字sta
6、tico选择一项:对6错试题19如果在一个函数体中又出现对自身函数的调用,此种函数调用被称为递归调用。选择一项:才对r错试题20调用系统函数时,要先使用的叱1加6命令包含该系统函数的原型语句所在的系统头文件。选择一项:才对r错试题21函数形参变量不属于局部变量。选择一项:试题22假定p所指对象的值为25, p + 1所指对象的值为46,则*p + +的值为46。选择一项:对6错试题23假定p所指对象的值为25, p + 1所指对象的值为46,则*+ + p的值为25。选择一项:r对6错试题24假定p所指对象的值为25, p + 1所指对象的值为46,则执行*(p+)运算后,p所指对象的值为46
7、 o选择一项:才对错试题25假定a是一个指针数组,则a+i所指对象的地址比a地址大4*i字节。选择一项:6对r错试题26若要把一个整型指针p转换为字符指针,则采用的强制转换表达式为(char*)p。选择一项:才对错试题27假定一个数据对象为int*类型,则指向该对象的指针类型仍为int*类型。选择一项:对6错试题28假定X为一个简单变量,则&X表示X的地址。选择一项:6对错试题29若P指向X,则*P与X的值不同。选择一项:对6错试题30NULL是一个符号常量,通常作为空指针值,它代表的值为0。选择一项:6对r错三、写出下列每个程序运行后的输出结果(共20分,每小题4分)试题31#include
8、int WF(int xz int y) x=x+y;y=x+y;return x+y;)void main() int x=5, y=7;int z=WF(x,y);printf(z=%dn,/z);)z=31试题32#include#includevoid fun(char ss);void main chars15 = 0123456789;fun(s);printf(%sn,s);)void fun(char ss) int i, n=strlen(ss);for(i=0; i n/2; i + +) char c=ssi;ssi=ssn-l-i;ssn-l-i=c;)98765432
9、10试题33#includeint Count(int af int n, int x)(int ifc=0;for(i=0;ix) C+;return c;void main() int a8 =20,15,32,47,24,36,28,70);int b=Count(a,8,30);printf(b=%dn/b);)B=4试题34#includevoid main() inta8=3,5,7,9,234,8;int s=0,*p;for(p=a;pa+8;) s+=*p+;printf(s=%dn,s);)s=41试题35#includeint LA(int *a, int n, int
10、x) int izs=0;for(i=0;in;i + +)if(aix) s+=ai;return s;)void main() int a8=5,10,15,8,12,3,9,20);int b=LA(a,5,10);intc=LA(a+2,6,10);printf(%d %dn”,b,c);)13 20四、写出下列每个函数的功能(共20分,每小题4分)试题36double SF(double x, int n) /n 为正整数double p=l,s=l;int i;for(i = l;i=n;i+) p*=x;s+ = p;)return s;)计算出l + X + X2+. + Xn
11、的值并返回。试题37int SG(int x) /x为大于等于2的整数int i=2;while(i*i=x) if(x%i = =O) break;i+;)if(i*i=x) return 0; else return 1;)判断x是否为一个质数(素数),若是则返回1,否则返回0。试题38int WB(int a, int nz int x) for(int i=0;in;i + +)if(ai = =x) return 1;return 0;)从数组an中顺序查找值为x的元素,若查找成功则返回L否则返回0。试题39int fun(int m, int n) int c=0;static int b=2;if(mb | nb) return m*n;else if(m%b=0 & n%b=0) c=b; return c*fun(m/b/n/b);else b+; return fun(m,n);)一个递归函数过程,求出两个自然数m和n的最小公倍数。试题40int LK(double a, int n) double s=0;int i,m=0;for(i=0;in;i+) s+=ai;s/=n;for(i=0;i=s) m+;return m;)求出并返回数组a的n个元素中大于等于平均值的元素个数。