c语言数据类型探讨
在探讨之前我们来看一下 c语言的运算符和类型
算数运算符: + - * / %
关系运算符: > < <= >= ! =
逻辑运算符: ! && ||
printf("5/3的结果是%d\n",5/3);
printf("7%%4的结果是%d\n", 7%4);
//同级运算符按照从左往右的顺序依次运算。
实型数据
double . float
在精度上: 如果赋给变量的值大于其数据类型的话会出现损失精度的情况。其表示方法为科学计数法显示,且舍弃一部分有效数字。
注意:
在实型数据作除法运算时会损失精度。
——————————————————————————————
字符型数据
例如:
char a = ‘c’;
’ ’ 和 “ “ 的区别是: 单引号只能是一个字符。而双引号它本身带了一个结束符( \0 )
- 在char类型中此处的c在系统中实际存储的是c所对应的ASCII码。
- \0 是一个结束标志
几种变量赋初值的要点
int a=10; //变量直接赋初值
int a;
a=10; //先定义后赋值
int a,b,c=1,2,3; //多个变量赋初值
int a,b,c=6; //定义了int a, int b, int c = 6;
数值类型数据之间的混合运算
double ← float
double ← long ← unsigned ← int ← char,short
char、short也可以和其他数据类型进行运算
注意:
当多个类型同时运算时,系统会先去找最大的一个类型,然后将比它小的类型转化为最大的类型,最后在继续进行计算得出结果。
也就是说: 将低类型自动全部转化为那个最高的类型,在进行运算。
例如:
int main(){
int a=5;
float b=6.5;
float c;
printf("a+b=%f\n",c);
在这个程序当中, 程序会将int型的数据直接转换成float再进行运算。