《21天学通C++》CH4,CH5 重点

第4章管理数组和字符串

1.静态数组的初始化
静态数组在定义时,最好进行初始化,使用{ }

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

二维数组虽然看起来是多维的,但是存储数组的内存仍是一维的,内存只沿一个方向延伸

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

2.C风格字符串 char[ ]

char Hello[]={'h','e','l','l','o','\0'}

数组的最后一个字符一定要为'\0',即字符串结束符。编译器负责在末尾加'\0',插入结束符不会影响数组长度,只会导致处理时在这个位置结束。

char Input[21]={'\0'}  //用户最多输入20个字符!!!
//数组的长度应比它可能包含的最长字符串长1

C++ 为了防止上述情况发生,使用std::string (#include<string>)

第5章 使用表达式、语句和运算符

1.将一条语句放在两行中,使用" \ "

cout<<"Hello \
       world"<<endl

2.左值通常是内存单元,右值可以是内存单元的内容。所有左值都可用作右值,但并非所有的右值都可用作左值。
3.前缀递增:num=++i 先将i的值赋给num,再将i加一
后缀递增:num=i++ 线将i加一,再将i的值赋给num
4.按位运算符 NOT ~ , AND & , OR | , XOR ^

short Input=181
bitset<8> INputBits(Input) //转10进制为2进制,bit形式
bitset<8> BitwiseOR = (0x0F | INputBits)

按位右移 >> : 除以2(不会循环,补0)
按位左移 << : 乘以2
5.运算符优先级
乘除高于加减,加减高于移位
10*30+20-5*5<<2 = 300+20-25<<2 = 295<<2 = 295*4 ==1180

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。