高级语言程序设计 张长海 软件自动化研究室 Tel:85166267 Email:changhai@jlu.edu.cn.

Slides:



Advertisements
Similar presentations
北大附中深圳南山分校 倪 杰 2016年8月25日星期四 2016年8月25日星期四 2016年8月25日星期四 Ox y 1 1 y=a x (a>1)
Advertisements

龙泉护嗓5班 优秀作业展.
第五章 企业所得税、个人所得税.
九十五年國文科命題知能 研習分享.
2011年会计初级职称全国统考 初级会计实务 教案 主讲:高峰 2010年12月.
人力资源管理资格考证(四级) 总体情况说明.
财经法规与会计职业道德 Company Logo.
2013届高考复习方案(第一轮) 专题课件.
第二节 时间和位移.
第十五章 虚位移原理 主讲:姚庆钊 §15-1 约束·虚位移·虚功 § 15-2 虚位移原理 §15-3 广义坐标和广义自由度.
全国一级建造师执业资格考试 《建设工程法规及相关知识》 高 唱
热点专题: “法轮功”问题.
C语言程序设计 主讲教师 :张群燕 电话:
实验室资质认定评审准则.
第六章 其他税收法律制度.
服务热线: 菏泽教师招聘考试统考Q群: 菏泽教师统考教育基础模拟题解析.
第二单元 生产、劳动与经营.
2011年广西高考政治质量分析 广西师范大学附属外国语学校 蒋 楠.
1.6 中国人口迁移.
用问题激发学生的思维 \.
知识回顾 1、通过仔细观察酒精灯的火焰,你可以发现火焰可以分为 、 、 。 外焰 内焰 焰心 外焰 2、温度最高的是 。
2016届高三期初调研 分析 徐国民
主题一 主题二 模块小结与测评 主题三 考点一 主题四 考点二 主题五 考点三 主题六 考点四 命题热点聚焦 考点五 模块综合检测 考点六.
第十章《热力学定律 》 10.5《热力学第二定律 的微观解释》.
会计学 第九章 财务会计报告.
企业所得税.
第一章 民法概述 一、民法概念 P4 二、民法的调整对象 三、民法的分类 四、民法的渊源 P10 五、民法的适用范围(效力范围)
刑法分论5-2 周铭川.
第七章 财务报告 财务报告 第一节 财务报告概述 一、财务报告及其目标: 1、概念:财务报告是指企业对外提供的反映企业某一特定日期
第16课 抗日战争.
发展心理学 王 荣 山.
第十课 创新意识与社会进步 1.辩证的否定观:辩证否定、形而上学的否定观
第 十一 课  寻觅社会的真谛.
动物激素的调节及其在农业生产中的应用(B级)
珍爱生命.
第6章 PLC控制系统设计与应用 教学目的与要求:熟悉相关指令的综合应用,掌握PLC控制系统设计方法,掌握PLC程序编制方法,巩固所学内容。
政治第二轮专题复习专题七 辩 证 法.
第七章 财务报告 主讲老师:王琼 上周知识回顾.
经济法基础习题课 第7讲 主讲老师:赵钢.
高级语言程序设计 主讲人:陈玉华.
模块化程序设计-函数 重写例1.1—模块化程序设计 函数 程序设计实例 作业:
第二节 时间 位移.
第六章 静电场 第3课时 电场能的性质.
第1章 静力学基础 几个重要名词 静力学:研究力的基本性质和力系的合成以及物体在力系作用下平衡规律及其应用。
第1章 概述 本章要点: C语言程序结构和特点 C语言程序的基本符号与关键字 C语言程序的编辑及运行 学习方法建议:
《2015考试说明》新增考点:“江苏省地级市名称”简析
《数字电子技术基础》(第五版)教学课件 清华大学 阎石 王红
第二章劳动合同法律制度(2) 主讲老师:梁天 经济法基础.
乘法公式 (1) 乘法分配律 (2) 和的平方公式 (3) 差的平方公式 (4) 平方差公式.
变 阻 器 常州市北郊初级中学 陆 俊.
经济法基础习题课 主讲:赵钢.
第一章 程序设计和C语言 主讲人:高晓娟 计算机学院.
C语言程序示例: 1.输入10个数,按从小到大的顺序排序。 2.汉诺塔问题。.
会计基础 第二章 会计要素与会计等式 刘颖
C语言程序设计 教案 崔武子制作
7.1 C程序的结构 7.2 作用域和作用域规则 7.3 存储属性和生存期 7.4 变量的初始化
C程序设计.
第一章 C语言概述 目录 什么是语言、程序 C语言的历史与发展 C语言的书写形式与程序结构 运行C语言的步骤与方法
THE C PROGRAMMING LANGUAGE
第二章 类型、对象、运算符和表达式.
 第四章 消费税法律制度 经济法基础 模板来自于
