1. 什么是语句?
(借用于老师上课所讲)
C语句可分为以下五类:
1. 表达式语句 2. 函数调用语句 3. 控制语句 4. 复合语句 5. 空语句
下面所用语句多为控制语句。 控制语句用于控制程序的执行流程,以实现程序的各种结构方式,它们由特定的语句定义符组成,C语 言有九种控制语句。
可分成以下三类:
1. 条件判断语句也叫分支语句:if语句、switch语句;
2. 循环执行语句:do while语句、while语句、for语句;
3. 转向语句:break语句、goto语句、continue语句、return语句。
2.分支语句
分支语句即选择结构,不同的选择对应不同的结果
比如进入大学,好好学习,有能力去大公司,赚大钱。
不好好学习,毕业等于失业。
分支语句具体用法:1.0 if语句
语法结构:
if(表达式)
语句1;
else
语句2;
if语句不仅可以单/双分,还可以多分支
if(表达式1)
语句1;
else if(表达式2)
语句2;
else if .
.
.
else
语句3;
2.1进入if语句需要先进行判断,当表达式里的判断内容为真则执行语句内容,判断为假不执行语句内容。
c语言中关于真假表示:0表示假,一切非0表示真(-1等负数也算嗷)
2.2书写规范
作为一个程序员的基本素养之一就是代码的规范性,不规范的代码对于一些小白来说真的不很友好。以以下代码为例:
int main()
{
int a = 0;
int b = 2;
if(a == 1)
if(b == 2)
printf("hehe\n");
else
printf("haha\n");
return 0;
}
成熟的码农们都知道else是和离它最近的if匹配,但初入码田的小白在此就会陷入if选择语句,运气好的选择与第二个if匹配那么恭喜他猜对了。一些非酋可能已经在被老板骂的路上了。
码路千万条,规范第一条。书写不规范,小白两行泪。
分支语句具体用法:2.0 switch语句
当一个选择所造成的分支太多了时候,还在if else的我(小白本白)已经麻了,这个时候switch语句就像天降猛男一般,拯救了陷入else世界的我。
switch语句语法结构
switch(整型表达式)
{
语句项;
}
这里的语句项就表示选择中的分支情况
case 整型常量表达式:
语句;
注意:在switch语句中是没办法直接实现分支的,需搭配break使用才能实现真正的分支。
举个栗子
当输入的day为1-7之间它就会自动对应数字所对应的case,break的作用是进入case后跳出switch语句,如果没有break则会从进入的位置继续执行直到遇见break。
当我粗心输出不在1-7区间的数时,default就要发挥他的作用了,提示输出错误 。
3.循环语句
不管是选择还是循环在生活中都能找到相应的影子,比如苦逼的高中生活,早上6.25到学校,晚上10.30到家,循环往复直到高中毕业进入大学。
我们已经掌握了,if语句, 当条件满足的情况下,if语句后的语句执行,否则不执行。 但是这个语句只会执行一次。 由于我们发现生活中很多的实际的例子是:同一件事情我们需要完成很多次。 那怎么做呢?
C语言中给我们引入了循环语句用法
3.1: while 语句,可以实现循环。
while语句语法结构
while(表达式)
循环语句;
想要执行while语句也要先对条件进行判断当判断为真则进入循环,为假不执行。
举个栗子
int main()
{
int i = 0;
while(i<=10)
{
printf("%d",i)
i+=1;
}
return 0;
}
当i每一次加1不满足i<=10的条件时,就会跳出循环。
3.1.1简述while语句中的break和continue
break:
当满足if条件时,循环直接终止不再执行,所以break在while循环中的作用时停止后期的所有循环直接终止循环。
所以,while中的break适用于永久终止循环的。
continue
此代码执行结果为1 2 3 4 6 7 8 9,不同于break,continue仅仅将本次循环的以下部分跳过,并没有终止下一次循环 。
所以,continue是用于终止本次循环的,也就是本次循环中continue后边的代码不会再执行, 而是直接跳转到while语句的判断部分。进行下一次循环的入口判断。
3.2 for循环(当while循环不是很合适的时候就该本大爷上场了)
for循环语法结构
for(表达式1;表达式2;表达式3)
循坏语句;
表达式1 表达式1为初始化部分,用于初始化循环变量的。
表达式2 表达式2为条件判断部分,用于判断循环时候终止。
表达式3 表达式3为调整部分,用于循环条件的调整。
栗子
int main()
{
int i = 0;
for(i=1;i<=10;i++)
{
printf("%d",i);
{
return 0;
}
进入for循环首先初始化i=1,再判断i是否<=10,符合则打印i,然后i++,进入下一次循环
3.2.1 for循环中的break和continue
我们会惊奇的发现for循环中的break和continue的意义竟然与while中的一样。