《第1章语言概述语言程序设计精选文档.ppt》由会员分享,可在线阅读,更多相关《第1章语言概述语言程序设计精选文档.ppt(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第1章语言概述语言程序设计本讲稿第一页,共二十页C C语言概述语言概述第第1 1章章本本章章从从C C语语言言的的发发展展出出发发,主主要要介介绍绍C C语语言言的的发发展展历历史史、基基本本特特点点和和简简单单的的C C语语言言程程序序结结构构与与组组成成,重重点点介介绍绍了了算算法法的的含含义义与与算算法法的的描描述述工工具具,以以传传统统流流程程图图为为重重点点分分析析了了算算法法的的描描述方法。述方法。通过本章的学习,要求达到以下目标:了解通过本章的学习,要求达到以下目标:了解C语言的形语言的形成、发展和基本特点;了解程序、程序设计、高级语成、发展和基本特点;了解程序、程序设计、高级语
2、言的概念;掌握言的概念;掌握C语言程序的基本结构和组成;掌握计语言程序的基本结构和组成;掌握计算机算法的基本概念和算法描述的基本工具;运用传统流算机算法的基本概念和算法描述的基本工具;运用传统流程图描述一个具体的算法。程图描述一个具体的算法。【本章导读】本讲稿第二页,共二十页C语言概况语言概况 1.1 1960年年ALGOL60语言(一种面向问题的高级语言)。语言(一种面向问题的高级语言)。1963年英国剑桥大学推出年英国剑桥大学推出CPL语言语言,同年剑桥大学的马丁同年剑桥大学的马丁理理查德对其简化,提出查德对其简化,提出BCPL语言;语言;1970年美国贝尔实验室的肯年美国贝尔实验室的肯汤
3、姆逊进一步简化,提出了汤姆逊进一步简化,提出了B语言(取语言(取BCPL的第一个字母);的第一个字母);1972年美国贝尔实验室的布朗年美国贝尔实验室的布朗W卡尼汉和丹尼斯卡尼汉和丹尼斯M利利奇对其完善和扩充,提出了奇对其完善和扩充,提出了C语言(取语言(取BCPL的第二个字母);的第二个字母);1987年美国标准化协会制定了年美国标准化协会制定了C语言标准语言标准“ANSIC”,即现在流行的,即现在流行的C语言。语言。1.1.1C语言的发展语言的发展本讲稿第三页,共二十页1.1.2C语言的特点语言的特点(1)C语言是具有低级语言功能的高级语言语言是具有低级语言功能的高级语言C语言既具有高级语
4、言的功能,又具有低级语言的许多功能。它把高级语言的基本语言既具有高级语言的功能,又具有低级语言的许多功能。它把高级语言的基本结构和语句与低级语言的实用性结合起来,是处于汇编语言和高级语言之间的一种结构和语句与低级语言的实用性结合起来,是处于汇编语言和高级语言之间的一种程序设计语言,也可称其为程序设计语言,也可称其为“中级语言中级语言”。(2)C语言简洁、紧凑,使用方便、灵活语言简洁、紧凑,使用方便、灵活C语言一共只有语言一共只有32个关键词,个关键词,9种控制语句,种控制语句,TurboC2.0增加了增加了11个关键词个关键词(用于各种增强和扩展功能)。程序书写形式自由,主要用小写字母表示,相
5、(用于各种增强和扩展功能)。程序书写形式自由,主要用小写字母表示,相对于其他高级语言源程序短。对于其他高级语言源程序短。(3)运算符丰富,表达式能力强运算符丰富,表达式能力强C语言共有语言共有34种运算符,范围广泛,除一般高级语言所使用的算术、关系和逻辑运种运算符,范围广泛,除一般高级语言所使用的算术、关系和逻辑运算符外,还可以实现以二进制位为单位的运算,并且具有如算符外,还可以实现以二进制位为单位的运算,并且具有如a+,-b等单项运算符等单项运算符和和+=、-=、*=、/+等复合运算符等。等复合运算符等。C语言概况语言概况 1.1 本讲稿第四页,共二十页(4)数据结构丰富,便于数据的描述与存
6、储数据结构丰富,便于数据的描述与存储C语言具有丰富的数据结构,其数据类型有整型、实型、语言具有丰富的数据结构,其数据类型有整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型字符型、数组类型、指针类型、结构体类型、共用体类型等,因此能实现复杂的数据结构的运算。等,因此能实现复杂的数据结构的运算。(5)C语言是结构化、模块化的编程语言语言是结构化、模块化的编程语言程序的逻辑结构可以使用顺序、分支和循环程序的逻辑结构可以使用顺序、分支和循环3种基本结构组成。种基本结构组成。C语语言程序采用函数结构,十分便于把整体程序分割成若干相对独立的言程序采用函数结构,十分便于把整体程序分割成若干相对
7、独立的功能模块,并且为程序模块间的相互调用以及数据传递提供了便利。功能模块,并且为程序模块间的相互调用以及数据传递提供了便利。(6)C语言程序中,可使用宏定义编译预处理语句、条件编译语言程序中,可使用宏定义编译预处理语句、条件编译预处理语句,为编程提供了方便。预处理语句,为编程提供了方便。C C语言的特点语言的特点(续续)1.1.2本讲稿第五页,共二十页(7)可移植性好可移植性好与汇编语言相比,与汇编语言相比,C程序基本上不作修改就可以运行于各种型程序基本上不作修改就可以运行于各种型号的计算机和各种操作系统。号的计算机和各种操作系统。(8)C语言也存在一些不足之处,例如运算符及其优先级过多、语
8、言也存在一些不足之处,例如运算符及其优先级过多、语法定义不严格等,对于初学者有一定的困难。语法定义不严格等,对于初学者有一定的困难。由于由于C语言具有上述特点,因此语言具有上述特点,因此C语言得到了迅速推广,成为人们编写语言得到了迅速推广,成为人们编写大型软件的首选语言之一。许多原来用汇编语言处理的问题可以用大型软件的首选语言之一。许多原来用汇编语言处理的问题可以用C语语言来处理了。言来处理了。C C语言的特点语言的特点(续续)1.1.2本讲稿第六页,共二十页简单的简单的C C语言程序语言程序【例例1.1】在计算机屏幕上输出在计算机屏幕上输出“HELLO,TOM!”/*EX1-1.C */ma
9、in()printf(HELLO,TOM!n);1.2本讲稿第七页,共二十页/*EX1-2.C*/main()intr;floatl,s;r=5;l=2*3.14159*r;s=3.14159*r*r;printf(r=%d,l=%f,s=%fn,r,l,s);【例【例1.2】己知圆的半径,求圆的周长和面积己知圆的半径,求圆的周长和面积本讲稿第八页,共二十页/*EX1-3.C*/#includestdio.hmain()intx,y,z;scanf(%d,%d,&x,&y);z=area(x,y);printf(areais%dn,z);intarea(inta,intb)intc;c=a*b
10、;return(c);【例【例1.3】输入矩形的两个边长,求矩形的面积输入矩形的两个边长,求矩形的面积本讲稿第九页,共二十页(1)C程序由函数组成 每个C程序有且仅有一个主函数,该主函数的函数名规定为main。一个C程序由一个main函数和若干个子函数构成。(2)函数可分为两部分:函数说明和函数体函数说明的形式:函数类型 函数名(形式参数1类型 形式参数1,形式参数2类型 形式参数2,)函数体的形式:变量定义(说明)部分 函数执行部分总结总结本讲稿第十页,共二十页(3)C程序的书写格式自由,一行内可以写几条语句,一条语句也可以写在多行上,每条语句后必须以“;”作为语句的结束。复合语句要以一对括
11、起来。(4)C程序的执行总是从主函数开始,并在主函数中结束。主函数的位置在程序中是任意的,其他函数总是通过函数调用语句来执行。(5)主函数可以调用任何函数,任何非主函数之间都可以相互调用,但是不能调用主函数。(6)C语言本身没有输入输出语句。输入和输出操作是由调用系统提供的输入输出函数来完成的。(7)可以用/*/对C程序中的任何部分作注释。总结总结本讲稿第十一页,共二十页算算 法法 算法是指解决问题的方法和步骤。算法是指解决问题的方法和步骤。利用计算机解决问题,首先要编写计算机程序。计算机程序是利用计算机解决问题,首先要编写计算机程序。计算机程序是许多指令的集合,每一条指令让计算机执行完成一个
12、具体的操作,许多指令的集合,每一条指令让计算机执行完成一个具体的操作,一个程序所规定的操作全部执行完后,就能产生计算结果。因此,一个程序所规定的操作全部执行完后,就能产生计算结果。因此,编写出正确的程序是让计算机解决实际问题的关键。一般编制正确编写出正确的程序是让计算机解决实际问题的关键。一般编制正确的计算机程序必须具备两个基本条件:一是掌握一门计算机高级语的计算机程序必须具备两个基本条件:一是掌握一门计算机高级语言的规则,二是要掌握解题的方法和步骤。言的规则,二是要掌握解题的方法和步骤。计算机语言只是一种工具。简单地掌握语言的语法规则是不够的,计算机语言只是一种工具。简单地掌握语言的语法规则
13、是不够的,最重要的是学会针对各种类型的问题,拟定出有效的解题方法和步骤最重要的是学会针对各种类型的问题,拟定出有效的解题方法和步骤的算法。的算法。1.3.1算法概述算法概述1算法的含义算法的含义1.3 本讲稿第十二页,共二十页正确的算法必须满足下列正确的算法必须满足下列3个条件:个条件:(1)每一个逻辑块必须由可以实现的语句来完成;每一个逻辑块必须由可以实现的语句来完成;(2)模块与模块之间的关系应该是唯一的;模块与模块之间的关系应该是唯一的;(3)算法要能终止,不能造成死循环。算法要能终止,不能造成死循环。算法概述算法概述1.3.1 本讲稿第十三页,共二十页2算法的特征算法的特征一个正确的算
14、法具有五个基本特征:一个正确的算法具有五个基本特征:(1)有穷性有穷性一个算法必须在有限次执行后完成。一个算法必须在有限次执行后完成。(2)确定性确定性一个算法中的每一个步骤必须有明确的定义,不能有语义不明一个算法中的每一个步骤必须有明确的定义,不能有语义不明确的地方。确的地方。(3)输入输入算法总是要施加到运算对象上,提供运算对象的初始情况,一个算算法总是要施加到运算对象上,提供运算对象的初始情况,一个算法有法有0个或多个输入。个或多个输入。(4)输出输出一个算法要有一个或多个输出。若无输出,则无法知道结果。一个算法要有一个或多个输出。若无输出,则无法知道结果。(5)可行性可行性可行性是指所
15、有待实现的运算必须是相当基本的,至少在原则上人们可以用可行性是指所有待实现的运算必须是相当基本的,至少在原则上人们可以用纸和笔做有限次操作即可完成。纸和笔做有限次操作即可完成。实质上,算法反映的是解决问题的思路。许多问题,只要仔细分析对象数据,实质上,算法反映的是解决问题的思路。许多问题,只要仔细分析对象数据,就容易找到处理方法。就容易找到处理方法。算法概述算法概述1.3.1 本讲稿第十四页,共二十页算法的表示方法很多,主要有传统算法的表示方法很多,主要有传统流程图、流程图、N-S图、伪代码、自然语言和计图、伪代码、自然语言和计算机程序语言等。这里重点介绍传统流算机程序语言等。这里重点介绍传统
16、流程图和程图和N-S图。图。算法的表示算法的表示1.3.2 本讲稿第十五页,共二十页传统流程图传统流程图起止框起止框处理框处理框判断框判断框连接点连接点流程线流程线输出输出x输出输出-xYNx01本讲稿第十六页,共二十页画出求画出求1+2+3+1+2+3+100+100之和的流程图之和的流程图【例1-4】YNx100开始s+is,i+1i0s,1i结束输出输出s的值的值本讲稿第十七页,共二十页 A BP成立 不成立A B当P成立 AA直到P成立1973年美国学者提出了一种新的流程图形式。在这种年美国学者提出了一种新的流程图形式。在这种流程图里,完全去掉了带箭头的流程线。全部算法写在一流程图里,
17、完全去掉了带箭头的流程线。全部算法写在一个矩形框内,在框内还可以包含其它从属于它的方框,即个矩形框内,在框内还可以包含其它从属于它的方框,即由一些基本的框组成一个大框。这种流程图适于结构化程由一些基本的框组成一个大框。这种流程图适于结构化程序设计算法的描述。序设计算法的描述。0 0s,1s,1i i当当x x100100成立成立s+is+is si+1i+1i i输出输出s s的值的值2N-SN-S图图本讲稿第十八页,共二十页本章小结本章小结 本章主要介绍了本章主要介绍了C语言的发展和特点,语言的发展和特点,C语言程序的构成以及算法的定义和表示,语言程序的构成以及算法的定义和表示,其中其中C程序的构成和算法的表示是重点和程序的构成和算法的表示是重点和难点,算法的表示方法中以传统流程图难点,算法的表示方法中以传统流程图为主,本书后续各章中都使用传统流程为主,本书后续各章中都使用传统流程图来表示算法。图来表示算法。本讲稿第十九页,共二十页结束结束结束结束本讲稿第二十页,共二十页