Day 05

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次方的值
");
    
    //2.定义变量保存
    int num1 = 0, num2 = 0;
    scanf("%i,%i", &num1, &num2);
    
    //3.调用函数输出
    printf("b的n次方 = %i
", myPow( num1, num2));
    
    return 0;
}
原文地址:https://www.cnblogs.com/wm-0818/p/5066292.html