140 likes | 330 Views
C 语言程序设计实验. 实验七 函数的定义、声明和调用. 实验目的 1 、 掌握函数定义(返回、函数名、参数、函数体),调用。 2 、 掌握函数的声明 3 、 ※ 嵌套调用、递归调用。 ※ 4 、 ※ 掌握函数的传值、传址调用 ※ 。 ※ :不要求. 实验要求 1 、在 Turbo C 下完成程序的编辑、编译、运行并分析程序结果。 2 、 按实验步骤完成,认真观察,仔细思考思考题。. 实验内容 1、题目要求:用函数实现三个数求最大值 /* Note:Your choice is C IDE */ #include "stdio.h" main() {
E N D
实验七 函数的定义、声明和调用
实验目的 1、 掌握函数定义(返回、函数名、参数、函数体),调用。 2、 掌握函数的声明 3、 ※嵌套调用、递归调用。※ 4、 ※掌握函数的传值、传址调用※。 ※:不要求
实验要求 1、在Turbo C下完成程序的编辑、编译、运行并分析程序结果。 2、 按实验步骤完成,认真观察,仔细思考思考题。
实验内容 1、题目要求:用函数实现三个数求最大值 /* Note:Your choice is C IDE */ #include "stdio.h" main() { int max(int,int,int); int a,b,c,max1; scanf("%d%d%d",&a,&b,&c); max1=max(a,b,c); printf("三个数最大值为:%d\n",max1); }
int max(int a,int b,int c) { int max; max=a>b?a:b; max=c>max?c:max; return(max); }
2、用函数实现求方程的根: /* Note:Your choice is C IDE */ #include "stdio.h" main() { void liangshigen(float,float,float,float); void yishigen(float,float,float,float); void wushigen(float,float,float,float); float a,b,c,disc; scanf("%f%f%f",&a,&b,&c); disc=b*b-4*a*c; printf("ci han shu"); liangshigen(a,b,c,disc); yishigen(a,b,c,disc); wushigen(a,b,c,disc); }
void liangshigen(float a,float b,float c,float disc) { float x1,x2; if(disc>0) { x1=(-b+sqrt(disc))/(2*a); x2=(-b-sqrt(disc))/(2*a); printf("you liang ge shi gen wei:x1=%f,x2=%f",x1,x2); } }
void yishigen(float a,float b,float c,float disc) { float x; if(disc==0) { x=(-b+sqrt(disc))/(2*a); printf("you yi ge shi gen wei:x=%f",x); } } void wushigen(float a,float b,float c,float disc) { if(disc<0) { float m,n; m=-b/(2*a); n=sqrt(-disc)/(2*a); printf("you liang ge xu gen:\n"); printf("%8.4f+%8.4fi\n",a,b); printf("%8.4f-%8.4fi\n",a,b); }
3、利用函数的方法求素数: /* Note:Your choice is C IDE */ #include "stdio.h" #include "math.h" main() { int sushu(int num); int num; scanf("%d",&num); sushu(num); }
int sushu(int num) { int i; for(i=2;i<=(int)sqrt(num);i++) { if(num%i==0) { printf("%dbu shi su shu",num); break; } if(i=(int)sqrt(num)+1) printf("%dshi su shu",num); } }
总结 1、函数的定义、调用、声明要分清 2、函数参数的定义(需不需要参数,需要的话,要定义几个,什么类型等),实参和形参的区别和联系。 3、函数的返回值(需不需要返回值)。注意:函数返回值只能有一个,不能同时返回多于一个的函数返回值。 4、函数参数和函数返回值没有必然联系,有参数不一定有返回值,有返回值不一定有参数。
3、编程到这个阶段,进入第一个“坎”的冲刺阶段。循环是三种程序结构中最复杂的,而且这个周而复始的编程思想是需要智慧来理解的,这也是目前同学们学习C语言到现在遇到的最大的一个难题。课上明明听懂了,真正自己上机编程就不是那么回事了。所以,“照葫芦画葫芦”也不是那么简单的,但这是最基本的,一定要掌握。在这个阶段,编程就应该有些入门了。应该有一定的编程思想了。但是事实上,很多同学对编程还是朦朦胧胧,似懂非懂。其实,这个阶段就是一层窗户纸了,捅破了,这第一个“坎”就迈过去了。3、编程到这个阶段,进入第一个“坎”的冲刺阶段。循环是三种程序结构中最复杂的,而且这个周而复始的编程思想是需要智慧来理解的,这也是目前同学们学习C语言到现在遇到的最大的一个难题。课上明明听懂了,真正自己上机编程就不是那么回事了。所以,“照葫芦画葫芦”也不是那么简单的,但这是最基本的,一定要掌握。在这个阶段,编程就应该有些入门了。应该有一定的编程思想了。但是事实上,很多同学对编程还是朦朦胧胧,似懂非懂。其实,这个阶段就是一层窗户纸了,捅破了,这第一个“坎”就迈过去了。 4、因为,此时不断出现死循环,就是不断的考验学生们的学习耐心和细心的时候,不要放弃,加大油门,冲!!!