(完整版)《C语言程序设计》-谭浩强(第四版)教案

合集下载

C程序设计(第四版)

C程序设计(第四版)

( int
{ int z; if (x>y) z=x; else z=y; return (z); }
x, int 声明部分
执行部分
y)
合法是空函数:void dump( ) { }
2015-4-2 山东大学管理学院 戚桂杰 10
1.3 简单的C程序介绍
(4)一个C程序总是从main函数开始执行的。
2015-4-2 山东大学管理学院 戚桂杰 17
2.2 简单算法举例
1 1 1 1 1 1…… 1 1 1 1 1 1 例2. 4 求 2 23 34 4 9999100 100
算法如下: S1:sign=1 S2:sum=1 S3:deno=2 S4:sign=(1)×sign S5:term=sign×(1/deno) S6: sum=sum+term S7:deno=deno+1 S8:若deno<=100返回S4;否则算法结束。
C程序设计(第四版) 谭浩强 著
山东大学管理学院 戚桂杰
目录
• • • • • • • • • • • 程序设计和C语言 算法——程序的灵魂 最简单的C程序设计——顺序程序设计 选择结构程序设计 循环结构程序设计 利用数组处理批量数据 利用函数实现模块化程序设计 善于利用指针 用户自己建立数据类型 对文件的输入输出 常见错误分析
2015-4-2
山东大学管理学院 戚桂杰
13
第2章 算法——程序的灵魂
• 程序=数据结构+算法+程序设计方法+语言工具和环境
• 数据结构:对数据的描述,即在程序中指定数 据的类型和数据的组织形式。 • 算法:对操作的描述,即操作步骤。 2.1 什么是算法 • 为解决一个问题而采取的方法和步骤。 • 计算机算法分为数值运算算法、非数值运算算 法

C语言程序设计第四版PPT-谭浩强

C语言程序设计第四版PPT-谭浩强

文件f2的 文件信息区
文件f3的 文件信息区
文件的基本知识——文件的操作 写文件:打开-写-关闭 读文件:打开-读-关闭
文件的打开
功能:为文件建立相应的信息区(存放 文件信息)和文件缓冲区(暂时存放输入 输出的数据) 函数: fopen(文件名,使用文件方式); 例: fopen("a1.dat","r");
第10章 文件
本章内容
10.1 文件的基本知识 10.2 打开与关闭文件 10.3 顺序读写数据文件 10.4 随机读写数据文件 10.5 文件读写的出错检测
文件的基本知识——输入输出
之前各章中处理的数据 ➢输入:键盘->内存 ➢输出:内存->显示器 实际上也可能是 ➢输入:外部设备->内存(读文件) ➢输出:内存->外部设备(写文件) 操作系统把各种设备都统一作为文件处理
文件
顺序文件的读写——读写字符串
例10.3 从键盘输入3个字符串,排序,把排
序后的字符串写入文件(P.342-343) 读上面写好的文件(P.344)
顺序文件的读写——格式化读写
fprintf(文件指针,格式字符串,输出表列); fscanf (文件指针,格式字符串,输入表列);
例: fprintf (fp,"%d,%6.2f",i,f); fscanf (fp,"%d,%f",&i,&f);
用文件扩展名”
文件的基本知识——流式文件
C语言把文件看作是字符(或字 节)的序列。
文件以“流”的形式在程序与操 作系统间流动。
文件的基本知识——数据的形式
根据数据的组织形式,数据文件可分为 ASCII文件:数据逐个字符的ASCII码 输出到外存,也称文本文件 二进制文件:内存中二进制形式的数据 直接输出到外存

谭浩强C程序设计第四版

谭浩强C程序设计第四版

* p7_1_b.cpp
*
* 面向对象的时钟程序 *
******************************/
程5
序6
设 计
7 8 9
教 10
程 11
#include <iostream> using namespace std; struct Clock {
int H,M,S; }; Clock MyClock; void SetTime(int H,int M,int S)

