实验十函数(1) 级 姓名 指导老师 成绩 第 机房 号机器时间: 实验目的:1.学会函数的定义和调用方法 2.掌握形参和实参的使用和传值调用, 3.了解函数声明的使用。 实验要求:每次实验前,学生要先预习实验内容,写出分析结果或程序,经实验指导 老师检查后,上机运行、调试程序,得出最终正确结果。 实验内容 、读程序 要求:读懂程序,写出分析结果;上机运行程序,得到运行结果,比较之。 fun (int x, int y, int z) z=x *x+y* Yi int a=31 fun(5,2,a); printf("bd", a)i 分析结果 t include <stdio. h> int func(int a, int b i return(a+b)
实验十 函数(1) 班级______________姓名___________指导老师_____________成绩___________ 第_____________机房___________号机器 时间:________________________ 实验目的:1. 学会函数的定义和调用方法。 2. 掌握形参和实参的使用和传值调用。 3. 了解函数声明的使用。 实验要求:每次实验前,学生要先预习实验内容,写出分析结果或程序,经实验指导 老师检查后,上机运行、调试程序,得出最终正确结果。 实 验 内 容 一、读程序 要求:读懂程序,写出分析结果;上机运行程序,得到运行结果,比较之。 1. #include <stdio.h> fun (int x, int y, int z) { z=x * x + y * y; return(z); } main() { int a=31; fun(5,2,a); printf(“%d”,a); } 分析结果 运行结果 2. # include <stdio.h> int func(int a,int b) { return(a+b); }
第一部分c语言程序设计上机指导 main() printf(”dln”,x); 分析结果 运行结果 include <stdio. h> float fun(int x, int y) printf("83.1 f \n", fun((int)fun(a+c, b), a-c 分析结果 运行结果 include <stdio. h> fun (int x, int y int x=2, y=3 fun(x, y) printf(“%a,dn”,x,y) fun (int x, int y y=x-Yi x=x-yi printf(“数d,旨d,",x,y) 分析结果 运行结果
第一部分 C 语言程序设计上机指导 ·53· ·53· main ( ) { int x=2,y=5,z=8,r; r=func(func(x,y) , z); printf(“%d\n”,r); } 分析结果 运行结果 3. # include <stdio.h> float fun(int x,int y) { return(x+y); } main() { int a=2,b=5,c=8; printf(“%3.1 f \n”,fun( (int)fun(a+c , b) , a-c ) ; } 分析结果 运行结果 4. # include <stdio.h> fun (int x,int y ); main() { int x=2,y=3; fun(x,y); printf(“%d,%d\n”,x,y); } fun (int x,int y ) { x=x+y; y=x-y; x=x-y; printf(“%d,%d,”,x,y); } 分析结果 运行结果
C语言程序设计上机指导与同步训练 include <stdio. h int y) i int ti if(x<y i int a=4, b=3,C=5 fff (a,b) (b,c) printf("gd, d, sd\n", a, b, c) int f (int a) main() ints[8]={1,3,5,2,4,6},i,d=0; for (i=0: f( s[i] printf("gd\n",d); return a旨2; 、完成程序 要求:根据要求,分析给出的上下语句,填写程序。 1.请在以下程序第一行的下划线处填写适当内容,使程序能正确运行。 #include <stdio. h> i double x,y; printf("glf\n", max(x, y))i double max(double ouble b) return 2.以下函数的功能是求x的y次方,请填空,并写出主调函数。 #include <stdio. h> int y) double z for (i=l, z=x; i<y; i++) z=z*
·54· C 语言程序设计上机指导与同步训练 ·54· 5. # include <stdio.h> void f(int x , int y) { int t; if(x<y) { t=x; x=y; y=t; } } main() { int a=4,b=3,c=5; f(a,b); f(a,c); f(b,c); printf("%d,%d,%d\n",a,b,c); } 6. #include <stdio.h> int f (int a) ; main() { int s[ 8 ] = {1,3,5,2,4,6} , i , d=0; for (i=0; f( s[i] ) ; i++) d+=s[i]; printf("%d\n",d); } int f(int a) { return a%2; } 二、完成程序 要求:根据要求,分析给出的上下语句,填写程序。 1. 请在以下程序第一行的下划线处填写适当内容,使程序能正确运行。 #include <stdio.h>___________________________ main() { double x,y; scanf("%1f%1f",&x,&y); printf("%1f\n",max(x,y)); } double max(double a,double b) { return (a>b ? a:b) ; } 2. 以下函数的功能是求 x 的 y 次方,请填空,并写出主调函数。 #include <stdio.h> double fun( double x, int y) { int i; double z; for(i=1, z=x; i<y;i++) z=z* ______________;
第一部分c语言程序设计上机指导 3.以下函数的功能是计算s=1+ 3!”m,请填空。 double fun(int n) double s=0. 0 4.以下程序的功能是调用函数fun计算m=1-2+3-4+…+9-10,并输出结果。请填空 tdi. h> 三、调试程序 要求:分析下列程序是否正确,如有错,错在哪里?应如何改正?如正确,运行结果 如何?上机调试之 id f ( float n)
第一部分 C 语言程序设计上机指导 ·55· ·55· return z; } main( ) { } 3. 以下函数的功能是计算 s=1+ 1 2! + 1 3! +…+ 1 n! ,请填空。 # include <stdio.h> double fun(int n) { double s=0.0 , fac=1.0; int i; for(i=1,i<=n;i++) { fac=fac ______________ ; s = s + fac; } return s; } 4. 以下程序的功能是调用函数 fun 计算 m=1-2+3-4+…+9-10,并输出结果。请填空。 #include <stdio.h> int fun(int n) ; main() { printf("m=%d\n", _______________ ); } int fun(int n) { int n=0,f=1, i; for (i=1; i<=n; i++) { i +=i * f; f = ____________ ; } return m; } 三、调试程序 要求:分析下列程序是否正确,如有错,错在哪里?应如何改正?如正确,运行结果 如何?上机调试之。 1. void f (float n); main( ) { float x = 5.2 ; f ( x ); } void f( n)
C语言程序设计上机指导与同步训练 printf("暑f\n",n); 正确 错误所在 应改为 main() int x,y: int z canf("旨ad,d",&x Max (x printf max 1s Max( int a int b) [ intc return (c)i 运行结果: 正确 错误所在 func float a, float b main( I float x,y i float z i printf 号f\n float a, float b) a a +b*b return C 运行结果: 正确 错误所在 错误
·56· C 语言程序设计上机指导与同步训练 ·56· { printf("%f\n",n); } 运行结果: 正确 错误所在: 错误 应改为: 2. main() { int x , y ; int z ; scanf(“%d ,%d ”,&x , &y ); Max ( x , y ) ; printf ( “ max is % d \n “ , z ) ; } Max ( int a , int b) { int c ; c = ( a > b ) ? a : b ; return ( c ) ; } 运行结果: 正确 错误所在: 错误 应改为: 3. func ( float a , float b ) main() { float x , y ; float z ; scanf(“%f , % f”,&x ,&y); z = func ( x , y ) ; printf ( “ z = % f \n” , z ) ; } func ( float a , float b ) { float c ; c = a * a + b * b ; return c ; } 运行结果: 正确 错误所在: 错误 应改为: