打印
[其他]

C语言算法和三种基本程序结构

[复制链接]
456|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
onlycook|  楼主 | 2023-3-15 10:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
算法

  做任何事情都有一定的步骤。为解决一个问题而采取的方法和步骤,就称为算法。


  算法是一个基本的概念,但也是一门深奥的学问,小到如何输出九九乘法表,如何对一组数据进行排序,大到如何控制飞行器的姿态,如何让四轴飞行器壁障。


  这里主要是向大家阐述一下算法的概念,对于初学者,涉及到的算法都很简单,一般不会成为学习的障碍,我们会在后面的实例中逐渐向大家渗透具体的算法。


  请大家思考一个问题:如何求1×2×3×4×5的值。


  最原始方法:

  步骤1:先求1×2,得到结果2。

  步骤2:将步骤1得到的乘积2乘以3,得到结果6。

  步骤3:将6再乘以4,得24。

  步骤4:将24再乘以5,得120。


  这样的算法虽然正确,但太繁。


  改进的算法:

  S1:使t=1

  S2:使i=2

  S3:使 t×i,乘积仍然放在在变量t中,可表示为 t×i -> t

  S4:使i的值+1,即 i+1 -> i

  S5:如果i≤5,返回重新执行步骤S3以及其后的S4和S5;否则,算法结束。


  如果计算100!只需将“S5:若i≤5”改成“i≤100”即可。


  如果改成求1×3×5×7×9×11,算法也只需做很少的改动:

  S1:1 -> t

  S2:3 -> i

  S3:t×i -> t

  S4:i+2 -> i

  S5:若i≤11,返回S3;否则,结束。


  该算法不仅正确,而且是计算机较好的算法,因为计算机是高速运算的自动机器,实现循环轻而易举。

使用特权

评论回复
沙发
onlycook|  楼主 | 2023-3-15 10:13 | 只看该作者
三种基本程序结构



  几乎所有编程语言,包括C语言,都会有三种基本的程序结构:顺序结构、选择结构和循环结构。


  顺序结构



  顺序结构就是一条一条地从上到下执行语句,所有的语句都会被执行到,执行过的语句不会再次执行。


  例如,求1+2+3+4+5的和,就可以一个数一个数地依次累加。


  选择结构



  选择结构就是根据条件来判断执行哪些语句,如果给定的条件成立,就执行相应的语句,如果不成立,就执行另外一些语句。


  例如,根据用户输入的年龄来输出不同的内容:






  用户输入年龄,程序会做出判断,根据不同的年龄输出不同的内容。这四个输出语句,只有一个被执行,其他三个被跳过,没有执行。


  循环结构



  循环结构就是在达到指定条件前,重复执行某些语句。


  例如,上面说到的计算 100! 的值,就会重复执行 S3、S4。


  最后,我们用双重循环结构来输出九九乘法表:




view plaincopy to clipboardprint?
#include <stdio.h>  
int main(){  
    int i, j;  
    for(i=1; i<=9; i++){  
        for(j=1; j<=i; j++){  
            printf("%-3d ", i*j);  // -3d 表示输出整数,宽度为3(占3个字符),左对齐  
        }  
        printf("\n");  
    }  
    return 0;  
} <img src="http://uphotos.**/1388735019/pics/a0c32f8f741e71a57797a7c229f9854f.png" height="198" width="433">   

使用特权

评论回复
板凳
jf101| | 2023-3-15 17:12 | 只看该作者
简洁紧凑、灵活方便、运算符丰富

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

389

主题

1463

帖子

3

粉丝