C语言第七讲,函数入门.
时间:2022-05-06
本文章向大家介绍C语言第七讲,函数入门.,主要内容包括C语言第七讲,函数入门.、二丶什么是函数.、三丶自定义函数、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
C语言第七讲,函数入门.
一丶了解面向过程和面向对象的区别.
为什么要先讲面向过程和面向对象的区别?
面向过程,就是什么都要自己做. 比如你要吃饭. 那么你得自己做饭.
面向对象, 面向对象就是我要吃饭. 我只需要支付一点点酬金.就能吃了. 不用自己做了.
而C语言就是面向过程的.
也就是说. 面向过程就是自己做. 自己写函数.
二丶什么是函数.
函数不是数学上的函数. 这里的函数指的是解决一定问题的基本代码.
基本的功能单位.
比如你想写一个加法.
我们可以自己写一个Add函数. 然后进行调用则可以完成加法操作.
比如我们家里都有袋子.
这一个袋子可以装鞋子. 袜子.以及其余的各种东西.
但是鞋子会很脏.这个时候你用一个小袋子装起来. 袜子也是. 然后放到这个大袋子里面.
这个小袋子就是函数.
三丶自定义函数
语法:
函数返回值 函数名字 (函数行形参)
1.无参数无返回值函数的定义
首先定义一个无参数无返回值的函数.
比如我们打印输出.
void Print()
{
printf("%drn", 2);
}
int main()
{
Print();
system("pause");
return 0;
}
这样 main函数则会调用我们自己写的函数. 则会输出2.
2.有参数有返回值的定义
int Sub(int a, int b) //返回值int ,所以用int类型变量接受.参数是int,且是2个.所以传入两个int参数
{
return a - b;
}
int main()
{
int Ret = Sub(4,3);//main 调用Sub
printf("%drn",Ret);
system("pause");
return 0;
}
3.函数的形参和函数的实参数.
int Sub(int a, int b)
{
return a - b;
}
int main()
{
int Ret = Sub(4,3);
printf("%drn",Ret);
system("pause");
return 0;
}
还是我们第二个函数的例子. 此时我们要知道 Sub函数的 a和b都是形参
什么意思?
也就是说,你可以把它们看作是变量a 和 b,在函数调用过程中. 4, 3两个整形常量. 会赋值给 a 和 b
也就是额外产生的代码为:
int a = 4;
int b = 3;
但是这个是编译器产生的. 我们看不到. 如果我们的4和3是变量. 那么调用玩 sub函数之后,我们的变量是不会改变的.
例如:
int Sub(int a, int b)
{
return a - b;
}
int main()
{
int nNum1 = 4;
int nNum2 = 3;
int Ret = Sub(nNum1,nNum2);
printf("%drn",Ret);
printf("nNum1 = %d nNum2 = %drn",nNum1,nNum2);
system("pause");
return 0;
}
输出结果.
所以说,我们的nNum1 和nNum2并没有做减法,而是Sub中 a 和 b做的减法.
等讲指针的时候在讲解怎么更改实际参数的值.
- 使用Fiddler的X5S插件查找XSS漏洞
- 【翻译】在Mac上使用VSCode创建你的第一个Asp.Net Core应用
- Android6.0运行时权限的处理及解决办法
- 操作系统指纹识别概述
- Android 内存泄露简介、典型情景及检测解决
- [原创]Fluent NHibernate之旅
- 复杂而艰辛的重构之路--起步
- 【强烈推荐】数据库迁移利器:Migrator.Net
- 关于某道C#上机题的OO
- Android 事件处理探险
- Fluent NHibernate RC 1.0 --升级内容
- 驳“反驳老赵之“伪”递归”
- 关于今天很热的--FizzBuzzWhizz
- 了解EF CodeFirst的Migrator功能与Migrator.Net对比
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 图解面试题:如何找到破产玩家?
- python面向对象学习(一)
- playbook中when的使用
- 当遇到跨域开发时, 我们如何处理好前后端配置和请求库封装(koa/axios版)
- 你想要的Android性能优化系列:内存优化 !
- phabricator介绍与搭建
- nginx反向代理与负载均衡
- APP | edxposed框架+trustmealredy模块抓包小程序
- nginx动态添加模块
- 曾经豪言“指哪爬哪”,如今被一个JS狠狠教做人
- mysql主从复制延迟问题记录
- linux下设置locale
- 宜信OCR技术探索与实践|直播速记
- keepalived结合lvs实现双机热备
- jenkins安装说明