Java培训、Android培训、iOS培训、.Net培训、期待与您交流!

(以下内容是对黑马苹果入学视频的个人知识点总结)

(一)函数的定义

1> 任何一个C语言程序都是由一个或者多个程序段(小程序)构成的,每个程序段都有自己的功能,我们一般称这些程序段为“函数”。所以,可以说C语言程序是由函数构成的。

2>函数的目的是将一个常用的功能封装起来,方便以后调用。

3>定义一个函数需要先定义函数名,再书写函数体(是函数内包含的代码,实现什么功能)。

(二)函数的使用

1>什么情况下定义函数:添加一个常用的新功能

2>函数的定义格式

返回值类型  函数名(形式参数列表)

{

函数体 // 实现一些特定的功能

}

3>定义函数需要明确的东西, 起一个有意义的函数名.

4>函数的调用

①函数调用都是直接用函数名

②当程序执行到函数时,想到与通过函数名转到定义的函数体进行计算。

③函数体中的return 是有返回值的,如果为空返回零,否则返回函数值。 也是返回原函数的标志,默认的返回值是int。

返回值注意点

1> void代表没有返回值

2> 如果没有明确说明返回值类型,默认是返回int类型

3> 就算明确声明了返回值类型,也可以不返回任何值

#include <stdio.h>

int printLine()
{
printf("-------------\n");
return ;
} int average(int num1, int num2)
{
return (num1 + num2)/;
} int main()
{ printLine(); int a = ;
int b = ; int c = average(a, b); printf("c is %d\n", c); int a1 = ;
int b1 = ; int d = average(a1, b1);
printf("d is %d\n", d); return ;
}

当第一函数后,每次使用同样功能必须要再重新定义,可以直接用。节省代码。

(三)函数的参数

1>形式参数:定义函数时函数名后面中的参数,简称形参

2>实际参数:调用函数式传入的具体数据,简称实参

3>实参个数必须等于形参个数

4>函数体内部不能定义和形参一样的变量

5>如果是基本数据类型作为函数形参,纯粹是值传递,修改函数内部形参的值,并不会影响外面实参的值

6>一个函数可以没有形参,也可以有无限多个形参

(四)定义函数的步骤

  1. 明确函数作用,起一个有意义的函数名称
  2. 明确函数的参数和返回值

(五)函数的注意点

1.默认情况下,不允许有函数的名称一样

2.函数不能嵌套定义

3.函数不能重复定义,但是可以重复声明

4.如果有函数的声明,没有函数的定义

1> 编译可以通过,因为编译器只会检测语法合不合理,并不会检测函数有没有定义

2> 链接报错,因为链接的时候会检测函数是否定义

 /*
 求两个整数的差
 打印一条横线
 打印N条横线 定义函数的步骤
1> 根据函数的作用,起一个有意义的名称
2> 确定函数的形参个数
3> 确定函数的返回值
*/
#include <stdio.h> void printLines(int n)
{
for (int i = ; i<n; i++)
{
void printLine();
}
} void printLine()
{
printf("-------------------\n");
} int minus(int a, int b)
{
return a - b;
} int main()
{
printLines();
printf("%d\n", minus(, )); return ;
}

(六)#include

作为预处理指令,纯粹是拷贝文件。是将库中和自己定义的一些函数引进来,是用来实现多文件的。通常公司中得一个文件内容太多,不利于阅读,多人修改同意个文件容易出错误,因此可以用两种文件.h和.c通过前面的声明和后面的实现分工合作来实现多文件程序。都是通过#include来引用的。

简单来说

1> 作用:拷贝右边文件的所有内容到#include所在的位置

2> 自定义的文件用"",系统自带的文件用<>

3> #include <stdio.h>的目的:拷贝printf函数的声明

