IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 番外——C语言函数 -> 正文阅读

[C++知识库]番外——C语言函数

函数

概述

模块化程序设计

基本思想

将一个大的程序块功能分割成一些小模块

特点

  1. 各模块相对独立、功能单一、结构清晰、接口简单
  2. 控制了程序设计的复杂性
  3. 提高元件的可靠性
  4. 缩短开发周期
  5. 避免程序开发的重复劳动
  6. 易于维护和功能扩充

开发方法

自上而下,逐步分解,分而治之

C是模块化设计语言

C程序结构

C程序
源程序文件1
源程序文件i
源程序文件n
预编译命令
函数1
函数n
说明部分
执行部分
  1. C是函数式语言
  2. 必须有且只能有一个名为main的主函数
  3. C程序的执行总是从main函数开始,在main中结束
  4. 函数不能嵌套定义,可以嵌套调用

函数分类

从用户角度

  1. 标准函数(库函数)由系统提供
  2. 用户自定义函数

从函数形式

  1. 无参函数
  2. 有参函数

使用库函数时应注意

  1. 函数功能
  2. 函数参数的数目和顺序,及各参数意义和类型
  3. 函数返回值意义和类型
  4. 需要使用的包含文件(头文件)

函数的定义

一般格式

函数类型 函数名(形参类型说明表)
{
	说明部分
	语句部分
}

函数类型

  1. 函数返回值类型:int,double,float,char…
  2. 缺省int型
  3. 无返回值 void
例 无参函数
printstar()
{ printf("************\n");}printstar(void)
{ printf("************\n");}
例 有参函数
int max(int x,int y)
{ 
	int z;
	z = x>y?x:y;
	return z;	
}
空函数
dummy()
{}

函数的调用与返回值

返回语句

return (表达式);return 表达式;return;

功能:是程序控制从被调用函数返回到调用函数中,同时把返回带给调用函数
说明

  1. 函数可有多个return语句
  2. 若无return语句,遇}时,自动返回调用函数
  3. 若函数类型与return语句中表达式值的类型不一致,按前者为准,自动转换——函数调用转换

例 函数返回值变量类型的变换

max(float x, float y)
{
	float z;
	Z=X>y2x:y;
	return(z);
}

main()
{
	float a,b;int c;
	c=max(a,b);
	printf("Max is %odln..c);
}

此例中虽然变量C定义为整型,但函数max()的返回值Z为浮点数,所以C的变量类型也转化为浮点数

函数的调用形式

函数名(实参表)

说明:

  1. 实参与形参个数相等,类型一致,按顺序一一对应。
  2. 实参表求值顺序,因编译系统而定,(Turbo C自右向左)

函数类型说明举例

在这里插入图片描述

函数参数及其传递方式

形参与实参

  1. 形式参数:定义函数时函数名后面括号中的变量名
  2. 实际参数:调用函数时函数名后面括号中的表达式

说明

  1. 实参必须有确定的值形参必须指定类型
  2. 形参与实参类型一致,个数相同
  3. 若形参与实参类型不一致,自动按形参类型转换—函数调用转换
  4. 形参在函数被调用前不占内存;函数调用时为形参分配内存;调用结束,内存释放

参数传递方式

值传递方式

方式:函数调用时,为形参分配单元,并将实参的值复制到形参中;调用结束,形参单元被释放,实参单元仍保留并维持原值
特点:

  1. 形参与实参占用不同的内存单元
  2. 单向传递

地址传递

方式:函数调用时,将数据的存储地址作为参数传递给形参
特点:

  1. 形参与实参占用同样的存储单元
  2. “双向”传递
  3. 实参和形参必须是地址常量或变量

函数的嵌套和递归调用

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-04-30 08:30:43  更:2022-04-30 08:32:48 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/21 5:56:47-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码