判断
Posted _在远方
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了判断相关的知识,希望对你有一定的参考价值。
#include <stdio.h> int main() { printf("计算两个时间差"); int hour1,minute1; int hour2,minute2; scanf("%d %d",&hour1,&minute1); scanf("%d %d",&hour2,&minute2); int t1=hour2 - hour1; int t2=minute2 - minute1; printf("时间差为%d小时%d分\\n",t1,t2); return 0; }
计算两个时间差1 50 2 10 时间差为1小时-40分
使用if判断语句:
#include <stdio.h> int main() { printf("计算两个时间差"); int hour1,minute1; int hour2,minute2; scanf("%d %d",&hour1,&minute1); scanf("%d %d",&hour2,&minute2); int t1=hour2 - hour1; int t2=minute2 - minute1; if ( t2 < 0 ){ t2=60 + t2; t1 --; } printf("时间差为%d小时%d分\\n",t1,t2); return 0; }
计算两个时间差1 50 2 10 时间差为0小时20分 Process exited after 8.144 seconds with return value 0
提示
if (条件成立) {
…
}
if判断语句表示如果满足if语句的条件,就执行if语句后大括号内的程序。
计算两个值之间的运算叫做关系运算
C语言中的“!”一般表示非、否、不是、not的意思。
关系运算只有两个结果。当两个值的关系符合关系运算符的预期时,关系运算的结果为整数1,否则为整数0。
#include <stdio.h> int main() { printf("%d\\n",5 == 3); printf("%d\\n",5 >= 5); printf("%d\\n",5 != 3); return 0; }
0 1 1 Process exited after 0.01066 seconds with return value 0
关系运算符的优先级比算术运算的优先级低,但比赋值运算优先级高。
#include <stdio.h> int main() { printf("%d\\n",5 >= 3+1); return 0; }
1 Process exited after 0.01293 seconds with return value 0
输出结果为1证明先计算了3+1,得出结果和5进行比较,5 >= 4,输出1,如果关系运算符优先级高于算术优先级,则先计算5 >= 3,输出1,再和3相加,输出结果2。
判断是否相等的 == 和 != 的优先级比其他的要更低一些,目的是判断两个关系的结果。
5 > 3 == 6 > 4
连续的关系运算是从左到右计算的。
6 > 5 > 4 (6 > 5成立,结果为1,1 > 4不成立,结果为0。)
a == b == 6 (先计算a和b是否相等,相等则为1不相等则为0,再与6相比较)
注释
以“//”开头的语句是程序的注释。
注释是插入程序中为读者提供解释信息的。注释对程序的功能没有影响,但可以使得程序更容易被人读懂。
延续数行的注释需要使用多行注释。
多行注释由“/”开始,以“/”结束。以下两种:
/* 注释的内容 */
/* 注释的内容 */
编写一个找零计算器的程序:
#include <stdio.h> int main() { //初始化 int price; int bill; //读取价格和金额 scanf("%d",&price); scanf("%d",&bill); //判断 if (bill >= price) { printf("应该找您%d元\\n",bill - price); } if (bill < price) { printf("支付金额不够\\n"); } return 0; }
if语句实例:
#include <stdio.h> int main() { //最小年龄 const int Minor = 20; int age; printf("请输入年龄\\n"); /*输入 fegklhjrkhrhahrejuje42ere 4二十页hyuaswy4y geshyue645656 耶4我也越野语言 */ scanf("%d",&age); printf("今年已经%d岁了\\n",age); if(age <= Minor) { printf("年轻真好,"); } printf("把握青春\\n"); }
请输入年龄 18 今年已经18岁了 年轻真好,把握青春
请输入年龄 25 今年已经25岁了 把握青春
上面的找零计算器中,可以将两个判断语句简化如下:
#include <stdio.h> int main() { //初始化 int price; int bill; //读取价格和金额 scanf("%d",&price); scanf("%d",&bill); //判断 if (bill >= price) { printf("应该找您%d元\\n",bill - price); } else { printf("支付金额不够\\n"); } return 0; }
即在if语句结束的大括号后,加上一个else语句。
else表示否则的意思。
简化后的找零计算器的流程图如下:
比较数字大小的三种方案
方案一:
#include <stdio.h> int main() { int a; int b; int Max = 0; printf("输入a和b的值:"); scanf("%d %d",&a,&b); if (a < b) { printf("Max=b",b); } if (a > b) { printf("Max=a",a); } if (a == b) { printf("%d",Max); } return 0; }
输出数值更大的数字,如果相等,输出0。
方案2:
#include <stdio.h> int main() { int a; int b; int Max = 0; printf("输入a和b的值:"); scanf("%d %d",&a,&b); if (a < b) { printf("Max=b",b); } else { printf("Max=a",a); } return 0; }
对于a和b相等的情况没有做具体区分。
方案3:
#include <stdio.h> int main() { int a; int b; printf("输入a和b的值:"); scanf("%d %d",&a,&b); int Max = a; if(a < b) { printf("Max=b",Max,b); }else { printf("Max=a",a); } return 0; }
IF语句总结
一个基本的if语句由关键字if开头,if后跟一个(),()中是表达式,如果表达式计算结果不为0,即表达式成立,则执行()后的{}中的语句;如果()中的表达式不成立,{}中的语句会被跳过。
if语句的表达式后可以没有{},如果没有{},紧跟在if后的语句将被作为if语句条件成立时执行的内容。
如下在if语句的()后没有“;”,而在下一行的赋值语句后有一个表示语句结束的“;”,表示赋值语句是if语句的一部分,if语句控制这条赋值语句是否被执行。
if (total > amount) total += amount + 10;
同样else后也可以不用{},“;”放在else执行语句后。
计算薪水的程序:
#include <stdio.h> int main() { const double RATE = 8.25; const int STANDARD = 40; double pay = 0.0; int hours; printf("请输入工作小时数\\n"); scanf("%d",&hours); printf("\\n"); if (hours > STANDARD) pay = STANDARD * RATE + (hours - STANDARD)*(RATE * 1.5); else pay = hours * RATE; printf("应付薪水为%f",pay); return 0; }
判断成绩是否及格:
#include <stdio.h> int main() { const int PASS = 60; int score; printf("请输入成绩:"); scanf("%d",&score); printf("你输入的成绩是%d\\n",score); if (score >= PASS) printf("恭喜你,"); else printf("很遗憾,"); printf("再见了"); return 0; }
以上是关于判断的主要内容,如果未能解决你的问题,请参考以下文章