©著作权归作者所有:来自51CTO博客作者程序员小饭的原创作品,如需转载,请注明出处,否则将追究法律责任https://blog.51cto.com/u_12953715/2738925
c++中易错的地方
1:scanf
int a;
int b;
scanf("%d-=%d",&a,&b);
printf("a=%d,b=%d",a,b);
在scanf中a和b前面的&一定不能掉
在输入的时候,一定要严格的按照%d-=%d的格式写,比如这次就应该输入11-=12 11和12为a和b的int类型
2:内存的表示
物理内存的单元是“字节”
一个字节占8个位,如下图所示
0000 0000
0000 0000
0000 0000
0000 0000
0000 0000
1个字节的表示范围为
0000 0000(0)到1111 1111(256)
两个字节的表示范围为
0000 0000(0)到1111 1111(256*256)
3:变量的类型
整型
char -128到127
short
int
浮点型
float 4个字节
double 8个字节
赋值方式
float a = 12.34f 后面的f必须加
double a = 12.34
float对应的是%f %.1f 结果保留一位小数
double对应的是%lf
给变量赋值的时候,可以用十进制,也可以用16进制,用16进制需要前面加0X
prinif中的%08X 表示是用16进制打印出来,凑够8位
当用scanf来接收用户输入的整数时,只能用int型变量,不能用short/char型
4:数组
1)数组在内存中的存储
char data[5] = {1,2,3,4,5};
数组在内存所占的空间为 类型所占空间(char占一个字节)*元素的个数(5) 5个字节
int arr[10]所占的空间就为4(int占4个字节)*10(这个数组的个数为10) 10个字节
2)在按F5调试的时候,只需要输入data(数组名)就可以查看数组所占的内存,不需要加&
3)