黑马程序员——C语言基础 函数的更多相关文章

  1. 黑马程序员—C语言的函数、数组、字符串

    ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一.函数 定义:函数是代码复用的一种机制. 函数的基本语法: 返回类型 函数名 ( 参数类型 参 ...

  2. 黑马程序员——C语言基础语法 关键字 标识符 注释 数据及数据类型

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (一下内容是对黑马苹果入学视频的个人知识点总结) (一)C语言简单介绍 (1)C语言程序是由函数组成的任何C语言程序都是由一 ...

  3. 黑马程序员——C语言基础 scanf函数 基本运算 三目运算符

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (一下内容是对黑马苹果入学视频的个人知识点总结) (一)scanf函数 1>  简单介绍一下scanf函数   这是在 ...

  4. 黑马程序员——OC语言基础语法 面向对象的思想

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结)(一)基础语法 1)关键字 @interface.@implementati ...

  5. 黑马程序员——C语言基础 枚举 宏定义 自定义 static exterm

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)枚举 1)枚举类型的定义 枚举是C语言中的一种基本数据类型,并不是构 ...

  6. 黑马程序员——C语言基础 指针

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)指针 首先指针是C语言中非常重要的数据类型,如果你说C语言中除了指针 ...

  7. 黑马程序员——C语言基础 char字符 数组

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)char类型 1)存储细节 ASCII单字节表(双字节GBK\GB2 ...

  8. 黑马程序员——C语言基础 变量类型 结构体

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)变量类型 1)局部变量 1> 定义:在函数内部定义的变量,称为 ...

  9. 黑马程序员——C语言基础 流程控制 选择结构和循环结构

    ---恢复内容开始--- Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)流程控制 1> 顺序结构:默认的流程 ...

随机推荐

  1. activity通过onActivityResult间数据交互

    首先要创建2个activity 分别为MainActivity和OneActiivity MainActivity代码如下: package com.tp.soft.app; import andro ...

  2. iOS - Phone 电话

    1.调用电话 1.1 拨打系统电话 调用系统自带的打电话程序,要跳转到打电话程序,打完电话自动跳转回来. 在 iOS9.0 + 系统隐私控制里禁止查询设备中已安装的 App,所以在 iOS9.0 + ...

  3. git命令大集合

    git 使用整理 密钥生成 cd ~/.ssh //检查本机中是否有公钥信息 mkdir key_backup cp id_rsa*key_backup rm id_rsa //删除已有公钥 &quo ...

  4. golang 管道

    2.管道简介Golang的原子并发特性使得它很容易构造流数据管道,这使得Golang可有效的使用I/O和多CPU特性.本文提出一些关于管道的示例,在这个过程中突出了操作失败的微妙之处和介绍处理失败的具 ...

  5. 在控制台启动服务器时出现:对于服务器soa1_wls, 与计算机oim1相关联的节点管理器无法访问。

    问题:在控制台启动服务器时出现:对于服务器soa1_wls, 与计算机oim1相关联的节点管理器无法访问.原因:nodemanager没有启起来解决方法: 一.对于managedServer于admi ...

  6. SQL Server Reporting Service(SSRS) 第二篇 SSRS数据分组Parent Group

    SQL Server Reporting Service(SSRS) 第一篇 我的第一个SSRS例子默认使用Table进行简单的数据显示,有时为了进行更加直观的数据显示,我们需要按照某个字段对列表进行 ...

  7. JAVA GUI布局管理器

    边界布局管理器: a.布局方式:是把整个容器划分为五个部分.东西南北中,南北要贯通,中间最大 (不仅是中间的范围最大,权利也最大)当周边不存在的时候中间会占领周边,当中间不存在的时候周边不能占据中间 ...

  8. linux查找进程,查找僵死进程,查找僵死进程并自动杀掉

    查找进程: ps -aux | grep  flume  /  netstat -anop | grep 8080(端口号) 常规杀进程: kill  pid 查看僵死进程: ps -A -o sta ...

  9. PHP控制div块大小和颜色的例子

    网站为了设计的更好看,会有很多的样式,而用php来控制样式很常见,无聊写了一个可以用于列表展示的样式,不喜忽喷. 1.先添加一个style样式控制div默认不换行 <style>div{f ...

  10. 开源代码Window下搭建rtmp流媒体服务器

    合肥程序员群:49313181. 合肥实名程序员群:128131462 (不愿透露姓名和信息者勿加入) Q Q:408365330 E-Mail:egojit@qq.com 综合:有这样需求,将摄像头 ...