C语言复习题函数_第1页
C语言复习题函数_第2页
C语言复习题函数_第3页
C语言复习题函数_第4页
C语言复习题函数_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言复习题_函数一、选择1、当调用函数时,实参是一个数组名,则向函数传递的是C。A) 数组的长度 B) 数组每一个元素的地址C) 数组的首地址 D) 数组每个元素中的值2、以下函数定义形式正确的是D。A) double myfun(int x,int y) z=x+y; return z;B) myfun(int x,y) int z; return z;C) myfun(x,y) int x,y; double z; z=x+y; return z; D) double myfun(int x,int y) double z; z=x+y;return z;3、下列关于参数的说法正确的是B。A) 实参和与其对应的形参共占用一个存储单元; B) 实参和与其对应的形参各占用独立的存储单元; C) 形参是虚拟的,不占用存储单元; D) 只有当实参与其对应的形参同名时才共占用存储单元。4、一个完整的C源程序是B。 A) 要由一个主函数或一个以上的非主函数构成 B) 由一个且仅由一个主函数和零个以上的非主函数构成 C) 要由一个主函数和一个以上的非主函数构成D) 由一个且只有一个主函数或多个非主函数构成5、以下关于函数的叙述中正确的是C。A) C语言程序将从源程序中第一个函数开始执行B) 可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C) C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束D) main可作为用户标识符,用以定义任意一个函数6、以下关于函数的叙述中不正确的是B。A) C程序是函数的集合,包括标准库函数和用户自定义函数B) 在C语言程序中,被调用的函数必须在main函数中定义C) 在C语言程序中,函数的定义不能嵌套D) 在C语言程序中,函数的调用可以嵌套7、在一个C程序中,B。A) main函数必须出现在所有函数之前B) main函数可以在任何地方出现C) main函数必须出现在所有函数之后 D) main函数必须出现在固定位置8、若在C语言中未说明函数的类型,则系统默认该函数的数据类型是C。A) floatB) longC) intD) double9、以下关于函数叙述中,错误的是D。A) 函数未被调用时,系统将不为形参分配内存单元B) 实参与形参的个数应相等,且实参与形参的类型必须对应一致C) 当形参是变量时,实参可以是常量、变量或表达式D) 形参可以是常量、变量或表达式10、若函数调用时参数为基本数据类型的变量,以下叙述正确的是C。A) 实参与其对应的形参共占存储单元B) 只有当实参与其对应的形参同名时才共占存储单元C) 实参与对应的形参分别占用不同的存储单元D) 实参将数据传递给形参后,立即释放原先占用的存储单元11、函数调用时,当实参和形参都是简单变量时,他们之间数据传递的过程是D。A) 实参将其地址传递给形参,并释放原先占用的存储单元B) 实参将其地址传递给形参,调用结束时形参再将其地址回传给实参C) 实参将其值传递给形参,调用结束时形参再将其值回传给实参D) 实参将其值传递给形参,调用结束时形参并不将其值回传给实参12、若程序中定义函数float myadd(float a, float b) return a+b;并将其放在调用语句之后,则在调用之前应对该函数进行说明。以下说明中错误的是A。A) float myadd( float a,b);B) float myadd(float b, float a);C) float myadd(float, float);D) float myadd(float a, float b);13、以下程序运行后的输出结果是D。 fun(int a, int b) if(ab) return a; elsereturn b;int main() int x=3,y=8,z=6,r; r=fun(fun(x,y),2*z); printf(%dn,r);return 0;A) 3B) 6C) 8D) 1214、以下程序的运行结果是C。void f(int a, int b) int t; t=a; a=b; b=t;int main() int x=1, y=3, z=2; if(xy) f(x,y); else if(yz) f(x,z); else f(x,z); printf(%d,%d,%dn,x,y,z); return 0;A)1,2,3B) 3,1,2C) 1,3,2D) 2,3,1二、判断1、C程序从源文件中的第一个函数开始运行, 到最后一个函数结束。F2、C语言的函数调用时,形参是不需要分配存储单元的。 F3、函数中的形参变量在被定义后即被分配了一定的内存单元。F三、程序填空1、在C语言中,一个函数一般由两个部分组成,分别是函数首部和函数体。 2、以下程序的功能是计算函数F(x,y,z)=(x+z)/(y-z)+(y+2z)/(x-2z)的值,请将程序补充完整。#includefloat f(float x,float y) float value; value= x/y; return value;int main() float x,y,z,sum; scanf(%f%f%f,&x,&y,&z); sum=f(x+z,y-z)+f(y+2*z,x-2*z); printf(sum=%fn,sum); return 0; 3、以下程序是选出能被3整除且至少有一位是5的所有三位正整数k(个位为a0,十位为a1,百位为a2),打印出所有这样的数及其个数。请将程序补充完整。#includesub(int m,int n) int a0,a1,a2; a2= m/100; a1= m/10-a2*10; a0=m%10; if(m%3=0 & (a2=5|a1=5|a0=5) printf(“%d”,m); n+; return n;int main() int m=0,k; for(k=105;k=995;k+) m=sub(k,m); printf(nn=%dn,m); return 0;四、写出程序运行结果1、#include #define N 20fun(int a,int n,int m) int i,j;for(i=m;i=n;i-)ai+1=ai;int main() int i,aN=1,2,3,4,5,6,7,8,9,10; fun(a,2,9); for(i=0;i5;i+) printf(%d,ai);return 0;答:123342、#include int F(int x)int s = 0;s += x;return s; int G(int x)static int s = 0;s += x;return s;int main()printf(%dn, F(2);printf(%dn, F(3);printf(%dn, G(2);printf(%dn, G(3);return 0;答:23253、#include void fact(int a);void sum(int b); int main() int c=5;fact(c);sum(c+5);return 0;void fact(int a) int i,total=1;for(i=1;i=a;i+) total*=i;printf(a=%d,total=%dn,a,total);sum(a);void sum(int b) int i,sum=0;for(i=1;i=b;i+) sum+=i;printf(b=%d,sum=%dn,b,sum);运行结果为:4、#include void fun(int x,int y,int z);int main ( ) int a=31; fun (6,3,a); printf (%d, a); return 0;void fun(int x,int y,int z) z =x*x+y*y;答:31五、程序设计1、写一个判素数的函数,在主函数中输入一个整数,输出是否为素数的信息。参考代码:#include int main() int Prime(int n); int n; scanf(%d, &n); if (Prime(n) printf(%d是素数, n); else printf(%d不是素数, n); return 0; int Prime(int n) int i,flag=1; for (i=2;in/2;i+) if (n%i=0) flag=0; break; return flag; 2、数学函数 , - x +编写函数: double F(double x); 要求精度达到10-6。#include #include #define epsilon 1e-6double F(double x);int main()double a, b;printf(a = ? );scanf(%lg, &a);b = F(a);printf(b = %lgn, b);return 0;double F(double x)double p = x, y = p;int d = 1;dod += 2;p *= x * x / (d * (d - 1);y += p;while (fabs(p) = epsilon);return y;3、写一个计算x的n次方的函数,在主函数中输入一个实数x,一个整数n代表次数,输出x的n次方的结果

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论