第五章 逻辑运算和判断选取控制 §5.1 关系运算符和关系表达式
中级会计实务 ——第一章 总论 主讲:孙文静
Introduction to the C Programming Language
高   学科 第五章 曲线运动 1、曲线运动 涪陵一中物理组.
基本資料型態 變數與常數 運算子 基本的資料處理 授課:ANT 日期:2014/03/03.
第5章 机件的表达方法 5.1 视图(GB/T17451—1998) 5.2 剖视图(GB/T 17452—1998) 5.3 断 面 图
4.理財規劃者適格性分析與實作 理財規劃重點 生涯階段 「就業前準備階段」(學習階段) 「初入社會階段」 「確定職涯階段」 「維持職涯階段」
2-2 圖形的放大與縮小.
Presentation transcript:

高级语言程序设计 张长海 软件自动化研究室 Tel:85166267 Email:changhai@jlu.edu.cn

教材 《程序设计基础》 《程序设计基础习题集》 参 考 文 献 Niklaus Wirth , 《Algorithms+Data structures=Programs》 , Eng lewood cliffs, Prentice-Hall, Inc. 裘宗燕《从问题到程序,程序设计与C语言引论》 北京 机械工业出版社 石峰 《程序设计基础》 北京 清华大学出版社 谭浩强《C程序设计 》北京 清华大学出版社 Samuel P.Harbison III,Guy L.steele Jr. , 《C:A Reference Manual,Fifth Edition》 , Prentice-Hall,Inc. February ISO/IEC 9899:1999/Cor.1:2001(E)《Information technology - Programming languages-C》 GB/T 15272-94 中华人民共和国国家标准 《程序设计语言C》1994-12-7

第一章 绪论 求玉米产量—计算 作业 算法 1.3 1.6 PAD图 程序 熟悉开发环境 运行 练习 C 语言 1.1 1.2 Visual C++集成开发环境 本章小结 作业 1.3 1.6 熟悉开发环境 练习 1.1 1.2 1.4 1.5 1.7 1.8

§1.1 求玉米产量—计算 【例1.1】已知玉米每亩产量650公斤。如图1.1所示,现有一个近似四边形的地块位于南北方向路东侧,东西方向路北侧。其一个顶点距离南北方向路547米,距离东西方向路411米;另一个顶点距离南北方向路804米,距离东西方向路77米;第三个顶点距离南北方向路39米,距离东西方向路208米;第四个顶点距离南北方向路116米,距离东西方向路332米。若该地块种植玉米,求该地块玉米产量。

Y↑ 北 东 547 A D 116 411 39 C 332 208 804 B 77 → X 数学化 总产量=总面积*单位产量 计算步骤如下 计算该地块面积 折合成亩(每亩1000平方米) 求总产量 计算总面积:建坐标系

→ Y↑ X 第二步分析:计算总面积 北 547 东 A D 116 411 39 C 332 208 804 B 77 计算三角形ABD的面积,设为S1; 计算三角形BCD的面积,设为S2; S1+S2

→ Y↑ X 北 547 东 A D 116 411 39 C 332 208 804 B 77 第三步——选择计算三角形面积公式 S是三角形面积,a、 b、 c 三角形三边边长 s=(a+b+c)/2

