• C语言之数组


    一、 数组的基本概念

    • 数组是可以在内存中连续存储多个元素的结构
    • 数组中的所有元素必须属于相同的数据类型

    二、 数组的特点

    • 只能存放一种类型的数据,比如int类型的数组、float类型的数组
    • 里面存放的数据称为“元素”

    三、  声明和使用数组

    • 声明数组的类型
    • 声明数组的元素个数(需要多少存储空间)

    1) 格式

    元素类型 数组名[元素个数];

    比如:int ages[3];

    2) 简单使用

    简单初始化:int ages[5] = {19, 19, 20, 21, 25};

    元素有顺序之分,每个元素都有一个唯一的下标(索引),从0开始

    数组元素的访问:a[i]

    3) 初始化

    初始化方式

    int a[3] = {10, 9, 6};

    int a[3] = {10,9};

    int a[] = {11, 7, 6};

    l 常见错误

    int a[];

    int[4] a;

    int a[b];

    a = {10, 11};

    a[4] = {10,9,8,5};

    示例:

    //声明数组: 数据类型 数组名[数组长度] ;
        int scores[5];
        //为数组赋值: 数组名[下标]=值; --->下标从0开始
        scores[0]=10;
        scores[1]=20;
        scores[2]=30;
        scores[3]=40;
        scores[4]=50;
       //获取数组中的元素: 数组名[下标];
       printf("%d,%d,%d,%d,%d
    ",scores[0],scores[1],scores[2],scores[3],scores[4]); 
       //声明赋值一步完成: 数据类型 数组名[长度]={值1,值2....};注意:对应的值的个数应该与长度对应
       int nums[5]={1,2,3,4,5};
       printf("%d,%d,%d,%d,%d
    ",nums[0],nums[1],nums[2],nums[3],nums[4]); 
       int arr[10] = {9,8,7,5};//正确,6个元素未赋值将使用默认值(0)!!!! 
       int arr[] = {9,8,7};//正确 ,未指定数组的长度(数组长度取决于元素的个数)

    示例2:让用户输入5个成绩,根据用户输入的成绩计算最高分,最低分和平均分

       int scores[5];//声明一个数组用于存储用户输入的成绩 
       int sum=0,avg;//总成绩和平均成绩 
       int max;//最高分 
       int min;//最低分 
       int i;
       //循环获取用户输入的成绩,并将其输入成绩保持到数组中 
       for(i=0;i<5;i++){
           printf("请输入第%d个人成绩:",i+1);
           scanf("%d",&scores[i]);     
          sum+=scores[i]; //计算总成绩 
       }
       avg=sum/5;//计算平均成绩 
       min=max=scores[0];//假设第一个人的成绩是最高分,最低分
       for(i=1;i<5;i++){
            if(scores[i]>max){//获取最高分 
              max=scores[i];      
         }
         if(scores[i]<min){//获取最低分 
              min=scores[i];      
         }
       } 
       printf("平均分为:%d,最高分是%d,最低分%d
    ",avg,max,min);
    • 二维数组可以看作是由一维数组的嵌套而构成的

    二维数组: 一维数组中的值为一个数组.

          声明: 数据类型 数组名[rowsize][colsize];

          int nums[4][2];

    声明并赋值:   

          int nums[4][2]={{10,11},{20,21),{30,31},{40,41}}; 正确

          int nums[][2]={{10,11},{20,21),{30,31},{40,41}}; 正确

          int nums[4][]={{10,11},{20,21),{30,31},{40,41}}; 错误

    示例:声明一个三行三列的二维数组用于保持用户输入的整型数据,打印用户输入的数据并计算对角线之和

    int nums[3][3];
       int i,j,sum=0;
       //循环获取用户输入的数据,并将其数据保存到二维数组中 
       for(i=0;i<3;i++){
          for(j=0;j<3;j++){
              printf("请输入第%d行第%d列数据
    ",i+1,j+1);
            scanf("%d",&nums[i][j]);
          }
       }
       //循环遍历二维数组的数据,并打印成矩形 
       for(i=0;i<3;i++){
          for(j=0;j<3;j++){
              printf("%d	",nums[i][j]);
              if(i==j){
                 sum+=nums[i][j];     
             }
          }
          printf("
    ");
       }
       printf("二维数组对角线之和为%d",sum);
  • 相关阅读:
    WMI介绍
    进程间通信
    回调函数(C/C++)
    漏洞名词介绍
    MD5 详解
    jQuery插件的写法
    node爬虫
    nodejs应用:文件上传
    node开发备注
    node生成自定义命令(yargs/commander)
  • 原文地址:https://www.cnblogs.com/xiaomeng7/p/6612903.html
Copyright © 2020-2023  润新知