c语言常量
首先,什么是常量:固定的值
常量的分类:
整型常量(int)
八进制,以0开头,如:0123;
十进制,如:1,123;
十六进制,以0x开头,如:0x123;
无符号整数型,就是没有负号的意思,如:1u;
长整型,如1L;
浮点常量(double)
实数,包含整数,包含小数;
双精度浮点型,默认即是双精度(double);
单精度浮点型,如:1.33f,小数位数少于双精度,占用内存少于双精度(float);
科学计数法,如1.234可以写成1234E-3;
字符常量
转义字符:具有特殊含义的字符(网络找来的图片)
![](https://i-blog.csdnimg.cn/blog_migrate/8d697f1202829fb2fce835fbe77bddbf.jpeg)
字符边界符号‘
如:'A',必须是英文字符’
字符串
可以包含多个字符:“hello word”;
要注意每一个字符串都有一个结束符——>\0;
C语言变量
什么是变量?就是可以改变的量,可以用来存储数据
定义变量的语法:类型 + 标识符
类型:int double char等
标识符:就是一个名字,自己可以定义
起的名字要能够见名知意。
只能以_和字母,数字组成。且数字不可以做开。
标识符不能是C语言的关键字(if ,case,switch,int)
有大小写区分
起名方式
帕斯卡:PlayMusic
驼峰:playMusic
匈牙利:特定前缀组成的命名方式
如:g_play //g_开头: 全局变量
数据类型
基本数据类型
int //整型
float //单精度
double //双精度
char //字符类型
修饰词
short/long :体现在数据占用内存的基础上.
short 下只占用原来的一半。
short iNum =0;
short int sNum =0;
想要节省内存时用short。但是现在内存够用,用的少一点。
32位系统下long int 和 int占用同样大的内存
short 和long 只能修饰整数型。即:只可以short int 或者 long int
unsigned/signed
表示该变量不能表示负号。(年龄等)
不加该前缀也可以,加了更加的严谨。
unsigned int i =0;
const(常)
常属性的变量定义必须初始化。
const的变量将无法改变。
const int ci= 0;
ci =2;//这里错误,不可以修改
可以修饰整数型和字符型。
tips:一个程序不能大量出现常量。容易搞不清是用来干什么。
auto/extern/static(后续说)
进制与数据存储
十进制:满10进一
二进制:满2进一 //10 表示 2;11表示 3
八进制:满8进一
十六进制: 满16进一
十六进制中:
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |
三个二进制表示一个八进制位
四个二进制位表示一个十六进制位
二进制与C语言存储的关系
二进制与存储单位
存储单位 | 表示含义 |
bit 位 | 一个二进制,能表示的数字只有0与1 |
btye 字节 | 1B=8b,8个二进制表示一个字节 |
kb 千字节 | 1kb =1024B |
MB 兆字节 | 1MB=1024kb |
GB 吉字节 | 1GB=1024MB |
TB 太字节 | 1TB=1024GB |
数据的二进制存储
所有数据在计算中都是用补码来存储
补码:反码+1
反码:原码取反
原码:负数:引入符号位,用第一位表示整数。0:表示正数。1:表示负数
整数的二进制码 都是三码合一
如
正数:3
原码:0000 0000 0000 0000 0000 0000 0000 0011
反码:0000 0000 0000 0000 0000 0000 0000 0011
负数:-3 //负数才要改变
原码:1000 0000 0000 0000 0000 0000 0000 0011
反码:1111 1111 1111 1111 1111 1111 1111 1100(0变1,1变0)
补码:1111 1111 1111 1111 1111 1111 1111 1101
计算3-3
0000 0000 0000 0000 0000 0000 0000 0011
1111 1111 1111 1111 1111 1111 1111 1101
0000 0000 0000 0000 0000 0000 0000 0000
补码要算出十进制数,必须要先转换为原码,再用加权法
C语言数据的范围:(网上找的)
![](https://i-blog.csdnimg.cn/blog_migrate/8a9518882b53b6bfbf9d3b613347da53.jpeg)