美文网首页C语言程序员
C语言编程学习,分支结构和循环结构的知识总结

C语言编程学习,分支结构和循环结构的知识总结

作者: 小辰带你看世界 | 来源:发表于2018-05-23 22:56 被阅读59次

    C语言是面向过程的,而C++是面向对象的

    C和C++的区别:

    C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。

    C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。 所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”。

    C与C++的最大区别:在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”,而就语言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,错!算法是程序设计的基础,好的设计如果没有好的算法,一样不行。而且,“C加上好的设计”也能写出非常好的东西。

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

    顺序结构:代码从前往后依次执行,没有任何“拐弯抹角”,不跳过任何一条语句,所有的语句都会被执行到。

    选择结构:也叫分支结构。代码会被分成多个部分,程序会根据特定条件(某个表达式的运算结果)来判断到底执行哪一部分。

    循环结构:程序会重新执行同一段代码,直到条件不再满足,或者遇到强行跳出语句(break 关键字)。

    小编推荐一个学C语言/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(" ");

    }

    return 0;

    }

    运行结果:

    1 2 3 4

    2 4 6 8

    3 6 9 12

    4 8 12 16

    外层 for 第一次循环时,i为1,内层 for 要输出四次 1*j 的值,也就是第一行数据;内层 for 循环结束后执行 printf(" "),输出换行符;接着执行外层 for 的 i++ 语句。此时外层 for 的第一次循环才算结束。

    外层 for 第二次循环时,i为2,内层 for 要输出四次 2*j 的值,也就是第二行的数据;接下来执行 printf(" ") 和 i++,外层 for 的第二次循环才算结束。外层 for 第三次、第四次循环以此类推。

    可以看到,内层 for 每循环一次输出一个数据,而外层 for 每循环一次输出一行数据。

    小编推荐一个学C语言/C++的学习裙【 七三零,一三零,二二一 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

    输出九九乘法表。

    #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(" ");

    }

    return 0;

    }

    运行结果:

    1*1=1

    2*1=2 2*2=4

    3*1=3 3*2=6 3*3=9

    4*1=4 4*2=8 4*3=12 4*4=16

    5*1=5 5*2=10 5*3=15 5*4=20 5*5=25

    6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36

    7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49

    8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64

    9*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

    小编推荐一个学C语言/C++的学习裙【 七三零,一三零,二二一 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

    内层 for 每循环一次输出一条数据,外层 for 每循环一次输出一行数据。

    循环的嵌套是程序必不可免的,只有认真仔细区分,经常运用并实践,我们才能从中的到更大的收获。

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

    这些是C/C++能做的

    服务器开发工程师、人工智能、云计算工程师、信息安全(黑客反黑客)、大数据 、数据平台、嵌入式工程师、流媒体服务器、数据控解、图像处理、音频视频开发工程师、游戏服务器、分布式系统、游戏辅助等

    相关文章

      网友评论

        本文标题:C语言编程学习,分支结构和循环结构的知识总结

        本文链接:https://www.haomeiwen.com/subject/cbgdjftx.html