最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

每日关注!C++笔记--数组、函数、预处理

来源:博客园

数组

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

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

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<

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

//键盘给数组元素获取输入   int i = 0;   int arr[5] = {0};   int n = sizeof(arr)/sizeof(arr[0]);   cout<<"请输入"<>arr[i];   }   for(i=0;i

案例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>arr[i];    }    //求最大值和最小值    int min = arr[0];    int max = arr[0];    for(i=1;iarr[i]? max:arr[i];      min = min

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>arr[i][j];        }    }    cout<<"---------"<

2 求每人的平均成绩

int arr[5][4] = {56,75,78,89,89,98,76,67,88,99,77,66,67,78,89,90,98,97,96,95};    //int arr[5][4] = {{56,75,78,89},{89,98,76,67},{88,99,77,66},{67,78,89,90},{98,97,96,95}};    int row = 5;    int col = 4;    int i=0;    float scoreAvg[5]={0};    for(i=0;i

3.1 一维字符数组初始化

1 逐个元素初始化(不推荐)

char arr[5] = {"h","e","l","l","o"};

2以字符串的方式初始化一维字符数组(推荐)

""""描述的是字符串,比如字符串"hello",编译器会自动在字符串的末尾添加\0"字符作为字符串的结束标记

char arr[6] = ”hello “;

3 以上两种初始化的区别:第二种末尾自动添加"\0"。

3.2 字符数组遍历

使用循环方式逐个遍历(逐个元素操作)

char arr[6] ="hello";int i=0;for(i=0;i<6;i++){  cout<

使用cout直接输出字符串,需要字符数组的数组名,遇到‘\0’才结束。(遍历字符串)

char arr1[]="hello";cout<

3.3 键盘获取字符串

获取一个字符串 求该字符串的长度(不使用strlen)

//获取字符串长度char str[32]="";    cout<<"请输入一个字符串:";    cin.getline(str,sizeof(str));    int i = 0;    while(str[i] != "\0")        i++;    cout<

4.1二维数组遍历

char str[128]= "hello";char arr[5][128] = {"hello","world","xixi","haha","lala"};    int row = sizeof(arr)/sizeof(arr[0]);    int i;    for(i=0;i

4.2 二维数组获取键盘输入(获取多个字符串)

char arr[5][32] = {""};    int row = sizeof(arr)/sizeof(arr[0]);    int i = 0;    for(i=0;i>arr[i];    }    for(i=0;i                 

关键词: