C语言程序设计1:从问题到c语言的程序设计

程序设计面向的问题

许多常见问题通过软件解决了。

而比如打印九九乘法表、图形变换、文件压缩、求和问题、排序问题、数列问题等这种小问题,用程序解决。一切可计算问题都可以用程序解决

程序设计的五个步骤

  • 确定问题可计算;
  • 建立问题的数学模型;
  • 设计算法和数据结构;
  • 选择合适的计算机语言编写程序;
  • 调试运行程序分析结果

计算

  • 什么是计算

    从一个按规则组织的符号集合开始,再按照既定的规则一步步地改变这些符号集合,经过有限步骤之后得到一个确定的结果。

  • 可计算与不可计算

    输入参数和输出参数的对应关系是明确的

  • 计算复杂性

    从时间复杂度和空间复杂度两个方面度量

算法

  • 什么是算法

    有穷规则的集合

  • 算法的特性

    - 有穷性:有限步骤
    - 确定性:含义确切
    - 有效性:有效执行
    - 有零个或多个输入
    - 有一个或多个输出
    
  • 算法描述方法

    - 自然语言
    - 程序语言
    - 流程图:顺序结构、条件结构、循环结构
    - N-S图
    - PAD图
    - 伪代码
    

程序设计方法

  • 程序设计风格:

    - 正确性:正确实现功能
    - 易读性:易于阅读和理解、便于调试、修改和扩充
    - 健壮性:算法的对交互和环境的反应或处理能力。正确的输入有正确的结果,不正确的输入有相应的提示
    - 高效率:达到所需要的时空性能
    
  • 良好的设计风格应该是:

    - 源程序文档化:有意义的符号名如FindRoot;采用缩进格式...
    - 数据说明标准化:顺序;同类数据排序;对重要数据进行注释
    - 语句规范化:避免使用临时变量;尽量使用库函数;公共函数使用括号;避免二义性...
    - 输入输出格式化:格式简单;对输入数据要进行检验;对输入数据给出必要的提示;输入风格要一致;注释
    
  • 结构化程序设计的特征:

    - 模块化结构;
    - 以三种基本结构的组合来描述程序
    - 有限制地使用转移语句;
    - 每个结构只有一个入口,一个出口;
    - 采用结构化程序设计语言书写程序,并采用一定的书写格式使程序结构清晰,易于阅读;
    

小结

程序设计=数据结构+算法+方法

算法=问题分解+算法表达+程序实现

程序实现=语言+环境

posted @ 2020-10-24 14:29  sanhuamao  阅读(206)  评论(0编辑  收藏  举报