1 / 16

C 程序设计

计算机科学与技术系. C 程序设计. 课程说明. 教学重点: 使学生掌握 程序设计的思想和方法 ,培养学生的实践编程能力。 教学方法: 以程序设计为主线,从应用出发,通过案例和问题引入内容; 重点讲解程序设计的思想和方法; 结合相关的语言知识的介绍 教学组织实施: 主题-案例-实训. Ch1 概述及算法. 讲授:潘洁珠 合肥师范学院计算机科学与技术系. 1.1 程序和程序设计. C 程序 程序:用某种编程语言实现解决某一问题的算法的代码序列。 C 程序 一个简单的应用题: 小张工作了三个月,能拿到多少工资?.

sulwyn
Download Presentation

C 程序设计

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 计算机科学与技术系 C程序设计

  2. 课程说明 • 教学重点:使学生掌握程序设计的思想和方法,培养学生的实践编程能力。 • 教学方法:以程序设计为主线,从应用出发,通过案例和问题引入内容;重点讲解程序设计的思想和方法;结合相关的语言知识的介绍 • 教学组织实施:主题-案例-实训

  3. Ch1 概述及算法 讲授:潘洁珠 合肥师范学院计算机科学与技术系

  4. 1.1 程序和程序设计 • C程序 • 程序:用某种编程语言实现解决某一问题的算法的代码序列。 • C程序 • 一个简单的应用题:小张工作了三个月,能拿到多少工资? #include “stdio.h”main(){ float ygz,zgz; scanf(“%f”,&ygz); zgz=ygz*3; printf(“3个月应发工资是:%f\n”,zgz); }

  5. 1.1 程序和程序设计 2.程序设计 • 确定数据结构 • 确定算法 • 编码 • 调试(静态调试、上机调试) • 整理并写出文档

  6. 1.1 程序和程序设计 • 3.运行C程序 • 输入、编辑源程序 • 对源程序进行编译 • 与库函数连接 • 运行目标程序

  7. 1.2 算法——程序设计的灵魂 • 算法:为解决某个特定问题而采取的确定且有限的步骤。 • 具有5个特性 • 有穷性:一个算法应包含有限个步骤,在合理时间内完成。 • 确定性:算法中每个指令都必须有确定含义,无二义性,相同输入当相同结果 • 可行性:算法中指定的操作,都可以通过已经实现的基本运算执行有限次后实现。 • 有零个或多个输入 • 有一个或多个输出

  8. 起止框 处理框 输入输出框 判断框 连接点 流程线 1.3 流程图与NS图 • 流程图常见图形 2.NS图:去掉流程线,算法的每一步都用矩形框来描述。

  9. 开始 a=1,b=2 a=1,b=2 s=a+b s=a+b 输出s 输出s 运行结果: a+b=3 结束 1.4 结构化程序设计和模块化结构 • 结构化程序(三种基本结构) • 顺序结构例:求两个整数和。 #include “stdio.h”main(){ int a,b,s; a=1; b=2; s=a+b; printf(“a+b=%d\n”,s); }

  10. 开始 输入n 输入n Y N n为偶数? 判断n是否是偶数 输出“是” 输出“否” Y N 输出“是” 输出“否” 结束 • 选择(分支)结构 例:判断用户输入的整数是否是偶数。 #include “stdio.h”main(){ int n; scanf(“%d”,&n); if (n%2==0) printf(“yes\n”); else printf(“no\n”); }

  11. i=1,s=0 i<=100 开始 s=s+i i=i+1 i=1,s=0 输出s s=s+i i=i+1 Y i<=100 ? N 输出s 结束 • 循环结构 例:求1+2+…+100。 #include “stdio.h”main(){ int i=1,s=0; while (i<=100) { s=s+i; i=i+1; } printf(“%d\n”,s); }

  12.  当型循环结构  直到型循环结构 A 假 P 当p为真 P A 真 A 假 A 直到P为假 (a) (b) (b) (a) • 循环结构 • 当型循环 • 直到型循环

  13. 选择结构 直到型循环结构 当型循环结构 顺序结构 当p为真 A A 直到P为真 P A B 假 真 A B • 三种基本控制结构共有的特点是: • 有一个入口,有一个出口; • 结构中每一部分都有被执行到的机会,也就是说,每一部分都有一条从入口到出口的路径通过它(至少通过一次); • 没有死循环(无终止的循环)。

  14. 模块化结构 • 将复杂的大任务划分成若干子任务,每个子任务完成一个简单功能。程序设计时,程序设计人员分别完成一个或多个小模块,称此程序设计方法为“模块化”。 • C语言中用函数实现。 • 例子:求2个整数中的最大数。

  15. #include “stdio.h”int max(int x,int y){ int r ; if (x>y) r=x; else r=y ; return r ;} main(){ int a,b,c; scanf(“%d,%d”,&a,&b); c=max(a,b); printf(“最大值为%d\n”,c); }

  16. 思考题 • 分析下列问题,用流程图或NS图描述算法: • 交换两个瓶子中的液体。 • 求n!(n由用户输入)。 • 根据用户输入x的值,计算并输出y的值。 • 根据用户输入x的值,计算并输出y的值。

More Related