设为首页 加入收藏

TOP

C++笔记--数组、函数、预处理(一)
2023-07-23 13:36:54 】 浏览:58
Tags:笔记 数组 函数

数组

1.1 一维数值数组的概述

用一段连续空间存放相同类型的变量这样的容器(结构)叫数组。

数组的下标是从0开始。

假设数组有n个元素:

下标范围:0~n-1

元素范围:arr[0]~arr[n-1]

1.2 一维数值数组的定义

定义数组的步骤:

①数组名和[]表示数组

②将数组的个数放入[]里面

③用元素的类型定义—个变量

④从上往下替换。

案例1:定义一个数组有5个元素每个元素为int

int arr[5];

案例2:定义一个数组 有五个元素 每个元素为int*

int *arr[5];

案例3:定义一个数组 有5个元素 每个元素为数组,该数组有10个元素每个元素为int

int arr[5][10];

案例4:定义一个数组 有5个元素 每个元素为函数的入口地址,该函数有两个int型形参,int返回值类型

int (*arr[5])(int,int);

 

 

 

 数值数组:必须逐元素访问

int arr[5];
    int n = sizeof(arr)/sizeof(arr[0]);

    int i=0;
    for(i=0;i<n;i++)
    {
        cout<<arr[i]<<" ";
    }
    cout<<endl;

数组未初始化,值是随机的。

1.3 一维数组的初始化

1.3.1 全部元素 初始化

int arr[5] = {10,20,30,40,50}
int arr[ ] = {10,20,30,40,50}

注意:如果数组的全部元素都初始化可以省略[]的数值

如果省略[]里面数值 数组的元素个数就由初始化的元素个数确定

1.3.2 部分元素 初始化

未被初始化的部分 自动补0

int arr[5] = {10,20,30};  //10 20 30 0 0

1.3.3 建议将数组所有元素初始化为0

int arr[5] = {0};

//将第0个元素初始化为0  其他未被初始化自动补0  

1.3.4 指定下标初始化

int arr[5] = {[2]=10,[4]=30};   //0 0 10 0 30

//新版本可能会报错

1.4 一维数值数组的元素操作

1、元素的操作 对元素的读或写 必须逐个元素操作,对数组每个变量的操作等价于对元素的操作

int arr[5] = {0};
    int n = sizeof(arr)/sizeof(arr[0]);
    //数组取值、数组赋值、变量给数组赋值、数组++
    cout<<arr[2]<<endl;
    arr[2] = 10 ;
    arr[3]= arr[2];
    arr[3]++;   //arr[3] = arr[3] +1
    int i=0;
    for(i=0;i<n;i++)
    {
        cout<<arr[i]<<"  ";
    }
    cout<<endl;

2、键盘给数组元素获取输入

 //键盘给数组元素获取输入
   int i = 0;
   int arr[5] = {0};
   int n = sizeof(arr)/sizeof(arr[0]);
   cout<<"请输入"<<n<<"个数组元素的值,用空格隔开:";
   for(i=0;i<n;i++)
    {
       cin>>arr[i];
   }
   for(i=0;i<n;i++)
   {
       cout<<arr[i]<<"  ";
   }
   cout<<endl;
}

案例5:键盘输入10个int数 求这10个数的最大值和最小值

//键盘输入10个int数 求这10个数的最大值和最小值
    int arr[10] = {0};
    int n= sizeof(arr)/sizeof(arr[0]);
    int i = 0;
    cout<<"请输入10个int整数:";
    for(i=0;i<n;i++)
    {
        cin>>arr[i];
    }
    //求最大值和最小值
    int min = arr[0];
    int max = arr[0];
    for(i=1;i<n;i++)
    {
      max = max>arr[i]? max:arr[i];
      min = min<arr[i]? min:arr[i];
    }
    cout<<max<<" "<<min<<endl;
}

2.1二维数组的概述

二维数组:数组的数组

二维数组的总大小 == 行数*列数*每个元素的大小

数组的总大小 == sizeof(arr)

行数:sizeof(arr)/sizeof(arr[0])

列数:sizeof(arr[0])/sizeof(arr[0][0])                                                 

 

 

 

2.2二维数值数组的初始化

1 分段初始化

//完全初始化
int arr[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
//完全初始化 只能省略行数
int arr[][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};

//部分初始化
int arr[3][4]={{1,2},{5,6},{9,10,11}};

2 连续初始化

/完全初始化
int arr[3][4] = {1,2,3,4,5,6,7,8,9,10,11,12};
//如果完全初始化 只能省略行数
int arr[][4] = {1,2,3,4,5,6,7,8,9,10,11,12};

//部分初始化
int arr[3][4] = {1,2,5,6,9,10,11};

 

 

 

 

 

 

 

 

2.2 二维数值数组的元素操作

1 二维数值数组 获取键盘输入

//二维数值数组 获取键盘输入
    int arr[3][4] ={0};
    int row = sizeof(arr)/sizeof(arr[0]);
    int col = sizeof(arr[0])/sizeof(arr[0][0]);

    int i=0,j=0;
    for(i=0;i<row;i++)
    {
        for(j=0;j<col;j++)
        {
            cin>>arr[i][j];
        }
    }
    cout<<"---------"<<endl;
    for(i=0;i<row;i++)
    {
        for(j=0;j<col;j++)
        {
            cout<<arr[i][j]<<"   ";
        }
        cout<<endl;
    }
}

2 求每人的平均

首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇CMake——01基本使用 下一篇C++笔记--控制语句

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目