c语言17

148 阅读2分钟

数组

  1. 数据类型:int
  2. 数组名:arr [长度]
  3. 特点:数组元素是连续空间,空间不能变化
  4. 格式:int arr[3] ={1,2,3} (可以省略长度)
  5. 若长度大于数据个数,剩下的空间就取默认值;若小于,则报错
  6. 索引:整数,从0开始,依次加1,是数组元素的编号,就叫下标[0-长度-1]
  7. 获取元素:数组名[索引]
  8. 给元素赋值:数组名[索引]=新值
#include<stdio.h>
int main(){
    int a=1;
    int arr1[3]={1,2,3};
    printf("%d\n",arr1[1]);
    arr1[1]=100;
    printf("%d\n",arr1[1]);
}
  1. 索引值不能越界
  2. 数组的遍历 运用for循环很方便
#include<stdio.h>
int main(){
    int a=1;
    int arr1[5]={1,2,3,4,5};
    for(int i=0;i<5;i++){
        printf("%d\n",arr1[i]);
    }
    return 0;
}

内存中的数组

内存:软件在运行时,用来临时存储数据的。相比于硬盘,它不能持久保存数据。但是它的运行速度快。 int-->4个字节(相邻相差为4) char-->1个字节(相邻相差为1) printf("%p",&变量)可以打印地址

#include<stdio.h>
int main(){
    int a=100;
    int b=201;
    int c=302;
    char d='A';
    char e='B';
    char f='C';
    printf("%p\n",&a);
    printf("%p\n",&b);
    printf("%p\n",&c);
    printf("%p\n",&d);
    printf("%p\n",&e);
    printf("%p\n",&f);
    return 0;
}

计算数组的元素个数=整个数组的大小/每个元素的大小 int len=sizeof(arr)/sizeof(arr[0])

#include<stdio.h>
int main(){
    char arr[]={1,2,3,4,5,6,7,8,9,10};
    printf("%p\n",&arr);
    printf("%p\n",&arr[0]);
    int len=sizeof(arr)/sizeof(arr[0]);
    printf("%d\n",len);
    for(int i=0;i<len;i++){
        printf("%p\n",&arr[i]);
    }
    return 0;
}
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
    srand(time(NULL));
    int arr[20];
    double sum = 0;
    double avg;
    for (int i = 0; i < 20; i++)
    {
        arr[i] = rand() % 100 + 1;
        printf("%d\n", arr[i]);
        sum += arr[i];
    }
    avg = sum / 20;
    printf("平均数是%lf\n", avg);
    int count = 0;
    for (int i = 0; i < 20; i++)
    {
        if (arr[i] > avg)
        {
            count++;
        }
    }
    printf("大于平均数的个数是%d\n", count);
    return 0;
}