“知道做不到就是不知道”
一、表达式
定义:一系列运算符和算子的组合,用来计算一个值。
(1)运算符(常见的有+ - * / % =);
(2)算子:参与计算的常数、变量存储的值。
int a = 10;
int b = 5;
int c;
c = a+b; //这个就是一个简单的表达式
二、举例:计算时间差
描述:输入两个时间(每个时间需要分别输入小时和分钟的值),运行之后输出两个时间之间的差,要求同样用几小时几分的形式来表示。
解答:
(1)逻辑:
①想一下有那些会有可能需要的数据,进而想需要在开头定义好哪些变量来保存;
②有了这些数据以后,该怎么计算;
类似于数学解题过程中的“解题思路”,或者说物理运用是的“公式定理”。根据不同的情景,需要一定程度的数学、物理知识水平。
②的结构就特别关键了。不同的思路真的会决定编写代码的难易程度!!!
(2)易错点:分钟错位!!
就比如说需要计算“1:40和2:10”的时间差,不能只是简单地 小时-小时;分钟-分钟!
①解决方法:像计算身高一样,因为有进制(英尺英寸),为了方便计算,那就全部转换为小时或分钟。
②具体:全部转化为分钟数之后分别计算小时和分钟——【取余%和除法/】
小时=分钟总数/60;分钟=分钟总数%60;
(3)神奇的方法(反算):
①比如说1120这种时间输入格式,将hour定义为int,用1120/100就得到小时数值11;再用1120%100,就得到分钟数值20。
②就可以得到11*60+20这个“分钟总数”。之后再进行相应的计算操作。
(4)代码展示(建议大家可以先自己尝试一下,再看下面给出的参考~)
#include<stdio.h>
//身高计算器
int main()
{
printf("请输入您的身高英尺和英寸[例如:输入 5 7 表示5英尺7英寸]:");
double foot;
double inch;
scanf("%lf %lf",&foot,&inch);
printf("身高是%f米。",(foot+inch/12)*0.3048); //注意单位换算
return 0;
}
#include <stdio.h>
//时间差计算器
int main(){
int hour1,minute1;
int hour2,minute2;
printf("请输入第一个时间,例如2时45分,就输入2 45:(24进制)");
scanf("%d %d",&hour1,&minute1);
printf("请输入第二个时间,例如2时45分,就输入2 45:(24进制)");
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);
return 0;
//大家还可以提升一下难度,想一下如果是跨天数的时间差,又该在原有代码基础上增添那些数据?可以在评论区积极分享哦!
}
写在最后:
更新C语言学习笔记
如有错误,烦请多多批评指正!