C语言----函数
来源:互联网 发布:用c语言编写一个小木马 编辑:程序博客网 时间:2024/06/06 14:28
一、定义:
有特定功能的代码片段的集合体,我们成为 函数。
二、返回值:
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;}
1 0
- 【C语言】C语言函数
- C语言函数 --C
- C 语言图形函数
- C语言图形函数
- C语言图形函数
- C语言图形函数
- C语言函数
- C语言内联函数
- C语言return函数
- C语言 assert()函数
- c语言IO函数
- C语言图形函数
- C语言函数大全
- c语言函数指针
- C语言字符串函数
- C语言图形函数
- C语言字符串函数
- C语言图形函数...
- androidstudio使用指南(持续更新)
- c/c++(疑5) 说了那么多,来试一试最简单的
- JVM参数配置
- java.lang.outofmemoryerror:permgen space jvm内存溢出解决办法
- 软文创意18招之五:比对手
- C语言----函数
- android webview配合Html5数据操作
- 算法学习之递归和堆栈
- 正则表达式 将SQL条件的左边字段和右边值分别取出来
- Solr对数据库建立索引
- pthread多线程资源回收策略
- android myclass
- Placement new、operator new、new operator
- spring redis cache使用思考