Chinaunix首页 | 论坛 | 博客
  • 博客访问: 401343
  • 博文数量: 101
  • 博客积分: 2324
  • 博客等级: 大尉
  • 技术积分: 887
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-19 19:28
文章分类

全部博文(101)

文章存档

2012年(3)

2011年(60)

2010年(38)

分类: C/C++

2011-03-21 21:05:21


                                    数组 
1. 数组 --在程序设计中,为了处理方便,把具有相同类型的若干变量按有序的形式组织起来。

2.一维数组的定义 引用
 定义方式:类型说明符 数组名 【常量表达式】
 例如:
      int a[12]; 说明整数型数组 a 有12个元素
                 a[0] ... a[9]
注意:不能在方括号内用变量来表示元素的个数,但是可以用符号常数或常量表达式表示。
例如:
     #define FD 5 ---定义常量一般用大写字母
      main()
          {
             int a[3+2],b[7+FD];

           }
是对的
    但是以下是不对的
     int n =5;
     int a[n];
2.2 一维数组的初始化
    一般形式:
            类型说明符 数组名[常量表达式] = {val,val,....};
            例如:
            int a [10] = {0,1,2,3,4,5,6,7,8,9};
规定 :
        a. 可以给部分元素赋值
           例如:
                int a[5] = {1,2};
          后三个元素自动赋值为0
        b. 不能够给整体元素赋值
           int a[] = 1;  X
        c. 可以不给出数组元素的个数
           int a[] = {1,2,3,4};
sample:

main()
{
    int i,max,a[10];
    printf("input 10 number:\n");
    for(i=0;i<10;i++)
          scanf("%d",&a[i]);
          max=a[0];
    for(i=1;i<10;i++)
          if(a[i]>max) max=a[i];
          printf("maxmun=%d\n",max);
         
   
}


3. 二维数组
   一般型式: 类型说明符 数组名 [常量1][常量2]
            例如 int a[3][4]
                 二维数组3行4列 存放数据时先放a[0]行在放a[1]行
  初始化:
         a.分段初始化
           int a[3][2]={{2,3},{3,5},{54,2}};
         b.连续赋值
           int a[3][2]={2,3,3,5,54,2};
         c.也可以部分赋值 其余自动补零
4.字符数组
  用来存放字符量
  字符数组初始化: char c[5]={'a','','c','d','e'};

4.1 字符串和字符串结束标志
    一个字符串存入数组时,把结束符‘\0‘存入数组,并以该字符串作为结束的标志。
    输出字符串时写出数组名即可不必加[]
4.2 字符串处理函数
    a.字符串输出函数 puts
      例子:
           #include
            main()
                {
                    char c[] = "basic\ndbase";
                    puts(c);
                }

   b.字符串输入函数 gets
     例子:
        

#include"stdio.h"
main()
{
  char st[15];
  printf("input string:\n");
  gets(st);
  puts(st);
}



   c. 字符串链接函数strcat
      格式:strcat (字符数组1,字符数组2)
      功能:把字符数组2中的字符串链接到字符数组1中字符串后面,并删去字符串1后的串标志“\0”.
      例子:
                    





#include"string.h"
 main()
{
    static char st[30]="My name is";
    int st2[20];
    printf("input your name:\n");
    gets(str2);
    strcat(str1,str2);
    puts(st1);

}


   d. 字符串拷贝函数 strcpy
      格式: strcpy (数组1,数组2)
      功能: 把数组2的内容拷贝到数组1中
      例子:
          

#include"string.h"
main()
{
  char st1[15],st2[]="C Language";
  strcpy(st1,st2);
  puts(st1);
  printf("\n");

}

   e. 字符串比较函数 strcmp
      格式: strcmp(数组1,数组2)
      功能: 可根据其返回结果定论
             字符串1=字符串2,返回值为0
             字符串1>字符串2,返回值>0
             字符串1<字符串2,返回值<0
            例子:
      

#include"string.h"
main()
{
  int k;
  static char st1[5],st2[]="C language";
  printf("input a string:\n");
  gets(st1);
  k=strcmp(st1,st2);
  if(k==0) printf("st1=st2\n");
if(k>0) printf("st1>st2\n");
if(k<0) printf("st1);

}


    f.测字符串长度 strlen
      格式:strlen(字符数组名)
      功能:测字符串的实际长度,不包含结束标志\0’并作为返回值返回
      例子:
         

#include"string.h"
main()
{
  int k;
  static char st[]="C Language";
  k=strlen(st);
  printf("The lenth of the string is %d\n",k);
}


阅读(358) | 评论(0) | 转发(0) |
0

上一篇:JSP与数据库的交互

下一篇:预处理指令

给主人留下些什么吧!~~