C语言选择结构之if语句
if…else…是C语言的选择结构,类同于生活中的选择,如走到分岔路口,选择向左还是向右;开车时开到红绿灯的反应,红灯应该停下来,绿灯可以一路畅通;去朋友家拜访,如果朋友不在家,直接打道回府,如果朋友在家,可以上楼按门铃;等等这类,都是选择。 C语言中使用if…else…作为选择的关键词,表示如果A成立,执行if下的代码块,否则执行else下的代码快。
1.使用C语言的6种关系运算符运用if语句
C语言一共提供6种关系运算符,分别为 小于、小于或等于、大于、大于或等于、等于==、不等于。
1.1 使用if判断的demo01
#include <stdio.h>
/*
auth:wls.
date:2022.08.30
funDesc:if语句的运用
*/
int main()
{
int money;
printf("你有多少钱?\n");
scanf("%d",&money);
if(money>100){
puts("你真有钱!");
}
puts("谈话结束。");
printf("测试结果:%d", money>100); // 1表示True,0表示False
return 0;
}
打印输出:
P.S.只有输入大于100 才会打印“你真有钱!”
1.2 使用if判断的demo02
#include <stdio.h>
/*
auth:wls.
date:2022.08.30
funDesc:if语句的应用02
*/
int main()
{
int isHeAtHome;
puts("他在家吗?1在家,0不在。");
scanf("%d",&isHeAtHome);
if(isHeAtHome){
puts("他在家。可以敲门进入");
}
return 0;
}
打印输出:
1.3 使用if判断的demo03
对随机输入的两个数值进行判断,第一个数存储数值较小的值,第二个数存储数值较大的值,代码如下:
#include <stdio.h>
/*
auth:wls.
date:2022.08.30
funDesc:根据输入两数大小排序后从小到大输出
*/
int main()
{
int data01; //第一个数
int data02; //第二个数
int temp_data; //中间临时存放的数
printf("请随机输入两个数\n");
scanf("%d",&data01);
scanf("%d",&data02);
printf("您随机输入的两个数是%d、%d\n",data01,data02);
if(data01>data02){
temp_data = data01;
data01 = data02;
data02 = temp_data;
}
printf("把输入的两个数按从小到大排序为%d、%d",data01,data02);
return 0;
}
输入的数值为6和5,最终打印输出5和6:
1.4 使用if判断的demo04
随机输入3个数,按照从小到大的顺序输出:
#include <stdio.h>
/*
auth:wls.
date:2022.08.30
funDesc: 把输入的三个随机数值,从小到大输出
*/
int main()
{
int data01;
int data02;
int data03;
int temp_data;
printf("请随机输入3个不同的数值\n");
scanf("%d%d%d",&data01,&data02,&data03);
printf("输入的三个数%d、%d、%d\n", data01,data02,data03);
//思路:两两比较,data01和data02比较,选出小的那个作为临时变量temp_data,从小到大排序为data01.data02;
//temp_data再和data03比较,若temp_data比data03小,则最小的值为data01,把data02于data03比较,分出大小;
//若temp_data比data03大,则data03作为最小值,放在第一位,顺序为data03,data01,data02
//data01和data02按从小到大排序:
if(data01>data02){
temp_data = data01;
data01 = data02;
data02 = temp_data;
}
printf("三个数为%d、%d、%d\n", data01,data02,data03);
//这里结束后data01是0102中最小的
//0102中最小的data01与03比较,按从小到大排序
if(data01>data03){
temp_data = data01;
data01 = data03;
data03 = temp_data;
}
printf("三个数为%d、%d、%d\n", data01,data02,data03);
//这里结束后,data01已经是三个数中最小的了
//对比data03和data02,选中第二小的值,存储在data02中
if(data02>data03){
temp_data = data02;
data02 = data03;
data03 = temp_data;
}
//这里结束后data02就存储了第二小的值
printf("输入的三个数按从小到大排序为%d、%d、%d\n", data01,data02,data03);
return 0;
}
最终输入数字3、2、1,打印输出1、2、3: