int num; // 变量声明,开辟一个内存空间
num=1; // 变量赋值
可以理解为:取值范围是一个闭环(如果超过范围就按照闭环去取值 )
limits
#include
宏定义
与数据类型有关的取值范围
float 是有效位只有6位或7位(以科学计数法表示的情况下)
声明的时候,尽量使用double类型,编译器默认也是double类型
注意运算时的精读丢失
默认显示后六位,四舍五入
double 和 float 显示的精读不一样
cout.setf(ios_base::fixed,ios_base::floatfield);float a=10.0/3.0; // cout默认显示小数点后六位
const float b=1.0E6;
cout<
二进制的科学计数法
整数部分和小数部分
小数部分转换成二进制要乘2,然后取整数部分
小数转成二进制:1.xxxx2E3(整数部分一定是1)
见视频
char ch='M'; // 77
int i=ch; // 77
转义字符实际占用一个字节
宽窄字符
宽字符: 存储数据使用固定的字节数量
窄字符:存储数据使用不同的字节数量
字符串的定义
#include
using namespace std;int main()
{string s1; // 默认值是空字符""string s2="hello";// 可以进行赋值string s3=s2; // 通过变量赋值// 通过构造的方式定义string s4(5,'s'); // 5个s -> "sssss"
}
string
字符串对象结尾没有\0
c字符串结尾有\0
string
字符串可以进行赋值 (相当于深拷贝就可以了,相当于是可变对象)
c字符串 指针定义(char*
)可以进行赋值,字符数组(char []
)定义不可以赋值
string
–s.length()
计算长度
c字符串 –strlen()
计算长度
互相转化
// c转strig
#include // length
#include // strlen
char *a="hello";
string b;
b=a;
cout<
使用索引访问
s[idx]
+
使用c++运算符重载的方式,不用担心内存溢出
string类型、c字符串类型(数组、指针)、字符,都可以进行拼接
string s1="hello";
string s2="world";
char *s3="qt";
char s4[]="mfc";
char c5='@';string dst1=s1+s2;
string dst2=s1+s3;
string dst3=s1+s4;
string dst4=s1+c5;cout<
str.insert(pos,string)
注意第一个参数pos可能会越界
string s1="hello";
s1.insert(3,"world");
cout<
str.erase(pos,len)
,不指明len则删除到结尾
pos越界会异常,len越界会到结尾
string s1="hello";
s1.insert(3,"world");
cout<
str.substr(pos,len)
pos越界会异常,len越界会到结尾
string s1="hello";
s1.insert(3,"world");
cout<
str1.find(str2,start_pos)
从str1的(下标)start_pos开始查找
str1.find(str2,end_pos)
最多找到str1的下标(end_pos)
int idx=str1.find(str2,start_pos)
int idx2=str1.rfind(str2,end_pos)
str.append()
str.at()
str.find_first_of() // 查找共同字符的索引
c 语言一般没有bool类型
#include
bool flag=true;
c++ 直接支持bool类型数据
注意: cout bool类型还是0、1
相当于数据流
cin
istream
类对象,cin
对于输入的内存时根据数据类型进行判断的
cout
ostream
类对象,<<
表示把字符串发送给cout
,表示插入运算符,即把字符串插入到输出流当中
属于内置对象
注意:编译器会根据上下文,判断被重载的运算符的含义
#include
int x;
float y;
cin>>x;// 连续接收数据
cin>>x>>y;// endl
cout<
cout 输出的默认是以10进制显示
cout<
endl
是一个特殊的c++符号
将endl
插入到输出流中,将导致屏幕光标移动到下一行的开头
cout<
endl
与\n
cout<<"some str\n";// 等价于
cout<<"some str" <
下一篇:UNCTF2022部分题解