C语言 函数与手动编译执行C程序

7.产生随机数

①函数:arc4random_uniform(x) 产生一个0到X之间的整数(包含0,不包含X)

②使用arc4random_uniform函数要先导入<stdlib.h>;

③产生m到n之间的随机数: arc4random_uniform(n-m+1)+m;


8.函数

①概述:C源程序是由函数组成的。用户可以把自己的算法变成一个个相对独立的函数模块,然后用调用的方法来使用函数,所以也把C语言成为函数式语言

②分类

    1) 从函数定义角度来看,可以分为 库函数 和 用户定义函数

    2) 语言的函数兼有其他语言中的函数和过程两种功能,从这个角度看,又可把函数分为 有返回值函数 和 无返回值函数

    3) 从主调函数和被调函数之间数据传送的角度,又可分为 无参函数 和 有参函数

    4) C语言提供了极为丰富的库函数,这些函数又可从功能角度作以下分类:

            字符类型函数;

            转换函数;

            目录路径函数;

            诊断函数;

            图形函数;

            输入输出函数;

            接口函数;

            字符串函数;

            内存管理函数;

            数学函数;

            日期和时间函数;

            进程控制函数;

            其他函数;

③注意:

int n;

void xxx(int n) {

}

//此时有两个变量n,一个为全局变量,一个为局部变量。在函数xxx里面,会自动屏蔽全局变量n的作用域。

④参数:

    1)定义函数括号后的参数叫形式参数,简称形参

    2)调用函数括号后的参数叫实际参数,简称实参

    3)定义函数后,不会立即为形参分配存储空间,在调用时才会分配

    4)定义函数的内部,不能定义与形参同名的变量;

⑤return 

    1)return 常量:  return 0;

    2)return 表达式: return a=5;  return a>3;(返回1或0)  return a+b;

    3)如果函数返回值和函数定义的返回类型不一致,以定义的返回类型为标准

    4)如果返回值类型为整形,在定义函数时可省略不写,如sum() {};

⑥函数的声明

    1)是为了告诉编译器这个函数已经存在了,告诉编译器函数返回值的类型;

    2)声明函数: int max(int x,int y)或 int max(int,int);

    3)如果函数的返回值类型为int,可以不用声明此函数;

    4)如果函数写在main函数之前,也不用声明该函数;

    5)全局函数声明:写在代码最前,其中所有地方都能使用这些函数;

⑦函数的调用

    1)函数的调用可以成为另一个函数的实参; max(max(1,2),3);

    2)函数名不能和变量名同名; int max = max(4,6);  错

⑧递归函数

    1)一个函数在它的函数体内调用它自身称为递归调用

    2)为了防止递归函数无休止调用,在函数内部应该存在让递归结束的条件;

    3)递归函数的存在条件:1.存在自己调用自己; 2.存在一个条件让递归结束(否则为死循环); 3.能够找到一个规律,让解决问题的规模缩小;

    4)内存栈:先进后出;  递归是先压栈再出栈

    5)一个递归有递推阶段迭代计算


9.常见的unix命令

MAC系统采用的是UNIX文件系统,所有的文件都放在根目录/下面,因此没有windows分盘概念,

因为MAC系统是基于UNIX系统,因此可以在“终端”中输入一些UNIX指令来操作Mac系统。

②常用的unix指令:

    ls: 列出当前目录下的所有内容(文件\文件夹)

    pwd: 显示出当前目录的名称

    cd: 改变当前操作的目录

    who: 现实当前用户名

    clear: 清除所有内容

    mkdir: 创建一个新目录

    rm: 删除文件

    rm -r: 删除文件夹 -f 强制删除

    touch: 创建文件

    vi /open: 打开、创建文件  -q 退出, -wq 保存并退出,  -q! 强制退出 ,i 进入编辑模式,esc 退出编辑模式, :wq保存退出

    cat/more: 都可以查看文件内容

    方向键: 查看历史命令

③手动编译执行C程序:

    touch hello.c  -> 创建了一个C文件,然后写代码

    cc -c hello.c -> 编译C文件,生成了hello.o目标文件

    cc hello.o -> 连接库函数,生成了a.out输出文件A

    ./a.out -> 运行a.out文件,执行程序


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值