C语言入门经典读书笔记 ---第二章 编程初步

1.计算机的内存

计算机执行程序时,所有的指令和数据度必须存储到某个地方,也就是内存中,在程序结束后或者关闭PC,内存中的数据就会丢失。

在计算机中,只能处理0和1,也就是说,所有的数据都是由二进制组成的,内存中的位以8个为一组,每组的8位称为一个字节。

为了使用内存中的字节的内容,每个字节用一个数字表示,第一个字节用0表示,第二个字节用1表示,知道计算机内存中的最后一个字节,字节的这种标记为称为字节的内存地址,地址是唯一的

2.什么是变量

定义:变量是计算机里一块特定的内存,它是由一个或多个连续的字节所组成的。 每个变量都有一个名称,可以用该名称表示内存的这个位置,以提取它包含的数据或存储一个新数值。

变量的命名

可以以一个或多个大写或小写字母、数字和下划线组成,但要以字母开头。变量名不能以数字开头,以一个或两个下划线开头的变量名常用在头文件中,所以在给变量命名时,不要将下划线作为第一个字符。

存储整数的变量

变量有几种不同的类型,每种变量都用于存储特定类型的数据,它们之间的区别是它们占用的内存量和可以存储的数值范围

int salary=1000;
复制代码

这个语句称为变量声明,因为它声明了变量的名称。变量声明语句要以分号结束。变量声明也指定了这个变量存储的数据类型,这里是int类型。 变量声明也称为变量的定义,因为它分配给变量一些存储空间,来存储数据

深入了解整数除法

当一个操作数是负数时,使用除法和模数运算符的结果是什么?在执行除法运算时,如果操作数不同号,结果就是负数。至于模数运算符,不管操作数是否同号,其结果总是和左操作数的符号相同,因此45%-7等于3,-45%7等于-3,-45%-7页等于-3

变量与内存

  • 带符号的整数类型
    有5种基本的变量类型可以声明为存储带符号的整数值
类型名称字节数
signed char1
short int2
int4
long int4
long long int8

以上数据列出了每种类型的字节数,但是这个变量类型所占的内存空间,以及可以存储的取值范围,取决于所使用的编译器,他们在limits.h头文件中定义

-无符号的整数类型

类型名称字节数
unsigned char1
unsigned short2
unsigned int4
unsigned long4
unsigned long long8

如果位数给定,可以表示的数值就是固定的,因此,使用无符号类型所提供的值不会多于对应带符号类型,但是其表示的数字比对应的带符号类型大一倍。

如果变量的类型不同,但占用的字节数相同,则它们仍是不同的,Long和int类型占用相同的内存量,但是它们仍是不同的类型
复制代码

定义变量时,如果是int类型的变量,则直接写数字即可,如果是long类型的变量,那么需要在最后加一个L(不建议使用小写l,因为和1太相近,不易区分)。

将常量定义为无符号类型时,应添加U, unsigned int count =100U;

  • 十六进制常量 若用十六进制,则需要在前面加上0x或0X。十六进制常量也可以有后缀,例如0xafL

  • 八进制常量 若使用八进制,则需要在前面加上0,例如014,

使用浮点数

下图显示了在Intel PC的内存中,浮点数如何存储在4字节的字中。

  • 浮点数变量

定义命名常量

定义常量有两种方式

  1. #define PI 3.1415926f
    使用此方法进行定义常量时,字母要全部大写,在编译时,程序不会进行检查。
  2. const float Pi = 3.1415926f

sizeof 运算符

使用sizeof运算符可以确定给定的类型占据多少字节,表达式sizeof(int)会得到int类型的变量所占的字节数,所得的值是一个size_t类型的整数,在stddef.h头文件中有定义,对应于一个基本类型,但是与size_t类型对应的类型可能在不同的C库中有所不同,所以最好使用size_t变量存储sizeof运算符生成的值。

size_t size=sizeof(long long);

注意:使用表达式 sizeof var_name 也可以得到var_name所占用的字节数,如果希望把sizeof运算符应用于一个类型时,则该类型名必须放在括号中,例如sizeof(int),将sizeof运算符应用于表达式时,括号就是可选的。

枚举

如果变量存储的值只是有限的几个数值中的一个,那么可以使用枚举来表示。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值