我们在初步了解了C语言后,现在对它进行深入学习。在我们的日常生活中,时不时会做出选择,而在C语言中也会经常作出选择判断,这也是我们这里所讲的选择语句。
一、分支(选择语句)
1、选择
如果你好好学习,校招时拿一个好offer,走上人生巅峰。
如果你不学习,毕业等于失业,回家种地。
这就是选择!
#include <stdio.h>
int main()
{
int coding = 0;
printf("你会去敲代码吗?(选择1 or 0):>");
scanf("%d", &coding);
if(coding == 1)
{
prinf("坚持,你会有好offer\n");
}
else
{
printf("放弃,回家种地\n");
}
return 0;
}
了解了选择,那么在C语言中选择有哪些类型呢?让我们继续往下看
2、if;if… else型
(1)if型
#include <stdio.h>
int main()
{
int a = 0;//定义一个数
scanf("%d",&a);//给这个数输入一个值
//判断
if(a<=60)//如果a<=60,执行if语句,跳过else语句,如果不满足条件则跳过if
{
printf("不及格.\n");
}
return 0;
}
这里看到的其实就是一个if型选择语句,如果a<=60的话就会进去执行if里面的内容,否则就直接跳过if语句。
(2)if…else…型
#include <stdio.h>
int main()
{
int a = 0;//定义一个数
scanf("%d",&a);//给这个数输入一个值
//判断
if(a<=60)//如果a<=60,执行if语句,跳过else语句,如果不满足条件则跳过if
{
printf("不及格.\n");
}
else//如果if不成立则执行该语句
printf("及格.\n");
return 0;
}
这里是一个if…else…(如果…否则…)型的选择语句,这里看翻译的字面意思大家应该就清楚了,以上面代码为例,如果a<=60那么去执行if里面的语句,切记执行完if语句时会跳过else里面的语句;但是如果a<=60不符合条件也就是a>60,这时候我们跳过if语句去执行else(否则)语句里面的内容。
(3)注意点
接下来我说几个选择语句可能会出错的问题:
1.在if和if…else…判断的()后面不需要加分号(;),否则代码可以运行,但是会出现错误,也可能是数据丢失。
2.在if,else类型的选择函数中,else if判断可以多个,但是if和else的判断语句只能有一个。
3.在判断语句中建议在输出语句外加上{},将多个语句构成单一语句,不然程序会直接报错。
3、switch型
上面我们讲了一个选择函数,那么接下来我将为大家介绍另一个选择函数———switch。
switch相对于if,if…else…型,它在一定程度中比if,else型更加简便,但是与之相对的,switch函数也有属于自己的弊端。那么接下来我将详细的讲解switch函数。
#include <stdio.h>
int main()
{
int a = 0;
scanf("%d", &a);
switch (a)
{
case 1://判断
printf("合格\n"); break;
case 2:
printf("不合格\n"); break;
default:
printf("重新考试\n");
}
return 0;
}
上图就是我们的switch选择函数了,可以看出来,如果对比if类型的选择语句,switch看起来更加的简单明了。
switch后的括号里的a,便是我们输入的a,在这个函数中,a可以输入1,2,3。然后我们就可以到case后面对应的数字处找到我们要打印和输出的语句。类似switch(1)的时候,这个时候我们就去下面寻找case 1:的该处的printf并将它打印。
default则是如果我的a不是1也不是2,那么执行default里面的语句
|
|
同时,我们在这里看到了一个新的词语———break。break的作用是用于跳出switch语句,在执行printf后,break跳出switch,最后return 0打印出结果。
不加break的话则会出现以下结果继续往后打印。
4、default子句
如果表达的值与所有的case标签的值都不匹配怎么办?
其实也没什么,结构就是所有的语句都被跳过而已。
程序并不会终止,也不会报错,因为这种情况在C中并不认为是个错误。
但是,如果你并不想忽略不匹配所有标签的表达式的值时该怎么办呢?
你可以在语句列表中增加一条default子句,把下面的标签
default:
写在任何一个 case 标签可以出现的位置。当 switch 表达式的值并不匹配所有 case 标签的值时,这个 default 子
句后面的语句就会执行。所以,每个switch语句中只能出现一条default子句。但是它可以出现在语句列表的任何位
置,而且语句流会像执行一个case标签一样执行default子句
二、函数的初步接触
这里我们要提到一下函数
如果现在给你一个题目让你计算a+b的值并输出。最简单的便是直接计算,类似:
#include <stdio.h>
{
int a = 0;
int b = 0;
int c = 0;
scanf("%d%d",&a,&b);//输入a,b的值
c = a + b;//计算a+b的值
printf("%d\n",c);
}
而现在我们将使用另外的一种方法,应用一个函数进行计算
#include <stdio.h>
int Add(int x, int y)//第一个int表示返回值为整形,第二和第三个int表示输入的值为整形
{
return x + y;
}
int main()
{
int a = 0;
int b = 0;
int c = 0;
scanf("%d%d", &a, &b);
c = Add(a, b);
printf("%d", c);
return 0;
}
这里的Add就是一个我们自定义的一个函数,用来计算和。然后我们又能发现,这样子写又是非常的条理。
所以一定要:
之后呢我们会深入学习函数的,然后这里的选择语句就到这里了。