1.基本/常用数据类型及其取值范围
类型标识 名称 占用字节数(位数) 取值范围 bool 逻辑型 1(1) 常量true或者false char 字符型 1(8) [2^7, 2^7 - 1] 或者 [-128,127] int 整型 4(32) [-2^31, 2^31 - 1] 或者 [-21/4748/3648, 21/4748/3647] long 整型 4(32) [-2^31, 2^31 - 1] 或者 [-21/4748/3648, 21/4748/3647] double 双精度型 8(64) [-10^308, 10^308] float 双精度型 4(32) [-10^38, 10^38]
2.转型与自动转型
#include <iostream> using namespace std; int main() { //向上转型: // int -> unsigned -> lone ->double // float -> double printf("%d ", 5/3);//[int]整型除以整型:1 //整型除以整型,结果为整型,最后强转为整型输出。 printf("%f ", 5/3);//[float/double]整型除以整型:0.000000 printf("%d ", 5.0/3);//[int]double型除以整型:-1431655765 //小数与整数的除法,先将整型转为double型,以double型与double型进行除法运算,结果为double型,double型未强制转换,导致错误输出 printf("%f ", 5.0/3);//[float]小数除以整数:1.666667 printf("%d ", 5/3.0);//[int]整数除以小数:-1431655765 //小数与整数的除法,先将整型转为double型,以double型与double型进行除法运算,结果为double型,double型未强制转换,导致错误输出 printf("%f ", 5/3.0);//[float]整数除以小数:1.666667 printf("%d ", 5.0/3.0);//[int]小数除以小数:-1431655765 //double型与double型进行除法运算,结果为double型,double型未强制转换,导致错误输出 printf("%f ", 5.0/3.0);//[float]小数除以小数:1.666667 printf("%d ", (int)(5.0/3.0));//[int]小数除以小数:1 //double型与double型进行除法运算,结果为double型,double型强制转换为整型,有精度损失。 return 0; }
3.输入与输出
scanf("%s", str);//str不含有:空格(space)、Tab( )和回车字符( )
printf("%d", b);//输出的到屏幕
fprintf(fout,"%s","Hi Google");//输出到文件
sprintf(chs,"%d",89);//输出到字符串(字符数组)