1.C语言的数据类型:
(64位操作系统)
数据类型 字节
短整型:short----------------------->2
整形: int----------------------------->4
长整型:long------------------------>8
单精度浮点型:float--------------->4
双精度浮点型:double------------>8
字符型:char------------------------>1
2.C语言的表现形式:
2.1常量:在程序执行过程中不能改变其值的量。
整形常量:可以用十进制;十六进制;八进制。
浮点型常量:可以用十进制。
字符常量:可以用' '表示 eg: 'A','B'。
转义字符常量:\n,\t 等。
字符串常量:可以用" "表示 eg:"Hello world!"。
符号常量:#define 符号 常量
eg: #define A 3
定义符号可以为大写 也可以为小写,最好为大写。
2.2变量:在程序执行过程中其值可以被改变的量。
变量的命名规则:变量的名称可以为数字,字母,下划线组成,必须以字母或者下划线开头,字母的大小写是不同的,eg:int a;和int A;是两个变量。
注意:定义变量一定要定义变量的数据类型。
C语言中有32个关键字和12个预处理命令,不允许用户再用来定义标识符。
3.进制间的转换:逢几进几就叫几进制。
权重 数码 表示方式
二进制 2 0~1 0100 1000(72)
十进制 10 0~9 10(10)
八进制 8 0~7 0111(73)
十六进制 16 0~9 A,B,C,D,E,F 0x26(38)
①十进制————>二进制:短除法,除二然后取余,最后逆序书写
②其他进制转换十进制:按权相加。
补充:
八进制:一个数如果要指明它采用八进制,必须在它前面加上一个0(零),如:123是十进制,但0123则表示采用八进制。这就是八进制数的表达方法。
十六进制:16进制数必须以 0x开头。比如 0x1表示一个16进制数。而1则表示一个十进制。另外如:0xff,0xFF,0X102A,等等。其中的x也不区分大小写。(注意:0x中的0是数字0,而不是字母O)
4.整形数据在内存中的存放方式:原码 反码 补码
三种表示方式均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”,而数值位三种表达方式各不相同。
原码:直接将数值按照正负数翻译成二进制就是这个数的原码。
反码:将原码的符号位不变,数值位全部取反即为反码。
补码:将反码的二进制数值+1就是补码。
有符号数:
正数:原码,反码,补码三者一样。
负数:原码,反码,补码各不相同。
无符号数:原码,反码,补码相同。
eg:
无符号数 有符号数
原码 21 0001 0101 -21 1001 0101
反码 21 0001 0101 -21 1110 1010
补码 21 0001 0101 -21 1110 1010
在计算机系统中,数值一律用补码来存储。
5.各类数值型数据的混合运算:
变量的数据类型是可以互相转换的。
1.自动转换(编译系统 隐式转变)
自动转变的规则:若参加运算的类型不同,先转换为同一种类型,再进行计算。
转换顺序:char,short——>int—>unsigned——>long——>double
2.强制转换
一般形式:(int) 3.14*r*r
(数据类型)(表达式)
6.算术运算符:
int A=10;
int B=20;
加 + A+B 30
减 - A-B -10
乘 * A*B 200
除 / A/B 0
取余 % A%B 10
自增 ++ A++ 11
自减 -- B-- 19
A++(先用值后加一) ++A(先加一再用值)
A--(先用值后加一) --A(先加一再用值)
7.关系运算符:
int A=10;
int B=20;
C语言中的逻辑值“真”是用非零表示的。逻辑值“假”是用0表示的。
== A==B 0
!= A!=B 1
> A>B 0
< A<B 1
>= A>=B 0
<= A<=B 1
8.逻辑运算符:
int A=1,B=0;
运算符 解释
逻辑与&& A,B全为1为真 A&&B为假
逻辑或|| 有一就为真 A||B为真
逻辑非 ! !A为0
注意:
多个变量逻辑与,如果第一个为0那么后面的也就不用看了,值是原样输出。
多个变量逻辑或,如果第一个为1那么后面的也不用看了,值是原样输出。
9.位运算符:
运算符 解释
按位与& 按二进制位与运算
按位或| 按二进制位或运算
按位异或^ 按二进制位异或运算
取反运算符~ 按二进制取反操作
左移 《 按二进制左移
右移 》 按二进制右移
10.赋值运算符:
= a=2 将2赋给变量a
可以和算术运算符组合。
eg:a+=b—>a=a+b
a-=b—>a=a-b
11.杂项运算符:三目&sizeof()
三目运算符 ? a>b?a:b
格式为 表达式?(表达式为真)a :(为假)b
sizeof(a) 求变量的字节大小
&取地址符 返回变量的地址
12.优先级:
简单来记就是:!>算术运算符>关系运算符>&&>||>赋值运算符