C语言基础

一、常量和变量

常量:【在程序运行过程中】,其值不能改变的量称之为常量

变量:在程序运行过程中,值能被改变的量

对于变量,这种解释较为浅显

其实,对变量来说,计算机会给变量分配内存空间,内存空间的最小单位为字节Byte

例如 int类型,当定义一个 int a = 1234时

计算机会给它分配一个4字节的对应的内存空间,用来存放其对应的值,修改变量的值其实就是修改变量对应内存空间中存放的值,变量存放在RAM中,RAM的读写速度快,但是断电后数据会丢失。

任何变量都有对应的内存空间。

二、计算机组成

计算机的结构基本分为两种:

CPU(中央处理器):主要负责计算。

RAM(随机访问存储器):主要负责存放数据。

一个CPU可以引出三条总线与RAM进行连接分别是:地址总线、数据总线、控制总线。

对于CPU,现有的CPU有32位和64位的,对于32位的CPU,它的寻址范围为2^32 = 4GB,64位CPU寻址范围为2^64=8GB。

三、标识符

C语言中对标识符有三个要求:
1.只能由数字、字母、下划线组成,且不能以数字开头。

2.不能使用C语言中的关键字或者二类字作为标识符。

3.名字尽量要见名知意,即选择有含义的英文单词作为变量名或者标识符的名字,以增加代码的可读性。

四、数据类型

数据类型的必要性:

数据类型决定了计算机如何选择合适的方法对数据进行计算处理。

1.整型(int)

        整型常量:即整型常数 有十进制数、八进制数(以0开头)十六进制(以0x开头)

        八进制和十六进制可以便捷地和二进制之间进行转换。三位二进制位代表一位八进制位,四位二进制位代表一位十六进制位。

        八进制与对应的二进制数:

0000
1001
2010
011
4100
5101
6110
7111

十六进制与对应的二进制数:

00000
10001
20010
30011
40100
50101
60110
70111
81000
91001
A1010
B1011
C

1100

D1101
E1110
F1111

        一个字节刚好对应2位十六进制位。

        整型变量:【signed int 】    整型

int        整型

unsigned int

无符号整型
short短整型
unsigned short无符号短整型

long

长整型
unsigned long无符号长整型

long long

超长整型
unsigned long long无符号超长整型

int类型定义的变量

补码:原码按位取反后+1

负数在内存中以补码的形式存储

 int类型的最大表示范围为:-2^31~2^31-1

整型溢出:当存储的值超过了int类型的最大表示范围时,就会发生溢出

小端存储:高字节放在高地址,低字节放在低地址。

                        00300010000        78

                        00300010001        56

                        00300010002        34

                        00300010003        12

大端模式:高字节放在低地址,低字节放在高地址。

【unsigned int】         无符号整型 占4byte

取值范围为 0~2^32-1

【short】         短整型         占2个字节

取值范围为 - 2^15~2^15-1         [-32768,32767]

【unsigned short】无符号整型

【long】长整型 占用8个字节

【unsigned long】无符号长整型

【long long】占用8个字节

2.浮点型(float)

浮点数常量有两种表示方法:

        十进制小数:2.65

        指数形式:2.56e5 = 2.56*10^5

浮点数变量:

        float (单精度浮点型)4byte

               一个浮点数由三个基本成分构成:

  • 符号位:1bit

  • 阶码 :8bit

  • 尾数 :23bit

其中符号位:0代表正数,1代表负数。

        阶码:将十进制数进行二进制规范化后的指数值+127,然后转化为二进制数后即为阶码

例如:十进制数-6.25 二进制规范化为1.1001*2^2,其中指数2+127 = 129 ,转为二进制为10000001,即为阶码。IEEE754规定了float浮点数的指数的偏移量是127。

        尾数:看规范化后的式子,小数部分是1001,这个就是尾数位了,但由于这个尾数部分总共有23位,所以还要在后面补19个0

        double(双精度浮点型)8byte

在C语言中要注意类型匹配,即进行运算的双方数据类型要一致。

        long double (长双精度浮点型) 16byte

3.字符型(char)1byte

字符常量

字符型在存储时是以ASCII码形式存放,并不是字符存放。用一对单引号 引起来

'A'在计算机中存储的是它的ASCII码值 65。

转义字符:以'\'开头的字符序列,其有特殊的意义。

  • 8
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值