1、C语言程序的设计形考任务3一、选择题(共30分,每小题2分)题目1在下面的函数声明语句中,存在着语法错误的是()。选择一项:广 a. AA(i nt a, i nt b)广 b. AA(i nt, i nt)厂 c. AA(i nt a; int b)厂 d. AA(int a, int)正确答案是:AA(int a; int b)题目2在下面的保留字中,不能作为函数的返回值类型的是 ()选择一项:ra.voidrb.i ntrc.enumrd.l ong正确答案是:enum题目3假定p是一个指向float型数据的指针,则p+1所指数据的地址比p所指数据的 地址增加的字节数为()。选择一项:a
2、. 1r b. 2r c. 4C d. 8正确答案是:4题目4假定a为一个数组名,在下面的表达式中,存在语法错误的是()。选择一项:r a. airb.*a+rc.*ad.*(a+1)正确答案是:*a+题目5用calloc函数创建具有10个整型元素的一维数组的正确语句是 ()。a.i nt *p=calloc(10,2);厂 b. i nt *p=calloc(10);rc.i nt *p=calloc(10,4);rd.i nt *p=malloc(10)正确答案是:int *p=calloc(10,4);题目6假定变量m定义为“int m=7; ”则下面正确的语句为()。选择一项:厂 a.
3、 int p=&m;rb.int *p=&m;rc.int &p=*m;rd.int *p=m;正确答案是:int *p=&m;题目7假定k是一个double类型的变量,则定义变量p的正确语句为()选择一项:ra.double p=&k;rb.i nt *p=&k;rc.double &p=*k;d.char *p=Tha nk you!;正确答案是:char *p=Thank you!;题目8若有语句为“int a10, x, *pa=a;要把数组a中下标为3的元素值赋给x,贝U不 正确的语句为()。选择一项:r roia.x=pa3;rb.x=*(a+3);Cc.x=a3;rd.x=*pa
4、+3;正确答案是:x=*pa+3;题目9假定有语句为“ int b10; int *pb; 则下,不正确的赋值语句为()。选择一项:ra.pb=b;rb.pb=&b0;rc.pb=b+2;rd.pb=b 5;正确答案是:pb=b5;题目10已知“int *p=malloc(100); 要释放p所指向的动态内存,()。选择一项:厂 a. free(p);厂 b. free p;cc.free(*p);rd.freep;正确答案是:free(p);题目11在程序的一个文件中定义的函数,若要在另一个文件中调用 个文件中给出该函数的()。选择一项:厂a.原型语句厂b.参数表广c.函数名广d.返回类型正
5、确答案是:原型语句正确的语句为,则必须在这另题目12假定一个函数定义为 “ static int f1(i nt x,i nt y)return x+y;()。选择一项:r a. staticb. i ntr c. fld. return正确答案是:f1题目13假定一个函数的原型语句为 “ int ff(int* x); 一个整型数组为调用表达式不正确的是()。该函数名称为a10,则下面函数选择一项:a.ff(a)b.ff(aO)c.ff(a+3)C d. ff(&a0)正确答案是:ff(a0)题目14假定一个函数的数组参数说明为 char a,与之等价的指针参数说明为 ()1B选择一项:r
6、a. char ab. char* arc.char& ad.char*a正确答案是:char* a题目15假定一个函数的二维数组参数说明为 char wN,与之等价的指针参数说明为()。选择一项:ra.char (*w)Nrb.char *wNrc.char (*w)Nrd.char*a正确答案是:char (*w)N二、判断题(共30分,每小题2分。叙述正确则回答 是”,否则回答 否”)题目16在C语言中,一个函数由函数头和函数体组成。选择一项:厂对厂错正确的答案是对”。题目17在函数模块之外定义的变量称为全局变量,若没有被初始化则系统隐含对它赋 初值0。选择一项:对错正确的答案是对”。题
7、目18如果一个函数只允许同一程序文件中的函数调用 ,则不应在该函数定义的开始前加上保留字static。选择一项:对广错正确的答案是错”。题目19如果在一个函数体中又出现对自身函数的调用 ,此种函数调用被称为递归调用。选择一项:对厂错正确的答案是对”。题目20调用系统函数时,要先使用#“elude命令包含该系统函数的原型语句所在的系 统头文件。选择一项:对错正确的答案是对”。题目21函数形参变量不属于局部变量。选择一项:广对错正确的答案是错”。题目22假定p所指对象的值为25, p+1所指对象的值为46,则*p+的值为46。选择一项:对厂错正确的答案是错”。题目23假定p所指对象的值为25, p
8、+1所指对象的值为46,则*+p的值为25。选择一项:对错正确的答案是错”。题目24假定p所指对象的值为25,p+1所指对象的值为46,则执行*(p+)运算后,p所指对象的值为46。错正确的答案是对”。题目25假定a是一个指针数组,则a+i所指对象的地址比a地址大4*i字节。选择一项:对厂错正确的答案是对”。题目26若要把一个整型指针p转换为字符指针,则采用的强制转换表达式为(char*)p选择一项:对错正确的答案是对”。题目27假定一个数据对象为int*类型,则指向该对象的指针类型仍为int*类型。错正确的答案是错”。题目28假定x为一个简单变量,则&X表示x的地址。选择一项:对厂错正确的答
9、案是对”。题目29若p指向X,则*p与x的值不同。选择一项:对错正确的答案是错”。题目30NULL是一个符号常量,通常作为空指针值,它代表的值为0错正确的答案是对”。信息文本三、写出下列每个程序运行后的输出结果 (共20分,每小题4分)题目31#i ncludeint WF(i nt x, i nt y) x=x+y;y=x+y;return x+y;void mai n() int x=5, y=7;int z=WF(x,y);prin tf(z=%dn,z);z=31题目32#i nclude#i ncludevstri ng.hvoid fun( char ss);void main(
10、) char s15=0123456789;fun( s);prin tf(%sn,s);void fun( char ss) int i, n=strle n( ss);for(i=0; in/2; i+) char c=ssi;ssi=ss n-1-i;ss n-1-i=c;9876543210题目33#i ncludeint Coun t(i nt a, int n, int x)int i,c=0;for(i=0;i x) c+;return c;void mai n() int a8=20,15,32,47,24,36,28,70;int b=Count(a,8,30);prin t
11、f(b=%dn,b);B=4题目34#i ncludevoid mai n() int a8=3,5,7,9,2,3,4,8;int s=0,*p;for(p=a;pa+8;) s+=*p+;prin tf(s=%dn,s);s=41题目35#i ncludeint LA(i nt *a, i nt n, i nt x) int i,s=0;for(i=0;i n ;i+)if(aix) s+=ai;return s;void mai n() int a8=5,10,15,8,12,3,9,20;int b=LA(a,5,10);in t c=LA(a+2,6,10);prin tf(%d %
12、dn,b,c);13 20四、写出下列每个函数的功能(共20分,每小题4分)题目36double SF(double x, int n) n 为正整数double p=1,s=1;int i;for(i=1;i=n ;i+) p*=x;s+=p;return s;计算出1+x+x2+.+xn的值并返回。题目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(i nt a
13、, i nt n, i nt x) for(i nt i=0;i n;i+)if(ai=x) return 1;return 0;从数组an中顺序查找值为x的元素,若查找成功则返回1,否则返回0题目39int fun (i nt 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, i nt n) double s=0;int i,m=0;for(i=0;i n ;i+) s+=ai;s/=n;for(i=0;i =s) m+;return m;求出并返回数组a的n个元素中大于等于平均值的元素个数
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1