一、什么是函数

1、C程序的基本单元

C程序中,为了方便规划、编写、调试,需要把程序分模块来编写。

加法 乘法 减法 除法

2、用来实现程序的一些具体的功能

每一个模块实现单一功能。

3、函数注意:

(1)一个程序里面有且只有一个主函数。必须有。

(2)一个源文件是由一个或者多个函数组成。

(3)C语言里面两个函数名不能重名。

(4)库函数:由系统提供的函数,需要包含指定头文件。

stdio.h: printf() scanf()

string.h: strcmp() strlen()

(5)自定义函数:自己编写的用来实现用户想要实现的功能。

*******************************************************/

//============================计算一个人出生的年份

#include//包含头文件

void Hello();

int CalcYear(int age); //函数声明

int main() //主函数

{

Hello();

return 0;

}

void Hello()

{

int iAge, iYear;

printf('你好,请输入你的年龄:\n');

scanf('%d', &iAge);

iYear = CalcYear(iAge);

printf('你出生于%d年。\n', iYear);

}

//计算年份

int CalcYear(intage)

{

int iYear;

iYear = 2016 - age;

return iYear;

}

喜欢的话关注收藏评论转发一波 比心么么哒!加入我们C语言C 学习交流 369203660群内有大量的项目开发和新手教学视频千人大群等着你来加入。

/******************************************************

一、怎么样来使用函数

1、函数的声明--告诉系统 函数的返回类型 函数的名字 函数的参数。不声明会报错。

(1)函数的类型 函数名(类型1 参数1,类型2 参数2,类型3 参数3......类型n 参数n);

(2)函数的类型 函数名(类型1,类型2 ,类型3 ......类型n);(这种情况最好也不要写)

(3)函数定义在白调用函数之前,系统会把定义默认为声明。(这种情况尽量避免)

数据类型————>返回值的类型

void------空类型

int-------整型

char------字符型

注:函数名自己命名。

2、函数的定义:在函数中编写代码实现功能。

数据类型 函数名(类型 参数1,类型 参数2,类型 参数3......类型 参数n)

功能代码;

注:返回语句

(1)return 表示函数结束,并返回return后面的值。

(2)return的数据类型,最后都要转化为函数的数据类型。

char Fun() //函数的类型是char

{

int num=65;

return num; //返回的类型整型

}

printf('%d',Fun()); //65

printf('%c',Fun()); //A

3、函数的调用

(1)作为一个语句调用。

Welcome();

(2)作为其他函数的参数进行调用。

printf('%d %d=%d', iNumber1,iNumber2, Sum(iNumber1, iNumber2));

(3)作为表达式进行调用。

sum = Sum(iNumber1, iNumber2);

注:函数参数

(1)形式参数:形式上的参数。函数定义时括号里面的。

int Sum(int num1, int num2);

形参:num1,num2

(2)实际参数:实际需要处理的参数。函数调用时括号里面。

sum = Sum(iNumber1, iNumber2);

实参:iNumber1, iNumber2

*******************************************************/

//========================计算字符串的实际长度

#include

#defineMAX 1000

void CalcLen();

int main()

{

//1

CalcLen();

//2

return 0;

}

void CalcLen()

{

int i;

char cArray[MAX]; //字符数组的声明

scanf('%s', &cArray);

for (i = 0; cArray[i] != '\0'; i ); //i 从0 i 1

printf('你输入的字符串长度为%d\n', i);

}

//============================计算一个人出生的年份

#include//包含头文件

void Hello() //既是定义也是声明

{

int iAge, iYear;

printf('你好,请输入你的年龄:\n');

scanf('%d', &iAge);

iYear = CalcYear(iAge);

printf('你出生于%d年。\n', iYear);

}

int main() //主函数

{

Hello();

return 0;

}

//计算年份

int CalcYear(intage)

{

int iYear;

iYear = 2016 - age;

return iYear;

}

//============================================简易计算器

#include

void Welcome(); //声明一个不接受参数的函数

