一维数组的定义和初始化:
类型说明符 数组名[常量表达式];
如:int a[10]; 为整型数组,共10个元素,分别为a[0], a[1], a[2],······,a[9],数组元素的下标从0开始编号。
#include <stdio.h>
int main()
{
int i;
int j;
int temp;
int a[10];
printf("input 10 numbers:\n");
for(i = 0; i < 10; i++) /*输入a[i]*/
{
scanf("%d", &a[i]);
}
for(j = 0; j < 9; j++) /*比较大小*/
{
for(i = 0; i < 9-j; i++)
{
if(a[i] > a[i + 1])
{
temp = a[i];
a[i] = a[i + 1];
a[i + 1] = temp;
}
}
}
printf("the sorted numbers:\n");
for(i = 0; i < 10; i++)
{
printf("%d ", a[i]);
}
printf("\n");
return 0;
}
二维数组的定义和初始化:
例如:a[3][4] = {{1,2,3,4},{5,6,7,8},{9,10,11,12}} 或者{1,2,3,4,5,6,7,8,9,10,11,12}
/*找出矩阵中的最大元素所在位置*/
#include <stdio.h>
int main()
{
int a[3][4];
int i;
int j;
int row;
int col;
printf("enter 12 integers:\n");
for(i = 0; i < 3; i++)
{
for(j = 0; j < 4; j++)
{
scanf("%d", &a[i][j]);
}
}
printf("\n");
for(i = 0; i < 3; i++)
{
for(j = 0; j < 4; j++)
{
printf("%5d", a[i][j]);
}
printf("\n");
}
row = col = 0;
for(i = 0; i < 3; i++)
{
for(j = 0; j < 4; j++)
{
if(a[i][j] > a[row][col])
{
row = i;
col = j;
}
}
}
printf("max = a[%d][%d] = %d\n", row, col, a[row][col]);
return 0;
}
字符数组:
char c[10] = {'P','a','r','t','y'};
字符数组的输入输出:1、逐个字符输入输出,采用格式控制符%c ;2、整体输入输出,使用格式控制符%s。
若读入的字符串包含空格就不能使用“%s”。
例如:
int main()
{
char c[10] = {'I',' ','a','m',' ','a',' ','b','o','y'};
int i;
for(i = 0; i < 10; i++)
{
printf("%c", c[i]);
printf("\n");
}
return 0;
}
也可以这样写:
int main()
{
char a[ ] = {'I',' ','a','m',' ','a',' ','b','o','y','\0'};
printf("%s\n", ch);
return 0;
}
1、字符数组的输入输出:gets(字符数组) 或 puts(字符数组)
2、strlen:测试字符串长度的函数。格式:strlen(字符串)
strcat:连接两个字符串。格式:strcat(字符数组1,字符数组2)
3、strcpy:将一个字符串复制到另一个字符数组中。格式:strcpy(字符数组1,字符串2)
4、strcmp:比较两字符串的大小。格式:strcat(字符串1,字符串2)
5、strlwr:将字符串中大写字母换成小写字母。格式:strlwr(字符串)
6、strupr:将字符串中小写字母换成大写字母。格式:strupr(字符串)