C 函数

函数

1. 什么是函数

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

 

2. 函数的定义

1> 定义函数的目的

将一个常用的功能封装起来 方便以后调用

2> 定义函数的步骤

a. 明确函数作用 起一个有意义的函数名

b. 明确函数的参数和返回值

3> 格式

a. 固定格式(很多语言的函数都是这么写的)

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

    函数体 //函数具体功能的实现代码

}

b. 举例

定义一个函数 计算两个整数的和

sum(int a, int b) {

    int c = a + b;

}

 

3. 函数的参数

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

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

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

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

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

6> 一个函数可以没有形参 也可以有

 

4. 函数的返回值

1> return的作用

a. 退出函数

b. 返回一个具体值给函数调用者

2> return的注意

a. void可以省略return

b. 可以多次使用return

c. return后面不能有其他语句

3> 函数的弱语法

a. 如果没有写返回值类型 默认是int

b. 如果写了返回值 可以不返回

 

5. 函数注意

1> 默认情况下 C语言不允许两个函数的名称一样(就算形参列表不一样也是不行的)

2> 不能嵌套定义函数

3> 死循环调用 自己调用自己

4> 不能重复定义 可以重复声明

5> 如果有函数的声明 没有函数的定义

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

b. 链接报错 因为链接的时候会检测函数是否定义

6> main函数的返回值: 0 正常退出, 1 异常退出

7> printf函数的返回值: 字符串常量的字符数 并不是字数(1个汉字占据3个字符)

 

6. .h文件和.c文件的分工

1> 单文件的坏处

一个文件的内容太多 不利于阅读 调试

多人修改同一个文件出问题

公司里面是团队合作

2> 抽取步骤总结

.c文件写函数的定义

.h文件写函数的声明

要想用我的函数 请包含我的.h文件

 

7. #include

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

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

 

转载于:https://www.cnblogs.com/huangyi-427/p/4728427.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/491965.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器学习加深了“知识”和“理解”之间的鸿沟

来源&#xff1a;36氪无法理解人工智能“黑箱”&#xff0c;人工智能就能帮我们理解世界吗&#xff1f;编者按&#xff1a;机器学习和互联网意味着海量数据和复杂的联系&#xff0c;同时也意味着人类无法理解的运行过程——人工智能的“黑箱”是近期学界热议的一个话题&#xf…

Scanner的使用

Scanner可以实现从字符串、输入流和文件的读取&#xff0c;在构造时可以选择你需要的读取方式&#xff0c;常见的构造方法有如下3个&#xff1a; Scanner(File source):构造一个新的 Scanner&#xff0c;它生成的值是从指定文件扫描的。Scanner(InputStream source):构造一个新…

德国人工智能战略

来源&#xff1a;中国工业和信息化德国联邦政府为了进一步发展和应用人工智能&#xff0c;根据当前的人工智能战略&#xff0c;建立了一个整体的政策框架。首先&#xff0c;联邦政府考虑了人工智能技术的快速发展&#xff0c;以及由新人工智能技术驱动的全球生产和价值链变化。…

LSP(分层服务提供程序)

一、简介 LSP即分层服务提供商&#xff0c;Winsock 作为应用程序的 Windows 的网络套接字工具&#xff0c;可以由称为“分层服务提供商”的机制进行扩展。Winsock LSP 可用于非常广泛的实用用途&#xff0c;包括 Internet 家长控制 (parental control) 和 Web 内容筛选。在以前…

一文看懂70年的人工智能简史

来源&#xff1a;techjury【导读】如果从阿兰图灵1943年首次提出“图灵机”的概念算起&#xff0c;AI已经经历了86年的发展史。本文以信息图的形式回顾了这70多年的标志性事件&#xff0c;并归纳出AI发展的几个方向和技术应用&#xff0c;以及10大AI企业和国家排行榜。这篇AI“…

【codevs2822】爱在心中 tarjan 缩点+理解

【codevs2822】爱在心中 2014年1月26日5580题目描述 Description “每个人都拥有一个梦&#xff0c;即使彼此不相同&#xff0c;能够与你分享&#xff0c;无论失败成功都会感动。爱因为在心中&#xff0c;平凡而不平庸&#xff0c;世界就像迷宫&#xff0c;却又让我们此刻相逢O…

Django中间件与python日志模块 介绍

一、Django中间件 1.1 介绍 Django中的中间件是一个轻量级、底层的插件系统&#xff0c;介于request与response处理之间的一道处理过程&#xff08;用来处理特定业务的请求和响应&#xff09;。中间件的设计为开发者提供了一种无侵入式的开发方式&#xff0c;增强了Django框架…

无人系统自主性研究综述

来源&#xff1a;人机与认知实验室一、引言2012年7月&#xff0c;美国国防科学委员会发布了《自主性在国防部无人系统中的地位》&#xff0c;进一步指出自主能力是美军无人系统中的核心能力&#xff0c;分析了自主能力给无人机(UAV)、无人地面系统(UGS)、无人海上平台(UMV)和无…

