分类👏
C语言是一门程序化的语言,无非就三种结构:顺序结构,选择结构和循环结构,而语句是指由分号隔开的语句。C语言中体现为分支语句和循环语句。
分支语句👏
分支语句包括if语句,switch语句。if语句结构为表达式为真,语句执行;或if表达式成立,执行语句1,else(否则),执行语句2。也可实现多分支,加入else if语句。话不多说,上代码:这段代码粗略展示了if语句的框架性。当然,如果需要写入语句,需写在代码块内部。
if <条件判断1>: <执行1> else if <条件判断2>: <执行2> else if <条件判断3>: <执行3> else: <执行4>
具体情景我用体温检测为例:
这里补充一下,分支需要注意缩进;分支符合其中某一个判断条件时,后续的分支则不再执行。
当我们面临重复繁琐的任务时,循环语句的使用是最好的选择,无出其右。我们先看switch语句,switch语句也是一种分支语句,他是有一定场景的,多用于多分支;当我的表达式和语句繁多而不重复时,switch语句就体现他的魅力了。switch语句里面写入语句项,就是由case组成的整型常量表达式,看上去也文绉绉的,不说了,上代码:
# include <stdio.h> int main() { int date = 0; scanf("%d/n", &date); switch (date) { case 1:printf("1号\n"); break; case 2:printf("2号\n"); break; case 3:printf("3号\n"); break; case 4:printf("4号\n"); break; case 5:printf("5号\n"); break; case 6:printf("6号\n"); break; } }
看上去就比if语句节省了不少精力吧,特别是在不同表达式都对应相同语句时, 效率upup!
int date = 0; scanf("%d/n", &date); switch (date) { case 1:printf("1号\n"); break; case 2:printf("2号\n"); break; case 3:printf("3号\n"); break; case 4:printf("4号\n"); break; case 5:printf("5号\n"); break; case 6:printf("6号\n"); break; case 7: case 8: printf("小螺号\n"); break; default: printf("生命一号\n"); }
出于严谨,为了应对一些尴尬情况,可以在case语句后外加 default子句。也需要注意养成 break语句的添加,在没有的情况下执行一堆case语句,一经进入直接杀穿。
循环语句👏
循环语句就很好理解了,人类本质语句,说起复读我可不困了。首先是while循环,我大概手残了一个图,个人觉得有点无脑但很直观(拿PPT涂的):
、
这里就随便用一个简单的代码实验一手:getchar和putchar,也就是我理解中的复读机指令
这里的EOF是while语句的文件结束标志,就像“ \0 ”一样。但这里一定要是文本文件,数据以字符的ASCII码值存储,范围0~127,整不出-1(EOF转到定义)这种,因此完全可以使用。在使用continue时直接回到初始语句,break直接跳出循环,熟练掌握效率upup。
其次是for循环,说是其次,其实比while循环更为常用,for算是老大哥了,过了还有do while循环。其实无论怎么看,一种循环就能解决问题,早期C语言搞出来这么多的类型,咱看着也心累不是。一个循环体包括了初始化,判断,调整三部分,你想,当代码很复杂时,假设我某个部分需要修改,我下面代码瞅着一长串,此时三个部分离的比较开,就容易手瓢;so,此时for循环就天然的解决了这个问题。下面随便码个代码做个对比:
划了条三八线方便对比一下。(上边这是成品,好家伙是之前的过程搞我心态)。
转眼就是22:40了,卷完跑路咯家人们。