资源简介 (共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<2Then i不是素数,程序结束Elset=2Repeat:If i mod t=0Then i不是素数,程序结束Else t=t+1Until t>=ii是素数,程序结束使用接近自然语言的形式将整个算法运行过程的结构表述出来。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 StudioVisual Studio(简称VS)是由微软公司发布的集成开发环境。它包括了整个软件生命周期中所需要的大部分工具。Qt CreatorQt Creator是一个轻量级、跨平台、简单易用且功能强大的IDE,它支持的系统包括Linux、Mac OS X以及 Windows。1.4.1 主流开发工具介绍EclipseEclipse是一种被广泛使用的免费跨平台IDE,用户可以根据需要安装多种不同的插件来扩展Eclipse的功能。VimVim本身并不是一个用于开发计算机程序的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的时候,系统首先会在用户当前目录中搜索双引号中的文件,如果找不到系统指定的路径下搜索,一般适用于包含用户文件的头文件。 展开更多...... 收起↑ 资源预览