浮点数类型
浮点数类型用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