目录
1.数据类型说明:
是告诉编译器数据的类型,从而让编译器操纵数据
字符型:
char:字符类型
【signed】 char :有符号的char
【unsigned】 char :无符号的char
整型:
短整型:short 【int】 、【signed】 short 【int】、【unsigned】short【int】
整型:int、【signed】int、unsigned 【int】
长整型:long【int】、【signed】long【int】、unsigned long【int】
更长整型(c99引入):long long【int】、【signed】long long 【int】、unsigned long long 【int】
浮点型:
float:单精度浮点型
double:双精度浮点型
long double :更长的双精度浮点型
布尔类型:
_bool:c语言原先是0表示假,非零表示真,后面c99引入了布尔类型,专门表示假。使用时需先调用头文件<stdbool.h>。取值是true或false
signed和unsigned:
用于修饰字符和整型。
Singed:表示一个类型带有正负号,有负值
unsigned:没有正负号,只能表示零和正整数
int类型默认是singed即带有正负号的。
unsigned默认修饰int,所以int可以省略。
char默认看系统。
取值范围及单位:
无符号16位整型:-32768~32767
有符号16位整型:0~65535
有符号整型:(-2147483647-1)~2147483647
limit.h文件中说明了整数类型的取值范围
float.h说明浮点类型取值范围
sizeof用来计算变量和类型所占大小,如:sizeof(char);sizeof(123)。单位:字节
比特位(位):bit(b)
字节:byte(B)
1 byte=8bit,1KB=1024B,1MB=1024KB,1GB=1024MB,1TB=1024GB,1PB=1024TB
size_t是为了sizeof而出现的类型,本质是unsigned int
size_t的占位符是%zd
char:1字节;short:2字节;Int:4字节;long:4字节;long long:8字节;
变量:
创建变量格式:data_type name;即数据类型 变量名;例子:int age;
变量在创建时若写成int age=1;则是给变量一个初始值,叫初始化
变量类型:
全局变量:在大括号外定义变量,可以在整个项目工程使用
局部变量:大括号内部定义,只能在该文件内使用
局部变量优先级高于全局变量,例如名字相同时,优先使用局部变量
变量存储:
内存分3个区:栈区、堆区、静态区即其他区域
局部放栈区、全局放静态区(静态/全局变量)、堆土用来动态内存管理
算术操作符:
+ - * / %即双目操作符,3(操作数)+(操作符)+5(操作数):
+ -:
int a=5+7
int b=5-1
*:
int a=5*7
/
除号两端如果是整数,执行整数除法,得到的也是整数
就算是浮点类型,得到的也是整数如1.0000
如果希望得到小数,则需要两个操作数至少有一个数是浮点数,即小数
%
取模计算,返回两个整数相除的余数。用于整数,不能用于浮点数,结果正负号由第一个运算符的正负号决定
赋值操作符:=和复合赋值
int a=100;//初始化
a=200;//赋值操作
允许连续赋值
a=b=5;
复合赋值
int a=10;
a=a-1;
a=a+1;
可以简化
int a=10;
a+=3
a-=2
+= -= *= /= %= >>= <<= &= |= ^=
单目操作符:
++、--、(正)+、-(负)
++、--
分为前后置,即++a、a++、--a、a--
前置++
int a=10;
int b=++a;
相当于
int a=10;
int b;
a=a+1;
b=a
先加1,后使用
后置++
先使用,后加1
int a=10;
int b=a++;
相当于
int a=10;
int b=a;
a=a+1;
前置--
与前置++同理,只是变成-1
后置--
与后置--同理,只是变成-1
+、-
都是单目操作符,正号可以不写,不影响结构,负号会影响。
int a=10;
int b=-a;//这里b就是-10了
int c=-10;
int d=-c;//这里d就是10了
强制转换类型
int a=3.14;//3.14是double类型,编译器会报错,可以用强制转换符
int a=(int)3.14;//若拿来计算,结果只会是整数部分,即3