##使用浮点数 浮点数包含的值带小数点,也能够表示分数和整数函数
下面是一些浮点数code
1.6、0.00008、7655.899、100.0ci
用指数和C语言来表示字符串
1.6== 0.16E1 E表明10,1表明1次方编译器
###定义浮点数变量it
/*
float类型占用4字节,精确到6至7位小数,小数后面加f
double类型占用8字节,精确到15位小数
long double类型占用12字节,精确到18位小数,小数后面加L
*/
int main(){
float aa = 45.0f;
float bb = 7.0f;
printf("aa/b=%f\n",aa/bb); //6.428571
return 0;
}
###控制输出中的小数位数io
//%.2f中的.2说明控制小数位后面为2位,设置成.0f表明后面没有小数位数
printf("aa/bb=%.2f",aa/bb); //6.42
###控制输出的字段宽度编译
//输出的字段宽度是输出值所使用的总字符数(包括空格)
//指定宽度时,数值默认是右对齐,若是但愿左对齐,只须要在%的后面添加一个负号
printf("aa/bb=%5.3f",aa/bb);
###运算的顺序变量
//它的计算顺序是
//先计算最内层的括号,即5+4
//而后是先乘除后加减,即9*3,而后27+3
//最后2*30 = 60
2*(3+3*(5+4)) = 60
###利用输入的直径计算周长和面积float
int main(void){
//设定初始值,以防因为使用未赋值的变量引发垃圾值
float radius = 0.0f; //半径
float diameter = 0.0f; //直径
float circumference = 0.0f; //周长
float area = 0.0f; //面积
float Pi = 3.14159265f; //π
printf("请输入一个直径数字:");
//scanf()是另外一个须要包含头文件stdio.h的函数
//它专门处理键盘输入,提取经过键盘输入的数据,按照第一个参数指定的方式解释它
//第一个参数是放在双引号内的一个控制字符串,为float类型
//scanf()将float类型的数存到变量diameter中
//控制字符串是控制输入,而不是输出。
scanf("%f",&diameter); //&符号叫作寻址操做符,它容许读入的数值存进变量diameter
radius = diameter / 2.0f;
circumference = 2.0 * Pi * radius;
area = Pi * radius*radius;
printf("\n周长为:%.2f",circumference); //宽度为默认,小数位为2位
printf("\n面积为:%.2f\n",area);
return 0;
}
###读取数据的格式说明符
读取short类型的数值 ---- %hd
读取int类型的数值 ---- %d
读取long类型的数值 ---- %ld
读取float类型的数值 ---- %f或%e %e表明使用指数模式,好比32E-5
读取double类型的数值 ---- %lf或%le %lf表明双精度浮点数 %f表明普通浮点数
###定义命名常量 例如像π的值就是一个不会改变的值,这种值就要设置成常量,使之在程序中保持不变,以避免带来计算错误
第一种方法(将π定义为一个符号)
#define PI = 3.14159f; //定义了一个常量,常量的命名一般全是大写字母,与变量区分开
int main(){
printf("π=%f",PI)
}
第二种方法(用const关键字修饰) 将π的值定义成变量,而且用const关键字修饰,固化变量,告诉编译器,它的值是固定不变的
const float Pi = 3.14159f; //定义了Pi是一个float类型的常量值
###极限值
计算机中的数值老是受限于该机器能够存储的值域 对浮点数的极限值使用说明符%e,表示这个数值是指数形式 用%u输出无符号整数值 若是用%d输出无符号类型的最大值,则最左边的为(带符号类型的符号位)为1的数值就得不到正确的解释
整数类型 头文件中定义的符号表示每种类型的极限值,以下所示
char
上限:CHAR_MAX
下限:CHAR_MIN
short
上限:SHRT_MAX
下限:SHRT_MIN
int
上限:INT_MAX
下限:INT_MIN
long
上限:LONG_MAX
下限:LONG_MIN
long long
上限:LLONG_MAX
下限:LLONG_MIN
如何应用
//无符号整数类型的下限都是0,因此他们没有特定的符号
#include
int main(){
//初始化一个int变量,这个语句把number设置为最大值,编译器会利用该最大值编译代码
int number = INT_MAX;
//打印整数类型的上限值和下限值
printf("int MIN AND MIN is %d ~ %d\n",INT_MIN,INT_MAX);
printf("long MIN AND MIN is %d ~ %d\n",LONG_MIN,LONG_MAX);
printf("short MIN AND MIN is %d ~ %d\n",SHRT_MIN,SHRT_MAX);
printf("long long MIN AND MIN is %d ~ %d\n",LLONG_MIN,LLONG_MAX);
return 0;
}
小数类型 头文件定义了表示浮点数的符号
float
上限:FLT_MAX
下限:FLT_MIN
double
上限:DBL_MAX
下限:DBL_MIN
long double
上限:LDBL_MAX
下限:LDBL_MIN
######sizeof运算符
/*
sizeof运算符能够肯定给定的类型占据多少字节
例如表达式sizeof(int)会获得int类型的变量所占的字节数
所得的值是一个size_t类型的整数,对应一个基本整数类型
size_t类型在标准头文件和其余头文件中定义
可是因为不一样的C库中有所不一样,因此最好使用size_t变量存储sizeof运算符生成的值
例如size_t size = sizeof(long long);
*/
int main(void){
//由于sizeof运算符的结果是一个无符号整数,因此用%u说明符输出它
printf("Variables of type char occupy %u bytes\n",sizeof(char));
printf("Variables of type short occupy %u bytes\n",sizeof(short));
printf("Variables of type int occupy %u bytes\n",sizeof(int));
printf("Variables of type long occupy %u bytes\n",sizeof(long));
printf("Variables of type long long occupy %u bytes\n",sizeof(long long));
printf("Variables of type double occupy %u bytes\n",sizeof(double));
printf("Variables of type float occupy %u bytes\n",sizeof(float));
printf("Variables of type long double occupy %u bytes\n",sizeof(long double));
return 0;
}