黑马程序员---iOS学习基础---数组与函数

来源:互联网 发布:在淘宝上开店步骤 编辑:程序博客网 时间:2024/04/19 11:20

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------


1.一维数组的定义与引用

数组是是一组具有相同数据类型的数据的有序集合。

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

int  a【10】;它表示定义了一个整形数组,数组名为a,此数组有10个元素。在定义数组时,需要指定数组中元素的个数,

方括弧中的常量表达式用来表示元素的个数,即数组长度。常量表达式中可以包括常量和符号常量,但不能包含变量。

也就是说,C语言不允许对数组的大小作动态定义,即数组的大小不依赖于程序运行过程中变量的值。

#include <stdio.h>

void main()

 {

   int i,a[10];

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

      a[i]=i;

   for(i=9;i>=0; i--)

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

   printf("\n″);

 }

程序输出

9 8 7 6 5 4 3 2 1 0

数组的初始化可以在定义时赋值,可以赋值一部分,但是不可以对数组整体赋值。全体赋值时由于个数确定,可以省略数组长度。

使用冒泡排序法给数组中的值排序:

#include <stdio.h>

void main()

{

  int a[10];

  int i,j,t;

    printf(″input 10 numbers :\n″);

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

  scanf("%d",&a[i]);

  printf("\n");

  for(j=0;j<9;j++){

    for(i=0;i<9-j;i++)

       if (ai>ai+1)

       {

        t=a[i];

        a[i]=a[i+1];

        ai+1=t;

       }

     }


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

        printf(″%d ″,ai);

}

2.二维数组的定义与引用

我们可以把二维数组看作是一种特殊的一维数组,它的元素又是一个一维数组。

二维数组的初始化:可以分行赋值,可以将所有数据写在一个花括弧内,按数组排列的顺序对各元素赋初值。可以对部分元素赋初值。

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


3.字符数组

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

对字符数组初始化,最容易的方式是逐个字符赋给数组中各元素。

如果在定义字符数组时不进行初始化,则数组中各元 素的值是不可预料的。

如果初值个数小于数组长度,则只将这些字符赋给数组中前面那些元素,其余的元素自动定为空字符(即′\0′)。

为了测定字符串的实际长度,C语言规定了一个“字符串结束标志”,以字符′\0′作为标志。如果有一个字符串,前面9个字符都不是空字符(即′\0′) ,而第10个字符是′\0′,

则此字符串的有效字符为9个。系统对字符串常量也自动加一个′\0′作为结束符。但是字符数组不要求,如果不加‘\0’也是合法的。

字符数组的输入输出有两种方法:

逐个字符输入输出。用格式符“%c”输入或输出一个字符;将整个字符串一次输入或输出。用“%s”格式符,意思是对字符串的输入输出。

strcat函数其一般形式为:

strcat(字符数组1,字符数组2)

Strcat的作用是连接两个字符数组中的字符串,把字符串2接到字符串1的后面,结果放在字符数组1中,函数调用后得到一个函数值——字符数组1的地址。

strcpy函数

其一般形式为:strcpy(字符数组1,字符串2)strcpy是“字符串复制函数”。作用是将字符串2复制到字符数组1中去。

只能用strcpy函数将一个字符串复制到另一个字符数组中去。


strcmp函数

其一般形式为:strcmp(字符串1,字符串2)

strcmp的作用是比较字符串1和字符串2。对两个字符串自左至右逐个字符相比(ASCII码值大小比较),直到出现不同的字符或遇到′\0′为止。

如全部字符相同,则认为相等;若出现不相同的字符,则以第一个不相同的字符的比较结果为准。

strlen函数

其一般形式为:strlen (字符数组)

strlen是测试字符串长度的函数。函数的值为字符串中的实际长度(不包括′\0′在内)。





0 0
原创粉丝点击