说明:以下内容是通过在B站上自学C++时学习到的一部分新的知识和与C语言不同的地方,内容会不定时更新,因为还没学完,仅供参考,若有错误的地方请留言,侵权必删。因为是第一次写博客所以格式啥的还都不会,后期也会更新。
查看字符型变量对应的ASCII的值
char ch=‘a’;
cout<<(int)ch<<endl;//这时输出的为字母a对应的ASCII值。
sizeof关键字可以显示出各种类型所占的大小。
float和double类型
float f1=3.1415926f;//若不加f则编译器会把该数字当作为double类型的再进行转化为float类型;
double d1=3.1415926;
输入时不管给变量赋值的数为几位有效数字,输出时都会输出六位有效数字。
字符串类型有两种输入方式
一种为C语言类型:用字符型数组
另一种为:用string
string 变量名 =“字符串值”;//要用到#include 函数
转义字符
注意"\t"
cout<<“123\t”<<“456”<<endl;
输出的结果为
123 456
中间有五个空格,若前面为1234则中间有四个空格。
四则运算
两个小数不可以进行取余运算。
赋值运算符
= 等于
+= 加等于 a=0;a+=2;结果a2;
-= 减等于 a=5;a-=3;结果a2;
= 乘等于 a=2; a=2; 结果a4;
/= 除等于 a=4; a/=2; 结果a2;
%= 模等于 a=3; a%=2;结果a==1;
C++在运行前有全局区和局部区
放在全局区的有:全局变量、静态变量(用static修饰的全局变量)、字符串常量、const修饰的全局变量(全局常量)
放在局部区的有:局部变量、const修饰的局部变量(局部常量)
函数中的局部变量存放在栈区,当函数调用过之后会自动清除栈区的数据所以不要返回函数中局部变量的地址,
但是返回的地址在主函数中第一次可以打印是因为系统会自动保存一次数据当第二次打印时就会显示乱码。
堆区:可以用new操作符在堆区开辟数据,堆区开辟的数据需要程序员自己手动释放,用到的操作符为delete
int *func()
{
int *a=new int(10);//在堆区开辟的数据
return a;
}
int main()
{
int *p=func();
cout<<*p<<endl;
delete p;//释放内存p
return 0;
}
若在堆区开辟的数据为一个数组arr[10]则要释放数组的话操作为:delete[] arr;加一个中括号代表释放的是数组。
在堆区开创二维数组:
int main()
{
int (*arr)[3]= new int[2][3];//注意格式,其他操作与一维数组相同。
int i;
int j;
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
{
cin>>arr[i][j];
}
}
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
{
cout<<arr[i][j];
}
cout<<endl;
}
delete[] arr;//释放内存。
return 0;
}
引用:
数据类型 &别名(给变量名起的小名)=原名
引用必须初始化,且不能改变引用的变量名
int a=10;
int &b=a;
int c=20;
b=c;//这个为附值
&b=c;//错误的,不能更改。