函数的基本用法c语言,C语言(函数基本用法).ppt

5 函数;思考:输入n个整数到一维数组中,然后完成以下任务:(1)输出数组元素;(2)把数组就地逆置后后输出;(3)把数组升序排列并输出。提示:输出数组元素在(1)~(3)中都有要求,每次输出都写一遍输出语句不是不可以, 但代码冗余大,有没有更好的方法?

思考并讨论:输入2个整数,求它们各自逆序之后的和的逆序数。如输入123,456;求321+654=975;975的逆序数579为所求结果。;5.1 函数概述;一个C/C++程序由一个main函数及若干个其它函数构成。程序从main 函数中开始执行,在main函数中结束。函数的作用是通过函数调用实现的。由主函数调用其它函数,其它函数可以相互调用。同一函数可以被一个或几个函数调用任意次。主函数由操作系统调用。例如,main函数调用f1、f2函数,f1函数调用f3函数的函数的调用示意图如下:;5.2 函数基本用法;函数定义中的参数为形式参数,简称形参。形参列表的每个参数包括参数类型和参数名,可以带默认值;形参列表可以没有,此时为无参函数;形参列表若有多个参数,则以逗号分开。函数可分为有返回值函数和无返回值函数两种。函数的返回值是通过函数中的return语句来获得的。return语句的一般格式: return [ 返回值表达式 ] ; //[ ]表示可选返回值表达式的类型一般应与返回类型一致,否则以返回类型为准。return语句后带返回值表达式时控制程序流程返回调用点的同时带回一个值,语句“return;”控制程序流程返回到调用点。;下面是若干函数定义的例子:void print()//无参函数,也没有返回值 { printf("hello\n");}

int max(int a, int b)//求两个整数的最大值{ if (a>=b) return a; else return b;};5.2.2 函数的声明函数调用之前必须先进行函数声明,形式为:“函数类型 函数名([形参列表]);”,函数声明中形参名可以省略;若函数定义在函数调用之前,则定义时的函数头可以充当函数声明,此时,可以不必进行函数声明。例如,下面是函数声明的例子:int max(int a, int b);int max(int, int);//省略形参名;5.2.3 函数的调用函数的调用的形式一般如下: [变量=]函数名([实际参数表])[;]void返回类型的函数只能以???句形式调用,其它返回类型的函数一般以表达式形式调用。调用时的参数称为实际参数,简称实参,一般不需要指定数据类型,除非是进行强制类型转换。参数的类型、顺序、个数一般须与函数定义中的一致。函数调用时,把实参依序传递给形参,然后执行函数定义体中的语句,执行到函数结束或return语句时,程序流程返回到调用点。;例如调用上面定义的函数的方法如下:print();//void返回类型的函数以语句形式调用有返回值的函数一般以表达式形式调用:int t=max(123,99); printf("%d\n",max(1, 2));;5.3 函数应用举例;#include//构成逆序数的函数int reverseNum(int x) // x 是正整数 { int r=0; while(x>0) { r = r*10 + x%10; x = x/10; } return r;};int main(){ int a,b,c; scanf("%d%d",&a,&b); c = reverseNum(a) + reverseNum(b);//调用 printf("%d\n",reverseNum(c)); return 0;};例2:素数判定 素数是除了1与本身之外没有其它因子的自然数(1不是素数),可以考虑从2~n-1判断是否有n的因子,若有,则n不是素数。 可以仅在2~ sqrt(n)的范围内判断是否有因子。 因为若n不是素数,则n=i*j(i<=sqrt(n), j>=sqrt(n)),故只需判断2~sqrt(n)范围内是否有因子。代码如下: #include #include //使用系统函数sqrt求开方须包含此头文件 ;int isPrime(int n)//n为素数返回1,否则返回0{ int i, flag=1;//一开始假设n为素数 double limit=sqrt(1.0*n);//参数须为double类型 for(i=2;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值