第1章 C语言程序设计概述_第1页
第1章 C语言程序设计概述_第2页
第1章 C语言程序设计概述_第3页
第1章 C语言程序设计概述_第4页
第1章 C语言程序设计概述_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、主讲教师:王国华主讲教师:王国华学学 院:数学与信息学院院:数学与信息学院C语言的位置2编译型语言在程序执行之前,有一个单独的编译过程,将程序翻译成机器语言,以后执行这个程序的时候,就不用再进行翻译了。解释型语言,是在运行的时候将程序翻译成机器语言,所以运行速度相对于编译型语言要慢。C/C+ 等都是编译型语言,而Java,C#等都是解释型语言。 3 1.1 1.1 计算机语言与程序设计计算机语言与程序设计 1.2 1.2 程序设计的基本过程程序设计的基本过程 1.3 C1.3 C语言的发展及特点语言的发展及特点 1.4 C1.4 C语言程序的组成和结构语言程序的组成和结构 1.5 C1.5 C

2、语言的开发步骤语言的开发步骤第第 1 1 章章 C C语言程序设计概述语言程序设计概述4三个概念:人类语言、计算机语言、计算机程序三个概念:人类语言、计算机语言、计算机程序人类人类语言语言: 人与人之间交流的工具,通过自然语言实现人与人之人与人之间交流的工具,通过自然语言实现人与人之间的沟通,使别人能够明白的按照语言的表达来办事、工间的沟通,使别人能够明白的按照语言的表达来办事、工作。作。 如:汉语、英语、德语、法语、日语等如:汉语、英语、德语、法语、日语等1.1 计算机与程序设计什么是语言?什么是语言?5计算机语言:计算机语言: 人与计算机之间交流的工具,通过计算机语言实现人与人与计算机之间

3、交流的工具,通过计算机语言实现人与计算机之间的沟通,使计算机能够按照人的意图进行工作。计算机之间的沟通,使计算机能够按照人的意图进行工作。 如:如:C C语言、语言、foxprofoxpro、basicbasic、javajava、汇编语言、机器语言、汇编语言、机器语言等等如何通过程序(代码)跟计算机沟通?计算机硬件,只认得高低电平(二进制)!人类通过二进制与指令的对应,实现与计算机的交流6什么是计算机程序?什么是计算机程序? 计算机程序计算机程序也常称为也常称为“代码代码”,是用一系列指令编,是用一系列指令编写的,可以由计算机执行的以完成某一特定任务的脚本。写的,可以由计算机执行的以完成某一

4、特定任务的脚本。7人们常把编写程序的过程称为程序设计。人们常把编写程序的过程称为程序设计。 计算机可以直接识别和执行的二进制语言。计算机可以直接识别和执行的二进制语言。 如:如: 加法指令加法指令: 1 0 0 0 0 0 0 0: 1 0 0 0 0 0 0 0 减法指令减法指令: 1 0 0 1 0 0 0 0: 1 0 0 1 0 0 0 0特点:特点: 计算机可以直接识别和执行,效率高,计算机可以直接识别和执行,效率高, 节省内存;但难以阅读和记忆。节省内存;但难以阅读和记忆。 程序设计语言程序设计语言 按照不同种计算机语言的语法编写的程序,我们把它按照不同种计算机语言的语法编写的程序

5、,我们把它称为某一种语言的程序。称为某一种语言的程序。 例如用例如用C C语言编写的程序,我们称为语言编写的程序,我们称为C C语言程序。类语言程序。类似的还有汇编语言程序、似的还有汇编语言程序、JAVAJAVA语言程序等。语言程序等。 程序设计语言的种类很多,从其发展历史以程序设计语言的种类很多,从其发展历史以及功能情况来划分可以大致划分成三大类:及功能情况来划分可以大致划分成三大类:1、机器语言:机器语言:82 2、符号语言(又称汇编语言):符号语言(又称汇编语言): 用用“助记符助记符”来表示机器指令。来表示机器指令。如:如: ADD A, B ADD A, B SUB A, B SUB

6、 A, B 计算机不能直接识别和执行用汇编语言编写的计算机不能直接识别和执行用汇编语言编写的源程序,它必须经过一个叫汇编程序的系统软件翻源程序,它必须经过一个叫汇编程序的系统软件翻译成机器语言程序(即目标程序)后才能执行。译成机器语言程序(即目标程序)后才能执行。93 3、高级语言高级语言 不依赖于机器,降低了编程的难度。不依赖于机器,降低了编程的难度。如:如: C C、JavaJava等,用等,用+和和-来表示加减运算。来表示加减运算。如如: a=7+8: a=7+8; c=4 c=4* *d+6d+6; 计算机也不能直接执行高级语言的源程序,必计算机也不能直接执行高级语言的源程序,必须先经

