1、数组
● C 语言中数组是静态的,如果想动态的插入或者删除元素,必须自己写函数;
● 数组的长度为:0 =< index <length;
● 数组内存是连续的;
● 数组也可以在定义的时候同时赋值:
int arr[4]={12,13,14,15};
● 也可以只给部分元素赋值,没有赋值的元素初始化为相应数据类型的初始值;
short、int、long初始值为0;
char 初始值为 ' \0 ';
float、double 为 0.0;
#include <iostream>
int main()
{
int arr[10];
for (int i = 0; i < 10; i++) {
arr[i] = i+1;
}
for (int i = 0;i < 10;i++) {
printf("arr[%d]=%d\n", i, arr[i]);
}
return 0;
#include <iostream>
int main()
{
int arr[10];
for (int i = 0; i < 10; i++) {
printf("请输入第%d个数字:", i + 1);
scanf("%d", &arr[i]);
}
for (int i = 0;i < 10;i++) {
printf("arr[%d]=%d\n", i, arr[i]);
}
return 0;
}
2、二维数组
● 在 C 语言中,二维数组是按行排列的;
#include <iostream>
int main()
{
//有3位同学,每人2门课程
int arr[3][2];
//获取每位同学每门课程分数
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 2; j++)
{
printf("请输入第%d位同学的第%d门课程的成绩:", i + 1, j + 1);
scanf("%d", &arr[i][j]);
}
}
//输出每位同学每门课程分数
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 2; j++)
{
printf("第%d位同学的第%d门课程的成绩:%d\n", i + 1, j + 1,arr[i][j]);
}
}
return 0;
}
3、无序数组查询
#include <iostream>
int main()
{
int arr[10] = {19,1,25,36,7,16,11,9,41,6};
int flag = 0;
int check;
printf("请输入要查询的数字:");
scanf("%d", &check);
for(int i=0;i<10;i++)
{
if(arr[i]==check)
{
flag = 1;
break;
}
}
if (flag != 0)
{
printf("查询到了数字%d!", check);
}
else {
printf("没有查询到您的数字!");
}
return 0;
}
4、有序数组查询
#include <iostream>
int main()
{
int arr[10] = { 1,6,7,9,11,16,19,25,36,41 };
int flag = 0;
int check;
printf("请输入要查询的数字:");
scanf("%d", &check);
for(int i=0;i<10;i++)
{
if(arr[i]==check)
{
flag = 1;
break;
}else if(arr[i]>check)//因为数组元素是升序排列
{
break;
}
}
if (flag != 0)
{
printf("查询到了数字%d!", check);
}
else {
printf("没有查询到您的数字!");
}
return 0;
}