C语言变量篇 2

1.浮点数

如何知道 " 身高5尺7寸"呢?

正常计算:(5+7/12)*0.3048=1.7018

计算机计算:计算身高的程序

#include <stdio.h>

int main()
{
	printf("请分别输入身高的英尺和英寸"
	        "如输入\"5 7\"表示5英尺7英寸:");
	   
	int foot;
	int inch;
	
	scanf("%d %d", &foot, &inch);
	
	printf("身高是%f米。\n",
	         ((foot + inch / 12) * 0.3048));
			 
    return 0;            
}

编译完这个程序运行后,通过运行结果可知:输入"5  7“时,身高是1.524000米,也就是英寸这个数值不起作用。

这是为什么????

因为:●因为两个整数的运算的结果只能是整数    (所以5英寸/12时,结果为零,小数点后面的数               不算)     

          ●10/3*3=>?
          ●10和10.0在 C 中是完全不同的数

          ●10.0是浮点数

浮点数
●带小数点的数值。浮点这个词的本意就是指小数点是浮动的,是计算机内部表达非整数(包含分数和无理数)的一种方式。另一种方式叫做定点数,不过在 C 语言中你不会遇到定点数。人们借用浮点数这个词来表达所有的带小数点的数。

double 
● inch 是定义为 int 类型的变量如果把 int 换成 double ,我们就把它改为 double 类型的浮点数变量了。
● double 的意思是“双”,它本来是“双精度浮点数”的第一个单词,人们用来表示浮点数类型。除了 double ,还有 float (意思就是浮点!)表示单精度浮点数。

那如何改进

1.●将(foot + inch/12)*0.3048改为(foot + inch/12.0 )*0.3048

   ● 当浮点数和整数放到一起运算时,C会将整数转化成浮点数,然后进行浮点数的运算。

2.或者把   int foot;       改为   double foot;

                 int inch;                double inch;

                 然后在scanf中的两个%d改为%lf

 ●%d+字母表示设后面输入的类型

数据类型

●整数   

  ●int

  ● printf ("% d "…)

  ●scanf ('"% d "…)

●带小数点的数   

   ●double (输入与输出不同)

   ● printf ("% f "…)
   ●scanf ("% If"…)

表达式

●一个表达式是一系列运算符和算子的组合,
用来计算一个值
 amount = x *(1+0.033)*(1+0.033)*(1+0.033);
 total =57;
 count = count ,+1;
 value =( min /2)* lastValue ;

 运算符
●运算符( operator )是指进行运算的动
作,比如加法运算符“+”,减法运算符
“”。
●算子( operand )是指参与运算的值,这
个值可能是常数,也可能是变量,还可能是一个方法的返回值

eh:运算符 a=b+5.      其中a、b、5是算子,=、+是运算符。

计算时间差
●输入两个时间,每个时间分别输入小时和分钟的值,然后输出两个时间之间的差,也以几小时几分表示
 int hour1,minute1;
 int hour2,minute2;
 scanf ("% d %d ", &hour1, &minute1);
 scanf ("% d %d ", &hour2, &minute2):
如果直接分别减,会出现分钟借位的情况:1点40分和2点10分的差?

计算时间差
 int hour1,minute1;
 int hour2,minute2;
 scanf ("% d  %d ", &hour1, &minute1);

 scanf ("% 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);

● hourl *60+ minutel ->转换为分钟为单位

● t /60->小时部分 t %60->分钟

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值