7、过编译程序或解释程序翻译成目标程序后,须先经过编译程序或解释程序翻译成目标程序后,才能由计算机执行。才能由计算机执行。1.2.1 1.2.1 程序设计的步骤程序设计的步骤 程序设计常被简单称为编码,事实上编码只是程序程序设计常被简单称为编码,事实上编码只是程序设计的一个步骤,过程如下:设计的一个步骤,过程如下:101.2 程序设计的基本过程分析问题分析问题设计算法设计算法编写程序编写程序编译程序编译程序调试程序调试程序编写程序文档编写程序文档开始开始结束结束 值得指出的是,程序设计者如果认为要解决的问题值得指出的是,程序设计者如果认为要解决的问题很熟悉,分析问题和设计算法这两步常被快速跳过;另

8、,很熟悉,分析问题和设计算法这两步常被快速跳过;另,编写程序文档不是必需的步骤,但对软件工程很重要。编写程序文档不是必需的步骤,但对软件工程很重要。111.2.21.2.2算法的常用描述方法算法的常用描述方法 算法是程序算法是程序的灵魂的灵魂,能读懂他人设计的能读懂他人设计的算法算法和将和将自己设计的程序自己设计的程序以易于理解的方式描述出来是以易于理解的方式描述出来是必要的必要的。 目前描述算法的方法有很多,如:自然语言、流目前描述算法的方法有很多,如:自然语言、流程图、程图、N-SN-S流程图流程图、PADPAD图图和伪代码和伪代码等等(只需关注前两(只需关注前两种)种)。N-S流程图几种

9、标准控制结构PAD图N-S流程图示例 自然语言自然语言例例1-11-1:使用自然语言描述计算:使用自然语言描述计算n!n!的算法。的算法。算法使用变量算法使用变量s s表示计算表示计算n!n!的中间结果,即累乘的积;使的中间结果,即累乘的积;使用变量用变量t t表示乘数,则算法步骤如下:表示乘数,则算法步骤如下:步骤步骤1 1:输入:输入n n;步骤步骤2 2:使:使s=1s=1,t=1t=1;步骤步骤3 3:计算:计算s st t,得到的积保存到,得到的积保存到s s中;中;步骤步骤4 4:使:使t t的值增加的值增加1 1;步骤步骤5 5:如果:如果tntn,则跳转到步骤,则跳转到步骤3

10、3执行;否则计算结束,执行;否则计算结束, 继续下一步骤;继续下一步骤;步骤步骤6 6:此时:此时s s的值就是的值就是n!n!,输出,输出s s的值。的值。2. 2. 流程图流程图 流程图是使用一些几何图形、线条以及文字说明来描流程图是使用一些几何图形、线条以及文字说明来描述算法的逻辑结构。述算法的逻辑结构。14例例1-21-2:使用流程图描述计算:使用流程图描述计算n!n!的算法。算法使用变量的算法。算法使用变量s s表示计算表示计算n!n!的中间结果,即累乘的积;使用变量的中间结果,即累乘的积;使用变量t t表示乘表示乘数。数。15例1-3:远红外行人检测检测结果示例:Video116检

11、测结果示例:图1. 不同季节下市区、郊区场景的远红外行人检测结果171.3 C语言的发展与特点1.3.1 C1.3.1 C语言的发展历程语言的发展历程 C语言的原型ALGOL 60语言。(也称为A语言,面向问题的高级语言,离硬件比较远) 1963年,剑桥大学将ALGOL 60语言发展成为CPL(Combined Programming Language)语言。 1967年,剑桥大学的Matin Richards 对CPL语言进行了简化,于是产生了BCPL语言。 1970年,美国贝尔实验室的Ken Thompson将BCPL进行了修改,并为它起了一个有趣的名字“B语言”。意思是将CPL语言煮干,

12、提炼出它的精华。并且他用B语言写了第一个UNIX操作系统。 而在1973年,B语言也给人“煮”了一下,美国贝尔实验室的D.M.RITCHIE等人在B语言的基础上最终设计出了一种新的语言,他取了BCPL的第二个字母作为这种语言的名字,这就是C语言。18C C程序的特点:程序的特点: (1) (1) 短小精悍而且功能齐全。短小精悍而且功能齐全。 (2) (2) 结构化的程序设计语言。结构化的程序设计语言。 (3) (3) 兼有高级语言和低级语言的特点。兼有高级语言和低级语言的特点。 (4) (4) 程序执行效率高。程序执行效率高。 (5) (5) 程序可移植性好。程序可移植性好。1.3 C语言的发

13、展与特点程序如下:程序如下: 1 / 1 /* * 2 2 本程序在屏幕上输出一行字符串本程序在屏幕上输出一行字符串 3 3 * */ / 4 #include / 4 #include /编译预处理编译预处理 5 int main() / 5 int main() /主函数头部主函数头部 6 / 6 /主函数体开始主函数体开始 7 printf(Welcome to C!n); / 7 printf(Welcome to C!n); /输出字符串输出字符串 8 return 0; / 8 return 0; /返回值为返回值为0 0 9 9 19例例1-31-3:编写一个:编写一个C C语言