→ Y↑ X 第五步——求三角形边长 北 547 东 A D 116 411 39 C 332 208 804 B 77 第四步—— 计算△ABD(△ BCD)面积 求边AB长度,记为ab; 求边BD长度,记为bd; 求边AD长度,记为ad; 计算s 计算S 第五步——求三角形边长

这就是程序 这个过程就是程序设计 计算过程 按公式求出AB边长度 ab 用同样公式计算边BD长度bd 用同样公式计算边AD长度ad 按公式计算出s 按公式计算出△ABD的面积S1 重复上述1、2、3、4、5步计算△BCD的面积S2 计算总面积S=S1+S2 把面积S折合成亩SS=S/1000 计算总产量M=SS×950 这就是程序 这个过程就是程序设计

程序设计过程 建立数学模型—把实际问题转化为数学问题 找出计算方法—为数学问题的求解找出方法 进行算法分析—为实现计算方法给出具体算法 选择程序设计语言,编出计算机程序—写程序 调试程序—保证程序的正确性 运行,测试程序的正确性—组装测试、确认测试 交付使用并维护

§1.2 算法 什么是算法 有效算法的特点 一个计算过程,包含具体明确的操作 描述了解决问题的方法和途径 是程序设计的基础和精髓 有穷性 §1.2 算法 什么是算法 一个计算过程,包含具体明确的操作 描述了解决问题的方法和途径 是程序设计的基础和精髓 有效算法的特点 有穷性 确定性 有效性

算法的组成 基本操作 基本控制结构 表达式以及给变量赋值 读(输入) 写(输出) 顺序控制结构 分支控制结构 循环控制结构 函数调用 函数返回

§1.3 PAD (Problem Analysis Diagram) 操作1 操作2 操作n … 操 作 图1.2 基本操作 图1.3 顺序控制结构

按公式 计算边AB边长度ab; 用同样公式计算边BD长度bd; 用同样公式计算边AD长度ad; 按公式 计算s 图1.4 例1.1算法的PAD描述 求总面积S=S1+S2 折合成亩 计算总产量 打印输出 按公式 计算边AB边长度ab; 用同样公式计算边BD长度bd; 按公式 计算△ABD的面积S1 按公式 计算s 用同样公式计算边AD长度ad; 计算另一个△BCD面积S2

§1.4 程序 什么是程序 程序语言 按公式求出AB边长度 ab 用同样公式计算边BD长度bd 用同样公式计算边AD长度ad 指令序列 §1.4 程序 按公式求出AB边长度 ab 用同样公式计算边BD长度bd 用同样公式计算边AD长度ad 按公式计算出s 按公式计算出△ABD的面积S1 重复上述1、2、3、4、5步 计算△BCD的面积S2 计算总面积S=S1+S2 把面积S折合成亩 SS=S/1000 计算总产量M=SS×950 什么是程序 指令序列 程序语言 与计算机交流 下达指令

具体程序 #include <stdio.h> #include <math.h> #define xa 547 #define ya 411 #define xb 804 #define yb 77 #define xc 39 #define yc 208 #define xd 116 #define yd 332 float ab, bd, ad, bc, cd ; float s, s1 ,s2,ss,m;

