C语言分支结构while,C语言学习:分支结构和循环结构的总结(收藏)

f322b9b980011160c4a8aee57509b160.png

C言语中常用的编程结构有三种(其它编程言语也是如此),它们分别是:

次序结构:代码早年往后顺次履行,没有任何“借题发挥”,不越过任何一条句子,一切的句子都会被履行到。挑选结构:也叫分支结构。代码会被分红多个部分,程序会依据特定条件(某个表达式的运算成果)来判别究竟履行哪一部分。循环结构:程序会从头履行同一段代码,直到条件不再满意,或许遇到强行跳出句子(break 关键字)。

前面咱们说了C言语的循环结构和分支结构,假如有不明白的能够查看上几篇文章。

挑选结构

挑选结构(分支结构)涉及到的关键字包含 if、else、switch、case、break,还有一个条件运算符? :(这是C言语中仅有的一个三目运算符)。

其间,if...else 是最基本的结构,switch...case 和? :都是由 if...else 演化而来,它们都是为了让程序员书写愈加便利。

你能够只运用 if,也能够 if...else 配对运用。别的要长于运用 switch...case 和? :,有时候它们看起来愈加清新。

if...else 能够嵌套运用,原则上嵌套的层次(深度)没有约束,可是过多的嵌套层次会让代码结构紊乱。

循环结构

C言语中常用的循环结构有 while 循环和 for 循环,它们都能够用来处理同一个问题,一般能够彼此替代。除了 while 和 for,C言语中还有一个 goto 句子,它也能构成循环结构。不过因为 goto 句子很简单形成代码紊乱,保护和阅览困难,饱尝诟病,不被引荐,并且 goto 循环完全能够被其他循环替代,所以后来的许多编程言语都取消了 goto 句子,咱们也不再解说。

国内许多大学依然解说 goto 句子,但也仅仅是完结教材所设定的课程,goto 句子在实践开发中很难见到。

关于 while 和 do-while 循环,循环体中应包含使循环趋于完毕的句子。关于 while 和 do-while 循环,循环变量的初始化操作应该在 while 和 do-while 句子之前完结,而 for 循环能够在内部完成循环变量的初始化。for 循环是最常用的循环,它的功能强大,一般都能够替代其他循环。最终还要留意 break 和 continue 关键字用于循环结构时的差异:

break 用来跳出一切循环,循环句子不再有履行的时机;continue 用来完毕本次循环,直接跳到下一次循环,假如循环条件建立,还会持续循环。

此外,break 关键字还能够用于跳出 switch...case 句子。所谓“跳出”,是指一旦遇到 break,就不再履行 switch 中的任何句子,包含当时分支中的句子和其他分支中的句子;也便是说,整个 switch 履行完毕了,接着会履行整个 switch 后边的代码。

循环嵌套的总结:

在C言语中,if-else、while、do-while、for 都能够彼此嵌套。所谓嵌套(Nest),便是一条句子里边还有另一条句子,例如 for 里边还有 for,while 里边还有 while,或许 for 里边有 while,while 里边有 if-else,这都是答应的。在C言语中,代码是次序、同步履行的,当时代码有必要履行完毕后才干履行后边的代码。这就意味着,外层 for 每次循环时,都有必要等候内层 for 循环完毕才干进行下次循环。尽管 i 是变量,可是关于内层 for 来说,每次循环时它的值都是固定的。输出一个4×4的整数矩阵。#include int main(){ int i, j; for(i=1; i<=4; i++){ //外层for循环 for(j=1; j<=4; j++){ //内层for循环 printf("%-4d", i*j); } printf("\n"); } return 0;}运转成果:1 2 3 42 4 6 83 6 9 124 8 12 16外层 for 榜首次循环时,i为1,内层 for 要输出四次 1*j 的值,也便是榜首行数据;内层 for 循环完毕后履行 printf("\n"),输出换行符;接着履行外层 for 的 i++ 句子。此刻外层 for 的榜首次循环才算完毕。外层 for 第2次循环时,i为2,内层 for 要输出四次 2*j 的值,也便是第二行的数据;接下来履行 printf("\n") 和 i++,外层 for 的第2次循环才算完毕。外层 for 第三次、第四次循环以此类推。能够看到,内层 for 每循环一次输出一个数据,而外层 for 每循环一次输出一行数据。输出九九乘法表。#include int main(){ int i, j; for(i=1; i<=9; i++){ //外层for循环 for(j=1; j<=i; j++){ //内层for循环 printf("%d*%d=%-2d ", i, j, i*j); } printf("\n"); } return 0;}运转成果:1*1=12*1=2 2*2=43*1=3 3*2=6 3*3=94*1=4 4*2=8 4*3=12 4*4=165*1=5 5*2=10 5*3=15 5*4=20 5*5=256*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=367*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=498*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=649*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81内层 for 每循环一次输出一条数据,外层 for 每循环一次输出一行数据。循环的嵌套是程序必不可免的,只要认真仔细区别,常常运用并实践,咱们才干从中的到更大的收成。

才干真的了解C言语编程,从中感受到计算机的魅力!

欢迎订阅点赞,谢谢!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值