C/C++实践笔记 013关于函数
1.整数逆转
num %10,取出个位
num / 10 % 10 ,取出十位
个位乘10+十位
循环趋于终止条件放在参数调用,多一个参数保存中间结果,newnum保存中间结果
2.关于goto
除非跳出多个循环用到goto,或者远程注入技术
原则上尽量少用goto,
现在正规的软件开发,都要求不用goto,需要团队协作,为了代码的逻辑严密以及清晰
3.简单函数以及应用
main函数是C程序的入口点,有且仅有一个main函数
getchar(); //等待你输入一个字符的作用
函数的别称是方法,函数也就是完成某一特定功能的模块
函数的执行流程
函数调用必须等待函数执行完成才会执行下一步
带参数的函数
函数名在VS里可以参杂中文
%i等价于%d,打印有符号十进制数据
函数的返回值就是函数的输出,函数的结果
main函数可以没有返回值,无论类型是int还是void
C非main函数如果不是void,会有一个警告,如果是CPP会是一个错误
return后面得语句不会再被执行,
main函数的return语句就是退出,没有return,main函数执行完所有语句就会退出
sleep在windows.h里
4.函数的形参与实参
函数调用的时候,形参分配内存,新建一个变量,存储传递过来的实参
函数调用之前,形式参数,也就是函数定时时()里的参数,值都不确定
不确定的值,不会分配内存,只有调用函数的时候,才会分配内存新建一个变量
接受实际参数的值,当函数调用结束的时候,形参占据的内存会被回收。
实际参数是函数调用的时候,函数传递的确切值就是实际参数,
实际参数可以是常量,变量或者表达式。
形参与实参内存地址不一样,占用不同的内存空间
形式参数与实际参数的类型
会自动完成数据类型的转换
调用函数的时候,尽量类型要匹配,否则会出现误差或错误
5.全局变量与局部变量
局部变量调用完成以后会被回收,局部变量是为块语句服务的
函数内部定义的变量,还有函数的参数,都是局部变量
全局变量:
全局变量不属于任何一个函数,可以被任何一个函数调用
全局变量的生存期就是程序的生命期,全局变量会一直占内存,而局部变量用完就扔
全局变量可以用于函数的通信
同名的情况下,局部变量会屏蔽全局变量
C++可以用::访问全局变量,C语言不可以
同一个块语句下变量不可以重名,可以再装一个块语句
6.输入输出函数
putchar按字符打印
getchar(); //等待你输入一个字符,返回值就是你输入的字符
C语言从上往下开始编译,所以上面如果没有函数的定义,或者声明就无法找到函数,无法调用
函数的实体只能有一个
函数的声明,只是说明函数的存在,所以可以有多个
7.字符串输入输出
gets 输入一个字符串到字符串变量
函数是模块化编程的基础
函数解决代码重用的问题
C++属于严格的编程语言,函数的声明必须在调用之前
VS2013的编译器,默认的配置了静态库lib的路径
C语言编译比较宽泛,有库的路径,可以自动定位,不需要函数声明
C++必须有函数声明,头文件,库文件
std标准库,C语言标准跨平台
abort(); 处理程序的异常
函数的块语句不允许省略
函数体内部变量不可以与参数同名
函数的块语句不可以省略
函数可以把相对独立的某个功能抽象出来,使之成为程序中的一个独立实体。可以在同一个程序或其他程序中多次重复使用。
8.库函数:
由C语言系统提供;
用户无须定义,也不必在程序中作类型说明;
只需在程序前包含有该函数定义的头文件;
自定义函数:
用户在程序中根据需要而编写的函数;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人