C语言基础第六课——第二节
一、if语句概述二、标准if-else格式三、借例题简述写代码流程四、不带else的if结构五、例题:从键盘上输入三个整数,求出其中的最大数。(打擂法、三目运算符、排序)六、if语句的嵌套七、看个例题(计算个人所得税)
一、if语句概述
if语句是专门用来实现选择结构的语句,能够根据条件的真假,选择执行两种操作中的一种。if语句有两种形式 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200609193442314.png)
二、标准if-else格式
2. if(表达式) 表达式一般就是判断条件,一般是条件或者逻辑表达式。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200609193651170.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FyaWVzWlNX,size_16,color_FFFFFF,t_70)
三、借例题简述写代码流程
先普及一下常见的闰年那一道题目的背景 地球绕太阳公转一周叫做一回归年,约为365.2422天。 如果一年按365天计算,那么经过400年就会多出来96.88天。因此格里历的置闰法则为400年97闰,格里历也就是沿用至今的公历,这样经过3333年才会有一天的误差。 格里历的闰年条件: 四年一闰,百年不闰,四百年再闰。 例如,1896年是闰年,1900年则是平年。 下面是做题流程 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200609194733725.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FyaWVzWlNX,size_16,color_FFFFFF,t_70) ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200609194745773.png) ![在这里插入图片描述](https://img-blog.csdnimg.cn/2020060919481447.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FyaWVzWlNX,size_16,color_FFFFFF,t_70)
#include
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;
}
第一步就是分析,可以跟上面一样画图表示,也可以用别的办法,能让自己知道这道题考的是什么或者说答案范围就行。第二步就是想办法把这个答案范围或者说题目考察的目的表示出来,就像个表达式啥的筛选一下,比如上面就是根据闰年的判断条件写了个表达式来将闰年筛选出来第三步就是画流程图啊或者啥的,目的就是为了让自己理清楚做这道题的顺序,包括前面的定义变量,以及中间的算法应该怎么采用,判断或者循环结构应该在什么地方使用,还有最后的输出格式应该调整为什么格式或者要求。第四步就是写代码实现流程图的内容了第五步可能就是最无语的改改改了。。。。。
四、不带else的if结构
if(表达式)
语句
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200610154924458.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FyaWVzWlNX,size_16,color_FFFFFF,t_70)
五、例题:从键盘上输入三个整数,求出其中的最大数。(打擂法、三目运算符、排序)
思路:要求得三个数的最大值,首先求出前两个数的最大值,存入变量max中,然后将第三个变量和max相比较,就可以求出三个数中的最大值了。
答案:
#include
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 |