c语言实用教程(精品课件)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C
语 言 程 序 设 计
程序设计基础
(C语言)
C




设 计
第一章 程序设计基础
§程序设计概述 §算法概述及其表示 §程序开发过程 §C语言概述
1.1 程序设计概念
1.什么是程序设计
程序
软件
计算机
2.计算机语言的发展 计算机语言:人与计算机交流的工具。 种类: 机器语言 汇编语言 算高法级语言 面向对象语言 C语言是算法语言的一种。 C++是面向对象语言的一种
这样的算法虽然是正确的,但太繁琐。
传统流程图
例 求1×2×3×4×5。
弊端流程线
图2.8
N-S结构化流程图表示算法
在传统流程图中,完全去掉了带箭头 的流程线。全部算法写在一个矩形框内, 在该框内还可以包含其他的从属于它的框, 或者说,由一些基本的框组成一个大的框。 这种流程图就称N-S结构化流程图。这种 流程图适于结构化程序设计。
define PI 3.14 float r,s s=12.5
r=sqrt(s/PI) Printf(“%f”,r)
}
例2: 输入3个数,输出最小的数。
分析问题: 定义4变量x、y、z 、min ,从键盘依次输入3个数 给x、y、z赋值, min存放最小数。
用自然语言描述该算法: (1)输入x,y,z。 (2)若x<y,则x→min,否则y→min。 (3)若z<min,则z→min。 (4)输出min,min即为最小数。
顺序结构:操作顺序执行。 选择结构:根据给定的条件是否成立
而选择执行某种操作。 循环结构:反复执行某些操作。
三种基本结构
顺序结构 选择结构 循环结构
顺序结构示例:
#include<stdio.h> #include<math.h> void main() {float a,b,c,d,x1,x2;
算法:解决一个问题而采取的方法和步骤。
对同一个问题,可以有不同的解题方法和步 骤。方法有优劣之分。
算法也有优劣。
怎样表示一个算法
常用的有:
自然语言(人的日常使用语言)
伪代码 传统流程图 结构化流程图(N-S)等
算法的特点: 1、有穷性 2、确定性 3、有零个或多个输入 4、有一个或多个输出 5、有效性
例 求1×2×3×4×5。
用最原始的方法进行。
步骤1: 1×2=2
可以将迭代算法改写如下: 步骤1: t=1
步骤2: 2×3=6
步骤2: i=2
步骤3: 6×4=24
步骤3: t×i=>t(迭代变量)
步骤4: 24×5=120。 步骤4: i+1 => i 步骤3 这就是最后的结果。 步骤5: 当i<=5执行,否结束循环
计算:A=15+10
§ 机器语言 10110000 00001111 00101100 00001010
§ 汇编语言
MOV AX,15 ADD AX,10
§ 高级语言 a=15+10
Fortran 、 Basic 、 C 、C++等程序设计语言



X+15 X-15
若 X<Y 若 X Y
例1:计算面积为12.5 cm2的园的半径。 分析:s=∏r2 r=sqrt(s /∏);
程序:
#include<stdio.h> #include<math.h>
N-S流程图?
#define PI 3.14 void main( )
{ float r,s; s=12.5; r=sqrt(s/PI); printf(“半径为:%f”,r);
else b=0;
printf(“%d”,b); }
a>0时 a≤0时
程序设计的思想
问题
问题A
问题B
问题C
问题A1 问题A2
问题B1
问题B2
问题C1 问题C2
问题B21 问题B22 问题B23
自顶向下 逐步细化 模块化设计 结构化编码
1.2 算法的概念
从事各种工作和活动,都必须事先想好进行 的步骤,然后按部就班地进行。
循环结构程序示例:
void main( )
{int i,sum=0; for(i=1;i<=100;i++) sum=sum+i; printf(“sum=%d”,sum); }
循环结构
反复执行
void main( ) {int a,b=0,i; scanf(“%d”,&a); if(a>0)
for(i=1;i<=a;i++) பைடு நூலகம்=b+i;
§机器语言
1010 1001 0001 0110 0000 0001 0011 1100 0001 1000 0000 0001
………………… 0000 0000 0000 0000 0000 0000 0000 0000
§高级语言(C语言)
if (X<Y) Y=X+15;
else Y=X-15;
3.结构化程序设计思想:三种基本结构
scanf(“%f,%f,%f”,&a,&b,&c); d=b*b-4*a*c; x1=(-b+sqrt(d))/(2*a); x2=(-b-sqrt(d))/(2*a); printf(“x1=%f,X2=%f”,x1,x2); }
条件
选择结构示例:
#include<stdio.h> #include<math.h> void main() {float a,b,c,d,x1,x2;
scanf(“%f,%f,%f”,&a,&b,&c); d=b*b-4*a*c; if(d>=0) {x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a); printf(“x1=%f,X2=%f”,x1,x2);} else printf(“没有实根”); }
选择结构
N-S流程图用以下的流程图符号:
(1) 顺序结构
(2) 选择结构
(3) 循环结构:
当型循环结构
直到型循环结构
直到p1条件不成立为止。 直到给定的p1条件成立为止
例 求1×2×3×4×5。
程序的开发过程:
源程序 编辑
编译 链接
运行
目标程序 可执行程序
计算结果
程序设计一般包括以下几个步骤:
(1)分析问题并建立相应的数学模型。 (2)确定数据结构和算法。 (3)编程。 (4)调试。 (5)整理并写出文档资料。
程序: #include<stdio.h> void main( ) { int x,y,z,min; scanf(“%d%d%d”,&x,&y,&z); if(x<y) min=x; else min=y; if(z<min) min=z; printf(“min=%d”,min); }
相关文档
最新文档