C语言入门-函数专辑(一)
函数的概念
函数是一段可以重复使用的代码,用来独立地完成某个功能,它可以接收用户传递的数据,也可以不接收。
函数的类型
C语言中函数一般分为两类。
一类是库函数,即系统自带函数,如printf、scanf、strlen、pow等,在使用之前需要调用其头文件。如:stdio.h(标准输入输出)、string.h(头文件定义了一个变量类型、一个宏和各种操作字符数组的函数)、stdlib.h(标准库头文件)、math.h(进行数学运算的头文件)。
一类是自定义函数。如果库函数能够解决所有问题,那么就没程序员什么事了。因此,更重要的是自定义函数。自定义函数和库函数一样,都需要函数名(fun_name),返回值类型(ret_type)以及函数参数(paral)。注:自定义函数的命名最好与用处相关联。如求最大值函数—Max()、判断是否为素数—is_prime()
类型如下:
函数的声明一般放在头文件中,函数的定义(实现)都是放在源文件。
函数声明:告诉编译器有一个函数叫什么,参数是什么,返回类型是什么。但是具体存不存在,函数声明决定不了。
函数定义:指函数的具体表现,交代函数的功能实现。
此外,自定义函数声明与定义的顺序也需要提一嘴。函数的定义如果在调用之前,则一切正常。定义若放在调用之后,则程序会报错。简单的解决办法就是,在主程序前声明一下。即在前面添加一下—int Fun(a,b);
注:定义是更高级的声明。
函数的返回值类型不写的话,一般默认为是int类型。
函数的嵌套调用和链式访问
即函数与函数之间可以根据实际需求进行组合,互相调用。
但是,函数可以嵌套调用,但不能嵌套定义,即不能在函数内定义新的函数。
链式访问:即把一个函数的返回值作为另一个函数的参数。如下:
下面是在MSDN上查到的printf输出值类型
即输出打印的字符串的字符数,最内的先打印43。返回值43为2个字符,则次一级打印2,最后一级打印1。
为了符合现实生活中的多人同时编辑一个复杂程序,和商业应用,一般要拆分程序为几个部分。以编写计算器为例,一个人负责编写加法程序,一个人负责减法……以此类推。
而对于自己的头文件,引用格式用“ ”。如:#include "add.h"
函数的参数
函数的参数包括实际参数(实参)与形式参数(形参)
C语言入门-函数专辑(一)相关推荐
- c语言入门---函数
目录标题 一.前言 二.函数是什么 三.c语言中函数的分类 四.为什么会有库函数 五.如何使用库函数 六.为什么会有自定义函数 七.如何来创建自定义函数 八.函数的参数 1.实际参数(实参) 2.形式 ...
- 超详细讲解C语言入门函数(一)
解析已经很详细了,可以说相当入门级别了,如果喜欢的话那就请支持一下,后续会继续更新~ 代码网上搜索,并加以更改,侵权请联系删除,谢谢~ 部分例子没有详细解释是因为前面的例子已经说过了 3×4矩阵求最大 ...
- c语言入门函数大全,C语言函数大全(适合初学者).doc
C语言函数大全(适合初学者)C语言函数大全(适合初学者) A 函数名: abort 功 能: 异常终止一个进程 用 法: void abort(void); 程序例: #include #includ ...
- C语言入门---函数类型与返回值(int和void)
int和void的区别? 哈喽,各位小伙伴们,在我们学习C语言的过程中经常会看到书中的main函数前带有int和void,就像下面这样: 上面这两种有什么区别呢?在C语言中,可以把函数分为有返回值函数 ...
- c语言入门——函数的递归
一.什么是递归? 程序调用自身的编程技巧称为递归( recursion). 递归做为一种算法在程序设计语言中广泛应用. 一个过程或函数在其定义或说明中有直接或间接 调用自身的一种方法,它通常把一个大型 ...
- else if函数 c语言,C语言入门 — if else
C语言入门简单条件判断语句,if else, 本文章会使用到< 1.if else 可以简单的理解为"如果 就 否则"的语句,下面以举例子来进行解释,使用if else 判断 ...
- c语言printf清屏,C语言入门 — printf 使用方法
本章节讲如何使用printf打印不同形式的内容,printf是c语言里常用的打印接口,也是c标准函数库,使用时需要#include ,下面讲讲如何使用printf: 一.printf 的基础知识: 1 ...
- c语言短整型变量字符,C语言入门 — 整型 char,short,int,long
一.c 语言变量,有整型变量,浮点型变量,字符变量,布尔型变量. 1.整型变量位数,以下基于32位的操作系统: (1个字节等于8bits)点击查看二进制 长整型(long),短整形(short),整型 ...
- c语言char字符判断条件,C语言入门 — 字符型char
本篇文章将会学习字符类型,并会结合 Ascii码对照表进行学习, 首先我们先来看下 #include // 标准输入输出头文件 stdio.h int main(void) // main 函数,vo ...
最新文章
- 如果学习编程可以重来
- 三个范式的定义与理解
- java ftp封装_使用FTP连接池封装Java工具类
- 使用web3j构建以太坊钱包
- mysql计算订单总金额_mysql统计当天消费总额
- android surfaceview 清屏
- node.js连接数据库(mysql)
- HDU2072 tri树/map/set/字符串hash
- vue开发:前端项目模板
- 动态规划之——矩阵连乘(全网最详细博文,看这一篇就够了!)
- 中兴新支点操作系统_中兴新支点国产操作系统体验报告:使用流畅,性能稳定!...
- 大数据概览以及当下实用的主流开发
- 数据分析案例:对拉勾网数据分析岗位进行分析
- win11窗口桌面管理器突然很吃内存?
- 管理计算机找不到应用程序,Win7计算机管理提示找不到文件或没有关联的程序问题解决方法...
- 大数据最火的Spark你确定不来了解一下吗?(1)
- 像人类大脑一样思考 ,“袋鼠云防汛大脑”让防汛更智慧
- 无线鼠标 桌面服务器,你可能不知道 桌面总是乱糟糟的很可能是因为你没买对鼠标...
- Java实现扑克牌程序(数据结构)
- 洛谷 P3460 [POI2007]TET-Tetris Attac
热门文章
- 一些驾驶体验记录,非专业汽车测评人,仅仅个人观点,不喜勿喷~
- 淘宝网密谋研发SNS产品“淘江湖”
- SharePoint更换数据库服务器
- mysql uniqueidentifier_Uniqueidentifier数据类型
- notion自建服务器,秒杀传统型笔记!《Notion》等 5 款工具全方位对比,模块化笔记究竟强在哪?...
- 许家印的英文名字为什么叫hui ka yan,而不是xu jia yin?
- 关于Benchmark
- IOS 之 计算缓存,清除缓存
- TrueNAS 挂载 NTFS 移动硬盘做冷备份
- 什么是渲染目标(render target) 渲染到纹理(Render To Texture, RTT)详解