在C语言中,我们有顺序语句,选择语句,以及循环语句, 顺序语句就是从头到尾执行一遍,选择语句就是,在我们生活当中,总要面临许多的选择,例如好好学习C语言,你就可以拿到一个好的工作Offer,不好好学习,就回家烤红薯,还有循环语句,我们每日工作,起床,洗漱,上班,下班,睡觉,每日如此,就是一个循环语句,那么今天,我们研究一下选择语句中的,if....else语句。
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h> //这个是printf的头文件,表示打印。
int main() //主函数
{
int a = 10; //设置一个int类型的变量“a”,赋值为10
if (a >= 10) //如果“a”的值大于等于10为真,执行下列函数。
printf("欢迎来到C语言\n"); //打印“欢迎来到C语言世界”
return 0;
}
从以上代码可以看出,一个选择语句就是判断“if”的内容是否为真,如果为真(即等于0),继续执行下列函数,如果为假(即非0),则不继续执行if下的函数。
那么上列代码就是一个单独的if例子,并没有else,那么else表示什么意思呢,比如当if为假的时候,我们的else就可以发挥作用,执行else下的函数,例如下列的代码:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h> //printf打印函数的头文件
int main() //主函数
{
int a = 10; //设置变量“a”的值为10
if (a > 10) //设置选择,如果a>10
printf("欢迎来到C语言"); //执行这段函数
else //另一种选择
printf("努力学习C语言"); //如果为加,则执行这段函数
return 0;
}
那么从这里我们可以看到,我们的编译器并没有执行if下的打印函数,为什么呢?
因为if函数中的“a>10”为假,所以并不会执行if下的打印函数,而是选择执行else下的打印函数,所以我们会输出“努力学习C语言”。
那么我们在使用if...else选择语句时,有些时候并不会只打印一个数据,例如:
这个时候呢,我们的编译器就会十分的鸡肋,居然打印出来了第二个打印函数中的内容,并不是我们想要的当if为真打印两行字的情况,这个时候呢,我们就需要利用{ }将两段打印函数放入其中,就可以实现我们想要的,如果if为真,打印两行字的情况,例如:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
int a = 10;
if (a > 10)
{
printf("欢迎来到C语言\n");
printf("我们一起学习C语言\n");
}
return 0;
}
通过{ }将打印函数放入其中,我们就可以实现。
我们可以看到,当我们的if为假的时候,并不会打印,那么当我们的if中的内容为真的时候呢,是否会打印两段文字呢?我们来试验一下,
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
int a = 11;
if (a > 10)
{
printf("欢迎来到C语言\n");
printf("我们一起学习C语言\n");
}
return 0;
}
从上面可以看出,我们把变量“a”的值赋予11,使if函数内为真,输出的内容就为:
可以看到我们确确实实的打印了两行字,得到了我们想要的效果,这就是{ }的作用所在,如果我们的if下不加{ },那么我们的“if”就只会认离他最近的打印函数,并不会一起存在两个。
好了,通过上面的知识,我们继续往下,可能我们在选择的时候,不只有一种选择啊,那么我们如何进行多个选择的设置呢?下面由我来给大家演示,
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h> //头文件
int main() //主函数
{
int age = 10; //设置变量age 值为10
if (age > 0 && age < 18) //如果age的值在此区域内,执行下面函数
{
printf("少年");
}
else if (age >= 18 && age < 28) //如果age的值在此区域内,执行下面函数
{
printf("青年");
}
else if (age >= 28 && age < 35) //如果age的值在此区域内,执行下面函数
{
printf("壮年");
}
else if (age >= 35 && age < 60) //如果age的值在此区域内,执行下面函数
{
printf("中年");
}
else if (age >= 60 && age < 80) //如果age的值在此区域内,执行下面函数
{
printf("老年");
}
else //如果age的值在此区域内,执行下面函数 (如果age大于等于80,都在此区域内)
printf("老寿星");
return 0;
}
从以上代码中我们可以看出,如果我们需要选择多个数据,我们可以使用else if 表示多个选择数据,从而达到不同区域内的数值打印出不同文字的效果,例如我们设置age的值为10,就会打印出少年,我们的age值为18~小于28,会打印青年,在28~小于35区间,我们就会打印出壮年,以此类推,那么从中我们就可以推出,当我们使用 scanf函数,自己输入一个数值的时候,就会方便很多,例如:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
int age = 10;
scanf("%d", &age);
if (age > 0 && age < 18)
{
printf("少年");
}
else if (age >= 18 && age < 28)
{
printf("青年");
}
else if (age >= 28 && age < 35)
{
printf("壮年");
}
else if (age >= 35 && age < 60)
{
printf("中年");
}
else if (age >= 60 && age < 80)
{
printf("老年");
}
else
printf("老寿星");
return 0;
}
由上可见,我们加入了scanf函数,使我们的age变量可以在键盘上自己定义一个数值,从而达到我们打印出不同的文字的效果,例如我们输入一个30,按ctrl+f5,编译代码,
可以看出按完之后并没有什么效果,我们输入30,
按下回车,我们就会打印出“壮年”文字。
以上就是我分享的if....else 选择语句的知识点,感谢大家观看,谢谢大家。如果有不懂的地方可以评论区留言。