内容正文:
1.1与1.2节:C语言的产生和发展及其特点
编程语言基础——C语言
同步精品课堂
高教版(第5版)
掌握国家标准《机械制图》中有关图幅、比例、字体图线等基本规定。
教学目标
一
03
了解C语言的多种特点
了解C语言的应用领域
04
了解C语言的产生过程及其发展历史
02
理解计算机程序的基本组成
01
教学重难点
二
03
初步认识C语言的关键字、运算符、数据类型、函数等
了解C语言的适用领域
04
了解C语言的特点
02
了解C语言的产生和发展历史
01
导入新课
三
【思考】计算机程序由什么组成?
程序指令构成
计算机程序由一系列指令构成,指令是计算机执行的基本操作单位。
认识计算机程序的基础要素
编程定义
定义计算机指令的过程称为编程,是创建程序的关键步骤。
指令本质
计算机执行的指令实际上是由二进制数1和0组成的有限序列。
早期编程方式
20世纪40、50年代,程序员使用二进制数(机器指令)直接编程。
新知讲授
四
知识点1:认识C语言
汇编语言
用符号替代二进制序列,但依赖于硬件,可读性和可移植性较差。
编程语言的发展历程
高级语言出现
为改进汇编语言的不足,各种接近自然语言的高级语言应运而生。
高级语言举例
如Pascal、C、BASIC、FORTRAN等,都是常见的高级程序设计语言。
语言发展目的
使计算机指令表达形式更易于理解,提高编程效率和程序可维护性。
新知讲授
四
知识点1:认识C语言
诞生于20世纪70年代
C语言是许多现代编程语言的基础,为理解编程原理提供了重要的工具。
继承自BCPL和B语言
C语言的设计灵感来源于BCPL和B语言,并在此基础上进行了改进。
推动UNIX操作系统的发展
C语言为UNIX操作系统的开发提供了强大支持,二者相辅相成。
C语言诞生的时代背景
新知讲授
四
知识点1:认识C语言
基础编程语言
C语言由丹尼斯·里奇在贝尔实验室开发,旨在提高编程效率。
应用广泛
广泛应用于操作系统、数据库、编译器和其他系统软件的开发。
性能优异
C语言以其高效的执行速度和内存管理而闻名,适合开发高性能应用。
C语言的重要性
新知讲授
四
知识点1:认识C语言
C语言标准化进程
1983
ANSI C标准:美国国家标准学会(ANSI)为C语言制定了一套标准。
ANSI又公布了新标准—87 ANSI C。
1987
意义
1990
ISO C标准:
国际标准化组织(ISO)采纳87 ANSI C作为ISO的C语言标准。
标准制定意义:
标准化提高了C语言的兼容性和可移植性,促进了其广泛应用。
新知讲授
四
知识点2:C语言的特点
C语言发展十分迅速,成为最受欢迎的语言之一,主要因为它具有强大的功能。许多著名的系统软件,如dBASE Ⅲ Plus、dBASE Ⅳ都是用C语言编写的。用C语言加上一些汇编语言子程序,能进一步突出C语言的优势,例如,PC-DOS、WordStar等就是用这种方法编写的,接下来我们将一起来了解一下,C语言的特点有哪些?
概述
新知讲授
四
知识点2:C语言的特点
①简洁紧凑、灵活方便
C语言一共有32个关键字(如下图所示)、9种控制语句,程序书写格式灵活,32个关键字主要用小写字母表示。(32关键字由系统定义,不能重做其他定义)
关键字 含义 关键字 含义
auto 声明自动变量 continue 结束当前循环,开始下一轮循环
break 跳出当前循环或switch语句 default 开关语句中的“其他”分支
case 开关语句分支 do do……while循环语句的关键字
char 声明字符型变量 double 双精度浮点型变量
const 声明只读变量 else 条件语句的否定分支
新知讲授
四
知识点2:C语言的特点
关键字 含义 关键字 含义
enum 声明枚举类型 signed 声明有符号类型的变量
extern 声明变量或函数 sizeof 计算数据类型或变量的长度
float 声明浮点型变量 static 声明静态变量
for for循环的关键字 struct 声明结构体类型
goto 无条件跳转语句 switch 用于开关语句的关键字
if 条件语句 typedef 用以给数据类型取别名
int 声明整型变量 union 声明共用体类型
long 声明长整型变量(缺省int) unsigned 声明无符号类型变量
register 声明寄存器变量 void 声明函数无返回值或无参数
return 程序结果返回语句 volatile 说明变量在程序执行中可被隐含地改变
short 声明短整型变量(缺省int) while while循环语句的关键字
新知讲授
四
知识点2:C语言的特点
②运算类型丰富
C语言包含34个运算符。C语言把括号、赋值、强制类型转换等都作为运算符处理,从而使C语言的运算符类型极其丰富,表达式类型多样化。灵活使用各种运算符可以实现在其他高级语言中难以实现的运算。
( ) [ ] -> 。 ++ -- (类型) & *
- * / % + - >> << >
>= < <= == != ~ & ^ |
! && || ? : = , sizeof(类型or变量)
新知讲授
四
知识点2:C语言的特点
③数据类型丰富
C语言的数据类型有整数类型(简称整型)、实型类型(简称实型)、字符类型、数组类型、指针类型、结构体类型、共用体类型等。利用它们,C语言能实现各种复杂数据类型的运算,特别是指针类型的应用,使得程序效率更高。
新知讲授
四
知识点2:C语言的特点
④C语言是结构化语言
结构化语言的显著特点是代码与数据的分离,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序的逻辑结构清晰,便于使用、维护以及调试。C语言是以函数形式提供给用户调用的,这些函数可被方便的调用。C语言使用循环语句和条件语句来控制程序流程,从而使程序完全结构化。
功能1函数()
{
功能1内容
}
功能2函数()
{
功能2内容
}
int main()
{
调用功能1
调用功能2
调用功能1
调用功能2
}
标准库函数:C语言提供丰富的标准库函数、涵盖输入输出、字符串处理等功能
自定义函数:由用户根据自己的需求自己定义一个适用于自身使用的函数。
支持文件操作:标准库提供文件读写函数,方便进行文件操作和数据存储。
新知讲授
四
知识点2:C语言的特点
⑤语法限制较少、程序设计自由度较大
例如,C语言对数组下标不做越界检查;对变量类型使用比较灵活,整型数据与字符型数据以及逻辑型数据可以通用等。
一般的高级语言语法检查比较严,能够检查出大部分语法错误,而C语言允许程序员有较大的自由度,但是该特点既是一种优点,也是一种缺点。它要求程序员仔细检查程序,保证其正确,不要过分依赖于编译器。
一般只比汇编程序生成的目标代码效率低10%~20%。
⑥C语言程序生成代码质量高,程序执行效率高
新知讲授
四
知识点2:C语言的特点
⑦C语言允许直接访问物理地址,可以直接对硬件进行操作
直接硬件操作:
C语言可以直接对硬件进行操作,这是其重要特征之一,使得开发者能更精细地控制硬件资源。
位、字节和地址操作:
C语言能够像汇编语言一样对“位”“字节”和“地址”进行操作,这是计算机中最基本的操作单元,赋予C语言强大的底层控制能力。
基本操作单元的重要性:
“位”、“字节”和“地址”是计算机运行的基础,C语言能直接操作它们,意味着开发者能深入计算机底层进行编程。
新知讲授
四
知识点2:C语言的特点
代码可移植性强:C语言的代码可以在多种操作系统和硬件平台上编译和运行。
⑧C语言适用范围广,可移植性好
广泛支持的平台:从嵌入式系统到大型服务器,C语言都有良好的支持。
标准库的支持:标准库提供了跨平台的功能,减少了代码移植的工作量。
编译器广泛:多种编译器支持C语言,保证了代码在不同环境下的编译一致性。
可移植性设计原则:C语言设计时考虑了可移植性,使得代码更易于在不同平台间迁移。
新知讲授
四
知识点3:C语言的应用领域
用于开发UNIX和Linux:C语言是UNIX和Linux操作系统的核心开发语言,提供了高效的系统编程能力。
①C语言在操作系统中的应用
内核编程:操作系统内核通常使用C语言编写,以实现高性能和资源管理。
系统调用实现:C语言用于实现操作系统的系统调用,为应用程序提供与内核交互的接口。
驱动程序开发:设备驱动程序通常使用C语言编写,以便与硬件进行直接交互。
嵌入式系统开发:C语言在嵌入式操作系统中广泛应用,因其代码效率高且占用资源少。
新知讲授
四
知识点3:C语言的应用领域
用于开发嵌入式设备:C语言广泛应用于嵌入式系统,如智能家居、智能手表等设备。
②C语言在嵌入式领域的应用
实时系统编程:支持实时操作系统开发,确保任务在规定时间内完成。
资源受限环境:在资源受限的嵌入式系统中,C语言的高效性尤为关键。
低功耗设计:通过优化代码实现低功耗运行,延长设备电池寿命。
驱动程序开发:用于开发与硬件交互的驱动程序,确保设备功能正常运行。
新知讲授
四
知识点3:C语言的应用领域
用于开发游戏引擎:C语言因其高效性被广泛用于开发高性能的游戏引擎。
③C语言在游戏开发中的应用
图形渲染:通过C语言实现图形渲染,提供流畅的游戏画面。
实时计算:支持实时计算,确保游戏操作的即时响应。
跨平台游戏开发:C语言的代码可移植性使其在跨平台游戏开发中非常有用。
物理引擎实现:用于实现游戏中的物理引擎,提供真实的物理模拟效果。
师生互动
五
特性辩论赛——C语言的“优”与“忧”
【规则】
将学生分为两组,一组持“C语言优势显著,仍不可替代”观点,另一组持“C语言存在缺陷,逐渐被替代”观点。
每组有3分钟准备时间,随后各派2名代表辩论(每轮发言1分钟,共3轮),需结合C语言“高效性”“灵活性”(优势)或“内存安全风险”“语法门槛”(缺陷)等特点举例,最后由教师总结双方观点的合理性。
正方:C语言优势显著,仍然不可替代
反方:C语言存在缺陷,逐渐被替代
随堂练习
六
1.以下不属于 C 语言应用领域的是( )
A.操作系统
B.嵌入式领域
C.游戏开发
D.网页前端开发
答案:D
解析:网页前端开发主要使用 HTML、CSS、JavaScript,C 语言不用于此领域。
随堂练习
六
2. C 语言的特点不包括( )
A.简洁紧凑、灵活方便
B.语法限制多、设计自由度小
C.代码质量高、执行效率高
D.适用范围广、移植性好
答案:B
解析:C 语言语法限制少、设计自由度大,而非限制多、自由度小。
随堂练习
六
3. C 语言是( )语言
A. 面向对象
B. 结构化
C. 函数
D. 脚本
答案:B
解析:C 语言是结构化编程语言,支持结构化程序设计。
随堂练习
六
4.关于 C 语言 “可对硬件直接操作” 的描述,正确的是( )
A.不能操作硬件
B.只能间接操作硬件
C.可直接操作硬件,适合嵌入式等场景
D.仅能操作软件层面
答案:C
解析:C 语言可直接操作硬件,这一特点使其在嵌入式等领域应用广泛。
随堂练习
六
5. C 语言诞生的时代背景与( )密切相关
A.大型主机集中计算时代
B.个人计算机兴起、系统软件需要高效开发的时代
C.云计算普及时代
D.移动互联网时代
答案:B
解析:C 语言诞生于个人计算机兴起、系统软件需高效开发的时代。
随堂练习
六
6.关于 C 语言重要性,说法错误的是( )
A.很多系统软件由 C 语言开发
B.是很多编程语言的基础
C.在性能要求高的领域应用广泛
D.完全被 Python 等语言取代
答案:D
解析:C 语言在诸多领域仍不可替代,并未被 Python 等完全取代。
随堂练习
六
7.关键字break的作用是( )
A. 终止本次循环,继续下一次循环
B. 终止循环或switch语句
C. 定义函数
D. 声明变量
答案:B
解析:break可终止循环或switch语句的执行。
随堂练习
六
8.下列属于 C 语言在操作系统领域应用的是( )
A. 开发手机社交 APP
B. 开发 Linux 内核模块
C. 开发在线购物网站
D. 开发短视频平台
答案:B
解析:Linux 内核模块采用 C 语言开发,属于 C 语言在操作系统领域的应用;A、C、D 属于应用层开发,非操作系统领域。
随堂练习
六
9. C 语言 “运算类型丰富” 不包含以下哪种运算( )
A. 算术运算
B. 逻辑运算
C. 位运算
D. 自然语言运算
答案:D
解析:C 语言运算类型包括算术、逻辑、位运算等,无自然语言运算。
随堂练习
六
10.以下对 C 语言 “简洁紧凑、灵活方便” 特点的理解,正确的是( )
A. 语法复杂且冗余
B. 代码编写繁琐
C. 语法简洁,可灵活实现各种功能
D. 只能实现简单功能
答案:C
解析:“简洁紧凑、灵活方便” 体现 C 语言语法简洁,能灵活实现多样功能,A、B、D 表述与之相反。
课堂小结
七
谢谢
$