1.自定义函数的书写格式
返回值类型
函数名(
参数类型
形式参数1
,参数类型
形式参数2
,…)
{
函数体
}
2.函数定义注意
- 函数不能嵌套定义
void test(){
void test2() //
错误写法
{
}
}
3.形式参数
- 形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只有在函数内部有效。函数调用结束返回主调函数后则不能再使用该形参变量。
- 当使用基本数据类型(char、int、float等)作为实参时,实参和形参之间只是值传递,修改形参的值并不影响到实参
void change(int number1, int number2) // 形式参数 { number1 = 250; // 不会影响实参 number2 = 222; } int main() { int a = 88; int b = 99; change(a, b); printf("a = %d, b = %d", a, b); return 0; }
输出结果: 88, 99
- 形参实参类型不一致, 会自动转换为形参类型
4.返回值
- 如果没有写返回值类型,默认是int
- 一个函数内部可以多次使用return语句,使用了return语句后,函数就会马上停止执行,return语句后面的代码就不再被执行
- 函数返回值的类型和return实际返回的值类型应保持一致。如果两者不一致,则自动进行类型转换
float height() { return 175; } int main() { printf("%d", height()); }
输出结果: 175.000000
5.常见的UNIX命令
ls :
列出当前目录下的所有内容(
文件\
文件夹) pwd :
显示出当前目录的名称
cd :
改变当前操作的目录
mkdir :
创建一个新目录
rm:
删除文件
rm -r:
删除文件夹 -f
强制删除
开始编译:
- 命令: cc -c main.c
链接
- 命令: cc main.o
执行
- 执行文件命令:./a.out
include的时候,可以包含路径。
#include "text/b.h"
int main()
{
return 0;
}
6.函数递归
#include <stdio.h> int myPow(int b, int n) { int result = -1; if (n <= 0) { result = 1; }else{ result = b * myPow( b, n - 1); } return result; } int main(int argc, const char * argv[]) { //1.提示用户输入 printf("请输入两个数吧b和n并用逗号隔开,计算b的n次方的值\n"); //2.定义变量保存 int num1 = 0, num2 = 0; scanf("%i,%i", &num1, &num2); //3.调用函数输出 printf("b的n次方 = %i\n", myPow( num1, num2)); return 0; }