int Sum(int,int); //声明一个加法函数

int Sub(int num1, int num2);

int main()

{

int choice; //菜单的选择

int iNumber1, iNumber2; //需要计算的变量

do

{

system('cls'); // 清屏

Welcome(); //用语句的方式调用界面函数(进入Welcome函数,执行完再回来)

scanf('%d', &choice); //输入选择

switch (choice) //选择结构

{

case 1: //如果输入1

{

int sum; //声明一个和

printf('你选择了加法!\n请输出你要计算的两个值用空格分开:\n'); //打印提示语

scanf('%d %d', &iNumber1, &iNumber1); //输入两个需要计算的数

//用表达式方式调用Sum函数(执行完之后,返回iNumber1 iNumber2)

sum = Sum(iNumber1, iNumber2);

printf('%d %d=%d', iNumber1,iNumber2, sum); //打印sum

getchar();

getchar();

}

break;

case 2:

{

int diff;

printf('你选择了减法法!\n请输出你要计算的两个值用空格分开:\n'); //打印提示语

scanf('%d %d', &iNumber1, &iNumber2); //输入两个需要计算的数

diff = Sub(iNumber1, iNumber2);

printf('%d-%d=%d', iNumber1, iNumber2, diff); //打印sum

}

break;

case 3:

break;

case 4:

break;

default:

break;

}

} while (choice != 0);

return 0;

}

void Welcome()

{

printf( //打印出一个界面

'\n\n\n'

'\t\t================================================\n'

'\t\t| 简易计算 |\n'

'\t\t================================================\n'

'\t\t| |\n'

'\t\t| 1、加法 |\n'

'\t\t| |\n'

'\t\t| 2、减法 |\n'

'\t\t| |\n'

'\t\t| 3、乘法 |\n'

'\t\t| |\n'

'\t\t| 4、除法 |\n'

'\t\t| |\n'

'\t\t================================================\n');

printf('请选择:\n'); //打印出一个请选择

}

int Sum(intnum1, intnum2)

{

int sum; //定义一个和

sum = num1 num2; //sum = iNumber1 iNumber2;

return sum; //结束这个函数 返回

}

int Sub(intnum1, intnum2)

{

int poor; //定义一个差

poor = num1 - num2; //sum = iNumber1-iNumber2;

return poor; //结束这个函数 返回

}

//getchar();不能卡屏

//#include kbhit()

//getch();

喜欢的话关注收藏评论转发一波 比心么么哒!加入我们C语言C 学习交流 369203660群内有大量的项目开发和新手教学视频千人大群等着你来加入。

