数组
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);
}
|
阅读(422) | 评论(0) | 转发(0) |