1.一维数组
(1)数组定义
类型符 数组名 [常量表达式];
(2)数组命名规则和变量名相同
C语言中数组不可以动态定义
数组下标从0开始 a[0]
怎么引入一维数组元素
数组名[下表]
(3)一维数组的初始化
int a[4]={0,1,2,3};
也可以写成
int a[]={0,1,2,3};
(4)一维数组的遍历
int a[4]={0,1,2,3}
for(int i=0;i<4;i++){
printf("%d\n",a[i])
}
2.二维数组
类型说明符 数组名[常量表达式][常量表达式]
float pay[3][6];
多维数组在内存中的排列顺序,第一维下标变化最慢,最右边变化最快
二维数组的引用
a[1][2];
二维数组的初始化
第一种方式:
int a[1][2]={{1,2},{3,4}};
第二种方式:
int a[1][2]={1,2,3,4};
3.字符数组
(1)字符数组的定义
char c[3];
c[0]='I';
c[1]=' ';
c[2]='m';
(2)字符数组的初始化
char a[2] ={'I',' '};
char c[]={"I am happy"};
char c[]="I am happy";
(3)字符数组的引用
a[0]
(4)字符串与字符的结束标志
C语言中,将字符串作为字符数组处理
C系统中,存储字符时使用‘/0’作为结束符,例如 ‘cad’ 三个字符,在数组中占了4个字节,‘/0’ 系统自动加的
(5)字符数组的输入与输出
字符数组的输入有两种方式
1.逐个输入输出。用格式符 %c 输出或者输出
2.将整个字符串一次性输入或者输出。用格式符 '%s'格式符
例
char c[]={"china"};
printf("%s \n",c); //结果为 China
输入
scanf("%s",c);
不需要再加地址符,在C语言中数组名代表数组的起始地址
(6)使用字符串处理函数
puts(字符数组);
gets(字符数组);
注意:只能有一个参数
strcat函数-字符串连接函数
strcat(字符数组1,字符数组2):字符数组2连接到字符数组1的后面,字符数组1必须足够大
strcpy(字符数组1,字符数组2):字符数组2复制到字符数组1中,字符数组1必须足够大
例:
strcpy(str1,"hello");
strcpy(str1,str2);
strncpy(str1,str2,n):将str2中前面n个字符复制到str1中
strcmp(字符串1,字符串2):比较字符串函数
结果:
字符串1==字符串2,函数值为0;
不相同,以不相同的第一个字符的ASCII码的大小判断
字符串1>字符串2,函数值为正整数
字符串1<字符串2,函数值为负整数
strlwr(字符串)函数---转换为小写函数
strupr(字符串)函数---转换为大写函数
以上在头文件 #include<string.h>中