zoukankan      html  css  js  c++  java
  • 数组与常用函数

    1.一维数组
      (1)一维数组的定义格式为:
           类型说明符  数组名[常量表达式]
      (2)在定义数组时,需要指定数组中元素的个数,方括弧中的常量表达式用来表示元素的个数,即数组长度。
      (3)常量表达式中可以包括常量和符号常量,但不能包含变量。
       注意:
       C语言不允许对数组的大小作动态定义,即数组的大小不依赖于程序运行过程中变量的值。
      赋值方法:
      (1)在定义数组时对数组元素赋以初值。
         例如:int a[10]={0,1,2,3,4,5,6,7,8,9};
      (2)可以只给一部分元素赋值。
         例如: int a[10]={0,1,2,3,4};   
         定义a数组有10个元素,但花括弧内只提供5个初值,这表示只给前面5个元素赋初值,后5个元素值为0。
      (3)如果想使一个数组中全部元素值为0,可以写成:
          int  a[10]={0,0,0,0,0,0,0,0,0,0};  
          或int a[10]={0};
          不能写成:int a[10]={0*10};
      (4)在对全部数组元素赋初值时,由于数据的个数已经确定,因此可以不指定数组长度。
         例如:int a[5]={1,2,3,4,5};
         也可以写成  int a[]={1,2,3,4,5}; 
         int a[10]={1,2,3,4,5};  只初始化前5个元素,后5个元素为0。
      (5)数组的地址,a和&a
    2.二维数组
      (1)二维数组定义的一般形式为:
           类型说明符  数组名[常量表达式][常量表达式];
      (2)数据类型 :
           数组名 [常量表达式1][常量表达式2]={ 初始化数据 };
      初始化方法:
      (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}};也可以对各行中的某一元素赋初值,如int a[3][4]={{1}, {0,6}, {0, 0, 0, 11}};
      (4)如果对全部元素都赋初值,则定义数组时对第一维的长度可以不指定,但第二维的长度不能省。
           例如:int a[3][4]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
           等价于:int a[ ][4]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
    3.字符数组
      (1)输入输出方法:逐个字符输入输出。用格式符“%c”输入或输出一个字符。
                       或将整个字符串一次输入或输出。用“%s”格式符,意思是对字符串的输入输出。
           用“%s”格式符输出字符串时,printf函数中的输出项是字符数组名,而不是数组元素名。
           如果数组长度大于字符串实际长度,也只输出到遇′\0′结束。
           输出字符不包括结束符′\0′。
           如果一个字符数组中包含一个以上′\0′,则遇第一个′\0′时输出就结束。
           可以用scanf函数输入一个字符串。
      (2)puts函数
           其一般形式为:  puts (字符数组)
           其作用是将一个字符串(以′\0′结束的字符序列)输出到终端。

      (3)gets函数
           其一般形式为:gets(字符数组)
           其作用是从终端输入一个字符串到字符数组,并且得到一个函数值。该函数值是字符数组的起始地址。
      (4)strcat函数
           其一般形式为:strcat(字符数组1,字符数组2)
           作用是连接两个字符数组中的字符串,把字符串2接到字符串1的后面,结果放在字符数组1中,函数调用后得到一个函数值——字符数组1的地址。
      (5)strcpy函数
           其一般形式为:strcpy(字符数组1,字符串2)
           strcpy是“字符串复制函数”。
           作用:是将字符串2复制到字符数组1中去。
           说明:字符数组1必须定义得足够大,以便容纳被复制的字符串。字符数组1的长度不应小于字符串2的长度。
               “字符数组1”必须写成数组名形式,“字符串2”可以是字符数组名,也可以是一个字符串常量。
                复制时连同字符串后面的′\0′一起复制到字符数组1中。
                可以用strncpy函数将字符串2中前面若干个字符复制到字符数组1中去。
                不能用赋值语句将一个字符串常量或字符数组直接给一个字符数组。
       (6)strcmp函数
          其一般形式为:strcmp(字符串1,字符串2)
          作用是比较字符串1和字符串2。
          比较的结果由函数值带回
            如果字符串1=字符串2,函数值为0。
            如果字符串1>字符串2,函数值为一正整数。
            如果字符串1<字符串2,函数值为一负整数。
      (7)strlen函数
           其一般形式为:strlen (字符数组)
           strlen是测试字符串长度的函数。函数的值为字符串中的实际长度(不包括′\0′在内)。
      (8)strlwr函数
           其一般形式为:strlwr (字符串)
           strlwr函数的作用是将字符串中大写字母换成小写字母。
      (9)strupr函数
           其一般形式为:strupr (字符串)
           strupr函数的作用是将字符串中小写字母换成大写字母。
    4.函数
      函数调用的形式:
     (1)作为函数语句调用。函数一般无返回值。例:printf(“Hello,World! ”);
     (2)作为函数表达式调用。例:m=max(a,b)*2;
     (3)作为函数参数调用。例:printf(“%d”,max(a,b));
                                m=max(a,max(b,c));
      static声明局部变量:函数中的局部变量的值在函数调用结束后不消失而保留原值,以便下一次调用该函数时可以使

                                         用上一次调用的最后结果。这时就应该指定该局部变量为“静态局部变量”。
      extern声明外部变量:外部变量(即全局变量)是在函数的外部定义的,它的作用域为从变量的定义处开始,到本程序

                                         文件的末尾。在此作用域内,全局变量可以为程序中各个函数所引用。
                                        (1)在一个文件内声明外部变量
                                                 如果全局变量在后面定义,而在前面的函数中要使用,则必须在使用前用extern声明该全局变量。
                                                 如:extern int Abc; 
                                        (2)在多个文件的程序中声明外部变量

  • 相关阅读:
    java开发划分级别的标准
    MySql数据的插入-replace into
    通过DOS命令批量重命名文件
    jira-6.0.1-x64下载地址
    nagiosQL访问时报错PHP message: PHP Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead
    shell-保留文件系统下剩余指定数目的文件
    -bash:fork:cannot allocate memory
    HttpWatch手把手图解教程
    HttpWatch Professional Edition 7.2.13下载含( license.lic )
    Resize CentOS Linux hard drive partition (centos 6.3 调整LVS磁盘大小)
  • 原文地址:https://www.cnblogs.com/kutoli/p/7829249.html
Copyright © 2011-2022 走看看