目录 : ·基础数据类型
·double和float
·char是整数也是字符
·逃逸字符
基础数据类型
c是有类型的语言
·c语言的变量必须:在使用前定义,并且确定类型
·c以后的语言向两个方向发展:c++/Java更强调类型,对类型的检查更严格,JavaScript、Python、PHP不看重类型,甚至不需要事先定义
类型安全
·支持强类型的观点认为明确的类型有助于尽早发现程序中的简单错误
·反对强类型的观点认为过于强调类型迫使程序员面对底层、实现而非事务逻辑
·总的来说,早期语言强调类型,面向底层的语言强调类型
·c语言需要类型,但是对类型的安全检查并不足够
c语言的类型
·整数:char、short、int、long、longlong
·浮点数:float 、 double 、long double
·逻辑:bool
·指针
·自定义类型
类型有何不同
·类型名称:int、long、double
·输入输出时的格式化:%d、%ld、%lf
·所表达的数的范围:char<short<int<float<double
·内存中所占据的大小:1个字符到16个字符
·内存中的表达形式:二进制数(补码)、编码
double和float
浮点类型
类型 | 字长 | 有效数字 |
float | 32 | 7 |
double | 64 | 15 |
浮点的输入输出
类型 | scanf | printf |
float | %f | %f、%e |
double | %lf | %f、%e |
例:
#include<stdio.h>
int main()
{
double ff=1234.56789;
printf("%E,%f\n",ff,ff);
return 0;
}
char是整数也是字符
字符类型
char是一种整数,也是一种特殊的类型:字符。这是因为:
用单引号表示的字符字面量:'a','1'
''也是一个字符
printf和scanf里用%c来输入输出字符
字符的输入输出
·如何输入'1'这个字符给char ?
#include<stdio.h>
int main()
{
char c;
char d;
c=1;
d='1';
if(c==d){
printf("相等\n");
}else{
printf("不相等\n");
}
printf("c=%d\n",c);
printf("d=%d\n",d);
return 0;
}
逃逸字符
·用来表示无法印出来的控制字符或特殊字符,它有一个反斜杠"\"开头,后面跟上另一个字符,这两个字符合起来,组成了一个字符
字符 | 意义 | 字符 | 意义 |
\b | 回退一格 | \" | 双引号 |
\t | 到下一个表格位 | \' | 单引号 |
\n | 换行 | \\ | 反斜杠本身 |
\r | 回车 |
反斜杠开头的字符是特殊的控制字符
制表位
·每行的固定位置
·一个\t使得输出从下一个制表位开始
·用\t才能使得上下两行对齐