hdu - 2667 Proving Equivalences(强连通)

http://acm.hdu.edu.cn/showproblem.php?pid2767 求至少添加多少条边才能变成强连通分量.统计入度为0的点和出度为0的点,取最大值即可. 1 #include <iostream>2 #include <cstdio>3 #include <cmath>4 #include <vector>5 #include <cstring>6 …

HTTP状态码表格汇总

HTTP状态码 一、介绍 ​ 状态码的职责是当客户端向服务器端发送请求时&#xff0c;描述返回的请求结果。借助状态码&#xff0c;用户可以知道服务器端是正常处理了请求&#xff0c;还是出现了错误。 【注意】 状态码是&#xff1a;服务端向客户端发送的反映响应结果的标识码…

一文看尽微软开发者大会 让AI和云驱动一切

来源 | 网易智能一年一度的微软开发者大会Build 2019在美国华盛顿州雷德蒙德拉开帷幕&#xff0c;微软公司CEO萨提亚纳德拉&#xff08;Satya Nadella&#xff09;介绍和发布了一系列全新技术&#xff0c;并在现场展示了以客户为中心的智能体验全新解决方案。微软此次发布的新功…

爬虫文档学习 xpath bs4 selenium scrapy...

爬虫 一、介绍 1、什么是爬虫 1.1 爬虫(Spider)的概念 爬虫用于爬取数据&#xff0c; 又称之为数据采集程序。 爬取的数据来源于网络&#xff0c;网络中的数据可以是由Web服务器&#xff08;Nginx/Apache&#xff09;、数据库服务器(MySQL、Redis)、索引库&#xff08;Ela…

用人工神经网络控制真实大脑,MIT的科学家做到了

来源&#xff1a;网络大数据三位研究者分别是 MIT 大脑与行为科学系主任 James DiCarlo、MIT 博士后 Pouya Bashivan 和 Kohitij Kar。相关论文发表在 5 月 2 日 Science 的网络版上。论文链接&#xff1a; http s://www.biorxiv.org/content/10.1101/461525v1研究人员表示&…

学习卫星菜单

学会坚持的自己写的底部中间菜单 转自http://www.cnblogs.com/persist-confident/p/4487386.html 看了hyman老师的视频&#xff0c;听起来有点迷糊&#xff0c;所以就想把实现卫星菜单的实现总结一下。长话短说&#xff0c;下面总结一下&#xff1a; 一、自定义ViewGroup1&…

Python 的垃圾回收回收机制(源码)

python内存管理及垃圾回收 1. 引用计数器 1.1 环状双向连表 refchain 在python程序中创建的任何对象都会放在refchain链表中&#xff0c;并且可以通过这个对象访问到上一个和下一个对象。 name 张三 age 18 hobby [美女,吃饭]内部会建立一些数据 -打包 C语言叫做结构体-…

未来五年人工智能将实现的五大突破

来源&#xff1a;资本实验室不论是可以和你对话的智能音箱&#xff0c;还是能够自己作画的虚拟艺术家&#xff1b;不论是能够帮助农民准确判断种植和施肥时间的农场管理系统&#xff0c;又或者是能够在演唱会现场快速识别罪犯的人脸识别程序&#xff0c;人工智能已经开始在各行…

NSNumber, NSValue的使用

NSNumber NSNumber *n [NSNumber numberWithDouble:10.5]; int d [n doubleValue];int a 20; NSString *str [NSString stringWithFormate:"%d", a]; //string转int ["20" intValue];//转化成NSNumber 10 YES A "A"int value 100; (value)N…

python面试常问

一、Python基础部分 1. 数据类型 数字类型(Numbers)&#xff1a; 整数(int), 浮点数(float), 复数(complex) 布尔(Booleans)&#xff1a; True和False 字符串(Str)&#xff1a;Uniconde字符序列, 在引号内包含 列表(list)&#xff1a; 有序的值的序列 元组(Tuples)&#x…

springJDBC一对多关系,以及Java递归,jsp递归的实现

maven编译&#xff0c;springMVCspringspringJDBC框架。 要实现的功能是一个文件夹下&#xff0c;可能显示n个文件夹&#xff0c;每个文件夹下又可能显示n个文件夹。。。。 前台效果&#xff1a; controller中的方法如下&#xff1a; RequestMapping(value"/index",m…

未来全球15大热门研究方向出炉!

转自&#xff1a;科学网&#xff08;sciencenet-cas&#xff09;要点速览伦敦、纽约、新加坡、香港、巴黎、北京、东京、迪拜、上海、柏林、波士顿&#xff0c;这些国际性大都市在科技创新方面的表现如何&#xff1f;它们主要关注哪些研究方向&#xff1f;15大科技创新策源点&a…