码迷,mamicode.com
首页 > 编程语言 > 详细

C语言----函数

时间:2015-06-17 21:48:59      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:c语言   函数调用   函数   

一、定义:

有特定功能的代码片段的集合体,我们成为 函数。

二、返回值:

1、函数的返回值称为 函数的值,只能通过 return 语句返回给主调函数;
2、一个函数只能有一个返回值;
3、函数即使没有返回值也可以使用 return 来结束函数的执行,回到 主调函数;
4、return 后面的语句 不再执行。

三、形参、实参

1、形参
出现在函数的定义中,以 假名字 来表示函数调用时需要提供的值。
2、
出现在函数调用中的表达式。

注意:函数调用时,形参会拷贝实参的内容,传递参数是给函数传送信息的一种方式。

四、函数声明

严格的函数通常包括三部分: 函数声明、函数定义、以及函数调?用

五、函数的递归调用

1、//对于函数的递归调用一定要做好分析,推导出递归表达式,n * multipleFun(n - 1),同时为了防止循环调用自身导致程序陷入死循环,一定要找准调用结束的条件,比如求阶乘就是条件为 1 时停止循环调用

2、 所谓递归调用函数实现内部循环调用自身,直到条件不满足为止。

六、例代码:

输入一个年月日,计算出是这一年中的 第几天?


#import <Foundation/Foundation.h>

int sumValue( int n );
int dayOfYear( int year, int month, int day );

int main(int argc, const char * argv[])
{
//    int n = 0;
//    printf( "请输入一个数:");
//    scanf( "%d", &n );
//    printf( "1 ~ %d 的和是 %d\n", n, sumValue( n ) );
//
    printf( "请输入年月日信息:" );
    int year = 0, month = 0, day = 0;
    scanf( "%d/%d/%d", &year, &month, &day );
    printf( "%d%d%d日是这一年中的第 %d 天。\n",
           year, month, day, dayOfYear( year, month, day ) );

    return 0;
}

int sumValue( int n )
{
    int sum;
    for( int i = 1; i <= n; i++ )
        sum += i;
    return sum;
}

int dayOfYear( int year, int month, int day )
{
    int days[] = { 31, 28, 31, 30, 31, 30, 31, 31, 30 , 31, 30, 31};

    // 如果输入的月份大于12,或者日期大于31则表示输入错误,直接结束输入,返回0天;
    if( month > 12 || day > 31 )
    {
        return 0;
    }
    if( year % 400 == 0 || ( year % 4 == 0 && year % 100 !=0 ) )
    {
        days[1] = 29;
        //如果是闰年,则将2月的值改为29天,否则不做任何操作,则为默认的28天
    }
    //定义一个整形变量先保存日期,再通过for循环连续加上当前给定月之前的所有完整月的天数,最后将结果返回
    int daysOfYear = day;
    for( int i = 0; i < month - 1; i++ )
    {
        daysOfYear += days[i];
    }
    return daysOfYear;
}

C语言----函数

标签:c语言   函数调用   函数   

原文地址:http://blog.csdn.net/zhengang007/article/details/46535549

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!