C语言基础

数据类型

在计算机的逻辑中只存在0或者1所以,计算机存储容量以bit(位)为位单位。 但是在程序中,一般以字节为单位。

比特位(bit):二进制数 0 1

1 Byte(字节) = 8bit 

1个千字节(KB) = 1024字节

1MB = 1024KB

1GB = 1024MB

1TB = 1024GB

整型修饰符

short:用来缩短整型变量的尺寸,减少取值范围并节省内存,称为

整型。

long:用来增长整型变量的尺寸,增大取值范围并占用更多的内

存,称为长整型。

long long:用来增长整型变量的尺寸,增大取值范围并占用更多的

内存,称为长长整型。

unsigned用来去除整型变量的符号位,使得整型变量只能表达非

负整数。

signed:表示有符号,一般情况下省略。

符号位: 

有符号的整型数据,首位为符号位,0表示正数,1表示负数。

无符号的整型数据,没有符号位。

1000 0001 -1

0000 0001  1

编码形式:(计算机中存储和运算的都是 补码

原码:正数直接使用二进制来表达,比如a=100,在内存中是

00...001100100

补码:负数用绝对值取反加一来表达,比如a=-3,在内存中是

11...1111111101

注意负数的补码在取反加一的时候,符号位是不变的

char b = -3

源码:1000 0011(第一位为符号位)

反码:1111 1100(在源码对应数据上按位取反,符号位不变)

补码:1111 1101 (在反码基础上加1)

-1

1000 0001

1111 1110

1111 1111 1+2+4+8+16+32+64+128=255

进制:源码中可以使用八进制、十进制或者十六进制,但实际数据中一

律是二进制

十进制(默认), 比如 1234。

八进制,比如 012 (0~7),013中0表示八进制的标识符,不可省

略。

十六进制,比如0x6FFAB,0xaa1234,(0~9 ~a(10) ~ f(15)),一个

F表示四个1。 0x 为十六进制的标识符,不可省略

八进制转十进制,以2为底数。

十六进制转十进制,以16为底数。

二进制转八进制(从右往左看 三个一组 不足补0

二进制十六进制:(从右往左看 四个一组 )

格式控制符

int 整型:%d

unsigned int 无符号整型: %u

short整型:%hd,h代表half,即一半的存储字节

long整型:%ld

long long整型:%lld

显示不同进制的前缀 : %#o、%#x

浮点型(实型)

概念:用来表达实数(有理数和无理数)的数据类型

分类:

单精度浮点型(float),64位机中典型尺寸是4字节

双精度浮点型(double),64位机中典型尺寸是8字节

长双精度浮点型(long double),64位机中典型尺寸是16字节

占用内存越多,能表达的精度越高

0 ---> 空字符 NULL '\0'

32 ---> 空格字符 ' '

48 ---> 数字字符 '0'

65 ---> 大写字母 'A'

97 ---> 小写字母 'a'

大写转小写 (差32)

char ch1 = 'A';

char ch2 = ch1 + 32; //'a'

char ch3 = ch1 + ' '; //'a'

单目运算(前后缀运算):

1. 前缀自加自减运算:先进行自加自减,再参与表达式运算

2. 后缀自加自减运算:先参与表达式运算,在进行自加自减

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值