首页 > 代码库 > 2day_C基

2day_C基

【1】数据类型
1--- 基本数据类型
int char

2--- 构造数据类型
定义数据类型
用类型去定义变量


【2】bool
1--- <stdbool.h>
2--- 数据只有两个状态:0、1

【3】char
1--- 一个字节
2--- signed char a = -5; //1 000 0101 (最高位变更成符号位)


二进制 十进制 //-128 ~ +127
0000 0000 0
1000 0000 -128

1111 1111 -127
0111 1111 +127

1000 0001 -1
0000 0001 +1

3--- unsigned char b = 5; //0 ~ 255

【4】数据存储(二进制补码)
char a = -5;

正数:源码、反码、补码都一样

负数:
1、存储时 (源码->反码-> 补码)
1000 0101 源码
1111 1010 反码:符号位不变,其它位取反
1111 1011 补码:反码加1


2、读取时 (补码->反码-> 源码)

【5】整形数据
int 占4字节
short 占2字节
long 占4字节(32位操作系统)


【6】浮点型数据
float 占4字节
double 占8字节


【7】常量
整形常量:
12 012 0x12
指数常量:
12.34e-1 ==> 12.34 * 10^-1
0.1234e+2 ==> 0.1234 * 10^2

字符常量:
‘A’

字符串常量:字符串就是以‘\0’作为结束标志。
“A”

宏定义:
#define N 4

【8】存储模型

<存储类型> <数据类型 > <变量名> ;

auto:不写的时候默认为auto类型
1--- 修饰一个局部变量时:存储期与函数同步
2--- 修饰一个全局变量时:存储期与程序同步

register:数据存储在寄存器中,只可以修饰局部变量。

static:静态存储
1--- 数据的存储期与程序同步
2--- static 修饰的变量只初始化一次
3--- static 修饰的数据默认初始化为0

extern :访问外界数据时做一个标识

【9】强制类型转换
(数据类型)

【10】运算符

1--- 算数运算
+ - * / %(参与运算的数据必须是整形数据)

++ -- (自增、自减,用于变量的运算符,隐含赋值操作)


2--- 关系运算符(结果只有两个状态:0、1)

> >= < <= == !=


3--- 逻辑运算(结果只有两个状态:0、1)
与: &&(一假则假)

或: ||(一真则真)

非: !(真变假,假变真)


4--- 位运算(参与运算的是二进制补码)

取反运算 : ~ (0变1,1变0;)
与 : &
或 : |
异或 : ^ (相同为0,不同为1)

x>>n : x / 2^n
x<<n : x * 2^n


5--- 三步运算
int a = 5, b = 6;

a ^= b;
b ^= a;
a ^= b;

完成数据交换,参与运算的必须是变量,针对于基本数据类型使用


6--- 条件运算符

<表达式1> ? <表达式2> : <表达式3>

表达式1为真:执行表达式2
表达式1为假:执行表达式3

2day_C基