c语言学习--数据与变量(二)

本部分比较简单,简单提提而已,后面难的内容再详细写

数据在内存中表示

计算机不能读懂人类的语言和习惯的数据表示
在计算机中,只能读懂二进制的内容,我们的代码和数据都将编译为二进制以供计算机运行。

:最小的存储单位,能够存储一个位的二进制数,就是一个0或一个1
字节:常用的存储单位,1字节等于8位
:是计算机的一次能处理的数据长度,现在的电脑一般为64位

二进制表示:B
八进制表示:O 或 0开头
十六进制表示: H 或 0x开头
关于进制转换这里不再啰嗦

数据类型

c语言提供两大数据类型:整数类型和浮点数类型。
整数类型就是只用整数来表示的数据类型,浮点数自然就是带小数部分的了

整数类型有

类型名称关键字表示
整型int
短整型short int
长整型long int
双长整型long long int
字符char

浮点类型有

类型名称关键字表示
浮点型float
双精度浮点型double

c99标准添加的类型

类型名称关键字表示
布尔_Bool

关于大小现在一般来说,int 占4字节内存,short int占2字节,long int占32字节,long long int 占64字节,char占一个字节

但是也只是一般来说,不同机器上可能也不同。
在c语言标准上,只规定了数据类型的最小范围,还规定了short不能比int大,long 不能比int小,long long不能比long 小,并没有规定具体的大小。


关于溢出:每个类型都有自己可以表示的范围,那如果超过范围会有什么效果呢
我们用一个字节的数据来模拟一下
八位数据最大为 1111 1111,这时候再+1,就是1 0000 0000
但是并不会进位到第九个位,超过的数据会被直接抛弃
那数据就变成了 0000 0000 了,考虑符号的话也是一样的过程
需要注意的是这种错误,编译器不会提醒我们!!!


关于常量程序中使用的数字,一般被存储为int类型,超过范围之后编译器会考虑使用更大范围的类型。
如果我们希望编译器使用long类型来存储一个小的数字,可以在其后加L
如 1122L
类似的LL 表示 long long


以上说到的,都是用来表示整数的数据
关于字符但是 char 是用来表示字符的,但是在技术层面上其也是一种整数类型
因为它存储的不是实际的字符,而是原来表示字符的ASCII编码,而这个编码是一个整数,范围是0~127,包括了可见字符和转义字符。详细的ASCII码可百度了解


符号关键字
如上数据类型,一般默认是带符号的,就是可以表示负数的
如int的表示范围一般是 -32768~32767

但是在某些情况下,我们只需要表示正数,且希望能够表示更大范围的数字
可以声明为无符号数据类型,如无符号int
表示为: unsigned int
这时,int的4个字节存储空间都将表示正数,范围为 2的32次方

声明无符号关键字: unsigned
声明有符号关键字:signed


使用变量

变量就相当于一个盒子,用来装数据的
使用变量的步骤: 声明(可选择初始化) —> 赋值 —> 使用数据

声明就是使用关键字表示 + 变量名,
变量名,只能是字母或下划线开头,后面可以是数字、字母、下划线

int a = 9;   //声明并初始化为9
int c ;   // 声明,未初始化
float e = 1.4;
char g = 'a';

赋值:就是 变量名 = 值 如

a = 19;
c = 4;
e = 3.3;
g = 'e';

格式化符号

这些符号用于输入输出中的格式化,接下来的其他文章中,会有输入输出的说明

格式符号转换
%c字符
%s字符串
%d有符号十进制整数
%u无符号十进制整数
%o八进制整数
%x十六进制整数(小写字母0x)
%X十六进制整数(大写字母0X)
%f浮点数
%e科学计数法(小写’e’)
%E科学计数法(大写“E”)
%g%f和%e 的简写
%G%f和%E的简写

另外 前缀 h表示短整型,如 %hd
前缀 l 表示长整型 ,如 %ld

转义字符

在这里插入图片描述

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GuanFuXinCSDN

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值