14、程序,其功能是显示字符串语言程序,其功能是显示字符串“Welocome to C!”Welocome to C!”1.4 C语言程序的组成和结构20 第第1 1行到第行到第3 3行是一个多行注释,注释不执行,它能够帮助程序员相互交行是一个多行注释,注释不执行,它能够帮助程序员相互交流,理解程序和语句的作用。流,理解程序和语句的作用。 第第4 4行是一个编译预处理命令,通常写在源程序的头部。行是一个编译预处理命令,通常写在源程序的头部。 程序从第程序从第5 5行开始定义了主函数行开始定义了主函数mainmain。每一个。每一个C C程序都必须有一个主函数,程序都必须有一个主函数,C C程序总是从

15、主函数开始执行。程序总是从主函数开始执行。 第第5 5行定义了主函数的头部,行定义了主函数的头部,mainmain是主函数的名称,是主函数的名称,intint表示主函数的类表示主函数的类型,右边的括号是必须的,它定义了函数的参数表。型,右边的括号是必须的,它定义了函数的参数表。 第第6 6行到第行到第9 9行是行是mainmain函数的函数体的定义。函数体由一条或多条语句组函数的函数体的定义。函数体由一条或多条语句组成,这些语句按照顺序被放在一对花括号成,这些语句按照顺序被放在一对花括号中。中。程序如下:程序如下: 第第1 1行行 / /* * 第第2 2行行 本程序在屏幕上输出一行字符串本程

16、序在屏幕上输出一行字符串 第第3 3行行 * */ / 第第4 4行行 #include / #include /编译预处理编译预处理 第第5 5行行 int main() / int main() /主函数头部主函数头部 第第6 6行行 / /主函数体开始主函数体开始 第第7 7行行 printf(Welcome to C!n); / printf(Welcome to C!n); /输出字符串输出字符串 第第8 8行行 return 0; / return 0; /返回值为返回值为0 0 第第9 9行行 程序如下:程序如下:#include #include int main()int m

17、ain() double r, area; / double r, area; /声明部分,定义变量声明部分,定义变量 r=10.0; / r=10.0; /赋值语句,让赋值语句,让r r的值为的值为10.010.0 area=3.14 area=3.14* *r r* *r; /r; /计算面积,并将结果赋值给计算面积,并将结果赋值给areaarea printf(area=%fn,area); / printf(area=%fn,area); /输出输出areaarea的值的值 return 0; return 0; 21例例1-41-4:根据半径计算圆面积的:根据半径计算圆面积的C C程

18、序。程序。22 第第4 4行是行是mainmain函数的声明部分,这里定义了两个变量函数的声明部分,这里定义了两个变量r r和和areaarea,分别表示圆的半径和面积。,分别表示圆的半径和面积。 第第5 5行是一条赋值语句,它把变量行是一条赋值语句,它把变量r r的值设置为的值设置为10.010.0。 第第6 6行也是一条赋值语句,但要复杂一点。首先计算赋行也是一条赋值语句,但要复杂一点。首先计算赋值符号值符号“=”=”右边的式子的结果,然后将结果赋给变量右边的式子的结果,然后将结果赋给变量areaarea。 第第7 7行输出了圆的面积行输出了圆的面积areaarea的值,这是程序的运算结果

19、。的值,这是程序的运算结果。程序如下:程序如下: 第第1 1行行 #include #include 第第2 2行行 int main() int main() 第第3 3行行 第第4 4行行 double r, area; / double r, area; /声明部分,定义变量声明部分,定义变量 第第5 5行行 r=10.0; / r=10.0; /赋值语句,让赋值语句,让r r的值为的值为10.010.0 第第6 6行行 area=3.14 area=3.14* *r r* *r; /r; /计算面积,并将结果赋值给计算面积,并将结果赋值给areaarea 第第7 7行行 printf(

20、area=%fn,area); / printf(area=%fn,area); /输出输出areaarea的值的值 第第8 8行行 return 0; return 0; 第第9 9行行 23C C语言程序的结构:语言程序的结构:源程序文件1n 示例:24Main函数示例:25编译预处理示例:全局变量声明示例:26函数头、函数体、声明部分、执行语句部分示例:27 在在C C语言中语言中区分大小写区分大小写,如,如MainMain、MAINMAIN、mainmain、 maiNmaiN是不相同的。是不相同的。(1) (1) 一个完整的一个完整的C程序由若干个函数组成,程序由若干个函数组成,至少

21、有且至少有且 仅有一个仅有一个mainmain函数,函数,每个函数包括:每个函数包括: 函数说明部分函数说明部分 变量定义变量定义 函数体函数体 语句部分语句部分 语句必须以语句必须以分号分号(; ;)作结束标志;)作结束标志; 由由“/ /* *”与与“* */ /”之间的内容构成之间的内容构成C C语言程序的注释语言程序的注释 部分,也可以使用部分,也可以使用/; 用预处理命令用预处理命令#include#include可以包含有关文件的信息。可以包含有关文件的信息。C C语言程序的基本结构:语言程序的基本结构:281.5 C1.5 C语言程序的开发步骤语言程序的开发步骤C C语言程序的开发步骤语言程序的开发步骤:课后习题课后习题 1.1.编写一个程序输出以下内容:编写一个程序输出以下内容: * * * * * * * * * * *

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论