在面向对象的程序设计中,程序模块是由类构成的。类
是对逻辑上相关的函数与数据的封装,它是对问题的抽象描
第 述。
7 章
面向对象的程序设计方法就是运用面向对象的观点来对
类 现实世界中的各种问题进行抽象,然后用计算机程序来描述
与 并解决该问题,这种描述和处理是通过类与对象实现的。


类与对象是C++程序设计中最重要的概念
16在程}序A中,时钟数据用一个结构型的变量存储,对} 时钟数据的存取通过函数实现。由于存
7 章
17储时v钟oi数d S据ho的w是Tim一e个() 全局变量,在任何地方都可见vo,id可S以ho不wT通im过e(函) 数单独存取时钟数据。 18程序{B中,只能通过类提供的函数操作时钟。 {
: 类
C
+
+

言 程
【例7-1】 模拟时钟


分析:不管什么样的时钟, 也不管各种时钟是
计 教
如何运行的, 它都具有时、分、秒3个属性。除了运
程 行、显示时间的基本功能外,还有设置(调整)时间、
设置闹钟等功能。将时钟的这些属性与功能抽象出

C语言程序课件ppt第4章选择结构程序设计谭浩强C程序设计第四版

C语言程序课件ppt第4章选择结构程序设计谭浩强C程序设计第四版

C★
A★
●B
4.2.1 用if语句处理选择结构举例
C★ A ●★ ● B
4.2.1 用if语句处理选择结构举例
C★ A ● ●★ B
#include <stdio.h> int main() { float a,b,t;
scanf("%f,%f",&a,&b);
if(a>b) 如果a>b
{ t=a;
a=b; 将a和b的值互换
b=t; } printf("%5.2f,%5.2f\n",a,b); return 0; }
#include <stdio.h>
int main()
{ float a,b,t;
scanf("%f,%f",&a,&b);
if(a>b)
{ t=a; a=b;
选择结构,用if语句实现的
a && b 真 假 假 假
a || b 真 真 真 假
4.4.1 逻辑运算符及其优先次序
➢逻辑运算符的优先次序
! → && → ||
(!为三者中最高)
➢与其他运算符的优先次序
! 算术运算符 关系运算符
&& 和 || 赋值运算符
(高) (低)
4.4.2 逻辑表达式
➢ 逻辑表达式的值应该是逻辑量“真”或“假” ➢ 编译系统在表示逻辑运算结果时
4.3.1关系运算符及其优先次序
c>a+b a>b==c a==b<c a=b>c
等效于 c>(a+b) 等效于 (a>b)==c 等效于 a==(b<c) 等效于 a=(b>c)

C程序设计(第四版)(谭浩强编)教程-增加内容_编译预处理

C程序设计(第四版)(谭浩强编)教程-增加内容_编译预处理
第三种形式: #if 常量表达式 程量表达式的值为真(非0),则对程 序段1 进行编译,否则对程序段2进行编译。因 此可以使程序在不同条件下,完成不同的功能。

作业 page217: 1,4
The End
带参数的宏定义

一般形式
• #define 宏名(参数表) 字符串

说明
• 宏定义仅是把参数作为字符串做简单替换,而 不做任何运算求值和语法检查 • 宏名与参数表的括号之间不应有空格 • 应注意参数替换后可能出现的语法错误和意料 之外的运算 • 应在宏定义内容及其中参数两边加上括号
带参宏定义举例
文件包含

一般形式
• #include "filename" • #include <filename>

说明
• 把另一个源文件的全部内容包含进来 • 预编译后,它们已成为一个文件 • 头文件的扩展名一般用.h,但并非规定 • 调用库函数一般使用<>,也可以使用"" • 调用用户编写的头文件应使用""
条件编译的三种形式

第一种形式:
它的功能是,如果标识符已被 #define命令定义过则对程序段1进行编 译;否则对程序段2进行编译。如果没有程序段2(它为空),本格式 中的#else可以没有,即可以写为:
#ifdef 标识符 程序段1 #else 程序段2 #endif
#ifdef 标识符 程序段 #endif
编译 预 处 理




预处理 宏定义 文件包含 条件编译
预处理 (Preprocessor)

预处理
• 在编译之前对源程序进行“预处理” • 预处理命令不是C语句,末尾没有分号 • 预处理命令不在可执行文件中执行 • 预处理命令都以#开始 • 包括宏定义、文件包含、条件编译等

C语言程序设计第四版1_谭浩强7章PPT课件

C语言程序设计第四版1_谭浩强7章PPT课件
第7章 函数
精选PPT课件
1
引例
求阶乘n!
int i,n; float fac=1; printf("n="); scanf("%d",&n); for(i=1;i<=n;i++)
fac=fac*i; printf ("%d!=%.0f\n",n,fac);
精选PPT课件
2
引例
求任意3个正整数的阶乘的和 a!+b!+c!
fa=1; for(i=1;i<=a;i++)
fa=fa*i; fb=1;
for(i=1;i<=b;i++) fb=fb*i;
fc=1; for(i=1;i<=c;i++)
fc=fc*i;
printf("%d!+%d!+%d!=%.0f",a,b,c,fa+fb+fc);
精选PPT课件
3
引例
求任意3个正整数的阶乘的和 a!+b!+c!
精选PPT课件
int max(int x,int y) { int z;
if (x>y) z=x; else z=y; return z; }
有返回值的函数
7
函数的概念
上述问题也可只用一个main函数实现
int main ( )
{ int a, b, c;
scanf ("%d,%d",&a,&b);
return 0;
}
精选PPT课件
4
引例
求任意3个正整数的阶乘的和 a!+b!+c! ➢使用函数可减少程序的重复段落 ➢使用函数可使程序功能相对独立,便 于维护——模块化的程序设计

C语言程序设计第四版谭浩强程序设计和C语言

C语言程序设计第四版谭浩强程序设计和C语言

机器语言编写的1+1程序
不同的计算机有不同的机器语言
汇编语言:与机器语言对应的符号化的指令系统
汇编语言编写的1+1程序
MOV AX, 1 ADD AX, 1 汇编
10111000 00000001 00000000 00000101 00000001 00000000
执行
不同的计算机有不同的汇编语言 需要汇编(翻译)成机器语言才能执行
课程主要内容
程序设计和C语言 顺序结构程序设计 选择结构程序设计 循环结构程序设计 数组-批量数据处理 函数-模块化程序设计 指针的应用 自定义数据类型 文件的输入与输出
学习与参考资料
教材 实验指导与习题册 等级考试资料 教学课件 互联网资源
学习方法与要求
多看(例题)、多练(编程)、多交流(学习讨论) 课前预习,认真听课、积极回答问题,按质按量完
显示 Result 结束
N-S结构化流程图
完全去掉带箭头的流程线,全部算法写在一个矩形 框内。主要的流程图符号(3种基本结构):
顺序结构 A B 选择结构

等价于
A B



等价于
条件P



A
B
N-S结构化流程图
完全去掉带箭头的流程线,全部算法写在一个矩形 框内。主要的流程图符号(3种基本结构):
计算机中的程 序是什么?
1.口述 2.信函 3.传真
指令被逐条执行
老板 程序员
秘书
程序:为了让计算机执行某些操作或解决某 个问题而编写的一系列有序指令的集合
算法
问题:计算长方形的面积
1.接收用户输入的长方形长度和宽度两个值; 2.判断长度和宽度的值是否大于零; 3.如果大于零,将长度和宽度两个值相乘得到 面积,否则显示输入错误; 算法 4.显示面积。

谭浩强C程序设计第四版

谭浩强C程序设计第四版
利用反演规则求反函数F时,不仅要注意运算的 优先顺序,而且还要注意只有单个变量的反变 量才变为原变量,而对于多个变量组合后的“非”
号 不能变反。
(1) 反演规则
即: “ ”, “+”, “0” , “1”, “原变 量”, “反变量”
“+” , “ ” , “1” , “0”, “反变量”, “原变量”
第2章 逻辑代数及 逻辑函数化简
2.1 逻辑代数的基本运算与公式 2.2 公式法化简逻辑函数 2.3 逻辑函数的标准形式
2.4 图解法(卡诺图)化简 (重点) 2.5 表格法化简(Q-M法 ) 2.6 逻辑函数的实现
2.1 逻辑代数的基本运算与公式
逻辑代数:二进制运算的基础。 应用代数方法研究逻辑问题。由英国数学家 布尔(Boole)和德.摩根于1847年提出,又叫 布尔代数,开关代数。 逻辑函数的表示:真值表,表达式,逻辑门 逻辑函数的生成:逻辑问题的描述,由文字叙 述的设计要求,抽象为逻辑表达式的过程。 然后才能化简、实现,逻辑设计的第一步。 逻辑代数的基本运算:与、或、非 (1) “与”运算,逻辑乘 (2) “或”运算,逻辑加 (3) “非”运算,取反
(1) 反演规则
反演规则
Y AB CDE
Y ABC DE
Y ( A B)(C D E ) Y AB CD E
练习
(2) 对偶规则
设F为一个逻辑函数表达式,若将F中的 “与”、 “或”运算符互换(即·变为+, +变为·),常量0、1互换(即0变为1, 1 变为0), 所得到的新表达式就叫做函数F 的对偶式
(2) 对偶规则
3.附加公式
附加公式1
3.附加公式
3.附加公式
附加公式2
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《C语言程序设计》教案
课程名称
C语言程序设计
教材
C语言程序设计(第四版) 作者:谭浩强 清华大学出版社
考核方式
考试课程.
总成绩:课堂参与占10%;试验报告占20%;期末考试占70%(闭卷考试)。









C语言是近年来国内外得到迅速推广使用的一种计算机语言。C语言程序设计课程是计算机专业和信息管理专业的核心专业基础课,它功能丰富,表达能力强,使用灵活方便,应用面广,目标程序效率高,可移植性好,既具有高级语言的优点,又具有低级语言的优点。既适用于应用软件编写,又适用于系统软件的编写.在现代的工业机器人的众多语言中,大多编程风格以C语言非常类似,学生学好C语言,对将来的工作中,从事工业机器人现场编程是非常有帮助的。
课程的教学目标
本课程的教学目标是:通过理论和实践教学,使学生较好地掌握C语言各方面的知识,掌握基本的程序设计过程和技巧,具备初步的高级语言程序设计能力,并能熟练应用VC++6。0集成环境进行C语言的编写、编译与调试,能应用C语言解决一般编程问题的水平。







一、程序设计和C语言
重点:计算机程序、计算机语言、C语言编译软件的安装、最简单的C语言程序
课后自我
总结分析
备注
《C语言程序设计》教案
第3-4课时
授课内容
第1章 VC++6。0、VS2015的安装和使用
教学目的
和要求
了解C语言常用的编译器;掌握VC++6。0、VS2015的下载与安装;
掌握VC++6.0、VS2015的使用
重点
难点
重点:VC++6。0、VS2015的使用
难点:VC++6.0、VS2015的使用
五、循环结构程序设计
重点:C构成循环的四种方法,尤其是后三种方法、break与continue语句的基本作用。
难点:while语句;do-while语句;for语句;循环的嵌套;break与continue语句。
六、数组
重点:一维数组、二维数组的定义与引用;字符数组的定义与引用、常用字符串处理函数及字符处理函数;数组的应用




讲授
一、C语言常用的编译器
(1)32位的WINDOWS操作系统与64位的WINDOWS操作系统
(2)VC++6。0 (2)VS2015
二、文件夹与压缩包
1、文件夹
2、文件的压缩与解压
3、软件的下载
4、软件安装的一般流程
5、产品id号、序列号与破解补丁
三、VC++6。0、VS2015的下载与安装
课程的性质和任务
《语言程序设计》这门课是我校工业机器人、分布式发电与微电网专业的专业必修课。作为计算机系的数据结构、c++、单片机编程等课程的前导课程,也是一门实践性很强的课程,既要掌握概念,又要动手编程,还要上机调试运行.对工业机器人专业来说是一门必修的课程。
同时,这门课程也是“湖南省非计算机专业学生计算机应用能力水平考试”二级考试的主要语种之一。
7、生成目标代码质量高,程序执行效率高。
8、与汇编语言相比,用C语言写的程序可移植性好.
三、C语言的关键字
附录C(书本378页)
四、C语言的版本和关键字
auto、inline、restrict、_bool、_Complex、_Imaginary是后来扩充的,有些编译器也扩充了关键词。
五、Turbo C编译器的安装与使用算法的特性、用流程图表示算法。
三、顺序结构程序设计
重点:C语言的数据类型、C语句的种类、赋值语句、数据的输入输出及输入输出中最常用的控制格式。
四、选择结构程序设计
重点:关系运算符与逻辑运算符及其组成的具有逻辑值的表达式、二条分支语句的格式及基本应用、多分支的选择语句.
C语言是一种流行的计算机高级语言,C语言适合于编写系统软件,也可以编写应用程序。
讲授
一、语言出现的历史背景
(1)C语言的发展源于人们希望用高级语言编写操作系统.(C—BCPL第二字母)
ALGOL60(高级语言)-〉CPL(硬件支持)- BCPC-〉B-〉C->标准C—〉 ANSI C —〉 ISO C
难点:二维数组的定义与引用;字符数组;数组的应用
七、函数
重点:函数的定义;函数的参数和函数的值;函数的调用;函数的嵌套调用;函数的递归调用;数组作为函数参数;变量作用域;量存储类别;
难点:函数定义、函数调用、函数声明等基本基本概念;函数的嵌套调用与递归调用;数组作为函数的参数、变量的存储类别与作用域。
参考书:《C程序设计语言》Kernighan&Ritchie机械工业出版社
《C语言程序设计》教案
第1-2课时
授课内容
第1章C语言概述
教学目的
和要求
了解C历史,名称来源、C特点,掌握C程序基本结构;C语言的版本、C语言的关键字;
重点
难点
C语言的关键字;




引言
语言:人-人语言交流;聋哑人-手势语;人机-计算机语言
(2)语言既具有高级语言特性,又具有低级语言特性-中级语言.
二、C语言的特点
C语言既具有一般高级语言特性,又具有低级语言特性。8个特点。
1、C语言简洁、紧凑。
2、运算符丰富。
3、数据结构类型丰富。
4、具有结构化的控制语句。
5、语法限制不太严格,程序设计自由度大。
6、C语言允许直接访问物理地址,能实现汇编语言的大部分功能,可以直接对硬件进行操作。
八、指针
重点和难点:指针与地址的基本概念、指针与变量的关系;指针与数组;指针与字符串、指针数组与二级指针;指针的应用
九、建立自己的数据类型
重点和难点:定义和使用结构体变量、用指针处理链表、共用体类型
十、文件
重点:文件的基本知识、fopen、fclose函数打开与关闭文件、顺序读写数据文件、随机读写数据文件
7、生成目标代码质量高,程序执行效率高。
8、与汇编语言相比,用C语言写的程序可移植性好。
四、VC++6。0、VS2015的使用
VC++6.0、VS2015的使用
难点:用二进制方式向文件读写一组数据。
十一、常见错误分析
重点和难点:文件的基本概念;文件的打开、关闭、常用读写方法。
十二、数组高级应用
重点:不定长数组与二维数组的应用
难点:不定长数组与二维数组的应用
十三、综合应用
重点:数组、if语句、循环语句、函数知识的综合应用
难点:二维数组、指针
教材、
参考书
教材:《C程序设计》(第四版)谭浩强著清华大学出版社2010年6月
相关文档
最新文档