C语言基础第六课——第二节

  • 一、if语句概述
  • 二、标准if-else格式
  • 三、借例题简述写代码流程
  • 四、不带else的if结构
  • 五、例题:从键盘上输入三个整数,求出其中的最大数。(打擂法、三目运算符、排序)
  • 六、if语句的嵌套
  • 七、看个例题(计算个人所得税)

一、if语句概述

if语句是专门用来实现选择结构的语句,能够根据条件的真假,选择执行两种操作中的一种。if语句有两种形式

二、标准if-else格式

  1. 2. if(表达式)
    表达式一般就是判断条件,一般是条件或者逻辑表达式。

三、借例题简述写代码流程

先普及一下常见的闰年那一道题目的背景
地球绕太阳公转一周叫做一回归年,约为365.2422天。 如果一年按365天计算,那么经过400年就会多出来96.88天。因此格里历的置闰法则为400年97闰,格里历也就是沿用至今的公历,这样经过3333年才会有一天的误差。
格里历的闰年条件:
四年一闰,百年不闰,四百年再闰。
例如,1896年是闰年,1900年则是平年。
下面是做题流程

#include <stdio.h>
int main()
{int year;
printf("请输入一个年份: ");
scanf("%d",&year);
if( (year%4==0)&&(year%100!=0) || (year%400==0))
printf("%d是闰年\n",year);
else
printf("%d不是闰年\n",year);
return 0;
}
  1. 第一步就是分析,可以跟上面一样画图表示,也可以用别的办法,能让自己知道这道题考的是什么或者说答案范围就行。
  2. 第二步就是想办法把这个答案范围或者说题目考察的目的表示出来,就像个表达式啥的筛选一下,比如上面就是根据闰年的判断条件写了个表达式来将闰年筛选出来
  3. 第三步就是画流程图啊或者啥的,目的就是为了让自己理清楚做这道题的顺序,包括前面的定义变量,以及中间的算法应该怎么采用,判断或者循环结构应该在什么地方使用,还有最后的输出格式应该调整为什么格式或者要求。
  4. 第四步就是写代码实现流程图的内容了
  5. 第五步可能就是最无语的改改改了。。。。。

四、不带else的if结构

if(表达式)
语句

五、例题:从键盘上输入三个整数,求出其中的最大数。(打擂法、三目运算符、排序)

思路:要求得三个数的最大值,首先求出前两个数的最大值,存入变量max中,然后将第三个变量和max相比较,就可以求出三个数中的最大值了。

答案:

#include <stdio.h>
int main()
{int a,b,c,max;
printf("请输入三个整数: ");
scanf( "%d%d%d",&a,&b,&c);
if(a>b)
max=a;
else
max=b;
if(c>max)
max=c;
printf("最大数=%d\n",max);
return 0;
}其实这里有一个三目运算符挺有意思的
能够省不少力气
三目运算符:(表达式1)?(表达式2):(表达式3)
可以自己想一下
max=a>b?a:b;
max=((a>b)?a:b)>c?((a>b)?a:b):c;
就类似这种,蛮有意思的
可能函数那一章节
还会写这个吧                           还有就是这边也涉及一个打擂法考察的可能
max=a;
if(max<b)
max=b;
if(max<c)
max=c;
还有蛮多可能的,溜了溜了

六、if语句的嵌套

通常用于处理多分支选择程序(潜逃简单点就是在if语句里面还有if语句)
看看图理解一下
没啥难度,看看图就全懂了

写出来的嵌套if语句就是
if(x>0)
y=sqrt(x);
else
if(x==0)
y=0;
else
y=fabs(x);

唯一要注意的可能就是IF-ELSE组合了
因为else跟前面离他最近的未配对的if配对,所以设计的时候注意不要搞错了顺序,不要搞出二义性啥的问题。
尤其是这种不带else的if语句,挺容易出错的,解决办法就是大括号

七、看个例题(计算个人所得税)

  1. 分析题意,找范围
    一个多分支问题,可以使用嵌套的if语句来编写程序。要特别注意,对于各个收入区间要分段计算税额。例如,某人月收入为1万元,那么5000元以内不交税,5000元以上到8000元区间按3%税率计税,8000元以上到10000元区间按10%税率计税。
  2. 找判断条件,画流程图
  3. 写程序.
#include <stdio.h>
int main()
{double x,tax;
printf("请输入您的月收入(元) : ");
scanf("%lf",&x); //lf
if(x<=5000)tax=0;
elseif(x<=8000)tax=(x-5000)*0.03;elseif(x<=17000)tax=(8000-5000)*0.03+(x-8000)*0.1;elsetax=(8000-5000)*0.03+(17000-8000)*0.1+ (x-17000)*0.2;
printf("您的个人所得税=%.2lf元\n",tax);
return 0;
}

