第1章 程序设计和C语言概述 课件(共51张PPT)-《C语言程序设计》同步教学(电子工业版)

资源下载
  1. 二一教育资源

第1章 程序设计和C语言概述 课件(共51张PPT)-《C语言程序设计》同步教学(电子工业版)

资源简介

(共51张PPT)
第1章 程序设计和C语言
· C语言开发环境搭建
· HelloWorld
· 阶段案例
· 计算机语言
· 程序设计与算法
· C语言概述
职教高考—软件与应用技术
什么是计算机程序
程序:一组计算机能识别和执行的指令
只要让计算机执行这个程序,计算机就会自动地、有条不紊地进行工作
计算机的一切操作都是由程序控制的,离开程序,计算机将一事无成
1.2 什么是计算机语言
计算机语言:人和计算机交流信息的、计算机和人都能识别的语言
什么是计算机语言
计算机语言发展阶段:
机器语言(由0和1组成的指令)
符号语言(用英文字母和数字表示指令)
高级语言(接近于人的自然语言和数学语言)
面向过程的语言
(非结构化的语言、结构化语言)
面向对象的语言
低级语言
计算机语言
1、机器语言
机器语言是能够被计算机直接识别的语言,是由二进制数0或1组成的一串指令的集合。
2、汇编语言
由英文字母或符号串组成的指令。
3、高级语言
比汇编语言更贴近于人类使用的语言,便于记忆和使用。
C语言的发展及其特点
C语言是国际上广泛流行的计算机高级语言。
C语言的发展:
BCPL语言
B语言
C语言
精练、接近硬件,但
过于简单, 无数据类型
具有多种数据类型
C语言的发展及其特点
最初的C语言只是为描述和实现UNIX操作系统提供一种工作语言而设计的。
1.3 C语言的发展及其特点
1983年,美国国家标准协会(ANSI)成立了一个委员会,根据C语言问世以来各种版本对C语言的发展和扩充,制定了第一个C语言标准草案(’83 ANSI C)。
C语言的发展及其特点
1989年,ANSI公布了一个完整的C语言标准—ANSI X3.159-1989(常称ANSI C,或C89)。
C语言的发展及其特点
1990年,国际标准化组织ISO(International Standard Organization) 接受C89作为国际标准ISO/IEC 9899:1990,它和ANSI的C89基本上是相同的。
C语言的发展及其特点
1995年,ISO对C90作了一些修订,1999年,ISO又对C语言标准进行修订,在基本保留原来的C语言特征的基础上,针对应用的需要,增加了一些功能,尤其是C++中的一些功能,命名为ISO/IEC 9899:1999。
1.2.1 算法——程序设计的灵魂
从广义上讲算法就是解决问题的方法和过程,在计算机领域,算法是从输入到输出的有穷序列,是一系列解决问题的清晰指令。
算法
1.2.1 算法——程序设计的灵魂
算法的特征
有穷性
确定性
0个或多个输入
1个或多个输出
可行性
1.2.2 算法的表示
1、自然语言描述
使用自然语言描述问题的求解思路与过程。例如,判断一个数是否是素数,自然语言描述如下:
大于1的自然数中,除了1和它本身不再有其他因数的数就是素数。
1.2.2 算法的表示
2、流程图表示
流程图常用框图
1.2.2 算法的表示
2、流程图表示
起止框
标识流程的开始或结束。
输入/输出框
写明输入或输出的内容。
判断框
对条件进行判断。
1.2.2 算法的表示
2、流程图表示
处理框
代表程序中的处理功能。
流程线
连接不同功能的图框。
连接点
用于流程图的延续。
1.2.2 算法的表示
2、流程图表示
判断素数流程图
1.2.2 算法的表示
3、N-S流程图
算法的每一步都用一个矩形框来描述,把一个个矩形框按执行的次序连接起来就是一个完整的算法描述。
1.2.2 算法的表示
3、N-S流程图
算法的每一步都用一个矩形框来描述,把一个个矩形框按执行的次序连接起来就是一个完整的算法描述。
1.2.2 算法的表示
4、伪代码法
If i<2
Then i不是素数,程序结束
Else
t=2
Repeat:
If i mod t=0
Then i不是素数,程序结束
Else t=t+1
Until t>=i
i是素数,程序结束
使用接近自然语言的形式将整个算法运行过程的结构表述出来。
1.3.1 C语言发展史
1963年,剑桥大学将ALGOL 60语言发展成为CPL语言。
1967年,剑桥大学的马丁·理查兹将CPL简化成BCPL语言。
1970年,美国贝尔实验室的肯·汤普森将BCPL修改成“B语言” 。
1972年,美国贝尔实验室的丹尼斯·里奇在B语言的基础上设计出了C语言。
1978年,布赖恩·凯尼汉(Brian W.Kernighan)和丹尼斯·里奇(Dennis M.Ritchie)出版了名著《The C Programming Language》。
1.3.2 C语言标准
● 1989年,ANSI通过的C语言标准ANSI X3.159-1989被称为C89。
● 1990年,ISO (国际标准化组织)接受C89作为国际标准 ISO9899-1990,该标准被称为C90。
● 1999年,ANSI通过了C99标准,C99标准相对C89做了很多修改。
● 2011年,ISO和IEC(国际电工委员会)发布C11标准。
1.3.3 C语言应用领域
操作系统
应用软件
嵌入式
游戏开发
1.4.1 主流开发工具介绍
Visual Studio
Visual Studio(简称VS)是由微软公司发布的集成开发环境。它包括了整个软件生命周期中所需要的大部分工具。
Qt Creator
Qt Creator是一个轻量级、跨平台、简单易用且功能强大的IDE,它支持的系统包括Linux、Mac OS X以及 Windows。
1.4.1 主流开发工具介绍
Eclipse
Eclipse是一种被广泛使用的免费跨平台IDE,用户可以根据需要安装多种不同的插件来扩展Eclipse的功能。
Vim
Vim本身并不是一个用于开发计算机程序的IDE,而是一款功能非常强大的文本编辑器,它是UNIX系统上Vi编辑器的升级版。
1.4.1 主流开发工具介绍
Dev-C++
Dev-C++是Windows环境下的一个适合于初学者使用的轻量级C/C++集成开发环境,它遵守GPL许可协议,是一款自由软件。Dev-C++使用MingW64/ TDM-GCC等编译器,遵循C99标准,同时兼容C90标准。
1.4.2 Dev-C++安装
登录官网https:///projects/orwelldevcpp/,进入软件下载页面。
1.4.2 Dev-C++安装
下载完成后,双击软件安装包文件打开安装程序,Dev-C++的安装过程与普通软件的安装相同,根据提示一直“下一步”就可以。
1.4.2 Dev-C++安装
Dev-C++编辑界面
1.4.2 Dev-C++安装
● 菜单栏:Dev-C++软件、编译器、代码风格等设置。
● 快捷按钮:快捷按钮是使用Dev-C++的快捷方式,点击后执行相关功能。
● 项目管理区:管理建立项目的所有工程文件,可以查看函数、结构体。
● 代码编辑区:在编辑器中输入代码,每行都有对应的编号。
● 编译信息显示区:用于在程序编译过程中显示编程中的错误信息、查看资源文件、记录编译过程中的日志信息以及显示调试信息。
1.5.1 编写第一个程序HelloWorld
#include
int main()
{
//使用系统提供的标准输出, 在控制台显示信息
printf("Hello, world!\n");
return 0;
}
1.5.1 编写第一个程序HelloWorld
● 第1行代码的作用是进行相关的预处理操作。其中,字符“#”是预处理标志,include后面跟着一对尖括号,表示头文件在尖括号内读入。stdio.h就是标准输入输出头文件,因为第5行用到的printf()输出函数,所以文件需要包含此头文件。
1.5.1 编写第一个程序HelloWorld
● 第2行代码声明了一个main()函数,该函数是程序的入口,程序运行从main()函数开始执行。main()函数前面的int表示该函数的返回值类型是整型。代码第3~7行“{}”中的内容是函数体,程序的相关操作都要写在函数体中。
1.5.1 编写第一个程序HelloWorld
● 第4行是程序代码单行注释部分,使用“//”来表明,从“//”开始到该行结束部分属于注释部分,不参与程序编译过程。
● 第5行代码调用了格式化输出函数printf(),该函数用于输出一行信息,可以简单理解为向控制台输出文字或符号等。printf()括号中的内容称为函数的参数,括号内可以看到输出的字符串“Hello, world!\n”,其中“\n”表示换行操作。
1.5.1 编写第一个程序HelloWorld
● 第6行代码中return语句的作用是将函数的执行结果返回,后面紧跟着函数的返回值,在该程序的返回值中,0表示正常退出。
1.5.1 编写第一个程序HelloWorld
在C语言程序中,以分号“;”为结束标记的代码都可称为语句,如HelloWorld程序中的第5行、第6行代码都是语句,被“{}”括起来的语句被称为语句块。
注 意
多学一招:多行注释
多行注释:/**/。
注释可嵌套使用,但多行注释与多行注释不可以嵌套使用。
原因:外层注释的“/*”会和内层注释的“*/”进行配对,而内层注释的“/*”以及外层注释的“*/”都无法正确匹配,进而导致程序错误。
1.5.2 C语言编译过程
C语言要生成可执行程序,需要经过预处理、编译、汇编和链接这四步。
1.5.2 C语言编译过程
(1)预处理
● 展开所有宏定义(#define),进行字符替换;
● 处理所有条件编译指令(#ifdef、#ifndef、#endif等);
● 处理文件包含(#include),将包含的文件直接插入到语句所在处。
● 删除所有注释;
● 添加行号和文件标识,以便在调试和编译出错时快速定位到错误。
1.5.2 C语言编译过程
(2)编译
● 编译操作对预处理文件*.i进行词法分析、语法分析、语义分析后生成汇编文件*.s。
(3)汇编
● 汇编操作指将生成的汇编文件*.s翻译成计算机能够识别的二进制文件。在Linux系统中的二进制文件是“*.o”文件,Windows系统中是“*.obj”文件。
1.5.2 C语言编译过程
(4)链接
生成二进制文件后,文件尚不能运行,若想运行文件,需要将二进制文件与代码中用到的库的库文件进行绑定,这个过程称为链接。链接操作完成后将生成可执行文件。
1.6 阶段案例——我的名片
一、案例描述
名片是记录姓名、联系方式、所属单位的卡片,是自我介绍最便捷有效的方式。在本案例中使用C语言编写程序,制作一张属于自己的名片吧!
1.6 阶段案例——我的名片
二、案例分析
本案例主要是程序的编写与执行,在程序中将自己的信息传入printf()函数,运行程序后将信息打印到终端。
1.6 阶段案例——我的名片
三、案例实现思路
名片一般包含姓名、联系方式、所属单位等信息,本案例考虑使用printf()语句分别输出这三项信息;为使名片更加美观,本案例考虑在个人信息前后使用printf()语句分别打印一行制表符。
补充
理论考试篇
宏定义和文件包含
宏定义和文件包含都属于编译预处理命令,以“#”开头,结尾部分不要加分号(除非有特别需要)。编译预处理命令的作用不是实现程序的功能,而是给C语言编译系统提供信息,通知C编译器在对源程序进行编译之前应该做哪些预处理工作。
①不带参数的宏定义。
命令的一般形式如下:
#define 标识符 字符串
定义中的“标识符”为用户定义标识符,称为宏名,宏名一般用大写字母。在预编译时,将程序中出现的宏名均替换成“字符串”的内容,这一过程称为宏展开。例如:
#define PI 3.1415926
则程序中凡遇PI均用3.1415926代替, 如“2*PI*r”宏展开为“ 2*3.1415926*r ”
宏定义
② 带参数的宏定义
命令的一般形式如下:
#define 宏名(形式参数表) 字符串
注:“字符串”应包含括号中所指定的形式参数,宏名与括号之间不要加空格。
宏定义
③带参数的宏展开
预定义时,遇到带参数的宏名,则按命令行中指定的字符串从左到右进行转换,原则是:凡遇形参则以实参代替,非形参字符则原样保留,从而形成展开后的内容
例如:#define AREA(r) PI*(r)*(r),则AREA(3+2)宏展开为 3.1415926*(3+2)*(3+2)
宏定义
文件包含
文件包含的作用是将一个源程序文件包含到另一个源程序文件中,它以“#include”开头。
格式1: #include <文件名>
格式2: #include “文件名”
当使用格式1时,C编译系统将在系统指定的路径下搜索尖括号中的文件,一般适用于包含库函数的头文件。
当使用格式2的时候,系统首先会在用户当前目录中搜索双引号中的文件,如果找不到系统指定的路径下搜索,一般适用于包含用户文件的头文件。

展开更多......

收起↑

资源预览