第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