zoukankan      html  css  js  c++  java
  • 作业9总结

    1.二维数组的定义和引用

    (1)二维数组的定义

      类型说明符  数组名[常量表达式][常量表达式]

           例:float  a[3][4],b[5][10]; 

    说明:

      ①  可以把二维数组看作是一种特殊的一维数组。

                a[0] → a[0][0]   a[0][1]   a[0][2]   a[0][3]  

                a[1] → a[1][0]   a[1][1]   a[1][2]   a[1][3]

                a[2] → a[2][0]   a[2][1]   a[2][2]   a[2][3]

    ②  二维数组在内存中按行存放

                           

    a[0][0]     ↑   a[0][2]      ↑   a[1][0]    ↑    a[1][2]    ↑    a[2][0]    ↑     a[2][2]   ↑

              a[0][1]          a[0][3]         a[1][1]          a[1][3]          a[2][1]         a[2][3]    

    ③  多维数组定义方式与二维数组类似

                    int    x[3][4][2];

                    float   y[4][2][3];

    (2)二维数组的引用

        引用形式为: 数组名[下标][下标]

            注:下标可以是整型表达式,但应在已定义的数组大小的      

                    范围内。

    (3)二维数组的初始化

    ⒈  分行给二维数组赋初值。如:

            int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};

    ⒉  可以将所有数据写在花括弧内,按数组排列的顺序对各元素赋初值。

        int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}

    ⒊  可以对部分元素赋初值,不赋的为0。如:

       int a[3][4]={{1},{5},{9}}

       int a[3][4]={{1},{0,6},{0,0,11}};

    ⒋  如果对全部元素都赋初值,则定义数组时对第一维的长度可以不指定,但第二维的长度不能省。

    2.矩阵与二维数组

    int   a[N][N];             N是正整数

    a[i][j]:i、j的取值范围[0,N-1]

     用二维数组a表示N*N方阵时,对应关系:

    a[0][0]   a[0][1]  a[0][2]   主对角线   i==j

    a[1][0]   a[1][1]  a[1][2]   上三角      i<=j

    a[2][0]   a[2][1]  a[2][2]   下三角      i>=j

                                          付对角线    i+j==N-1

    3.字符数组

    • 字符串的存储和运算可以用一维字符数组实现
    • 一维字符数组的定义、引用、初始化与其他类型的一维数组一样。

      char  str[80];

       定义一个含有80个字符型元素的数组str

       char t[5]={'H', 'a', 'p', 'p', 'y'};

      初始化数组 t

       (1)  一维字符数组

       char t[5] = {'H', 'a', 'p', 'p', 'y'};

       static char s[6] = {'H', 'a', 'p', 'p', 'y'};

       static char s[6]={'H', 'a', 'p', 'p', 'y', 0};

       0代表字符'',也就是ASCII码为0的字符

       static char s[6]={'H', 'a', 'p', 'p', 'y', ''};

        (2)字符串

      字符串常量用一对双引号括起来的字符序列

      一个字符串结束符 ''      字符串结束符

      "Happy"               ↓

      6个字符       'H'   'a’   'p’   'p’   'y'     ''

      字符串的有效长度:有效字符的个数

     (3)字符串与一维字符数组

      字符串:一个特殊的一维字符数组

    • 把字符串放入一维字符数组(存储)
    • 对字符串的操作 ===> 对字符数组的操作

      字符串的存储-数组初始化

      字符串可以存放在一维字符数组中

      static char s[6] = {'H', 'a', 'p', 'p', 'y', ''};

      (4)字符数组初始化:用字符串常量

      static char s[6] = {"Happy"};

      static char s[6] = "Happy";

      数组长度 >= 字符串的有效长度 + 1

      (5)字符串的存储

      auto char s[80]= "Happy";

      字符串遇 '' 结束

      第一个 '' 前面的所有字符和 '' 一起构成了字符串 "Happy”

      '' 之后的其他数组元素与该字符串无关

      (6)对字符串的操作

    • 把字符串放入一维字符数组(存储)
    • l对字符串的操作 ===> 对字符数组的操作

      普通字符数组:数组元素的个数是确定的,一般用下标控制循环

      字符串:没有显式地给出有效字符的个数,只规定在字符串结束符 '' 之前的字符都是字符串的有效字符,一般用结束符 '' 来控制循环

      循环条件:s[i] != ''

        (7)字符串的存储-赋值和输入

    • 将字符串存入数组,对字符串初始化还可以采用赋值和输入方法
      数组初始化

      static char s[6]= "Hello";

      赋值

      s[0]='a'; s[1]='';

      或者

      static char s[6]= "a";

      输入

      '' 代表空操作,无法输入

      输入时,设定一个输入结束符

      将输入结束符转换为字符串结束符 '

  • 相关阅读:
    SQL注入原理
    攻防世界-wp
    BUUCTF-warmup
    springboot邮箱验证功能部署到服务器后报25 timeout的解决方式
    关于MySQL建立库表时大写自动转换为小写的解决方案
    springboot格式化timestamp时间
    mysql高级查询
    pip更新一直time out 的解决方法
    关于springboot使用mybatis查询出现空指针,以及debug出现All Elements all Null的解决方法
    抽象工厂模式
  • 原文地址:https://www.cnblogs.com/ly6251/p/6216609.html
Copyright © 2011-2022 走看看