一.浮点数
#include <stdio.h>
int main()
{
printf("请分别输入身高的英尺和英寸,如输入5 7表示5英尺7英寸");
int foot;
int inch;
scanf_s("%d %d", &foot, &inch);
printf("身高是%f米。\n", ((foot + inch / 12) * 0.3048));
}
当输入5 7 的时候,结果为1.52400,而实际运算结果是1.7018,与实际运算结果不符,这是因为两个整数运算只能是整数,并且不会做四舍五入,是直接去掉小数部分。
在C语言当中,10和10.0不一样,10.0是浮点数。
改进一:将程序中的12改为12.0,当浮点数和整数一起运算时,C会将整数转换成浮点数,然后进行浮点数的运算。
改进二:inch是定义int类型的变量,如果把int换成double,我们就把它改为double类型的浮点数变量了。同时还要将%d换成%lf。
double的意思是“双”,用来表示浮点数的类型,除了double还有float,double表示双精度浮点数,float表示单精度浮点数。输入浮点数的时候用%lf,输入整数的时候用%d。
#include <stdio.h>
int main()
{
printf("请分别输入身高的英尺和英寸,如输入5 7表示5英尺7英寸");
double foot;
double inch;
scanf_s("%lf %lf", &foot, &inch);
printf("身高是%f米。\n", ((foot + inch / 12) * 0.3048));
}
总结:
整数:类型:int;输出:printf("%d");输入:scanf_s("%d")
浮点数:类型:double;输出:printf("%lf");输入:scamf_s("%lf")
二.表达式
一个表达式是一系列运算符和算子的组合,用来计算一个值。
运算符是指进行运算的动作,比如加法运算“+”,减法运算“-”。
算子是指参与运算的值,这个数可能是常数,也可能是变量,还可能是一个方法的返回值。
#include <stdio.h>
int main()
{
int hour1, minute1;
int hour2, minute2;
scanf_s("%d %d", &hour1, &minute1);
scanf_s("%d %d", &hour2, &minute2);
int t1 = hour1 * 60 + minute1;
int t2 = hour2 * 60 + minute2;
int t = t2 - t1;
printf("时间差是%d小时%d分钟。", t / 60, t % 60);
}
三.如何交换两个变量的值
在代码左侧数字旁设置断点,进行调试,可以看到变量赋值转化的过程。
四.复合赋值符
+,-,*,/,%可以和=结合起来形成符合运算符,注意两个符号之间不能有空格。
递增递减运算符:++或--,表示+1或-1,但是算子必须是变量。a++是a+1以前的值,++a是a+1以后的值。