C语言第七讲,函数入门.

一丶了解面向过程和面向对象的区别.

为什么要先讲面向过程和面向对象的区别?

面向过程,就是什么都要自己做.  比如你要吃饭. 那么你得自己做饭.

面向对象, 面向对象就是我要吃饭. 我只需要支付一点点酬金.就能吃了. 不用自己做了.

而C语言就是面向过程的.

也就是说. 面向过程就是自己做. 自己写函数.

二丶什么是函数.

函数不是数学上的函数. 这里的函数指的是解决一定问题的基本代码.

基本的功能单位.

比如你想写一个加法.

我们可以自己写一个Add函数. 然后进行调用则可以完成加法操作.

比如我们家里都有袋子.

这一个袋子可以装鞋子. 袜子.以及其余的各种东西.

但是鞋子会很脏.这个时候你用一个小袋子装起来. 袜子也是. 然后放到这个大袋子里面.

这个小袋子就是函数.

三丶自定义函数

语法:

  

函数返回值  函数名字 (函数行形参)

1.无参数无返回值函数的定义

首先定义一个无参数无返回值的函数.

比如我们打印输出.

void Print()
{ printf("%d\r\n", );
}
int main()
{
Print();
system("pause");
return ;
}

这样 main函数则会调用我们自己写的函数. 则会输出2.

2.有参数有返回值的定义

int Sub(int a, int b)  //返回值int ,所以用int类型变量接受.参数是int,且是2个.所以传入两个int参数
{ return a - b;
} int main()
{
int Ret = Sub(,);//main 调用Sub
printf("%d\r\n",Ret);
system("pause");
return ;
}

3.函数的形参和函数的实参数.

int Sub(int a, int b)
{ return a - b;
} int main()
{
int Ret = Sub(,);
printf("%d\r\n",Ret);
system("pause");
return ;
}

还是我们第二个函数的例子. 此时我们要知道 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 = ;
int nNum2 = ;
int Ret = Sub(nNum1,nNum2);
printf("%d\r\n",Ret);
printf("nNum1 = %d nNum2 = %d\r\n",nNum1,nNum2);
system("pause");
return ;
}

输出结果.

所以说,我们的nNum1 和nNum2并没有做减法,而是Sub中 a 和 b做的减法.

等讲指针的时候在讲解怎么更改实际参数的值.

C语言第七讲,函数入门.的更多相关文章

  1. Go语言学习笔记七: 函数

    Go语言学习笔记七: 函数 Go语言有函数还有方法,神奇不.这有点像python了. 函数定义 func function_name( [parameter list] ) [return_types ...

  2. C语言程序设计(七) 函数

    第七章 函数 分而治之: 把较大的任务分解成若干较小.较简单的任务,并提炼出公用任务的方法 函数是C语言中模块化程序设计的最小单位,既可以把每个函数都看作一个模块,也可以将若干相关的函数合并成一个模块 ...

  3. 《ArcGIS Engine+C#实例开发教程》第七讲 图层符号选择器的实现2

    原文:<ArcGIS Engine+C#实例开发教程>第七讲 图层符号选择器的实现2 摘要:在第七讲 图层符号选择器的实现的第一阶段中,我们完成了符号选择器窗体的创建与调用.在第二阶段中, ...

  4. PE格式第七讲,重定位表

    PE格式第七讲,重定位表 作者:IBinary出处:http://www.cnblogs.com/iBinary/版权所有,欢迎保留原文链接进行转载:) 一丶何为重定位(注意,不是重定位表格) 首先, ...

  5. python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍

    目录 python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍 一丶元祖 1.元祖简介 2.元祖变量的定义 3.元祖变量的常用操作. 4.元祖的遍历 5.元祖的应用场景 p ...

  6. Python第七天 函数 函数参数 函数里的变量 函数返回值 多类型传值 函数递归调用 匿名函数 内置函数

    Python第七天   函数  函数参数   函数里的变量   函数返回值  多类型传值     函数递归调用   匿名函数   内置函数 目录 Pycharm使用技巧(转载) Python第一天   ...

  7. C语言第十一讲,预处理命令.

    C语言第十一讲,预处理命令. 一丶预处理简介 什么是预处理,预处理就是预先处理. 我们知道,程序会经过编译,连接形成可执行文件 这些在编译之前对源文件进行简单加工的过程,就称为预处理(即预先处理.提前 ...

  8. C语言第八讲,指针*

    C语言第八讲,指针* 一丶简单理解指针 说到指针,很多人都说是C语言的重点. 也说是C语言的难点. 其实指针并不是难.而是很多人搞不清地址 和 值.以及指针类型. 为什么这样说. 假设有两个变量,如下 ...

  9. C语言第四讲,typedef 关键字,以及作用域

    C语言第四讲,typedef 关键字,以及作用域 一丶typedef关键字 在C语言中,有typedef 关键字,这个关键字的作用就是允许你为类型定义一个新的名字,也就是 起个别的名字 例如: typ ...

随机推荐

  1. centos查看系统版本

    显示系统版本 cat /etc/redhat-release cat /proc/version uname -a 查看位数 file /bin/ls

  2. python基础之Day11

    一.函数是对象 函数是第一类对象的含义是函数可以被当作数据处理 二.函数的嵌套定义 def f1(): def f2(): print('from f2') f2()f1() 三.名称空间与作用域 1 ...

  3. XML文件的DTD编写

    <?xml version="1.0" encoding="UTF-8" ?> <!--DTD外部引用:--> <!DOCTYPE ...

  4. nginx简单权限配置

    一.指定ip段 location / { allow 172.17.0.1/24; deny all; } 二.指定认证账户 location / { auth_basic "please ...

  5. IOS内存管理详解

    一.    基本原理 1.        什么是内存管理 移动设备的内存极其有限,每个app所能占用的内存是有限制的 当app所占用的内存较多时,系统会发出内存警告,这时得回收一些不需要再使用的内存空 ...

  6. LVS、Nginx 及 HAProxy 工作原理

    当前大多数的互联网系统都使用了服务器集群技术,集群是将相同服务部署在多台服务器上构成一个集群整体对外提供服务,这些集群可以是 Web 应用服务器集群,也可以是数据库服务器集群,还可以是分布式缓存服务器 ...

  7. Raft知识图谱

  8. android-基础编程-ScrollView

    滚动视图(ScrollView)是指当拥有很多内容,屏幕显示不完时,需要通过滚动来显示完整的视图.包括水平滚动视图(HorizontalScrollView)和垂直滚动视图(ScrollView) 基 ...

  9. 【repost】H5总结

    1.新增的语义化标签: <nav>: 导航 <header>: 页眉 <footer>: 页脚 <section>:区块 <article> ...

  10. Android 发展思路

    1. 做一个有 ‘特色’ 的程序员 Android 开发,本身并不是一个可以走得多远的方向,真正有价值的地方在于与具体的业务方向结合,比如:Android 与音视频技术,Android 与智能硬件交互 ...