版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一、 单项选择1. 题号:4889以下函数调用语句中,实参的个数是().exce(v1,v2),(v3,v4,v5),v6);A、3B、4C、5D、6/ (v1,v2)是一个逗号表达式,(v3,v4,v5)也是一个逗号表达式答案:A2. 题号:4093关于return语句,下列正确的说法是().A、 可以在同一个函数中,出现多次B、在主函数和其他函数中,均可出现C、必须在每个函数中,出现D、只能在除主函数之外的函数中,出现一次/只能执行其中的一个的return 语句。并且函数遇到return语句,结束函数的执行。答案:A3. 题号:4535数组名作为实参数传递给函数时,数组名被处理为().A、
2、该数组的首地址B、该数组的元素个数C、该数组中各元素的值D、该数组的长度答案:A4. 题号:4525在C语言的函数中,下列正确的说法是().A、数组名不能作形参B、可以有也可以没有形参C、形参必须是变量名D、必须有形参答案:B5. 题号:4083以下正确的函数定义形式是().A、 double fun(int x,int y)B、 double fun(int x;int y)/错在分号C、 double fun(int x,y);/错在形参y没有类型D、 double fun(int x,int y);/错在函数头后没有分号答案:A6. 题号:4232C语言程序中,必须有的函数是().A、m
3、ain()B、#includestdio.hC、scanf D、printf 答案:A7. 题号:4048下面对函数的叙述,正确的是().A、函数中无论是否有 return语句,都能返回正确值B、函数中没有 return语句,说明不带回值C、函数不能嵌套定义D、函数的返回值是通过 return语句获得的答案:C8. 题号:4073在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是().A、传递方式由用户指定B、由实参传给形参,再由形参传回实参C、地址传递D、单向值传递答案:D9. 题号:5119下列关于函数的叙述中正确的是(). A、 每个函数都可以单独运行 /主函数可以单独运
4、行。其它的函数都需要被调用才能被执行。B、在一个函数内部可以定义另一个函数/不可以嵌套定义C、每个函数都可以被单独编译 D、每个函数都可以被其他函数调用(包括main()函数)/不包括主函数答案:C10. 题号:4787设函数的调用形式如下:f(x1,x2),(y1,y2,y3),则函数有()个形参.A、5B、3C、2D、4答案:C11. 题号:4901在C语言中,形参的缺省存储类是().A、static B、registerC、autoD、extern答案:C12. 题号:4507C语言规定,在一个源程序中,main()函数的位置.A、必须在最开始B、必须在系统调用的库函数的后面C、可以任意
5、D、必须在最后答案:C13. 题号:4847以下叙述中,正确的是().A、main()可作为用户标识符,用以命名任意一个函数作为主函数B、C语言程序将从源程序中,第一个函数开始执行 C、可以在程序中,由用户指定任意一个函数作为主函数,程序将从此开始执行 D、C语言规定必须用main()作为主函数名,程序将从此开始执行,在此结束 答案:D14. 题号:5137以下函数的类型是fff(float x)printf(%dn,x);/函数返回值省略。默认为int型。A、void 类型B、int类型C、与参数x的类型相同D、无法确定答案:B15. 题号:4403C语言规定,在一个C程序中,main()函
6、数的位置(). A、可以在任意位置 B、必须在程序的最后 C、必须在程序的开始 D、必须在系统调用的库函数之后 答案:A16. 题号:4112C语言规定,函数返回值的类型是(). A、由return语句中的表达式类型所决定 B、由调用该函数时的主调函数类型所决定 C、由调用该函数时系统临时决定 D、由定义该函数时所指定的数值类型决定 答案:D17. 题号:4804以下所列的函数首部中,正确的是().()A、void play(int a,b)B、void play(int a,int b)C、void play(a:int,b:int)D、void play(a as int,b as int
7、)答案:B18. 题号:4432有以下函数定义: int fun(double a,double b)return a*b; 若以下选项中,所用变量都已正确定义并赋值,错误的函数调用是(). A、z=fun(fun(x,y),fun(x,y); B、z=fun(fun(x,y)x,y); C、if(fun(x,y)D、fun(x,y); 答案:B19. 题号:5050对于void 类型函数,调用时不可作为().A、if语句的成分语句B、表达式C、循环体里的语句D、自定义函数体中的语句/无返回值函数只能以语句形式调用。不可以作为表达式或实参答案:B20. 题号:4269若使用一维数组名作函数实参
8、,则以下正确的说法是().A、必须在主调函数中,说明此数组的大小B、实参数组类型与形参数组类型可以不匹配C、实参数组名与形参数组名必须一致D、在被调用函数中,不需要考虑形参数组的大小答案:A21. 题号:4696在C语言中,调用函数除函数名外,还必须有().A、实际参数B、()C、函数预说明D、函数返回值答案:B22. 题号:4892以下错误的描述是:函数调用可以().A、做为一个函数的实参B、做为一个函数的形参C、出现在一个表达式中D、出现在执行语句中/函数调用形式一共有三种:独立语句形式。表达式或函数的实参答案:B23. 题号:4256当调用函数时,实参是一个数组名,则向函数传送的是().
9、A、数组每个元素中的值B、数组的首地址C、数组的长度D、数组每一个元素的地址答案:B24. 题号:5014若用数组名作为函数的实参,传递给形参的是().A、数组的首地址B、数组元素的个数C、数组第一个元素的值D、数组中,全部元素的值答案:A25. 题号:4843如果在一个函数中的复合语句中,定义了一个变量,以下正确的说法是().A、该变量在本程序范围内均有效B、该变量只在该复合语句中,有效C、该变量在该函数中,有效D、该变量在主函数中,有效答案:B26. 题号:4319C语言中,规定,程序中,各函数之间(). A、既允许直接递归调用也允许间接递归调用 B、允许直接递归调用不允许间接递归调用 C
10、、不允许直接递归调用允许间接递归调用 D、不允许直接递归调用也不允许间接递归调用 答案:A27. 题号:5062凡是函数中,未指定存储类别的局部变量,其隐含的存储类别为().A、自动(auto)B、静态(static)C、外部(extern)D、寄存器(register)答案:A28. 题号:4672以下叙述中,正确的是().A、构成C程序的基本单位是函数B、main()函数必须放在其它函数之前C、所有被调用的函数一定要在调用之前进行定义D、可以在一个函数中,定义另一个函数答案:A29. 题号:4236全局变量的定义不可能在().A、最后一行B、文件外面C、函数内部D、函数外面答案:C30.
11、题号:4754以下对C语言函数的描述中正确的是().A、C程序中有调用关系的所有函数必须放在同一个程序文件中B、C函数既可以嵌套定义又可以递归调用/不可以嵌套定义C、函数必须有返回值,否,则不能使用函数/函数返回值可以为voidD、C程序必须由一个或一个以上的函数组成答案:D31. 题号:4045在C语言中,变量的隐含存储类别是(). A、static B、auto C、无存储类别 D、extern 答案:B32. 题号:4578若已定义的函数有返回值,则以下关于该函数调用的叙述中,错误的是(). A、函数调用可以作为一个函数的形参 B、函数调用可以作为独立的语句存在 C、函数调用可以作为一个
12、函数的实参 D、函数调用可以出现在表达式中,答案:A33. 题号:4537以下正确的函数声明语句是().A、int add(int a,int b)/少了分号。不是语句。B、 double add();C、int add(char a);/数组第二维长度不可省略D、char add(char a,b);/b没有数据类型答案:B34. 题号:4436已知year为整型变量,不能使表达式(year%4=0&year%100 !=0)|year%400=0的值为真的数据是().A、1990B、1996C、2000D、1992答案:A35. 题号:5040以下叙述中,不正确的是(). A、在一个函数内
13、定义的变量只在本函数范围内有效 B、在一个函数内的复合语句中,定义的变量在本函数范围内有效 /在复合语句内有效C、函数中的形式参数是局部变量 D、在不同的函数中,可以使用相同的名字的变量 答案:B36. 题号:3986函数定义时的参数为形参,调用函数时所用的参数为实参,则下列描述正确的是().A、实参与形参是双向传递/单向传递。由实参单向赋值给形参B、形参和实参可以同名C、实参类型一定要在调用时指定/偷换概念。形参类型一定要在定义时给定。调用时,与函数名和实参变量名有关。与类型无关。D、形参可以是表达式/形参必须为变量答案:B二、 判断题=1. 题号:4018函数的嵌套调用中,被调用函数执行完
14、成后,均返回主函数./返回上一级调用函数答案:错误2. 题号:4872函数在说明时,可以不定义函数的形参名,只指定函数相应位置上形参的类型.函数说明语句的三种形式:int max(int a,int b); /与用户自定义函数中的形参变量名一样int max(int,int); /省略形参变量名int max(int aa,int bb); /与用户自定义函数中的形参变量名不一样答案:正确3. 题号:4204函数中的形式参数是局部变量.答案:正确4. 题号:4577静态局部变量是在编译时被初始化的,故它只被赋初值一次.答案:正确5. 题号:4846gets 函数是用来输入一个字符的函数./ge
15、ts函数是用来输入一个字符串的。它以回车键结束。可以读入带空格的字符串。答案:错误6. 题号:5028静态局部变量在整个程序运行期间都不释放.答案:正确7. 题号:4767函数调用时,实参和形参在类型上应按位置与形参一一对应匹配;如果类型不匹配,通常编译器并不给出出错信息.答案:正确8. 题号:4984一个C程序只能由一个主函数组成/一个程序可以由一个或多个函数组成。但只能有一个主函数答案:错误9. 题号:5013C程序的基本组成单位是函数答案:正确10. 题号:4587C语言的函数可以嵌套定义/可以嵌套调用。不可以嵌套定义。答案:错误11. 题号:4288函数定义当中的函数类型是return
16、语句中表达式的类型./若return后的表达式的类型和函数返回值类型不一致时。系统自动将return后的类型/转换为函数返回值的类型。答案:正确12. 题号:4442C语言本身不提供输入输出语句,输入和输出操作是由函数来实现的.答案:正确13. 题号:4989C语言中return语句可以返回函数值.如果return语句后表达式的值与函数说明的类型不一致,则以return语句的表达式类型为准,系统将自行转换.答案:错误14. 题号:4783通过return语句,函数可以带回一个或一个以上的返回值./return语句只能带回一个值。不能带回2个或多个值。但地址传递可以。答案:错误15. 题号:50
17、84若一个函数的返回类型为void,则表示其没有返回值.答案:正确16. 题号:4175在C语言中,不允许函数嵌套定义,但函数可以嵌套调用.答案:正确17. 题号:4689return 语句可以在同一个函数中出现多次./但只能执行其中一个。且调用函数结束。答案:正确18. 题号:4351所有定义在主函数之前的函数无需进行声明.答案:正确19. 题号:4097每次调用函数时,都要对静态局部变量重新进行初始化./静态变量可以由系统进行初始化。也可以由用户进行初始化。但只初始化一次。生命/周期是程序运行的整个时间。局部变量每次调用时都要进行初始化。答案:错误20. 题号:4092在不同的函数中可以使
18、用相同名字的变量.答案:正确21. 题号:4584函数调用时,要求实参与形参的个数必须一致,对应类型一致.答案:正确22. 题号:4055C语言程序总是从main()函数开始执行.答案:正确23. 题号:4161没有初始化的整型静态局部变量的初值系统均默认为0.答案:正确24. 题号:4349在C语言的函数中,必须有形参.答案:错误25. 题号:5108在C语言中,函数可以嵌套定义,但不能嵌套调用.答案:错误三、 填空题=1. 题号:4286在函数中,需要返回一个结果时,可以使用_语句.答案:空 1:return2. 题号:4371函数的_调用是一个函数直接或间接地调用它自身.答案:空 1:递
19、归3. 题号:4333C语言中,格式输入操作是由库函数_完成的,格式输出操作是由库函数_完成的.答案:空 1:scanf空 2:printf4. 题号:4373C源程序中的主函数的名称必须是_。答案:空 1:main5. 题号:4601下述函数的功能是_。void func(int a ,int n) int i,j; for(i=1;i0&ajaj-1;j-) int t=aj; aj=aj-1; aj-1=t; 答案:空 1:用冒泡法由小到大排序 【或】 冒泡法排序 【或】 排序 【或】 由小到大排序6. 题号:4885函数调用时的实参和形参之间的数据是单向的_传递.答案:空 1:值7.
20、题号:4690如果函数不要求返回值,可用_来定义函数为空类型.答案:空 1:void四、 程序设计=1. 题号:7041/*-【程序设计】-题目:函数fact(x)的功能是求x!。编写main程序调用函数fact求解从m个元素选n个元素的组合数的个数。计算公式是:组合数m!/(n!.(m-n)!)。要求:m不能小于n,否则应有容错处理。-注意:部分源程序给出如下。请勿改动主函数 main和其它函数中的任何内容,仅在函 数fun的花括号中填入所编写的若干语句。*Begin*和* End *不可删除-*/#include stdio.hlong fact(int x)/函数返回值一定要定义为lon
21、g。因为阶乘值增长的很快。很容易超出int的范围 long y;/y是存放阶乘值的变量。所以要定义为长整型long. int i; y=1; for(i=1;i=x;i+) y=y*i; return y;main() int m,n; long zhsgs; printf(请输入m和n:n); scanf(%d%d,&m,&n);/*Begin*/while(mn) printf(m和n输入错!请重新输入:n); scanf(%d%d,&m,&n); zhsgs=fact(m)/(fact(n)*fact(m-n);/* End */ printf(从%d个元素选%d个元素的组合数的个数是:
22、%dn,m,n,zhsgs); getch(); yzj();yzj()FILE *IN,*OUT;int n;int i;long o;IN=fopen(in.dat,r);if(IN=NULL)printf(Read File Error);OUT=fopen(out.dat,w);if(OUT=NULL)printf(Write File Error);for(n=0;n5;n+) fscanf(IN,%d,&i); o = fact(i); fprintf(OUT,%ldn,o);fclose(IN);fclose(OUT);1. 示例代码:while(m=5)return(int)(
23、h*100+1)/100.0;elsereturn(int)(h*100)/100.0; /* End */ void main() float m; printf(Enter m: ); scanf(%f, &m); printf(nThe result is %8.2fn, fun(m); TestFunc(); void TestFunc() FILE *IN,*OUT; int s ; float t; float o; IN=fopen(in.dat,r); if(IN=NULL) printf(Read File Error); OUT=fopen(out.dat,w); if(O
24、UT=NULL) printf(Write File Error); for(s=1;s=5)return(int)(h*100+1)/100.0;elsereturn(int)(h*100)/100.0;3. 题号:6993/*-【程序设计】-题目:编写一个函数fun,它的功能是:实现两个字符串的连接(不使用库函数strcat)。 例如,分别输入下面两个字符串: FirstString- SecondString程序输出: FirstString-SecondString 注意:部分源程序存在文件prog.c中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编
25、写的若干语句。*Begin*和* End *不可删除*/#include #include #includevoid fun(char p1,char p2) /* Begin */ int i=0,j=0; while(p1i)!=0) i+;/求字符串p1的长度。 while(p2j!=0)/遍历字符串p2 p1i=p2j;/注意下标变化的不同。 i+; j+; p1i=0; /* End */NONO ( )/* 本函数用于打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/ int i ; FILE *rf, *wf ; char s180, s240 ; rf = fop
26、en(bc02.in, r) ; wf = fopen(bc02.out, w) ; for(i = 0 ; i 10 ; i+) fscanf(rf, %s, s1) ; fscanf(rf, %s, s2) ; fun(s1, s2) ; fprintf(wf, %sn, s1) ; fclose(rf) ; fclose(wf) ;main() char s180,s240; system(cls); printf(Enter s1 and s2:n); scanf(%s%s,s1,s2); printf(s1=%sn,s1); printf(s2=%sn,s2); printf(Inv
27、oke fun(s1,s2):n); fun(s1,s2); printf(After invoking:n); printf(%sn,s1); NONO() ;3. 示例代码:char *point1,*point2; point1=p1; point2=p2; while(*point1)!=0) point1+; while(*point2!=0) *point1=*point2; point1+; point2+; *point1=0;4. 题号:7002/*-【程序设计】-题目:能计算从1开始到n的自然数中偶数的平方的和,n由键盘输入,并在main()函数中输出。(n是偶数)注意:部
28、分源程序给出如下。请勿改动主函数main和其 它函数中的任何内容,仅在函数fun的花括号中填 入所编写的若干语句。*Begin*和* End *不可删除-*/#include void bky(); int fun(int n) /*Begin*/ /* End */ main() int m; printf(Enter m: ); scanf(%d, &m); printf(nThe result is %dn, fun(m); bky(); void bky() FILE *IN,*OUT; int t; int o; int c; IN=fopen(in.dat,r); if(IN=NU
29、LL) printf(Read FILE Error); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Write FILE Error); for(c=1;c=5;c+) fscanf(IN,%d,&t); o=fun(t); fprintf(OUT,%dn,o); fclose(IN); fclose(OUT);4. 示例代码:int sum,i;sum =0;for(i=2;i=n;i=i+2)sum=sum+i*i;return(sum);5. 题号:6968/*-【程序设计】-题目:将100到200之间的素数及素数的个数打印出来。注意:部分源程序
30、给出如下。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。*Begin*和* End *不可删除-*/#include stdio.hvoid TestFunc(); int fun(int m) /*Begin*/int i,k=1; if(m=1) k=0; for(i=2;im;i+) if(m%i=0) k=0;break; return k; /* End */ main() int m,k=0; for(m=100;m200;m+) if(fun(m) printf(%4d,m); k+; if(k%5=0) printf(n); pri
31、ntf(k=%dn,k); TestFunc();void TestFunc() FILE *IN,*OUT; int iIN,iOUT,i; IN=fopen(in.dat,r); if(IN=NULL) printf(Please Verify The Currernt Dir.It May Be Changed); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Please Verify The Current Dir. It May Be Changed); for(i=0;i10;i+) fscanf(IN,%d,&iIN); iOUT=fun(
32、iIN); fprintf(OUT,%dn,iOUT); fclose(IN); fclose(OUT); 5. 示例代码: int i,k=1; if(m=1) k=0; for(i=2;im;i+) if(m%i=0) k=0; return k;6. 题号:6959/*-【程序设计】-题目:产生20个30,120上的随机整数放入二维数组a54中,求每行元素的和。-注意:部分源程序给出如下。请勿改动主函数main和其它函数中的任何内容,仅在函 数的花括号中填入所编写的若干语句。*Begin*和* End *不可删除-*/#include stdlib.h#include void bky(
33、); void row_sum(int a54,int b5) /*Begin*/ /* End */main() void row_sum(); int a54,b5,i,j; for(i=0;i5;i+) for(j=0;j4;j+) aij=rand(120-30+1)+30; for(i=0;i5;i+) for(j=0;j4;j+) printf(%5d,aij); printf(n); row_sum(a,b); for(i=0;i5;i+) printf(%6d,bi); printf(n); bky();void bky() FILE *IN,*OUT; int m,n; in
34、t i54; int o5; IN=fopen(in.dat,r); if(IN=NULL) printf(Read FILE Error); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Write FILE Error); for(m=0;m5;m+) for(n=0;n4;n+) fscanf(IN,%d,&imn); row_sum(i,o); for(n=0;n5;n+) fprintf(OUT,%dn,on); fclose(IN); fclose(OUT);6. 示例代码:int i,j; for(i=0;i5;i+) bi=0; for(j
35、=0;j4;j+) bi=bi+aij; 第六题的完整程序如下。已经在dev-c+编译通过。#include #include /* run this program using the console pauser or add your own getch, system(pause) or input loop */void row_sum(int a54,int b5) /*Begin*/ int i,j; for(i=0;i5;i+) bi=0; for(j=0;j4;j+) bi=bi+aij; /* End */int main(int argc, char *argv) int
36、 a54,b5,i,j; /unsigned seed; /scanf(%u,&seed);/srand(seed);/若是去掉上面的三句。则每次的运行结果都一样。 /rand()是无参函数。结果是 大于等于0的随机整数。 /随机整数与随机种子变量有关系。rand函数默认种子变量的值是1 /前面取消的3句的功能是改变随机函数的种子值。 for(i=0;i5;i+) for(j=0;j4;j+) aij=rand()%(120-30+1)+30; for(i=0;i5;i+) for(j=0;j4;j+) printf(%5d,aij); printf(n); row_sum(a,b); for
37、(i=0;i5;i+) printf(%6d,bi); printf(n); return 0;7. 题号:6945/*-【程序设计】-题目 编写函数fun,它的功能是:计算正整数n的所有因子(1和n除外)之和作为函数值返回。 例如:n=120时,函数值为239。 注意:部分源程序存在文件prog.c中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。*Begin*和* End *不可删除*/#include #include #includeint fun(int n) /* Begin */ /* End */NONO( )/* 请在此函数内打
38、开文件,输入测试数据,调用 fun 函数, 输出数据,关闭文件。 */ FILE *wf; wf = fopen(a30.out, w) ; fprintf(wf,%dn,fun(120); fclose(wf) ; main() /*主函数*/ system(cls); printf(%dn,fun(120); NONO();7. 示例代码:int i,s=0; for (i=2;in;i+) if (n%i=0) s=s+i; return (s);8. 题号:6901/*-【程序设计】-题目 编写函数fun,它的功能是:利用以下所示的简单迭代方法求方程:cos(x)-x=0的一个实根。Xn+1=cos(Xn)迭代步骤如下: (1)取x1初值为0.0; (2)x0=x1,把x1的值赋给x0; (3)x1=cos(x0),求出一个新的x1; (4)若x0-x1的绝对值小于0.000001,执行步骤(5),否则执行步骤(2); (5)所求x1就是方程cos(x)-x=0的一个实根,作为函数值返回。 程序将输出结果Root=0.739085。 注意:部分源程序存在文件prog.c中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。*Begin*和* End *不可删除*/#include #include #includ
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 脚手架搭设专项施工方案
- 个人小额无抵押借款合同协议书
- 结束协议房地产代理合同
- 蔬菜营销策略购买合同
- 瓷砖订购合同模板
- 电子元件采购合同范本
- 购销纺织品的合同样本
- 校园多媒体设备招标文件
- 网络购销合同规范化管理的方法与策略
- 农资采购合同的效力问题
- GB/T 20564.4-2022汽车用高强度冷连轧钢板及钢带第4部分:低合金高强度钢
- 三年级上册道德与法治知识点 解答题50道 部编版(含答案)
- 糖尿病与骨质疏松症课件
- 富士康公司组织架构及部门职责
- 库区倒罐作业操作规程
- 二年级下册乘除法口算题
- 中国地图矢量图课件
- 新版现代西班牙语第二册课后答案
- 热电厂管理提升专题方案
- 2022年第一学期田径社团活动计划
- 幕墙计算表格(自动版)
评论
0/150
提交评论