c语言函数视频编程,史上最高效编程学习方法,十分钟学会使用C语言函数相关推荐

  1. 详解c语言欧拉函数,【基础数论】十分钟学会计算欧拉函数

    欧拉函数 欢迎各位读者指出不足,谢谢~ 首先我们要知道欧拉函数是个什么东东? 废话不多说~欧拉函数就是指:对于一个正整数n,小于n且和n互质的正整数(包括1)的个数,记作φ(n) . 欧拉函数的通式: ...

  2. 一行代码损失数亿美元!来看看编程史上的著名bug!

    作为程序员最大的敌人,bug是很多程序员挥之不去的噩梦,一行小小的代码bug,就可能造成致命的问题,造成整个系统的崩盘.今天,菜鸟哥就为大家分享,编程史上的最著名的5个bug. 1.欧洲航天局阿丽亚娜 ...

  3. 史上最高效Shell四剑客实操案例

    01.Shell编程四剑客之Find 通过如上基础语法的学习,读者对Shell编程有了更近一步的理解,Shell编程不再是简单命令的堆积,而是演变成了各种特殊的语句.各种语法.编程工具.各种命令的集合 ...

  4. 史上公认的最好学习方法, 学英语者的福利

    史上公认的最好学习方法, 学英语者的福利 理查德·费曼,1965年获得诺贝尔物理学奖,美籍犹太人,是曼哈顿计划天才小组成员之一,他被认为是爱因斯坦之后最睿智的理论物理学家,也是第一位提出纳米概念的人. ...

  5. 史上最全的前端十大经典算法,赶紧收藏起来吧

    史上最全的前端十大经典算法,赶紧收藏起来吧 人生没有白走的路,每一步都算数,大家好,我是王同学,今天,给大家分享的内容是:前端十大算法,原创不易,希望大家多多支持! 一.面试官为什么喜欢问算法,当面试 ...

  6. php编写六十甲子纳音表_史上最完整的六十甲子纳音表详细说明

    六十甲子是汉族人民最早和最大的发明,其历史已有上千年,其用途是纪年.纪月.纪日.纪时.在古时候,就是我们的时钟,以六十年为一个周期,纪月为五年一个周期,纪日为六十天一个周期,纪时为五天一个周期.接下来 ...

  7. gta5服务器什么时候维护完,《GTA5》线上模式关服前十分钟画面?原来这就是终结剧情啊!...

    原标题:<GTA5>线上模式关服前十分钟画面?原来这就是终结剧情啊! 在R星的脑洞中一切都是那么的光鲜亮丽,充满可追溯性,把虚拟牵引到现实中来这就是最伟大的时刻,那么如何让游戏盒现实产生交 ...

  8. 【C语言深度剖析】— 史上最全关键字(爆肝半个月、数万字详解、考试必备)

    目录 引言: 1. 关于变量 1.1 什么是变量 1.2 变量的定义与声明 1.3 为什么要定义变量 1.4 变量定义的本质 2. 关键字 2.1 最宽宏大量的关键字 - auto 2.1.1 局部变 ...

  9. 声网连麦+直播+视频+游戏“史上最强”社交直播方案 打造陌陌全新8.0改版

    做直播的,每天烧钱买流量,用户留存却是个问题.留不住用户,天天买量,天天流失.怎么破?做社交的,烧钱获客,赢得了口碑,却不知道如何变现,怎么破?做App的,装机量是上去了,用户活跃度和打开率却一直do ...

最新文章

  1. 如何配置一台深度学习工作站?
  2. 浅谈利用SQLite存储离散瓦片的思路和实现方法
  3. linux vi 撤销与恢复,vi撤销与恢复
  4. 如何在Java应用中提交Spark任务?
  5. 组概念_【收藏】学习质谱一定要知道的6组概念
  6. wacom linux 驱动下载,Ubuntu 8.04如何安装WACOM驱动
  7. 微信附近的人小程序怎么开(开通附近小程序的方法)
  8. MySQL数据的读写分离之maxscale的使用
  9. 怎么把图片变成PDF
  10. Google Colab 挂载 Google Drive
  11. 【笔记】如果使用类的话,需要让类实现Serializable,这个接口是个标记接口,要给序列号,如果想要某个数据不显示的话可以在成员变量前加transient
  12. [HNOI2015]亚瑟王 题解
  13. tp5接收前台传的值_tp5数据接收
  14. 私链多节点的创建部署
  15. 使用机器学习数据集构建销售预测Web应用程序
  16. KEIL设置程序起始地址无效解决方法,STM32 IAP程序起始地址
  17. 【待办】三国杀单挑测试脚本
  18. opencv视频采集
  19. sql server delete语句删除行
  20. word to sql

热门文章

  1. 怎样才能让青少年培养起阅读习惯?听听猿辅导这四位嘉宾怎么说
  2. CAD数据坐标系统问题
  3. home1.2 ServerFragment(fragment_server)
  4. 【雷丰阳-谷粒商城 】课程概述
  5. ubuntu安装pangolin
  6. GeoScene Pro 2.1下载地址与安装基本要求
  7. 进入和使用WinRE恢复环境
  8. 一个简单的CD唱片管理程序
  9. 华润数科控股有限公司正式成立;DEKRA德凯预计2021年营业额同比增长9%至35亿欧元 | 全球TMT...
  10. 企业邮箱如何发送国外邮件?2021知名企业邮箱网站排名