数组
数组是有序数据的集合。
C语言中无法表示上下标,就用方括号表示下标。
- 一维、二维数组以及字符数组的第一和使用
一维数组 | 二维数组 | 字符数组 | |
---|---|---|---|
定义 | 类型说明符 数组名[常量表达式] | 类型说明符 数组名[常量表达式][常量表达式] | char c[常量表达式] |
引用 | int a[10];t=a[6],引用a数组中的6号元素。 | int a[3][4]···a[3][4]=3; | |
初始化 | int a[5]={0,1,2,3,4} | int a[2][3] ={{1,2,3}{4,5,6} | char c[3]={0,1,2} |
一维数组的引用
int main()
{
int a[10], i;
for(i = 0;i <= 9;i++)
a[i] = i;
for(i = 9;i >= 0;i--)
printf("%d ", a[i]);
printf("\n");
return 0;
}
用起泡法对10个数排序
#include<stdio.h>
int 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");
return 0;
}
二维数组行列元素的互换
#include<stdio.h>
int main()
{
int a[2][3] = {{1, 2, 3},{4, 5, 6}};
int b[3][2], i, j;
printf("array a: \n");
for(i = 0; i <= 1;i++)
{
for(j = 0;j <= 2;j++)
{
printf("%5d", a[i][j]);
b[j][i] = a[i][j];
}
printf("\n");
}
printf("array b:\n");
for(i = 0;i <= 2;i++)
{
for(j = 0;j <= 1;j++)
printf("%5d", b[i][j]);
printf("\n");
}
}
- 字符串的结束符
系统对字符串常量自动加一个\0作为结束符。当然在字符组常常也人为地加上一个\0,如char c[ ]={“Pascal program”},如果要用Hello代替原有的字符串要在“Hello”后加一个\0。
for(i = 0; i <= 4; i++)
scanf("%d",&a[i]);
对数组输入数据时每个数据之间要加空格?