C语言基础第六课——第二节if语句(if-else格式、不带else的if结构)、借例题简述写代码流程、从键盘上输入三个整数,求出其中的最大数(打擂法、三目运算符、排序)、if语句的嵌套计算个人所得税相关推荐

  1. c语言中从键盘上输入三个数,将之排序后按由大到小的顺序输出,从键盘上输入3个数,将它们按由大到小的顺序排列好输出...

    vb中从键盘上输入10个数,判断有几个偶数,有几个奇数? 我给你写了,挺简单的.窗体上添加两个label控件一个command控件Dima(1To10)DimbDimcAsIntegerDimdAsI ...

  2. c语言求两个数的乘积和商,输入两个整数,求出它们的商数

    编写一个程序,输入两个整数,计算并输出它们的和,乘积,差,商和余数,C语言, #includevoidmain(){inta,b;printf("Inputtwointegers:" ...

  3. C语言:从键盘上输入10个整数,求他们的平均值以及正数的个数,并加以输出

    #include <stdio.h> #define n 10 int main(void){ /* 从键盘上输入10个整数,求他们的平均值以及正数的个数,并加以输出 */ int a[n ...

  4. c语言函数调用数组_第七讲:C语言基础之函数,第二节,实现汉诺塔

    本文约2200字,主要讲了C语言基础之函数,递归,数组作为函数参数以及案例.练习题等. 带你进入C语言的世界,入门C语言,后边将持续更新.可以收藏学习.想了解C语言基础之函数,函数的基本概述,函数的调 ...

  5. c语言编程从键盘上输入两个整数m和n,C语言习题 求键盘输入的两个正整数的最大公约数和最小公倍数...

    C语言习题 求键盘输入的两个正整数的最大公约数和最小公倍数以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! C语言习题 求 ...

  6. 要求统计10个整数中的奇偶数的个数C语言,C语言:输入10个整数,求出它们的和,统计其中偶数的个数,输出其中的奇数....

    #include #defineN10 inti; voidsum(inta[]) { intsum_num=0; for(i=0;i { sum_num+=a[i]; } printf(" ...

  7. java源程序求圆的周长和面积_编写程序,输入圆的半径,求出圆的周长和面积. PI=3.14...

    C语言程序 编写函数,求圆面积的值,主函数输入半径,并在主函数中调它. #includemain(){\x09floatS(floatr);\x09floatr;\x09printf("in ...

  8. python怎么求圆柱表面积半径和高由键盘输入_从键盘上输入圆的半径,计算圆的周长和面积(使用符号常量)_学小易找答案...

    [单选题]Randal Ice needs a loan to purchase pet food and other pet supplies for his local pet store ove ...

  9. C语言编程>第二十周 ② 下列给定程序中,函数fun的功能是:求出数组中最大数和次最大数,并把最大数和b[0]中的数对调、次最大数和b[1]中的数对调。

    例题:下列给定程序中,函数fun的功能是:求出数组中最大数和次最大数,并把最大数和b[0]中的数对调.次最大数和b[1]中的数对调. 注意:不要改动main函数,不能增行或删行,也不能更改程序的结构. ...

最新文章

  1. CSS自适应宽度圆角按钮
  2. input 不显示边框_不需要使用JavaScript
  3. python算两个点的距离公式_计算Python Numpy向量之间的欧氏距离实例
  4. 获取内联和链接中的样式
  5. C#静态变量和非静态变量的区别
  6. html div p 区别,html中div br p三者有什么区别?
  7. Titanic: Machine Learning from Disaster-kaggle入门赛-学习笔记
  8. 模板 | 如何画出漂亮的深度学习模型图
  9. 在chrome里查询修改html代码,我需要在网页中直接编辑CSS?打开Web代码检查器
  10. JAVA-Hibernate-SQL类型映射表及Hibernate标识生成策略
  11. iptv网关服务器系统 自己刷,iptv网关服务器镜像系统
  12. 苹果智能音箱HomePod,在“智商”测试中排名垫底
  13. jsmind 线条_jsMind思维导图模式展示数据
  14. 设计模式之备忘录模式(Memento)
  15. JK触发器波形图分析
  16. 【pip】pip安装github项目
  17. linux挂载磁盘(自动挂载\解决重启后挂载磁盘消失的问题)
  18. 俞军跟我聊了三个小时产品(1):用户不是人,是需求的集合
  19. 服务器登录密码 被修改,服务器登录密码被人改
  20. 强凸性带来的 距离最优值的上下界

热门文章

  1. 神笔马良——读《餐巾纸的背面》
  2. Polly-高级断路器
  3. Nginx Unique Tracing ID
  4. Spring Boot使用JSR303校验
  5. Python - 列表补充(一)
  6. 为什么现在国内很多公司都在做深度学习框架?
  7. L0、L1与L2范数、核范数分析
  8. Android应用开发之GridLayout(网格布局)
  9. JS验证用户名必须以字母(不区分大小写)、数字、下划线(_)随意组合的字符
  10. javascript随机生成用户名的方法