void main(void) { // 主函数 // 计算一个三角形面积 ab=sqrt( (xa-xb)* (xa-xb)+(ya-yb)* (ya-yb) );//边ab长 bd=sqrt( (xb-xd)* (xb-xd)+(yb-yd)* (yb-yd) );//边bd长 ad=sqrt( (xa-xd)* (xa-xd)+(ya-yd)* (ya-yd) );//边ad长 s=(ab+bd+ad)/2; //s s1=sqrt( s*(s-ab)*(s-bd)*(s-ad) ); //面积 // 计算另一个三角形面积 bc=sqrt( (xb-xc)* (xb-xc)+(yb-yc)* (yb-yc) );//边BC长 cd=sqrt( (xc-xd)* (xc-xd)+(yc-yd)* (yc-yd) );//边CD长 s=(bc+bd+cd)/2; //边BD长bd前边已经计算 s2=sqrt( s*(s-bc)*(s-bd)*(s-cd) ); ss=s1+s2; // 总面积S=S1+S2 ss=ss/1000; // 折合成亩 m=ss*950; // 计算总产量 printf(“m=%10.3f\n”,m); // 打印输出 }

具体程序 #include <stdio.h> 头文件 #include <math.h> #define xa 547 #define ya 411 #define xb 804 #define yb 77 #define xc 39 #define yc 208 #define xd 116 #define yd 332 float ab, bd, ad, bc, cd ; float s, s1 ,s2,ss,m; 常量定义 变量声明

一般C程序 文件hello.c #include <stdio.h> void hello(void){ printf(“Hello!\n”); } 文件startup.c extern void hello(void); int main(void) { hello(); return 0 }

概括:C程序结构 一个C程序由一个或若干个编译单元组成,每个编译单元是一个源程序文件; 一个编译单元由若干顶层声明组成,每个顶层声明是一个声明或函数定义,其中主要为函数定义; 声明包括类型定义、变量声明、外部声明、宏、… 等; 任何C程序必须包含且仅包含一个主函数main。

§1.5 运行 机器语言 1010 1001 0001 0110 0000 0001 0011 1100 0001 1000 0000 0001 … … … … … … … 0000 0000 0000 0000 高级语言 if (X<Y) Y=X+15; else Y=X-15;

程序执行 用汇编语言或高级语言编出程序 编辑、录入源程序 由翻译器(编译程序) 将源程序翻译成机器语言程序 由连接程序将机器语言程序连接 将可执行程序送入计算机 并启动计算机执行 得到最后结果 用汇编语言或高级语言编出程序 编辑、录入源程序 由翻译器(编译程序) 将源程序翻译成机器语言程序 由连接程序将机器语言程序连接 生成计算机可执行的程序

将可执行程序送入计算机 并启动计算机执行 得到最后结果 用汇编语言或高级语言编出程序 编辑、录入源程序 由翻译器(编译程序) 将源程序翻译成机器语言程序 由连接程序将机器语言程序连接 生成计算机可执行的程序 出错 数据出错 程序出错

一般C程序执行 文件hello.c #include <stdio.h> void hello(void){ printf(“Hello!\n”); } 文件startup.c extern void hello(void) int main(void) { hello(); return 0 } hello.c  hello.obj startup.exe startup.c  startup.obj

§1.6 C语言 70年代初,C 语言在美国贝尔实验室诞生。它的前身可以追朔到ALGOL60 、CPL 、BCPL 、B 。 1989年ISO公布ISO/IEC 9899:1990 ,简称“C89”。 1995年对C89作修改和补充,称为“C95”。 1999对C进行更大的修订后,公布 ISO/IEC 9899:1999,简称“C99”。 我国于1994年12月4日公布了“中华人民共和国国家标准 GB/T 15272-94 程序设计语言 C”。

C语言的优点 语言简洁、紧凑,使用方便、灵活; C本身是模块式,便于集体分工合作开发大型程序 运算符丰富 数据结构丰富 具有结构化控制结构 与计算机硬件联系紧密,可以直接访问计算机内存,具有位操作 生成目标代码质量高。

C语言的缺点 语法不严格 类型机制不严密,比如字符类型与整数类型没有区别、不检查下标超界 程序设计自由度太大,不利于保证程序的正确性 若程序与计算机硬件联系太密切,则可移植性不好 有些语言成分太复杂,比如运算符 语言本身不能保证程序设计的结构化。

§1.7 Visual C++集成开发环境 Hello 程序 求玉米产量的具体程序 启动VC++ 建立环境 录入、编辑源程序 编译 连接 运行 求玉米产量的具体程序

本章小结 求玉米产量 算法 PAD图 程序 程序设计语言种类 程序的执行 程序结构 C 语言 VC开发环境