您现在的位置:首页 > >

【C语言】第二章-分支和循环语句-1

发布时间:

第1节
什么是语句

??在C语言中由一个;隔开的就是一个语句。例如printf("Misaki");1 + 2;等等。


分支语句
if语句

??分支语句又叫选择结构,之前为大家演示过的if语句就是一个分支语句,在C语言逻辑中有着大量的使用范畴,是不可或缺的一部分。
??接下来为大家演示if的几种使用形式。
??形式一:


if (表达式)
语句;

??形式二:


if (表达式)
语句1;
else
语句2;

??形式三:


if (表达式)
语句1;
else if (表达式)
语句2;
else
语句三;

??简单解释一下,如果if括号中的表达式成立则执行语句1,如果不成立则进入else if表达式进行判断,如果还不成立直接执行else。而在C语言中可没有定义真假的变量,因此我们只好拿整数进行替代。**在C语言中0表示真,非0表示假,**进行条件判断的表达式的值都会用0和非0进行替代(但是一般多拿1来进行表示真的替代)。
??同时我建议在写if语句的时候下面条件执行的语句都能用{}来将他们括起来,表示这是一个代码块,这样我们不仅可以在代码块中写多个执行语句,也使程序更加可读。


if (表达式)
{
语句列表1;
}
else if (表达式)
{
语句列表2;
}
else
{
语句列表3;
}
system("pause");

??同时有一点需要强调,else永远与上面离它最*的if进行匹, 大家不要被缩进格式所迷惑。接下来进行几个实例演示。


#define _CRT_SECURE_NO_WARNINGS
#include //添加头文件
#include
int main()//主函数,函数入口
{
int coding = 0;
printf("你会好好敲代码每天三小时,一次500行,不敲够不睡觉,像对待女朋友一样对待她么?
");
scanf("%d", &coding);
if (coding == 1)
{
printf("加油坚持你会成功!
");
}
else if(coding == 0)
{
printf("回家种田吧!
");
}
else
{
printf("犹豫不决你在等什么?
");
}
system("pause");
}

??我们的if语句就讲到这里,if语句使用十分简单却也十分灵活,但是大家千万注意尽量少的使用选择嵌套可以增强代码可读性。


switch语句

??switch语句也是一种分支语句,多用于多分支的情况。在某些情况下使用switch往往有着好的效果。
??比如说如果我们要根据用户输入的1-7来打印相应的星期,比如说用户输入1,我们则打印“星期一“”。在这种多分支的情况下,往往是switch语句的拿手好菜。


#define _CRT_SECURE_NO_WARNINGS
#include //添加头文件
#include
int main()//主函数,函数入口
{
int choice = 0;
printf("请输入数字:");
scanf("%d", &choice);
switch (choice)
{
case 1:
printf("星期一
");
break;
case 2:
printf("星期二
");
break;
case 3:
printf("星期三
");
break;
case 4:
printf("星期四
");
break;
case 5:
printf("星期五
");
break;
case 6:
printf("星期六
");
break;
case 7:
printf("星期日
");
break;
default:
break;
}
system("pause");
}

??switch的语法很简练,switch(整形表达式),下方的大括号中是一些case语句,case 整形常量表达式: 语句;当case后的常量==switch中的整形表达式的值时,case后的语句就会被执行,而switch语句一般都会配备一个default: 语句;这是**在case语句没有被匹配上的时候就会执行default语句中的内容。**大家还可以注意到每一个语句后都跟了个break;语句,这个break我们在循环中提到过一些,是跳出循环用的,不过在这里则是跳出switch用的,如果不加break语句,程序则会跟着匹配的case一直往下执行语句知道遇到break或者switch语句结束为止,因此break在这里不可或缺的,这也是switch一个很大的缺陷。
??switch虽然适用于多分支条件的情况下,但其本身有着极大的缺陷,并且实际上switch能实现的分支if语句也同样可以实现,有时候反倒会使我们的工作更加简单,因此我并不推荐在程序里经常使用switch,其中可读性低也是很重要的一部分原因。


循环语句
while循环

??while我们在初始C语言的章节已经涉猎,他是非常简单的一种循环语句,因为使用起来和if十分类似,不同点是if语句只判断一次条件,执行完则退出语句,但是while则是在每一轮循环结束后都要重新判断条件,如果条件依然成立则继续执行语句。
??打印0 - 9;


#define _CRT_SECURE_NO_WARNINGS
#include //添加头文件
#include
int main()//主函数,函数入口
{
int i = 0;
while (i < 10)
{
printf("%d ", i);
i += 1;
}
printf("
");
system("pause");
}

??我相信大家对while的用法已经非常熟悉了,但是想要灵活使用我们还要在之后的学*中多加练*!


for循环

??for循环语句是一种相比while更为方便的循环语句,他更加便于书写,可读性更高。
??同样是输出0 - 9我们用for语句再写一遍。


#define _CRT_SECURE_NO_WARNINGS
#include //添加头文件
#include
int main()//主函数,函数入口
{
for (int i = 0; i < 10; i++)
{
printf("%d ", i);
}
printf("
");
system("pause");
}

??for语句语法更为精炼,将循环变量的更新条件的判断,循环变量的初始化融为一体。


for(语句1; 语句2; 语句3)
{
循环内容;
}

??for循环中语句1是循环变量的初始化,永远只执行一次,就是在循环刚开始的时候才执行;语句2则是循环条件的判断,只有在语句2满足的情况下才执行循环内容,语句2在每次循环开始前都要执行进行判断;语句3是循环变量的更新,在while语句中这一条往往是写在循环体里的,而for则将它提炼出来,这条语句在每一次循环结束后都会执行。因此for循环语句的执行顺序大概是:语句1->语句2(条件成立)->循环内容->语句3->语句2(条件成立)->循环内容->语句3->…->语句3->语句2(条件不成立)->循环结束。
??由此可见for循环语句的语法更为精炼快捷易于书写,且可读性更好,这里指的一提的是,for语句中括号里的三条语句都可省略不写,但是分号不可省略,而当语句2省略时则会变成死循环。
??for循环语句还有一些变种,我们之后学*中都会遇到,到时候大家需要小心留意。


do-while语句

??do-while语句是while语句的变种,他们十分相似,唯一不同点是前者执行完一次循环体后才会进行条件判断, 也就是说其至少执行一次。


#define _CRT_SECURE_NO_WARNINGS
#include //添加头文件
#include
int main()//主函数,函数入口
{
int i = 10;
do
{
printf("%d", i);
} while (i > 20);
printf("
");
system("pause");
}

??从上面这个代码就可以看出明明while()中的条件不符合可依然执行了一次循环体,这就是while的独到之处。
??由于do-while语句使用条件有限,所以使用情况不多,这里不再深入讲解。


热文推荐
猜你喜欢
友情链接: