C语言第四课

来源:互联网 发布:微信重装后数据恢复 编辑:程序博客网 时间:2024/05/16 10:20

主要内容:数组、排序

一、数组(一维数组)

       定义:相同数据类型的元素组成的一组数据

      分为一维数组、二维数组、多维数组、字符数组、字符串数组

       数组是一种构造类型,相同数据类型组成的新数据类型,数组的每一个成员称为一个数组元素

       类型说明符 数组名[ 常量表达式 ] = { 值1,值2,值3... };

       写法:

               int a[ 3 ] = { 2, 3, 4 };

               int b[ ] = { 2, 3, 4 };

               int c[ 3 ] = { };

               int d[ 3 ] = { 0 };

       访问数组中的元素需要索引,默认从 0 开始(索引可以是常量,也可以是变量)

       注意:数组中的元素的最大索引不能超过数组的大小

       示例:int a [ 10 ] 和 a[10]的区别

                  int a [ 10 ]的意义是定义一个大小为10的数组

                  a [ 10 ]表示的是在数组a中索引为10的数组元素

二、排序(冒泡排序)

       升序排列:相邻的两个元素进行比较,大的往右放,第一次比较结束后得到最大值在右边

                         再按相同的方法进行比较,结果得到第二大值

                         。。。

                         最后得到从小到大的排列

       冒泡排序用到for循环和循环嵌套

       示例:int a[] =  { 4, 2, 7, 3, 9 } ;用冒泡排序进行排序

                 for (int i = 0; i < 5 - 1; i++){

                          for (int j = 0; j < 5 - 1 - i;  j++) {

                                   if ( a[ j ] > a[ j + 1] ) {

                                             int temp = a[ j ] ;

                                             a [ j ] = a [ j + 1 ] ;

                                             a [ j + 1 ] = temp;

                                   }

                          }

                 }

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

                          printf ( " %d " , a[ i ] ) ;

                 }

三、字符数组

       数组元素由字符组成的数组——字符数组(类型与一维数组相似,类型修饰符为 char )

       示例:char c [ 10 ] = { ‘ i ’,‘ p ’,‘ o ’,‘ n ’,‘ e ’ };

                  char c [ 10 ] = " iPhone " ;

      字符数组末尾默认以 ‘ \0 ’ 结尾,如果在后面加上 ' \0 ',则系统默认为输出字符串

       字符数组的4个函数

             strlen() 求字符数组的长度

              strcpy() 拷贝字符数组

              strcat() 拼接字符数组

              strcmp() 字符串的比较

       注意:字符串所占的空间至少要比字符串的长度大 1 ,因为字符串后面以 ' \0 ' 表示结束,系统是根据字符数组后面是否有 ' \0 ' 判断字符串是否结束

      数组通常与循环结合使用,数组的下标是默认从0开始的,最大到数组的容量减1,一定要注意下标越界的问题,字符数组要注意 ' \0 '



0 0
原创粉丝点击