21天学通C++(二)基础知识2

管理数组和字符串
1.1 什么是数组

        数组有如下特点:

  • 数组是一系列元素
  • 数组中所有元素的类型都相同
  • 这组元素形成一个完整的集合
1.1.1 声明和初始化静态数组

        在C++中,数组声明遵循如下简单的语法:

1.1.2 数组中的数据是如何存储的

        这个数组占用的内存空间包含5块,每块的大小都相同。块大小取决于数组存储的数据类型,这里时int,因此编译器为数据myNumbers预留的内存量为sizeof(int)) * 5。

1.1.3 访问存储在数组中的数据

        要访问数组中的元素,可使用从零开始的索引。因此,存储在数据myNumbers中的第一个整数值为myNumbers[0],依此类推。

1.2 多维数组
1.2.1 声明和初始化多维数组

        在C++中,要声明多维数组,可指定每维包含的元素数。因此,要声明一个int二维数组,可以如下:

int solarPanels [2][3];

        如果要初始化相应的int数组,如下:

int solarPanels [2][3] = {
  
  {0, 1, 2}, {3, 4, 5}};

虽然C++能模拟多维数组,但是存储数组的内存是一维的。

1.2.2 访问多维数组中的元素

        可将多维数组视为由数组组成的数组。

        在需要访问数组宏的int时,可使用第一个下标指出该int所属的数组,并使用第二个下标指出该int。

1.3 动态数组

        C++提供了std::vector,这是一种方便而易于使用的动态数组。

1.4 C++字符串:使用std::string

        不同于字符数组,std::string是动态的,在需要存储更多数据时其容量将增大。

使用表达式、语句和运算符
2.1 语句

        在C++中,所有语句都以分号(;)结尾,分号界定了语句的边界。

2.2 复合语句(语句块)

        可使用花括号({})将多条语句组合在一起,以创建复合语句(语句块)。

2.3 使用运算符
  • 赋值运算符(=)
  • 加法运算符(+)、减法运算符(-)、乘法运算符(*)、除法运算符(/)和求模运算符(%)
  • 递增运算符(++)和递减运算符(--)
  • 相等运算符(==)和不等运算符(!=)
  • 关系运算符

  • 逻辑运算NOT、AND、OR和XOR

  • 按位运算符NOT(~)、AND(&)、OR(|)和XOR(^)

        逻辑运算符和按位运算符之间的差别在于,按位运算符返回的并非布尔值,而是对位操作数对应位执行指定运算的结果。C++能够执行按位NOT, OR, AND和XOR运算,分别使用~将每位取反、使用|对相应位执行OR运算、使用&对相应位执行AND运算、使用^对相应位执行XOR运算。其中后三个运算符对变量与选择的数字(通常是位掩码)执行相应的运算。

  • 按位右移运算符(>>)和左移运算符(<<)

        移位运算符将整个位序列向左或向右移动,其用途之一是将数据乘以或除以2^n

        左移一位表示将变量乘以2,右移一位表示将变量除以2。

        如:输入数字为16,其二进制表示为1000,右移一位结果就为0100,结果为8。

  • 复合赋值运算法

        复合赋值运算符将运算结果赋给左边的操作数。

  • 运算符优先级

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值