C 语言程序设计 2008 版. C 语言程序设计 教学要求  掌握程序设计语言的基本知识  常用算法  初步的程序设计能力 学习方法  自主学习  重视上机实践.

Slides:



Advertisements
Similar presentations
纺纱学. 2 绪 论 基本要求:了解纺纱系统的类别 重点掌握:棉纺系统的工艺流程 3 一、纺纱原理与设备 纺纱:用物理或机械的方法将纺织纤维纺成纱 线的过程。 纺纱原理:初加工、原料的选配、开松除杂、 混和、梳理、精梳、并合、牵伸、加捻、卷绕等。 纺纱方法:传统纺纱方法、新型纺纱方法。 纺纱设备:开清棉联合机、梳棉机、精梳机、
Advertisements

第十二章 常微分方程 返回. 一、主要内容 基本概念 一阶方程 类 型 1. 直接积分法 2. 可分离变量 3. 齐次方程 4. 可化为齐次 方程 5. 全微分方程 6. 线性方程 类 型 1. 直接积分法 2. 可分离变量 3. 齐次方程 4. 可化为齐次 方程 5. 全微分方程 6. 线性方程.
概率统计( ZYH ) 节目录 3.1 二维随机变量的概率分布 3.2 边缘分布 3.4 随机变量的独立性 第三章 随机向量及其分布 3.3 条件分布.
基本知识和几何要素的投影 模块一: 字体练习 第一章 制图的基本知识与基本技能 题目提示返回.
第 12 章位运算 C 语言兼具高级语言及低级语言的特性,因此 适合编写系统软件。 C 语言具备低级语言的特性 就在于它能直接对硬件进行操作,即位运算。 所谓位运算是指,按二进制位进行的运算。 例如,将一个存储单元中各二进位左移或右移一 位等。
第四章 犯罪概念与犯罪构成. 第一节 犯罪概念 一、犯罪概念的类型  (一)犯罪的形式概念  (二)犯罪的实质概念  (三)犯罪的混合概念.
第二节 Flash 动态按钮的制作 铁王中学 王东强 学习目标: 1 、了解 ActionScript 在交互动画中的重要作 用 2 、知道 ActionsScript 程序的组成 3 、熟练使用按钮中的 ActionScript 控制动画 播放的操作,掌握按钮的创建和使用方法,
石化的 IT 大挑战 洛阳石化工程公司. 石化公司简介 中国石化集团洛阳石油化工工程公司,是国内能源化 工领域集技术专利商与工程承包商于一体的高科技企 业。拥有中国综合设计甲级资质,为国家首批业务涵 盖 21 个行业的工程咨询企业之一,拥有工程总承包、 工程设计、工程监理、工程咨询和环境影响评价等甲.
HistCite 结果分析示例 罗昭锋. By:SC 可能原因:文献年度过窄,少有相互引用.
细分曲面 傅孝明 SA 目录 细分曲面的基本思想 两个关键问题 一些基本概念 几种简单的细分曲面算法 细分曲面方法分类.
计算机 在分析化学的应用 ( 简介 ) 陈辉宏. 一. 概述 信息时代的来临, 各门学科的研究方法都 有了新的发展. 计算机的介入, 为分析化学的进展提供了 一种更方便的研究方法.
4 第四章 矩阵 学时:  18 学时。 教学手段:  讲授和讨论相结合,学生课堂练习,演练习题与辅导答疑相结合。 基本内容和教学目的:  基本内容: 矩阵的运算,可逆矩阵,初等矩阵及其性质和意义, 分块矩阵。  教学目的:  1 .使学生理解和掌握矩阵等价的相关理论  2 .能熟练地进行矩阵的各种运算.
编译程序 构造原理和实现技术 授课教师:吕江花. 第一章 编译程序概述 主要内容: 几个基本概念 编译器的工作过程概述 编译器各个阶段的功能描述 编译程序的实现途径.
嵌入式操作系统 陈香兰 Fall 系统调用 10/27/09 嵌入式 OS 3/12 系统调用的意义  操作系统为用户态进程与硬件设备进行交互提供 了一组接口 —— 系统调用  把用户从底层的硬件编程中解放出来  极大的提高了系统的安全性  使用户程序具有可移植性.
地理信息系统概述. 数据和信息 (Data & Information) 数据 原始事实 如:员工姓名, 数据可以有数值、图形、声音、视觉数据等 信息 以一定规则组织在一起的事实的集合。
第 4 章 抽象解释 内容概述 以一种独立于编程语言的方式,介绍抽象解释的 一些本质概念 – 将 “ 程序分析对语言语义是正确的 ” 这个概念公式 化 – 用 “ 加宽和收缩技术 ” 来获得最小不动点的较好的 近似,并使所需计算步数得到限制 – 用 “ 伽罗瓦连接和伽罗瓦插入 ” 来把代价较大的属 性空间用代价较小的属性空间来代替.
吉林大学远程教育课件 主讲人 : 杨凤杰学 时: 64 ( 第六十二讲 ) 离散数学. 最后,我们构造能识别 A 的 Kleene 闭包 A* 的自动机 M A* =(S A* , I , f A* , s A* , F A* ) , 令 S A* 包括所有的 S A 的状态以及一个 附加的状态 s.
1 为了更好的揭示随机现象的规律性并 利用数学工具描述其规律, 有必要引入随 机变量来描述随机试验的不同结果 例 电话总机某段时间内接到的电话次数, 可用一个变量 X 来描述 例 检测一件产品可能出现的两个结果, 也可以用一个变量来描述 第五章 随机变量及其分布函数.
吉林大学远程教育课件 主讲人 : 杨凤杰学 时: 64 ( 第三十八讲 ) 离散数学. 第八章 格与布尔代数 §8.1 引 言 在第一章中我们介绍了关于集 合的理论。如果将 ρ ( S )看做 是集合 S 的所有子集组成的集合, 于是, ρ ( S )中两个集合的并 集 A ∪ B ,两个集合的交集.
吉林大学远程教育课件 主讲人 : 杨凤杰学 时: 64 ( 第四十八讲 ) 离散数学. 例 设 S 是一个非空集合, ρ ( s )是 S 的幂集合。 不难证明 :(ρ(S),∩, ∪,ˉ, ,S) 是一个布尔代数。 其中: A∩B 表示 A , B 的交集; A ∪ B 表示 A ,
第十一章 曲线回归 第一节 曲线的类型与特点 第二节 曲线方程的配置 第三节 多项式回归.
协同工作环境研究中心 协同共享 助力科研. 主要内容  认识协同及协同软件  协同科研软件 duckling 介绍.
线性代数习题课 吉林大学 术洪亮 第一讲 行 列 式 前面我们已经学习了关 于行列式的概念和一些基本 理论,其主要内容可概括为:
吉林大学远程教育课件 主讲人 : 杨凤杰学 时: 64 ( 第二十五讲 ) 离散数学. 定理 群定义中的条件 ( 1 )和( 2 )可以减弱如下: ( 1 ) ’ G 中有一个元素左壹适合 1 · a=a; ( 2 ) ’ 对于任意 a ,有一个元素左逆 a -1 适 合 a -1 ·
第 4 章 过程与变量的作用范围. 4.1 Visual Basic 的代码模块 Visual Basic 的应用程序是由过程组成的, 过程代码存放在模块中。 Visual Basic 提供了 三类模块,它们是窗体模块、标准模块和类 模块。 窗体模块 窗体模块是大多数 Visual Basic.
数 学 系 University of Science and Technology of China DEPARTMENT OF MATHEMATICS 第 3 章 曲线拟合的最小二乘法 给出一组离散点,确定一个函数逼近原函数,插值是这样的一种手段。 在实际中,数据不可避免的会有误差,插值函数会将这些误差也包括在内。
吉林大学远程教育课件 主讲人 : 杨凤杰学 时: 64 ( 第三十九讲 ) 离散数学. 例 设 S 是一个集合, ρ ( S )是 S 的幂集合,集合 的交( ∩ ),并(∪)是 ρ ( S )上的两个代数运算, 于是,( ρ ( S ), ∩ ,∪) 是一个格。而由例 知.
实验三: 用双线性变换法设计 IIR 数字滤波器 一、实验目的 1 熟悉用双线性变换法设计 IIR 数字滤波器的原理与方法。 2 掌握数字滤波器的计算机仿真方法。 3 通过观察对实际心电图信号的滤波作用, 获得数字滤波的感性知 识。
C语言程序设计 第一章 C语言概述.
外文文献检索示例. 实验目的: 掌握利用计算机网络检索外文文献的基本方法; 了解熟悉下列数据库的结构、内容并掌握其检索方 法 ; 掌握检索的主要途径:出版物( Publication )、关键 词( Keyword )、作者( Author )等。
1 第 7 章 专家控制系统 概述 专家系统的起源与发展 专家系统的一般结构 专家系统的知识表示和获取 专家系统的特点及分类.
信息利用与学术论文写作 Library of Jiangsu University, Zhenjiang Sha Zhenjiang
第二章 贝叶斯决策理论 3学时.
操作系统原理课程设计指南 姜海燕 设计考核幻灯制作  1.1 封皮:系统名称,研制人员  1.2 目的及意义  1.3 功能设计:功能框图、用例图  1.4 结构设计:系统结构  1.5 核心技术及技术路线:画图  1.6 进度安排  1.7 人员安排  1.8.
UML 对象设计与编程 主 讲 : 董兰芳 副教授 Dept. of Computer Science,USTC
数 学 系 University of Science and Technology of China DEPARTMENT OF MATHEMATICS 第 5 章 解线性方程组的直接法 实际中,存在大量的解线性方程组的问题。很多数值方 法到最后也会涉及到线性方程组的求解问题:如样条插值的 M 和.
主讲教师:陈殿友 总课时: 124 第十一讲 极限的运算法则. 第一章 二、 极限的四则运算法则 三、 复合函数的极限运算法则 一 、无穷小运算法则 机动 目录 上页 下页 返回 结束 §5 极限运算法则.
第一节 相图基本知识 1 三元相图的主要特点 (1)是立体图形,主要由曲面构成; (2)可发生四相平衡转变; (3)一、二、三相区为一空间。
第 3 章 控制流分析 内容概述 – 定义一个函数式编程语言,变量可以指称函数 – 以 dynamic dispatch problem 为例(作为参数的 函数被调用时,究竟执行的是哪个函数) – 规范该控制流分析问题,定义什么是可接受的控 制流分析 – 定义可接受分析在语义模型上的可靠性 – 讨论分析算法.
吉林大学远程教育课件 主讲人 : 杨凤杰学 时: 64 ( 第五十三讲 ) 离散数学. 定义 设 G= ( V , T , S , P ) 是一个语法结构,由 G 产生的语言 (或者说 G 的语言)是由初始状态 S 演绎出来的所有终止符的集合, 记为 L ( G ) ={w  T *
国家高性能计算中心(合肥) 十五 并行程序设计环境与工具. 国家高性能计算中心(合肥) 并行程序设计环境与工具  15.1 软件工具与环境  15.2 并行编译器  15.3 并行程序调试  15.4 并行程序性能分析  15.5 图形化并行程序集成开发环境.
编译原理总结. 基本概念  编译器 、解释器  编译过程 、各过程的功能  编译器在程序执行过程中的作用  编译器的实现途径.
 符号表  标识符的作用: 声明部分:定义了各种对象及对应的属性和 使用规则。 程序体:对所定义的对象进行各种操作。 $ididname IdnameAttributeIR  必要性 Token : 新表-符号表(种类、类型等信息):
Department of Mathematics 第二章 解析函数 第一节 解析函数的概念 与 C-R 条件 第二节 初等解析函数 第三节 初等多值函数.
1 第 7 章 存储过程、触发器和程序包 在很多时候,都需要保存 PL/SQL 程序块,以便 随后可以重新使用。这也意味着,程序块需要一个名 称,这样需才可以调用或者引用它。命名的 PL/SQL 程序块可被独立编译并存储在数据库中,任何与数据 库相连接的应用程序都可以访问这些存储的 PL/SQL 程序块。
网上预约集港操作指南 一、登录系统 登陆下面图片显示网址:输入堆场用户名、密码和校验码登陆系统.
首 页 首 页 上一页 下一页 本讲内容本讲内容 视图,剖视图(Ⅰ) 复习: P107 ~ P115 作业: P48(6-2,6-4), P49( 去 6-6) P50, P51(6-13), P52 P50, P51(6-13), P52 P53 (6-18,6-20) P53 (6-18,6-20)
1-4 节习题课 山东省淄博第一中学 物理组 阚方海. 2 、位移公式: 1 、速度公式: v = v 0 +at 匀变速直线运动规律: 4 、平均速度: 匀变速直线运动 矢量式 要规定正方向 统一单位 五个量知道了三 个量,就能求出 其余两个量 3 、位移与速度关系:
《 UML 分析与设计》 交互概述图 授课人:唐一韬. 知 识 图 谱知 识 图 谱知 识 图 谱知 识 图 谱.
常州机电职业技术学院 数控编程与加工技术 精品课程 项目 3 加工中心程序编制 模块 2 方形型腔类零件 上饶职业技术学院 课程负责人:罗根云 2011 年 5 月
1 、如果 x + 5 > 4 ,那么两边都 可得 x >- 1 2 、在- 3y >- 4 的两边都乘以 7 可得 3 、在不等式 — x≤5 的两边都乘以- 1 可得 4 、将- 7x — 6 < 8 移项可得 。 5 、将 5 + a >- 2 a 移项可得 。 6 、将- 8x < 0.
名探柯南在侦查一个特大盗窃集团过程 中,获得藏有宝物的密码箱,密码究竟 是什么呢?请看信息: ABCDEF( 每个字 母表示一个数字 ) A :是所有自然数的因数 B :既有因数 5 ,又是 5 的倍数 C :既是偶数又是质数 D :既是奇数又是合数 EF :是 2 、 3 、 5 的最小公倍数.
项目七: PLC 功能指令应用 带进位循环左移指令 XXXXX. 项目七: PLC 功能指令应用 FX2 系列可编程控制器移位控制指令有移位、循环移位、字移位 及先进先出 FIFO 指令等 10 条指令。 带进位循环右移指令 RCR 带进位循环左移指令 RCL 字右移位指令 WSFR 先入先出读出指令.
第四章 计算机数控( CNC )系统  本章重点:  1 计算机数控系统构成及其结构特点  2 运动轨迹插补原理  3 刀具补偿.
§10.2 对偶空间 一、对偶空间与对偶基 二、对偶空间的有关结果 三、例题讲析.
2015 年江苏省美术专业统考考试说明 解读 : 贡加兵 扬州市邗江区公道中学
企业产品标准信息公共服务平台 操作介绍 目录 一 、系统架构介绍 二 、企业产品标准自我声明填报系统 三 、企业产品标准公示系统.
表单自定义 “ 表单自定义 ” 功能是用于制作表单的 工具,用数飞 OA 提供的表单自定义 功能能够快速制作出内容丰富、格 式规范、美观的表单。
7 生产费用在完工产品与在产 品之间分配的核算. 2 第七章 生产费用在完工产品与在产品之 间的分配  知识点 :  理解在产品的概念  掌握生产费用在完工产品与在产品之间的分 配.
力的合成 力的合成 一、力的合成 二、力的平行四边形 上一页下一页 目 录 退 出. 一、力的合成 O. O. 1. 合力与分力 我们常常用 一个力来代替几个力。如果这个 力单独作用在物体上的效果与原 来几个力共同作用在物体上的效 果完全一样,那么,这一个力就 叫做那几个力的合力,而那几个 力就是这个力的分力。
算得清写的准 —— 物业费公示报告的编写 讲师:朱芸 物业费的 构成? 哪些是管 理人员工 资呢? 哪些算工程费 用? 怎样才能核 算的清楚呢?
逻辑设计基础 1 第 7 章 多级与(或)非门电路 逻辑设计基础 多级门电路.
无忧 PPT 整理发布 无忧 PPT 整理发布 网上教研活动的推进与 学习社区的构建 首都师范大学 蒋国珍 2008 年 12 月.
八. 真核生物的转录 ㈠ 特点 ① 转录单元为单顺反子( single cistron ),每 个蛋白质基因都有自身的启动子,从而造成在功能 上相关而又独立的基因之间具有更复杂的调控系统。 ② RNA 聚合酶的高度分工,由 3 种不同的酶催化转 录不同的 RNA 。 ③ 需要基本转录因子与转录调控因子的参与,这.
一、 版 面 构 成 的 概 念 版 面 构 成 的 概 念 二、 版 面 构 成 的 发 展 趋 势 版 面 构 成 的 发 展 趋 势 三、 广 告 文 字 的 版 面 构 成 广 告 文 字 的 版 面 构 成 四、 广 告 版 面 的 视 觉 流 程 广 告 版 面 的 视 觉 流 程.
张勤 人大报刊复印资料 专题全文数据库 简 介简 介 《人大报刊资料全文数据库》是中国人民大 学书报资料中心与北京博利群电子信息有限 公司联合开发研制的大型数据库光盘。它涵 盖面广、信息量大、分类科学、筛选严谨、 结构合理,是国内最具权威的社会科学、人.
1 第三章 数列 数列的概念 考点 搜索 ●数列的概念 ●数列通项公式的求解方法 ●用函数的观点理解数列 高考 猜想 以递推数列、新情境下的 数列为载体, 重点考查数列的通 项及性质, 是近年来高考的热点, 也是考题难点之所在.
人力资源和社会保障部职业能力建设司. » 《一体化课程开发技术规程》编写综述 » 《一体化课程开发技术规程》内容解读 » 《一体化课程开发技术规程》使用建议.
目录 上页 下页 返回 结束 二、无界函数反常积分的审敛法 * 第五节 反常积分 无穷限的反常积分 无界函数的反常积分 一、无穷限反常积分的审敛法 反常积分的审敛法  函数 第五章 第五章.
SCI 数据库检索练习参考 本练习完全依照 SCI 数据库实际检索过程而 实现。 本练习完全依照 SCI 数据库实际检索过程而 实现。 练习中,选择了可以举一反三的题目,读 者可以根据题目进行另外的检索练习,如: 可将 “ 与 ” 运算检索改为 “ 或 ” 、 “ 非 ” 运算检索 等等。 练习中,选择了可以举一反三的题目,读.
Presentation transcript:

C 语言程序设计 2008 版

C 语言程序设计 教学要求  掌握程序设计语言的基本知识  常用算法  初步的程序设计能力 学习方法  自主学习  重视上机实践

如何尽快学会用 C 语言进行程序设计 了解程序设计语言 (C 语言 ) 模仿、改写、编写 通过不断的编程实践,逐步领会和掌握程 序设计的基本思想和方法。

教材和参考书 C 语言程序设计,何钦铭、颜晖主编,高等教育出 版社, 2008 C 语言编程(第 3 版), [ 美 ]Stephen, G.Kochan , 张小潘译,电子工业出版社, 2006 C 语言教程(第 4 版), [ 美 ]Al Kelley, Ira Pohl , 徐波译,机械工业出版社, 2007 标准 C 语言基础教程(第 4 版), [ 美 ]Gary J. Bronson ,单先余等译,电子工业出版社, 2006 C 程序设计语言, [ 美 ]Brian W. Kernighan, Dennis M. Ritchie ,徐宝文等译,机械工业出版 社, 2006

Chap 1 引 言 一个 C 语言程序 程序与程序设计语言 C 语言的发展历史与特点 实现问题求解的过程

本章要点 什么是程序?程序设计语言包含哪些功能? 程序设计语言在语法上包含哪些内容? 结构化程序设计有哪些基本的控制结构? C 语言有哪些特点? C 语言程序的基本框架如何? 形成一个可运行的 C 语言程序需要经过哪些 步骤? 如何用流程图描述简单的算法?

1.1 一个 C 语言程序 例 1-1 求阶乘问题。输入一个正整数 n ,输出 n! 。 #include /* 编译预处理命令 */ int main(void) /* 主函数 */ { int n; /* 变量定义 */ int factorial(int n); /* 函数声明 */ scanf("%d", &n); /* 输入一个整数 */ printf(“%d\n”, factorial(n)); /* 调用函数计算阶乘 */ return 0; } int factorial(int n) /* 定义计算 n! 的函数 */ { int i, fact = 1; for(i = 1; i <= n; i++) /* 循环 */ fact = fact * i; return fact; } 输入 4 输出 24 C 程序由函数组成 有且只有一个主函数 main

1.2 程序与程序设计语言 程序  人们为解决某种问题用计算机可以识别的代码 编排的一系列加工步骤。  程序的执行过程实际上是对程序所表达的数据 进行处理的过程。 程序设计语言  提供了一种表达数据与处理数据的功能  要求程序员按照语言的规范编程

1.2 程序与程序设计语言 程序与指令 程序设计语言的功能 程序设计语言的语法 程序的编译与编程环境

程序与指令 指令:计算机的一个最基本的功能 如实现一次加法运算或实现一次大小的判别 计算机的指令系统:计算机所能实现的指令 的集合 程序:一系列计算机指令的有序组合

程序与指令 例 1-2 编写程序,分别求和与乘积 虚拟的计算机指令系统( 7 条指令 )  指令 1 : Input X 将当前输入数据存储到内存的 X 单元  指令 2 : Output X 将内存 X 单元的数据输出。  指令 3 : Add X Y Z 将内存 X 单元的数据与 Y 单元的数据 相加并将结果存储到 Z 单元。  指令 4 : Sub X Y Z 将内存 X 单元的数据与 Y 单元的数据 相减并将结果存储到 Z 单元。  指令 5 : BranchEq X Y P 比较 X 与 Y ,若相等则程序跳 转到 P 处执行,否则继续执行下一条指令。  指令 6 : Jump P 程序跳转到 P 处执行。  指令 7 : Set X Y 将内存 Y 单元的值设为 X 。

程序与指令 输入输入 3 个数 A, B 和 C ,求 A+B+C 的结果 Input A; 输入第 1 个数据到存储单元 A 中 Input B; 输入第 2 个数据到存储单元 B 中 Input C; 输入第 3 个数据到存储单元 C 中 Add A B D; 将 A 、 B 相加并将结果存在 D 中 Add C D D; 将 C 、 D 相加并将结果存在 D 中 Output D; 输出 D 的内容

程序与指令 输入 2 个数 A 和 B ,求 A*B 的结果 1 . Input A; 输入第 1 个数据到存储单元 A 中 2 . Input B; 输入第 2 个数据到存储单元 B 中 3 . Set 0 X; 将 X 设为 0 ,此处 X 用以统计 A 累加的次数 4 . Set 0 Z; 将 Z 设为 0 ,此处 Z 用以存放 A*B 的结果 5 . BranchEq X B 9; 判别 X 与 B 是否相等;若相等说明 A 已累加了 B 次,程序跳转到第 9 条指令,输出结果 6 . Add Z A Z; Z = Z + A 7 . Add 1 X X; X = X . Jump 5; 程序跳转到第 5 条指令,继续循环执行第 6 条、 7 条指令 9 . Output Z; 输出 Z 的值,该值等于 A*B

程序设计语言的功能 数据表达:表达所要处理的数据 流程控制:表达数据处理的流程

数据表达 数据表达:一般将数据抽象为若干类型 数据类型 : 对某些具有共同特点的数据集合 的总称  代表的数据(数据类型的定义域)  在这些数据上做些什么(即操作或称运算) 例如:整数类型 包含的数据: {… , -2 , -1 , 0 , 1 , 2 , …} 作用在整数上的运算: + 、 - 、 * 、 / 等

数据表达 C 语言提供的数据类型  基本数据类型:程序设计语言事先定义好,供 程序员直接使用,如整型、实型(浮点型)、 字符型等。  构造类型:由程序员构造,如数组、结构、文 件、指针等。 各种数据类型的常量与变量形式  常量(常数)与变量

流程控制 结构化程序设计方法  将复杂程序划分为若干个相互独立的模块  模块:一条语句( Statement )、一段程序或 一个函数(子程序)等  单入口、单出口

流程控制 任何程序都可以将模块通过 3 种基本的控制 结构进行组合来实现 顺序结构 循环结构 分支结构

流程控制 语句级控制: 3 种基本的控制结构  顺序控制结构:自然顺序执行  分支控制结构(选择结构):根据不同的条件来选择 所要执行的模块  循环控制结构:重复执行某个模块 单位级控制:函数的定义与调用  处理复杂问题时, 将程序分为若干个相对独立的子程序 (函数)

程序设计语言的语法 用程序设计语言所写的程序必须符合相应 语言的语法  源程序(源代码)是一个字符序列,这些字符 序列按顺序组成了一系列 “ 单词 ” , “ 单词 ” 的组合 就形成了语言有意义的语法单位,一些简单语 法单位的组合又形成了更复杂的语法单位,最 后一系列语法单位组合成程序。

程序设计语言的语法 C 语言的主要 “ 单词 ” ( 1 )标识符 : C 语言的标识符规定由字母、数字以及下划 线组成,且第一个字符必须是字母或下划线。 ( 2 )保留字 ( 关键字 ): 它们是 C 语言规定的、赋予它们以 特定含义、有专门用途的标识符。 ( 3 )自定义标识符 : 包括在程序中定义的变量名、数据类 型名、函数名以及符号常量名。有意义的英文单词 ( 4 )常量 : 常量是有数据类型的,如, 123 、 ( 5 )运算符。代表对各种数据类型实际数据对象的运算。 如, + (加)、 - (减)、 * (乘)、 / (除)、 % (求余)、 > (大于)

程序设计语言的语法 C 语言的主要语法单位 ( 1 )表达式 : 运算符与运算对象组合就形成了表 达试。如, * 4 ( 2 )变量定义 : 变量也有数据类型,所以在定义 变量时要说明相应变量的类型。如 : int i; ( 3 )语句 : 语句是程序最基本的执行单位,程序 的功能就是通过对一系列语句的执行来实现的。 ( 4 )函数定义与调用

程序设计语言的语法 其中, (3) 语句:  表达式语句:表达式加分号 “;”  分支语句:实现分支控制过程 if (a > b) x = a; else x = b;  循环语句:实现循环控制的过程 sum = 0; /* 初始化 sum 和 i */ i = 1; while (i <= 100) { /* while 循环语句 */ sum = sum + i; i = i + 1; }  复合语句:用一对 “{ }” ,将若干语句顺序组合在一起就形成 了一个程序段。

程序设计语言的语法 其中,( 4 )函数定义与调用 函数是完成特定任务的独立模块,函数的使用最 主要涉及到函数的定义与调用。 输入输出: C 语言没有输入输出语句,用库函数 printf 、 scanf 等实现。

程序的编译与编程环境 程序的编译 编译器 程序 ———— 》计算机直接能理解的指令序列 编译器:对源程序进行词法分析、语法与语义分析,生成可执行的 代码。 直接指出程序中的语法错误 编程环境 包括编辑程序( Edit )、编译( Compile )、调试( Debug )等过 程。 掌握程序设计语言:根据语言的语法,用语言表达数据、 实现程序的控制,并会使用编程环境。

C 语言上机过程 源程序 test.cpp test.obj 可执行代码 test.exe 编译 连接 运行

1.3 C 语言的发展历史与特点 历史  1972 年:贝尔实验室的 Dennis Ritchie 在 B 语 言的基础上设计并实现了 C 语言。  1978 年: B.W.Kernighan 和 D.Ritchie (简称 K & R )合著的《 The C Programming Language 》是各种 C 语言版本的基础,称之为 旧标准 C 语言。  1983 年:美国国家标准化协会( ANSI )制定了 新的 C 语言标准,称 ANSI C 。

C 语言的特点 1 . C 语言是一种结构化语言 2 . C 语言语句简洁、紧凑,使用方便、灵活 32 个关键字, 9 种控制语句,程序书写形式自由。 3 . C 语言程序易于移植 C 语言将与硬件有关的因素从语言主体中分离出来, 通过库函数或其他实用程序实现它们。 4 . C 语言有强大的处理能力 5 .生成的目标代码质量高,运行效率高

C 语言的特点 6 .数据类型检查不严格,表达式出现二义性, 不具备数据越界自动检查功能,运算符的 优先级与结合性对初学者难于掌握。 C 语言中大小写字母代表不同含义

1.4 实现问题求解的过程 问题:求 1 ~ 100 间所有偶数的和。 1 .问题分析与算法设计 求在一定范围内( 1 ~ 100 )、满足一定条件 ( 偶数 ) 的若干 整数的和,求累加和。 思路:设置一个变量 (sum) ,其初值为 0 ,然后在 1 ~ 100 的 数中 (i) 寻找偶数,将它们一个一个累加到 sum 中。 一步累加: sum = sum + i; 重复累加,用循环语句实现,在循环过程中: (1) 判别 i 是不是偶数:用分支控制语句来实现。 (2) 对循环次数进行控制:通过 i 值的变化

问题分析与算法设计  思路 —— 》确定算法  算法:一组明确的解决问题的步骤,它产生结 果并可在有限的时间内终止。  算法的描述: 自然语言 伪代码 流程图:算法的图形表示法

sum = 0 i = 1 i <= 100 i 是偶数? sum=sum+i i=i+1 输出 sum 真 真 假 假

实现问题求解的过程 2 .编辑程序 生成程序的源文件, C 语言源文件的后缀为.c /.cpp #include int main(void) { int i, sum = 0; for(i = 1; i <= 100; i++) if (i%2 == 0) sum = sum + i; printf("%d", sum); return 0; }

实现问题求解的过程 3 .程序编译连接 编辑程序后,用该语言的编译程序对其进行编译, 以生成二进制代码表示的目标程序 (.obj) ,与编 程环境提供的库函数进行连接( Link )形成可 执行的程序 (.exe) 。 编译程序指出语法错误 语法错误 VS 逻辑错误

实现问题求解的过程 4 .运行与调试 经过编辑、编译、连接,生成执行文件后,就可以在编 程环境或操作系统环境中运行该程序。 如果程序运行所产生的结果不是你想要的结果,这是程 序的语义错误(逻辑错误)。 调试:在程序中查找错误并修改错误的过程。 调试的方法 设置断点 单步跟踪 调试是一个需要耐心和经验的工作,也是程序设计最基 本的技能之一。

开始结果 语法 错误 源程序.c /.cpp 目标程序.obj 可执行程序.exe 编辑编译连接运行 连接 错误 运行 错误 C 语言程序的调试、运行步骤