06--数组

数组

一批具有同名的同属性的数据就组成了数组

数组是一组有序数据的集合,下标代表数据在数组中的序号。

数组中的每一个元素都属于同一个数据类型

一维数组

一维数组是数组中最简单的,它的元素只需要用数组名加一个下标, 就能唯一确定

定义一维数组

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

注意:

  • 数组名的命名规则和变量名相同,遵循标识符命名规则

  • 需要指定数组中元素的个数,常量表达式用来表示元素的个数,即数组长度,元素的下标是从0开始的

  • 常量表达式也可以包括常量和符号常量,不能包括变量。C语言不允许对数组的大小作动态定义

引用数组

数组名 [ 下标 ] ;

一维数组的初始化

为了使程序简洁,常在定义数组的同时给各数组元素赋值,,这称为数组的初始化

另外-未赋值的部分元素自动设定为0;

二维数组

一般形式:

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

在内存中,各元素是连续存放的,不是二维的

引用:

数组名 [ 下标 ] [ 下标 ] ;

下标应是整型表达式

二维数组初始化

1、分行给二维数组赋值
    int a [3][4] = {{1,2,3,4},{5,6,7,8},{9,10,11,12}};
​
2、将所有数据写在一个花括号内
    int a [3][4] = {1,2,3,4,5,6,7,8,9,10,11,12}
​
3、对部分元素赋初值
    int a[3][4] = {{1},{5},{9}};
        未赋值的值(其余元素值)自动为零
​
4、定义数组时对第1维的长度可以不指定,但第2维的长度不能省
    int a[][4] = {1,2,3,4,5,6,7,8,9,10,11,12};

字符数组

用来存放字符数组的数组是字符数组。在字符数组中的一个元素内存一个字符

字符型数据是以整数形式(ASCII代码)存放的,

字符数组的初始化

把各个字符依次赋给数组中各元素,例如:

char a[10] = {'i',',','a','m'};
如果花括号中提供的初值个数(即字符个数)大于数组长度,则出现语法错误;
如果初值个数小于数组长度,则只将这些字符赋给数组中前面的元素,其余的元素自动定为空字符(即‘\0’);
    
   %c——输出一个字符; %s——输出字符串

C语言规定了一个“字符串结束标志”,以字符“\0”作为结束标志

例如:
    一个数组中存在若干个字符,前面9个字符串都不是空字符“\0”,而第十个是空字符“\0”,则认为数组中有一个字符串,其有效字符为9个。
  也就是说,在遇到字符“\0”时,表示字符串结束,把它前面的字符组成一个字符串;
   C系统在用字符数组存储字符串时,会自动加上一个“\0”作为结束符,

在定义字符数组时应该估计实际字符串长度,保证数组的长度始终大于字符串实际长度。

  • 输出字符中不包括结束符“\0”。

  • 数组中未被赋值的元素的值自动置为“\0”

  • 可以用八进制形式输出输出字符数组的起始地址

    printf("\o");

使用字符串处理函数

  1. puts函数——输出字符串的函数

    一般形式为——puts(字符串),

    在用puts输出时将字符串结束标志'\0'转换成'\n'

  2. gets函数——输入字符串的函数

    一般形式——gets(字符数组)

    puts和gets函数只能输出或输入以一个字符串

  3. strcat函数——字符串连接函数

    一般形式——strcat(字符数组1,字符数组2)

    数组1必须足够大

  4. strcpy和strncpy函数——字符串复制函数

    一般形式——strcpy(字符数组1,字符串2)

    将字符串2复制到字符数组1中

    strncpy(str1,str2,2); ——将str2中最前面的2个字符复制到str1中,取代str1中原有的最前面的2个字符。

  5. strcmp函数——字符串比较函数

    一般形式——strcmp(字符串1,字符串2)

    将两个字符串自左向右逐个字符串相比(按ASCII码大小比较),直到出现不同的字符或遇到“\0”为止

    • 如果字符串1 = 字符串2 则函数值为0;

    • 如果字符串1 > 字符串2 则函数值为一个正整数

    • 如果字符串1 < 字符串2 则函数值为一个负整数

  6. strlen函数——测字符串长度的函数

    一般形式——strlen(字符数组)

  7. strlwr函数——转换为小写的函数

    strlwr(字符串)

  8. strupr函数——转换为大写的函数

    strupr(字符串)

发布了16 篇原创文章 · 获赞 2 · 访问量 137

猜你喜欢

转载自blog.csdn.net/weixin_42248871/article/details/105164793