数组及数组运算的学习笔记

C语言中在写程序的时候,如何记录很多的数呢? int num1,int num2,int num3…? 这个时候我们需要用数组来解决这个问题,接下来,我们就来学习一下数组的基础知识。

一.什么是数组

定义:数组像是一种容器,其中所有的元素具有相同数据类型的变量集合,一旦创建,不能改变大小。数组中的每一项称为数组的元素,每个元素都有对应的下标,用于表示元素在数组中的位置序号,下标从0开始。数组中的元素在内存中是依次排列的。
表达形式:<类型> 变量名称 [元素数量] 如:int number [100];
int grades [50];double arr [20];double weight [200];

二.数组的使用

1.一个int的数组
10个单元:a[0]、a[1]、a[2]、…、a[9]
每个单元就是一个int类型的变量
可以出现在赋值的左边或右边:a[2]=a[1]+6,在赋值左边的叫左值
2.int age [10]={1,2,3,4,5,6,7,8,9,10};
可以通过arr[i]的方式访问数组,i称为下标,从0开始:0、1、2、3…N
如果要读第N个元素:int x=age[N-1];
如果要改第N个元素:age[N-1]=20;
3.长度为0的数组:int a[0], 可以存在,但是没有任何意义

三.数组初始化的常见方式

1.直接对数组中的所有元素赋值:
int i[5]={1,2,3,4,5};
2.只对数组中的一部分元素赋值:
int i[5]={1,2,3};
3.对数组全部元素赋值,但不指定长度:
int i[ ]={1,2,3,4,5}

四.其它类型的数组

实际上,在真正开发时,使用的不止是int类型,比如:存储学习成绩,可能有小数点,这时候就要有浮点类型。
char arr[10];
short arr[10];
int arr[10];
float arr[20];
double arr[30];
unsigned int arr[40];

五.注意事项

1.数组的下标是用方括号括起来的,而不是圆括号;
2.数组同变量的命名规则相同:必须以字母开头,数组名中不能有空格;不可以包含嵌入的句号或者类型声明符;不能和受到限制的关键字同名;
3.数组定义中,常量表达式的值可以是符号常量(不可以是变量)

六.遍历数组

int a[ ]={2,4,6,7,1,3,5,9,11,13,23,14,32};
int b[ ]=a;
数组变量本身不能被赋值
要把一个数组的所有元素交给另一个数组,必须采用遍历

for  ( i=0; i<length; i++ )  {
      b[i] = a[i];
 }

1.通常都是使用for循环,让循环变量i从0到<数组的长度,这样循环体内最大的i正好是数组最大的有效下标;
2.常见错误:循环结束的长度<=数组长度,或离开循环后,继续用i的值来做数组元素的下标。

七.数组的例子

判断素数

#include <stdio.h>
int main()
{
     const int maxNumber = 25;
     int isPrime[maxNumber];
     int i;
     int x;
     for ( i=0;i<maxNumber;i++ ) {
            isPrime[i] = 1;
     }
     for ( x=2;x<maxNumber;x++ ) {
           if ( isPrime[x] ) {
                for ( i=2;i*x<maxNumber;i++ ) {
                      isPrime[i*x] = 0;
                 }
            }
       }
       for ( i=2;i<maxNumber;i++ ) {
             if ( isPrime[i] ) {
                 printf("%d\t",i);
             }
         }
         printf("\n");
         return 0;
  }
原创文章 15 获赞 101 访问量 4501

猜你喜欢

转载自blog.csdn.net/weixin_46121783/article/details/106003671
今日推荐