1 数据类型
1.1 前言
定义:用程序去解决生活中的问题,需要通过各种的不同数据来进行计算,那么首先就需要去定义不同的数据类型。
在C语言中包含两大类:
一 内置数据类型 // C语言中已经设定的数据类型
① 字符 char
② 整型 int
③ 浮点数 float/double
④ 布尔类型 _BOOL
二 外置数据类型:自定义去设定
如 数组,
1.2 字符型
1 上一节我们知道," "里面代表的是字符串 ' '代表的是一个字符,比如一个字母,一个和汉字,一句英文
2 可以通过strlen函数计算出一串字符的大小 如
3 换算单位:
0或者1为 1bits
1字节=8比特 //一个汉字为两个字节
1kb=1024字节
1mb=1024Kb
1G=1024mb
1T=1024G
1.3 整型
1 就是为整数类的数据
2 我们需要根据实际整数的大小来决定用哪一段数据内存。
比如人年龄的范围大概是0-100,而用int类型的话,int的数据量的内存太大。后续不能利用上,造成资源的浪费
所以在整型类给做了以下区分
3 short (短整型) long(长整型) long long (长长整型)
1.4 浮点数
定义:非整数类,带有小数点,同时也可以通过小数点不同的位置来表示同一个数
例如: 10和10.0和 1.0*10^1
98.316与9831.6*10^-1
他们之间的区别 第一组中 10 和其他的数不是同一类型
第二组中都为浮点数,并且都为同一个数
两种标识方法
单精度: float 后续小数的精确度较低
双精度:double 小数部分精确度高
1.5 布尔类型
定义:用于去特定表示真假条件
用法:
#include<stdio.h>
#include<stdbool.h> // 设定布尔类型需要加入头文件
int main()
{
_Bool flag (true)
if(flag)
{
printf("Hello wolrd!\n");
}
return 0;
}
2 Signed和Unsigned
定义:signed为有符号限制,unsigned为无符号限制,只能表示为正数或者0
1 如果是signed int a 就表示为int a ,而字符类char的正负符号需要根据系统的默认设置来决定。
2 在unsigned中,取值范围增大了,0-65537
signed中,为 -32768-32767
3 各种类型的取值范围
在limits_h文件中可查看
4 变量
4.1定义:变化的数据为变量,不变的量为常量
#include<stdio.h>
int main()
{
short int /*定义数据类型*/ a /*设定名字*/
return 0;
}
4.2 初始化:对于刚开始设定好的变量赋予数值
int b;
printf("%d",b=100);
int a =100;
printf("%d",a);
4.3 局部变量和全局变量
在C语言中需要搞清楚这两种变量存放的位置,局部变量的值存放在栈区域,堆区域, 静态区
5 运算符
5.1 有=,+,-,*,/,%为双目运算符,需要两个操作数参与。
5.2 + 中 有 前置++,和后置++
前置++的含义是 先+1 再使用
后置++的含义是 先使用 再+1
并且 b=b+1 可以表示为 b+=1
5.3 / %
/ 号中 整数除以整数时,得到的值还是为整数,取模运算中需要双方有一方为整数
6 单目运算符
7 强制转型符
7.1 将浮点数类型强制的转化为整数,但这样操作只会取得整数部分