嵌入式基础学习|C语言篇——数组(含进阶)一

1.数组的定义

数组 ---- 一组相同类型数据的集合 
          一组相同类型变量的集合 

(一次性 可以 同时 定义多个变量出来 )

2.数组分类:
一维数组 
   整型一维数组 
   字符型一维数组 
二维数组 
   整型二维数组 
   字符型二维数组 

定义数组:
一维数组 

  一维数组的定义方式为:
  类型说明符 (1)    +     数组名 (2)     +       [常量表达式] (3)

(1).类型说明符  --- 数据类型 
   基本数据类型中 
       整型    int /short /long /long long 
       浮点型  float / double 
       字符型  char 
   其它的数据类型 --- 构造类型

   表示,给数组中要存放的 是 这种类型的数据 

(2).数组名 --- 是一个名字 用来代表 这个数组 (一组相同类型变量 集合的一个名字)
    命名符合 标识符命名规则 
(3).[常量表达式] --- []  //就表示 数组 
                     常量表达式 //整型的数值 --- 数组中元素的个数 ---数组长度
eg:
  int score[30]; //表示定义了一个数组 
                 //表示定义了一个 包含了30个int型变量的 数组

   1.数组 本身也是一种数据类型 --- 构造类型 
     基本类型 + []  //数组 
     
   2.识别数据类型
      int score[30]    //去掉标识符 --剩下的就是标识符对应的数据类型 
                  //int[30] //数组类型 
                  // --- 表示 是这么一类数据--- 能够存放30个int型变量的 这一类数据 
      
      int a //a的数据类型 --int类型
      int[30] a; //这种写法 理解没有问题,但是C的语法不支持这样写 
      int a[30]; //正确的语法形式 
      
数组初始化:
   int a[10] = {1,2,3,4,5,6,7,8,9,10};  //全部初始化 
   int a[10] = {1,2,3,4,5,6}; //部分初始化 -- 前面依次给到,为初始化的部分默认初始化为0
   int a[10] = {};  //数组初始化为0了   
   int a[10] = {0}; //数组初始化为0了
   int a[10] ; //为初始化 -- 数组中都是随机值    

注:
   1.数组 本身也是一种数据类型 --- 构造类型 
     基本类型 + []  //数组
   2.识别数据类型
      int score[30]    //去掉标识符 --剩下的就是标识符对应的数据类型 
                  //int[30] //数组类型 
                  // --- 表示 是这么一类数据--- 能够存放30个int型变量的 这一类数据 
      int a //a的数据类型 --int类型
      int[30] a; //这种写法 理解没有问题,但是C的语法不支持这样写 
      int a[30]; //正确的语法形式 

赋值:
   数组不能整体操作 
   赋值只能挨个给到数组的元素 
   
输入:
    数组不能整体操作 
    输入只能用for()循环挨个给到数组的元素 

  内存空间:
   1. 连续空间   //连续性 
   2. 有序性     //有序性 
   3. 类型相同   //单一性 

排序:
    将数据 按照 从大到小 或者 从小到大 进行排列 
    从大到小   --- 降序
    从小到大   --- 升序 
规定:
   排序 统一 为升序
选择 
冒泡
插入排序 

选择排序:
  思想: 给合适的位置选择合适的数 
冒泡排序:
  思想: 相邻的两个元素,两两比较,小的放前,大的放后

查找算法:
   二分查找(折半查找)

前提:
   数据必须是有序的 
思想:
    首先,找到中间位置上的值 和 要查找的值比较 

1. 已知数组a[10]和b[10]中元素的值递增有序,
   将两个数组合并为一个数组(有序)并完成打印。
   int a[10] = {1,3,5,7,9,11,13,15,17,19};
   int b[10] = {2,4,6,8,10,12,14,16,18,20};
   int c[10+10] = {1,2,3,4....20};
    
2. 从终端输入一个n将数组int a[9] = {1, 2, 3, 4, 5, 6, 7, 8, 9}
    完成如下变化,并打印,操作方式如下:
           1 2 3 4 5 6 7 8 9
   n:1     9 1 2 3 4 5 6 7 8 
   n:2     8 9 1 2 3 4 5 6 7 

例题举例

(点关注,不迷路,每日更新!)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值