计算机内存
计算机执行程序时,组成程序的指令和程序所操作的数据都必须存储到某个地方,这个地方就是机器的内存,也称为主内存,或者叫做随机访问存储器RAM
RAM
是易失性存储器,在程序执行完毕后或者关闭计算机后,内容就会丢失,如果要是想在程序执行后将任何数据存储,都应该写入到磁盘
中
######变量
变量是计算机里一块特定的内存,它是又一个或多个连续的字节所组成,一般式1、2、4、8或16个字节 变量可以用一个名称表示内存的位置,已提取它包含的数据或存储一个新数值
int main(void){ int a = 10; //a就是一个int整数类型的变量,它声明了一个int类型的变量,并进行赋值。 printf("a=%d",a); //命令行输出:a=10 %d称为变量值的转换说明符,它总是以%开头 int b; //声明了一个int类型的变量,变量名为b,但并没有赋值,此时变量所指向的是一个垃圾值 b = 10; //对变量进行赋值,此时才可以进行使用 int c,d; //多个变量的声明用逗号隔开,变量必须在其被使用前声明 c = 7; d = 7;}
######基本算数运算
在赋值运算中,先计算等号右边的表达式,然后将结果存到等号左边的变量中,新的值取代赋值运算符左边的变量中的原值
基本算数运算符
+(加法)、-(减法)、*(乘法)、/(除法)、%(取余)
代码示例:
int main(){ /* 减法和加法的运算 */ int cookies = 5; int eaten = 2; int cookie_calories = 125; int total_eaten = 0; cookies = cookies - eaten; //3 total_eaten = total_eaten + eaten; //2 printf("total_eaten=%d\ncookies=%d\n",total_eaten,cookies); //2,3 eaten = 3; cookies -= eaten; //cookies = cookies - eaten = 3 - 3 = 0 total_eaten += eaten; //total_eaten = total_eaten + eaten = 2 + 3 = 5 printf("eaten=%d\ncookies=%d\n",eaten,cookies); printf("total_eaten=%d\n",total_eaten); /* 乘法除法和取余计算 在进行除法运算时,如果操作数不同号,结果就是负数 例如:-45/7和45/-7的结果相同都是负数-6 但如果操作数是同号,结果就是正数 例如:-45/-7和45/7的结果都是正数6 在进行取余运算时,不管操作数是否同号,结果总是参考表达式左边的操作数的符号 例如:-45%7的结果是-3,-45%-7的结果也是-3,45%-7的结果是3 */ int a = 45; int b = 7; printf("a*b=%d\n",a*b); //乘法:45 * 7 = 315 printf("a/b=%d\n",a/b); //除法: 45 / 7 = 6 printf("a%b=%d\n",a%b); //取余数:45 / 7 商6余3 return 0; }
######变量与内存
相同类型的不同变量总是占据相同大小的内存(字节数),但不同类型的变量需要分配的内存空间就不一样了,有可能大小相同或不相同 一个字节能存储-128~+127的整数
######整数类型
下面列出了各个整形类型占用的内存(字节),内存占用的内存空间以及取值范围,取决于所使用的编译器
极限值得定义一般在limits.h
头文件中定义
char
1字节short
2字节int
4字节long
4字节long long
8字节
无符号的整数类型需要在类型前面加上unsigned
关键字,一般无符号的整数类型都是正整数