第一章程序设计和基本流程.
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
注释
/* This function calculates the sum of x and y */ int add(int x,int y) 运行结果: { int z; sum=34 z=x+y; return(z); 西北大学信息科学与技术学院. All rights reserved 2011 第6页 }
第一章 程序设计和基本流程
§ 1.1 § 1.2 § 1.3 § 1.4 § 1.5 程序设计基础 功能模块图 算法和数据结构 流程图 程序开发的基本过程
第1页
西北大学信息科学与技术学院. All rights reserved 2011
第一章 程序设计和基本流程
§1.1 程序设计基础
1.1.1 程序设计语言的发展历史 1.1.2 程序的基本构成 1.1.3 程序的编制及运行步骤
西北大学信息科学与技术学院. All rights reserved 2011 第 11 页
1.2.2 模块化程序设计的思想
结构化的程序设计方法:
自顶向下、逐步求精、模块化
(1)每天的日程
(2)一台大型的机器的制作 (3)一个软件开发公司的架构 (4)一个机器人的行走 (5)打印一个较为复杂的图案 (6)QQ的实例
/* example1.1 The first C Program*/ #include <stdio.h> 编译预处理 main() 函数 { printf(“Hello,World!”); 语句 } 注释
输出:Hello,World!
西北大学信息科学与技术学院. All rights reserved 2011 第5页
西北大学信息科学与技术学院. All rights reserved 2011 第3页
52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96
Ada Modula-2
Pascal ALGOL60 ALGOL68 CPL BCPL B
C
Smalltalk 80 C++ Java
Simula 67 BASIC FORTRAN PL/1 COBOL
ANSI-BASIC QBASIC VB FORTRAN90 FORTRAN77
LISP
PROLOG
程序设计语言发展时间表
1.1.2
程序的基本构成
例1.1 第一个程序 Hello,World!
西北大学信息科学与技术学院. All rights reserved 2011
第 10 页
Βιβλιοθήκη Baidu 1.2.1 为什么要将程序模块化
当计算机在处理较复杂的任务时,所编写的程 序经常由上万条语句组成。 复杂的任务分解为若干个子任务,每个子任务 又分为很多的小子任务,每个小子任务只完成 一项简单的功能。
用一个个小模块来实现这些功能,每个程序设 计人员分别完成一个或多个小模块。
习惯用小写字母,大小写敏感 一般不使用行号,无程序行概念 可使用空行和空格 常用锯齿形书写格式
优秀程序员的素质:
使用TAB缩进 {}对齐 有足够的注释 有合适的空行 望文知义的起名风格
西北大学信息科学与技术学院. All rights reserved 2011
1.1.2
程序的基本构成
编译预处理命令
西北大学信息科学与技术学院. All rights reserved 2011 第8页
1.1.3
程序的编制及运行步骤
开 始
编
辑 源程序 file.c
编
译
编辑 编译 链接 执行
程序代码的录入, 生成源程序*.c 语法分析查错,翻译 生成目标程序*.obj 与其它目标程序或库 链接装配,生成可执行 程序*.exe
有 有错? 无 可执 行 目标 程 序 file.exe 连 接
目 标 程 序 file.obj
库函数和 执 行 其它目标 程序
不正确 结果正确? 正确 结 束
西北大学信息科学与技术学院. All rights reserved 2011
第9页
第一章 程序设计和基本流程
§1.2 功能模块图
1.2.1 为什么要将程序模块化 1.2.2 模块化的程序设计思想 1.2.3 程序的功能模块图
– 结构组成
• 函数与主函数
– 程序由一个或多个函数组成 – 必须有且只能有一个主函数main() – 程序执行从main开始,在main中结束,其它函数通过嵌 套调用得以执行。
• 程序语句
– 程序由语句组成 – 用“;”作为语句终止符 – /* */为注释,不能嵌套 – 不产生编译代码
非法
• 注释 例: /*This is the main /* of example1.1*/ */
西北大学信息科学与技术学院. All rights reserved 2011 第 12 页
西北大学信息科学与技术学院. All rights reserved 2011
第2页
1.1.1 程序设计语言的发展历史
程序设计是数据被加工的过程 机 汇 器 编 语 语 言 言 冯.诺依曼结构: 高 级 语 言 面向过程
面向对象
运算器 中央处理器CPU CPU指令系统,由0、 1 序列构成的指令码组成 客观世界可以分类,对象是类的实例 主机: 控制器 面向机器的语言 用助记符号描述的指令系统 如:10000000 加 对象是数据和方法的封装 程序设计关键是定义类,并由类派生对象 如 ADD A, B 存储器 10010000 减 对象间通过发送和接受消息发生联系 计算机 I/O设备:键盘、显示器等
程 序 的 基 本 构 成
1.1.2
• • • •
程序的基本构成
main( ) { int i , j , sum; sum=0; for(i=1; i<10;i++) { for(j=1;j<10;j++) { sum+=i*j ; } } printf(“%d\n”,sum); }
第7页
格式特点
/*
例1.2
计算a和b的和*/
#include <stdio.h> 预处理命令 /* This is the main program */ main() { int a,b,sum; 函数 a=10; 语句 b=24; sum=add(a,b); printf(”sum= %d\n",sum); }