(七)数组

7.1 一维数组的定义

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
int a[10]; 
int a[10]= {0,1,2,3,4,5,6,7,8,9};

//例子用数组来处理就Fibonacci数列
#include <stdio.h>
void main()
{
int i;
int f[20] = {1,1};
for(i=2;i<20;i++)
{
f[i] = f[i-2] + f[i-1];
for(i=0;i<20;i++)
{
if(i%5==0)printf("\n");
printf("%12d",f[i]);
}
printf("\n");
}
}

7.2 二维数组的定义和引用

1
2
3
float a[3][4],b[5][10];

int a[3][4] = {{1,2,3,4},{5,6,7,8},{2,4,5,6}};

7.3 字符数组

1
2
char c[] = {'I','a','m','h'};
char doamond[5][5] = {{'','','*'},{'','*','','*'}};

字符数组的输入输出

1
2
3
char c[] = {"china"};
printf("%s",c);
c h i n a \0

字符串处理函数

puts函数
1
2
char str[] = {"China \n Bei jing"};
puts(str);
gets函数
1
gets(str);

strcat函数

1
2
3
4
strcatstring catenate 的缩写,其作用是连接两个字符数组中的字符串
char a[10] = {"nihao"};
char b[10] = {"a"};
printf("%s",strcat(a,b));//nihao a

strcpy 和strncpy

1
2
3
4
5
6
7
8
9
10
strcpystring copy的所系,是字符串复制函数,作用是将字符串2复制到字符串数组1中去

char a[10] = '';
char b[10] = 'copy';
strcpy(a,b);
printf("%s\n", b);//copy
strcpy(a,"china");


strncpy(str1,str2,n);//将字符串前n个字符复制到str1中去

strcmp函数

1
2
3
4
5
比较字符串1和字符串2,从做到右按照ASCII码值比较直到出现不同的字符或者遇到\0截止
strcmp(str1,str2);
str1 = str2 返回0
str1 > str2 返回正整数
str1 < str2 返回负整数

strlen函数

1
2
返回字符串长度
strlen("china");//5 不包含\0

strlwr 函数

1
strlwr(str)//将字符串中的大写转换成小写

strup函数

1
strup(str)//将字符串中的小写转换成大写