*不管用哪一种语言来编写程序,都必须熟悉该语言的语法规则和使用规定,严格按照该语言的语法规则和使用规定来编写程序。
*要经常进行程序设计的脑力思维,掌握程序设计的技能
★人们是如何从解决实际问题入手编写程序的?
算法和算法设计
1.算法
算法就是为解决一个特定的问题所采取的
确定的有限的步骤。
例1.1 求导体电阻。
计算机操作步骤如下:
(1)从键盘输入电压数据和电流数据;
(2)用公式R=U/I求出导体电阻;
(3)在屏幕上输出运算结果。
算法描述:
(1)设置:变量u,变量i,变量r;
(2)输入:u, i;
(3)运算:r=u/i;
(4)输出:r.
2.算法和算法设计
例:输出两个数据中的较大者。
算法描述:
(1)设置变量a1,a2,max;
(2)输入输入两个数据分别存放于a1,a2中;
(3)若a1≥a2,则让max=a1,
否则就是a1
(4)输出max内容;
(5)结束。
算法和算法设计
例:统计某次考试100个学生的平均成绩。
对这道题,粗略的算法是分两步:
第1步,计算出100个学生的成绩总分;
第2步,求出平均分并打印出来。
算法描述:
(1)将第1个学生的成绩输入计算机;
(2)将第2个学生的成绩输入计算机;
(3)将以上两个学生的成绩相加;
(4)将第3个学生的成绩输入计算机;
(5)将它和前两个学生的成绩和相加;
(6)将第4个学生的成绩输入计算机;
……
(198)将第100个学生的成绩输入计算
(199)将它和前99个学生的成绩和相力直至加完个学生的成绩总分;
(200)将成绩总分除以100,得到平均
(201)打印出平均分。
先安排好存放数据的变量
设:sum为“累加变量”,sum的初值=0。
c为“输入暂存变量”。
mean为“平均分变量”,存放要输出的结果。
n为“计数变量”,记录累加的学生成绩个
数。n的初值=0。
具体算法:
(1) sum-0;
(2) n-0
;(3)输入一个成绩→c;
(4) c+sum→sum;
(5) n+1→n,表示已累加了一个学生的成绩;
(6)若n<100则返回(3),否则执行(7);
(7) sum/n→mean;
(8)打印出平均分mean的值。
算法的流程图表示:
算法可以用自然语言来表示,也可以用流程图
来表示。
流程图能直观简明地描述算法,它由一些特定
的几何符号、文字说明和流向线组成。
常用流程图符号
3.算法的特性
(1)有穷性。
(2)确定性。
(3)有0个或多个输入量或者初始值,有1个或
多个输出量。所有算法涉及的数据,包括运算
的中间结果和暂存数据,必须以变量的形式安
排好存放的地方。一般变量有自己的标识,即
变量名称。
(4)可执行性。
C语言及其特点:
为提高互换性,美国国家标准学会(ANSI)对C语言进行
了规范化,并于1987年公布了新标准87ANSI C,得到
了各国的承认,以后又发展为新的C语言标准,既ANSI
X3.159-1989,简称C89。
1990年,国际标准化组织ISO接受C89为国际标准
ISO/IEC 9899:1990,简称C90,以后修订为C95。
1999年,又扩充了一些面向对象的特征,命名为
ISO/IEC 9899:1999,即C99。
目前流行的C编译系统如DOS系统下的MS C5.0、Turbo
C2.0/3.0,UNIX系统下的UNIX 4.2BSD等都是以它为基础的。
随着计算机技术的发展,C语言本身也在不断
地改进和发展。如C++就是在C基础上,扩充
了面向对象的程序设计而发展为一种全新语
言。
C++与C完全兼容,C++是C的超集,C是C++的
子集。
现今普遍流行的基于可视化编程的Visual
C++、Borland C++、网络编程语言JAVA等皆
以C语言为基础。可以说,掌握了C语言,就
掌握了深层应用计算机的本领。
优点:
(1)C语言既具有一般高级语言的易读、易写、易
查错等特点,又具有某些低级语言的功能,它的这
一特点使得它很适合编写需要直接与计算机硬件打
交道的系统软件和控制软件。
(2)C语言是一种结构化程序设计语言,它主张程
序模块化,采用函数调用方式来组成程序,非常方
便模块化软件设计。
(3)C语言数据类型很丰富。有基本类型和构造类
型等。特别是C的指针类型,它的强有力的功能与
使用上的灵活成为C语言的特征。
(4)C语言的运算符极其丰富,有34种之多。除了
拥有一般高级语言普遍具有的运算外,还有位运算
及独具特色的自增自减、复合赋值等运算。
(5)C语言移植性好,其输入输出功能是通过系统
提供的库函数完成的。
(6)C语言提供了一组以“#”号打头的预处理命令,
便于有效地组织和编译程序。
(7)语言简捷、紧凑、高效。
C语言也有不足的一面:
如它对变量类型的不一致性不作语法上的严格检查,
对变量和指针、数组越界没有设置屏障,
某些运算(自增自减等)还带来副作用等。
因此,编程者不能过多地依赖编译程序找出错误,
而要靠自己去保证程序的正确性,初学者应注意这
点。
目前,C语言成了学习和使用人数最多的一种计算
机语言,熟练掌握和应用C语言是从事计算机应用
人员的必备技能。
用C语言编写程序实现算法:
求梯形面积的C程序
#include “stdio.h”
void main()为程序注释,位于语句末尾或单独占一
行。计算机执行时是不理睬程序注释的。一般应尽量多注释,便于以后修改维护程序时读懂程序。
⑥程序一般采用“缩格写法”,即不同层次的语句,其起始书写位置应给以区别。下一层次的语句应缩进
若干字数,同一层次的语句起始位置相同,这样整个程序层次清楚,易于阅读。
C程序的开发过程:
(1)确定算法。包括确定数据结构和设计算法。根据要完成的任务和指定的输入数据与输出结果确定存放数据的数据结构,由粗到精,用流程图描述出详细的算法。
(2)编码,即编写C源程序。可
书面编写或直接上机操作。
(3)上机调试程序。
(4)整理并写出文档资料。



