C语言学习-基础-3

前言


C语言基础笔记之三,数组.

内容


【1】数组

多个数据类型相同的数据集合。
1--- 有数组一定有元素
2--- 数组元素的类型相同
3--- 元素存储是连续的

【2】数组的定义

1--- 常量    
    int a[3];

2--- 定义宏
    #define N 5
    int b[N];

3--- 变量(不可以初始化)
    int i = 3;
    int c[i];

【3】数组的初始化

1--- 全部赋值
2--- 部分赋值,没有赋值的部分默认初始化为0
3--- 不赋值,元素为随机值(static修饰的除外)
4--- int a[] = {1,2,3,4}; <===> int a[4];

【4】遍历

使用循环语句遍历
int a[10] = {1,1,2,3,45,34,5323,341,432};
int i = 0;
for(i=0;i<10;i++)
{
  printf("%d",a[i]);
}

【5】数组名

int a[N] = {0};

1--- 代表数组首元素的地址
2--- 
    N * sizeof(int);
    sizeof(a);
    N = sizeof(a) / sizeof(int);

【6】冒泡排序

(1)比较第一个数与第二个数,若为逆序a[0]>a[1],则交换;然后比较第二个数与第三个数;依次类推,直至第n-1个数和第n个数比较为止——第一趟冒泡排序,结果最大的数被安置在最后一个元素位置上

(2)对前n-1个数进行第二趟冒泡排序,结果使次大的数被安置在第n-1个元素位置

(3)重复上述过程,共经过n-1趟冒泡排序后,排序结束

【7】二维数组

int a[N][M];

1--- N:代表N行,M:代表M列
2--- a:数组名,首元素的地址
3--- a[0]、a[1]、a[2]    代表每一行的首地址
4--- 行数可以省略,列项不可以省略。
    int a[][3] = {0,1,2,3}; 《==》 int a[2][3];

【8】字符型数组

1--- char a[8] = {'A'};
     char b[9] = "hello";
     char c[ ] = "world";

2--- puts(a);    
     gets(a);

【9】strcpy

格式:strcpy(字符数组1,字符串2)
头文:<string.h>
功能:将字符串2,拷贝到字符数组1中去
返值:返回字符数组1的首地址
说明:字符数组1必须足够大
        ?拷贝时‘\0’一同拷贝

【10】strcat

格式:strcat(字符数组1,字符数组2)
头文:<string.h>
功能:把字符数组2连到字符数组1后面
返值:返回字符数组1的首地址
说明:字符数组1必须足够大
          新串最后加‘\0’

【11】strlen

格式:strlen(字符数组)
功能:计算字符串长度
返值:返回字符串实际长度,不包括‘\0’在内

【12】strcmp

格式:strcmp(字符串1,字符串2)
功能:比较两个字符串
比较规则:对两串从左向右逐个字符比较(ASCII码),直到遇到不同字符或‘\0’为止
返值:返回int型整数,
    a. 若字符串1 <  字符串2, 返回负数
            b. 若字符串1 >  字符串2, 返回正数
            c. 若字符串1 == 字符串2,返回0
说明:字符串比较不能用“==”,必须用strcmp

版权声明:本文为博主原创文章,转载请注明出处KidSea

小额赞助,鼓励作者写出更好的文章