1.数组中第一个元素下标是零,数组初始化中用0对{}中没有赋初值的元素进行初始化,而且不能通过赋值语句进行初始化,也不能通过赋值运算符对数组赋值。
2.对象式宏,#define a b,表示将该指令之后的a变为b,a为宏名,通常用大写字母表示。对象式宏不能用来替换字符串字面量,变量名等标识符和字符常量中的部分内容
3.赋值表达式的判定结果和赋值后左操作数的类型和值相同,赋值时可以写成a=b=0,但是初始化的声明不适用,要写成inta=0,b=0;中间要用逗号隔开,无法使用赋值运算符复制数组所有元素
4.多维数组int【4】【3】代表“以元素类型为int元素个数为3的数组”为元素,元数个数为4的数组。
5.按顺序逐个查看数组的元素叫称为遍历,还可以同时遍历两个数组
int a[5]={1,2,3,4,5};
int b[5];
for(i=0;i<5;i++)
{
b[i]=a[i];
}
for(i=0;i<5;i++)
{
printf("%d %d\n",a[i],b[i]);
}
6.使用for循环进行倒序排序
int a[5]={1,2,3,4,5};
for(i=0;i<5;i++)
{
int t=a[i];
a[i]=a[4-i];
a[4-i]=t;
}
7.练习使用多维数组输出学生成绩分布情况
#include<stdio.h>
#define N 100
int main()
{
int i,j,n;
int score[N];
int k[11]={0};
do
{
scanf("%d",&n);
}
while(n<1||n>N);
for(i=0;i<n;i++)
{
printf("第%d个:",i+1);
do
{
scanf("%d",&score[i]);
}
while(score[i]<0||score[i]>100);
k[score[i]/10]++;
}
printf(" 100:");
for(j=0;j<k[10];j++)
{
putchar('*');
}
putchar('\n');
for(j=9;j>=0;j--)
{
printf("%3d-%3d:",j*10,j*10+9);
for(i=0;i<k[j];i++)
{
putchar('*');
}
putchar('\n');
}
return 0;
}