1、分类
整数:int char long short 对应的输入输出格式:int–%d long–%ld char–%d %c ;
浮点数:float double %f %lf ;
逻辑、指针、自定义类型
范围:char<short<int<float<double
2、sizeof运算符
sizeof运算符的作用是可以查看某个变量或者类型在内存中所占的字节数。可以看下面一段代码:
#include<stdio.h>
int main()
{ int a;
a=2;
printf(“sizeof(float)=%d\n”,sizeof(float));
printf(“sizeof(int)= %d\n”,sizeof( int));
printf(“sizeof( a )=%d\n”,sizeof( a ));
printf(“a=%d\n”,a);
printf(“sizeof(double)=%d\n”,sizeof(double));
printf(“sizeof( a++ )=%d\n”,sizeof(a++)); //只取决于结果类型,但不会真正执行a++语句,静态运算符
printf(“a=%d\n”,a);
return 0;
}
3、浮点数类型
表达数的范围 float<double 有效数字分别为7位和15位。
输出:%f %lf %e %E
科学计数法:-1.23e+11 (+号可省略,可用e或E)
#include<stdio.h>
int main()
{ float a=3.45667789;
printf(“%f\n”,a);
printf(“%.5e\n”,a); //小数部分保留5位小数
printf(“%.9f\n”,a); //超出a的位数,结果显示与a不等
return 0;
}
4、字符类型
char是一种整数类型也是一种字符类型,对于字符输入输出:%c
#include<stdio.h>
int main()
{ char a=1,d=‘1’;
if(a==d){
printf(“相等\n”);
}
else{
printf(“不相等\n”);
}
printf(“a=%d\n”,a);
printf(“d=%d\n”,d); //试用整数类型输出
}
输出结果为:不相等,a=1,d=49
5、逃逸字符
用反斜杠“"后面跟上另一个字符,两个字符组合起来形成一个特殊的控制字符。主要的逃逸字符包括以下:
\b回退一格
\t 到下一个表格位
\n 换行
\r 回车
" 双引号
’ 单引号
\\ 反斜杠本身
6、类型转换
1、自动类型转换
当运算符的两边出现不一致的类型时,会自动转换成较大的类型。大的意思是能表达的数的范围更大。
char~short ~int ~long ~long long
int ~float ~double
对于printf来说任何小于int 的类型都会被自动转换成int;float会被转换成double。但是scanf不会。
2、强制类型转换
当需要将一个量的类型转换成另一个类型时:(类型)值。比如(int)12.3 结果会是12。但是要注意的是转换时该数值要在被转换的类型所表达的数的范围内。强制类型转换符的运算优先级高于算术运算符。
7、逻辑类型
bool类型:#include<stdbool.h>之后就可以使用bool和false、true
bool a=6>5若输出则得到为true及结果为1
逻辑运算:
结果只有0或者1
!逻辑非
&&逻辑与(4,6)x>4&&x<6
||逻辑或
运算顺序:!> && > ||
短路:逻辑运算至左向右进行,应该注意的是对于 &&来说,若左边结果为0则不会运算右边;对于 || 来说,若左边结果为1则不会运算右边。
8、条件运算和逗号运算
条件运算:a=(i+3)>4?a-1:a+1相当于以下语句:
if(i+3>4)
a–;
else
a++;
逗号运算:“,”优先级仅高于赋值运算,表示继续执行后面的语句。