美文网首页
C语言基础4

C语言基础4

作者: 克里斯里亚诺罗纳尔多 | 来源:发表于2016-07-23 11:39 被阅读14次

    ⼀维数组

    数组是⼀种由相同数据类型组成的构造类型。数组的每个成员 称为⼀个 数组元素

    • 最简单的数组是 ⼀维数组

    ⼀维数组的定义:

    类型说明符 数组名[常量表达式] = {值1,值2...};


    ⼀维数组的定义

    如何定义⼀个⼀维数组?

    数据类型    数组名字      [元素个数];

      int            ages            [10];


    数组的初始化

    在数据定义的同时对数组进⾏初始化

    ⽐如: int ages[2] = {3, 5};

    数组中元素的访问

    通过数组名+下标去访问数组中的元素

    ⽐如: ages[0];

    数组定义举例

    // 声明⼀个整型数组

    int a[5] = {2, 3, 4, 5, 6};

    int b[5] = {2, 3, 4};

    int c[5] = {0};

    int d[] = {4, 3, 2, 1, 4};

    ⽰例:

    // 整型数组

    int a[5] = {0};

    // 浮点型数组

    float b[] = {2.10, 3.22};

    // 字符数组

    char str[] = "iPhone";

    数组元素

    数组元素的 访问:数组名 +下标

    数组下标:数组元素在数组中的序号。从 0 开始,到

    数组元素个数-1;下标可以是常量,也可以是变量

    数组元素的访问

    访问数组中的元素时,下标可以为变量

    ⽐如: age[i];

    访问数组中的元素可以采⽤for循环,

    我们把这个操作称作遍历

    注意:使⽤数组时,注意数组不能越界的问题

    注意事项

    系统不会检测 数组元素的下标 是否 越界,编程时,必须保证数组

    下标 不能 越界

    不能这样定义数组

    int array[] = {}; 或者 int array[2] = {1, 2, 3};

    数组是⼀个整体,不能 直接参加运算只能 单个元素进⾏处理,

    通常⽤到数组的地⽅都会⽤到循环

    ⼆、数组排序

    冒泡排序

    使⽤数组时,很多时候需要将数组中的元素按照⼀定条件进⾏排

    冒泡排序 是⽐较 常见 的排序算法

    因为其原理跟 ⽔底⽓泡上升⾄⽔⾯ 很相似⽽得名

    冒泡排序涉及到 双循环,外层循环控制趟数内层循环控制⽐

    较次数



    字符数组

    ⽤于存放字符变量的数组称为字符数组

    字符数组属于⼀维数组,定义⽅式与普通⼀维数组相似,只是

    数据的类型是char

    字符数组的定义:

    char name[5] = {'a', 'b', 'c', 'd', 'e'};

    char name[] = "iPhone";

    操作字符数组的函数

    有’\0’结束标识的字符数组也称为 字符串

    系统提供了很多 字符串处理函数

     strlen() 计算字符串长度

     strcpy() 字符串拷贝

     strcat() 字符串拼接

     strcmp() 字符串⽐较

    注意事项

    字符串所占的空间 ⾄少要⽐ 字符串长度⼤1,因为字符串结尾

    默认有’\0’,占⼀个字节, 系统提供的字符串处理函数都是根据

    ‘\0’ 来判断字符串是否结束

    char str[] = {'o', 'k'};

    char str = “ok”;

    注意:在printf输出字符串时,占位符⽤%s


    宏定义

    宏定义是预编译功能的⼀种

    注意: 预编译⼜称为预处理, 是为编译做的预备⼯作的阶段。

    处理#开头的指令, ⽐如拷贝#include包含的⽂件代码,

    #define宏定义的替换,条件编译等

    使⽤宏定义的好处:可提⾼程序的通⽤性和易读性,减少不⼀致性,

    减少输⼊错误和便于修改。例如:数组的元素个数常⽤宏定义

    #define PI 3.1415926

    #define 是宏定义指令, PI代表宏名, 3.1415926是预编译时会被替

    换的内容。

    注意事项

    #define MUL(A, B) ((A) * (B))

    宏定义只是替代的过程,在定义有参数的宏时,运算符要有(),

    避免运算优先级的影响




    总结

    数组 通常与 循环 结合使⽤

    数组下标0开始 最⼤到 数组容量-1

    ⼀定要注意下标越界问题

    字符串数组在 定义 的时候⼀定要 多留⼀个元素位置留

    给’\0

    定义宏时,加括号是为了防⽌受操作符优先级的影响

    相关文章

      网友评论

          本文标题:C语言基础4

          本文链接:https://www.haomeiwen.com/subject/ybfwjttx.html