数组

数组

第一节 一维数组

1.一维数组的定义

数组是一组具有相同类型的变量的集合。

一维数组的一般定义格式为:

类型标识符 数组名[常量表达式];

说明:

①数组名的命名规则与变量名的命名规则一致。

②常量表达式表示数组元素的个数。可以是常量和符号常量,但不能是变量。

2.一维数组的初始化

数组的初始化,可以在定义时一并完成。格式:类型标识符 数组名[常量表达式]={值1,值2,……}

说明:

①在初值列表中可以写出全部数组元素的值,也可以写出部分。

②对数组元素全部初始化为0,可以简写为:{ }。

3.数组越界

C++语言规定,使用数组时,要注意:

①数组元素的下标值为正整数。

②在定位元素个数的下标范围内使用。

第二节 二维数组

1.二维数组的定义

二维数组的一般定义格式为:

数据类型 数组名[常量表达式1][常量表达式2];

2.二维数组元素的引用

引用格式为:

<数组名>[下标1][下标2]

注意:每个下标表达式取值不应超出下标所指定的范围,否则会导致致命的越界。

一维数组在内存中占用的字节数为:数组长度×sizeof(基类型),二维数组占用的字节数为:第一维长度×第二维长度×sizeof(基类型)。

注意

①在不同编译系统中,int型所占的字节数是不同的。

②数组第二维的长度声明永远都不能省略。

第三节 字符类型和字符数组

1.字符类型

字符类型为由一个字符组成的字符常量或字符变量。

字符常量定义:

const

字符常量='字符'

字符变量定义:

char 字符变量;

2.字符数组

格式:

[存储类型] char 数组名[常量表达式1]…

字符常量和字符串常量的区别:

①定界符不同,字符常量由单括号引起来,字符串常量由双引号括起来。

②字符常量只能是单个字符,字符串常量则可以是多个字符。

③可以把一个字符常量赋给一个字符变量,但不能把一个字符串常量赋给一个字符变量。

④字符常量占一个字节,字符串常量占用字节数等于字符串的字节数加1。

3.字符串的输入和输出

输入语句:

①scanf("%s",字符串名称);

scanf语句得到的字符串不会有空格。

②gets(字符串名称);

使用gets只能输入一个字符串。

输出语句:

①printf("%s",字符串名称);

输出字符串不包括字符串结束标识符'\0'。

②puts(字符串名称);

4.字符串string类型

二.解决问题

①运用一维数组我们可以解决数组逆序重、开关灯等问题。

例 输入n个数,要求程序按输入时的逆序把这n个数打印出来,已知整数不超过100个。也就是说,按输入相反顺序打印这n个数。

#include<iostream>

using namespace std;

int a[110];

int main()

{

    int x,n=0;

    while(cin>>x) 

    a[n++]=x;  

    for (int i=n-1;i>=1;--i)

cout<<a[i];

cout<<a[0];

    return 0;

}

②二维数组可以进一步解决数据较多的问题,如矩形交换行、计算鞍点、计算矩形边缘元素之和等。

③字符数组帮助我们解决字符串hash等问题。

三.收获

通过前面几章的学习,我们已经可以编写程序来解决各种相当复杂的问题了,但是当需要处理的数据比较多时,我们在这章学的数组可以更好地解决问题。

解决不同类型的问题要用不同类型的C语言知识,这样才能将程序设计发挥出它最大的功能。

 

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值