从零开始一起学C语言(三)---数组

目录

1、数组的引入

2、数组的使用

2.1数组的定义

2.2数组的初始化

2.3数组元素的访问

3、字符数组

3.1常用字符数组

3.2特殊字符数组

4、二维数组

5、数组排序

6、案例分析


1、数组的引入

数组:相同数据类型数据的集合。在内存中是连续排列的。

批量处理数据时使用。

2、数组的使用

2.1数组的定义

类型说明符 数组名[数字常量];

int num[5];//定义了一个存储5个整形数据的数组。

类型说明符:说明数组内存储元素的类型。

数组名:标识符,命名形象化。

数字常量:代表数组的大小。

2.2数组的初始化

初始化:定义的同时给定一个初始值。

数组用大括号进行初始化。

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

int num[] = {1,2,3,4,5};//数组的大小确定的时候可以省略。

2.3数组元素的访问

数组名[角标]

角标从0开始。注意不能够越界。

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

访问第一个元素:num[0]

访问最后一个元素:num[4]

3、字符数组

3.1常用字符数组

用来存放字符的数组称为字符数组。

char str[5]={‘a’,’b’,’c’,’d’,’e’};

3.2特殊字符数组

用字符串来初始化一个数组。

char str[]={“abcde”};

char str[]= “abcde”;

以上两种形式效果一样。注意字符串以’\0’结尾,

数组的大小是字符串字符长度+1,因为有‘\0’。

Char str[20]={“1,2,3,4”}//数组大小为20,字符长度为4;

Char str[]={“1,2,3,4”}//数组大小为5,字符长度为4。

求字符串长度函数:strlen

字符输入输出函数:getchar   putchar

字符串输入输出函数:gets    puts

4、二维数组

数组的数组,数组里面的元素还是一个数组。

int num[2][3]={{1,2,3},{4,5,6}};//num[1][0] == 4

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

int num[2][3]={{1,2,3},

{4,5,6}};

以上两种初始化效果一样。数组的第一个2代表数组里面有2个数组,第二个3代表每个数组里面有三个整形元素。

为了直观好看,我们通常规定二维数组的第一个数为行,第二个数为列。

5、数组排序

冒泡排序:

#include <stdio.h>

#include <string.h>

int main()

{

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

       int i,j,a;

       for(j=0;j<4;j++)

       {

              for(i=0;i<4;i++)

              {

                     if(num[i]>num[i+1])

                     {

                            a=num[i];

                            num[i]=num[i+1];

                            num[i+1]=a;

                     }

              }

       }

       for(i=0;i<5;i++)

              printf("%-5d",num[i]);

    return 0;

}

6、案例分析

输入一个十进制数,以二进制格式输出。

#include <stdio.h>

#include <string.h>

int main()

{

       int num[20];

       int a,i=0,j;

       while(1)

       {

              i=0;

              scanf("%d",&a);

              while(a!=0)

              {

                     num[i]=a%2;

                     i++;

                     a = a/2;

              }

              for(j=i-1;j>=0;j--)

              {

                     printf("%d",num[j]);

              }

              printf("\n");

       }

    return 0;

}

 

 

猜你喜欢

转载自blog.csdn.net/qq_38639426/article/details/88575903
今日推荐