C语言编程学习:浮点数类型
浮点数类型
浮点数类型用float表示,占用4个字节的内存空间,占位符是%f。
无符号浮点数用unsigned float表示,占用4个字节的内存空间,占位符是%lf。
浮点数的字面量是在小数后面加小写的f或者大写的f,比如3.33f或者3.33F。
实现加法
#include int main(int argc, char **argv){ float a; float b; float c; // 赋值 a = 11.11; b = 22.22; c = a + b; // 输出 printf("a = %f.\n", c); return 0; }
练习
让用户输入圆的半径,计算并输出圆的面积和周长。
示例代码:
#include int main(){ printf("请输入圆的半径:"); float r; float pi = 3.1415; scanf("%f", &r); printf("您输入的圆的半径是:%f\n", r); printf("圆的周长是:%f\n", 2*pi*r); printf("圆的面积是:%f\n", pi*r*r); return 0; }
输出:
请输入圆的半径:33 您输入的圆的半径是:33.000000 圆的周长是:207.339005 圆的面积是:3421.093506
双精度浮点数类型
双精度浮点数类型用double表示,占用8个字节的内存空间,占位符是%lg。
双精度浮点数类型虽然占用的空间更大,但是精度更高,能够表示的数也更大,是用来存储小数类型更推荐的一种数据类型。
示例:让用户输入圆的半径,计算并输出圆的面积和周长。
#include int main(){ printf("请输入圆的半径:"); double r; double pi = 3.1415; scanf("%lg", &r); printf("您输入的圆的半径是:%lg\n", r); printf("圆的周长是:%lg\n", 2*pi*r); printf("圆的面积是:%lg\n", pi*r*r); return 0; }
输出:
请输入圆的半径:33 您输入的圆的半径是:33 圆的周长是:207.339 圆的面积是:3421.09
练习
假如你要去购买卫生纸,输入卫生纸的数量和单价,计算总金额,输出到屏幕上。
示例代码:
#include int main(){ printf("请输入单价:"); double price; scanf("%lg", &price); printf("请输入购买数量:"); int num; scanf("%d", &num); double total = price * num; printf("卫生纸的单价是%lg元,您购买的数量是%d包,您总共需要支付%lg元。\n", price, num, total); return 0; }
输出结果:
请输入单价:5 请输入购买数量:20 卫生纸的单价是5元,您购买的数量是20包,您总共需要支付100元。
练习
让用户输入两个数a和b,输出这两个数。然后交换这两个数的变量的值,再输出。
比如a=3,b=4,交换以后a=4,b=3。
示例代码:
#include int main(){ printf("请输入第一个数:"); double a; scanf("%lg", &a); printf("请输入第一个数:"); double b; scanf("%lg", &b); printf("a = %lg \t b = %lg \n", a, b); // 交换 double temp = a; a = b; b = temp; printf("a = %lg \t b = %lg \n", a, b); return 0; }
输出:
请输入第一个数:11 请输入第一个数:22 a = 11 b = 22 a = 22 b = 11