《C语言程序设计第1章概述.ppt》由会员分享,可在线阅读,更多相关《C语言程序设计第1章概述.ppt(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、北京邮电大学出版社北京邮电大学出版社C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计上一页上一页下一页下一页C C语言程序设计课程简介语言程序设计课程简介 C语言是当今使用最广泛的高级语言,是操作系统、编译系统等大型复杂系统的首选语言。实践证明,用该语言编写的程序,灵活、方便、简洁、高效、数据结构丰富、功能齐全。C语言自问世以来,很快就流行于全世界,并为各种规模的通用计算机所必备。同时,C语言以其灵活方便的特点,成为培养学生计算机语言思维,了解计算机编程思想的最佳语言,它已被当今国内外众多主要高校列为各理工科专业必修课程。
2、C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计上一页上一页下一页下一页教学要求教学要求达到三个层面的教学达到三个层面的教学:掌握掌握C C语言的基本结构、各种数据类型和控制流程语言的基本结构、各种数据类型和控制流程的语法、语义和语用。的语法、语义和语用。学习运用计算机语言进行程序设计的思想和方法,学习运用计算机语言进行程序设计的思想和方法,初步受到程序设计方法、技巧、风格和素养的训初步受到程序设计方法、技巧、风格和素养的训练。练。熟悉并掌握一些常用基本熟悉并掌握一些常用基本算法和算法和C C语言程序设计技术,语言程序设计
3、技术,培养学生利用培养学生利用C C语言解决一语言解决一般问题的程序设计能力。般问题的程序设计能力。C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计上一页上一页下一页下一页课时安排第一章:第一章:C C语言程序设计概述语言程序设计概述 2 2课时课时第二章:基本数据类型与表达式第二章:基本数据类型与表达式 4 4课时课时 第三章:顺序程序设计第三章:顺序程序设计 2 2课时课时 第四章:选择结构程序设计第四章:选择结构程序设计 4 4课时课时 第五章:循环结构程序设计第五章:循环结构程序设计 6 6课时课时 第六章:函数与
4、编译预处理第六章:函数与编译预处理 4 4课时课时 第七章:数组第七章:数组 4 4课时课时 第八章:指针第八章:指针 4 4课时课时 第九章:结构体与共用体第九章:结构体与共用体 2 2课时课时 第十章:文件第十章:文件 2 2课时课时 第十一、十二章第十一、十二章 选讲选讲C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计上一页上一页下一页下一页 1.1 1.1 程序与程序设计语言程序与程序设计语言 1.2 1.2 算法及其描述算法及其描述 1.3 C 1.3 C语言的发展及特点语言的发展及特点 1.4 C 1.4 C语
5、言程序的基本结构语言程序的基本结构 1.5 C 1.5 C语言字符集、标识符与关键字语言字符集、标识符与关键字 1.6 C 1.6 C语言程序的开发环境语言程序的开发环境第第 1 1 章章 C C语言程序设计概述语言程序设计概述C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计上一页上一页下一页下一页教学目的和基本要求:教学目的和基本要求:要求学生了解程序语言及算法的概念,C语言特点,C程序开发过程,简单C程序结构。教学重点:教学重点:算法的概念、C程序开发过程、简单C程序结构。C C语言程序设计语言程序设计C C语言程序设
6、计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计上一页上一页下一页下一页明白三个概念:明白三个概念:语言、程序、算法语言、程序、算法自然语言自然语言:人与人之间交流的工具,通过自然语言实现人与人之间的沟通,使别人能够明白的按照语言的表达来办事、工作。如:汉语、英语、德语、法语、日语等。1.1 1.1 程序与程序设计程序与程序设计什么是语言?什么是语言?计算机语言:计算机语言:(又叫程序设计语言)人与计算机之间交流的工具,通过计算机语言实现人与计算机之间的沟通,使计算机能够明白的按照语言的表达来办事、工作。如:C语言、foxpro、basic、java、汇编语言、机器语
7、言等。C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计上一页上一页下一页下一页 程序就是按照计算机语言的语法规则、语句格式,编制成的一段能够让计算机理解并按照执行的语句的集合。类比的说,计算机程序就好比于自然语言的一段话,或一篇文章,可以让他人理解并执行。什么是程序?什么是程序?通俗的讲,程序就是一个用计算机语言描述的,可以通俗的讲,程序就是一个用计算机语言描述的,可以由计算机执行的某一问题的解决步骤。由计算机执行的某一问题的解决步骤。C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设
8、计C C语言程序设计语言程序设计上一页上一页下一页下一页人们常把编写程序的过程称为程序设计。人们常把编写程序的过程称为程序设计。计算机可以直接识别和执行的二进制语言。计算机可以直接识别和执行的二进制语言。如:如:加法指令加法指令: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特点:特点:计计算机可以直接算机可以直接识别识别和和执执行,效率高,行,效率高,节节省内存省内存;但难以阅读和记忆;但难以阅读和记忆。程序设计程序设计 按照不同种计算机语言的语法编写的程序,我们把它按照不同种计算机语言的语法编
9、写的程序,我们把它称为某一种语言的程序。称为某一种语言的程序。用用C C语言编写的程序,我们称为语言编写的程序,我们称为C C语言程序。类似的语言程序。类似的有机器语言程序、汇编语言程序、有机器语言程序、汇编语言程序、basicbasic语言程序等。语言程序等。程序设计语言的种类很多,从其发展历史以程序设计语言的种类很多,从其发展历史以及功能情况来划分可以大致划分成五个阶段:及功能情况来划分可以大致划分成五个阶段:1、机器语言:机器语言:C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计上一页上一页下一页下一页2、汇编语言:
10、汇编语言:用用“助记符助记符”来表示机器指令。来表示机器指令。如:如:ADD A,B ADD A,B SUB A,B SUB A,B计计算算机机不不能能直直接接识识别别和和执执行行用用汇汇编编语语言言编编写写的的源源程程序序,它它必必须须经经过过一一个个叫叫汇汇编编程程序序的的系系统统软软件件翻翻译译成成机器语言程序(即目标程序)后才能执行。机器语言程序(即目标程序)后才能执行。3、算法语言算法语言(又称为面向过程的语言)(又称为面向过程的语言)即高级语言,不依赖于机器,降低了编程的难度。即高级语言,不依赖于机器,降低了编程的难度。如:如:C C、PASCALPASCAL、FORTRANFOR
11、TRAN等,用等,用+和和-来来 表示加减运算。表示加减运算。计计算算机机也也不不能能直直接接执执行行算算法法语语言言描描述述的的源源程程序序,必必须须先先经经过过编编译译程程序序或或解解释释程程序序翻翻译译成成目目标标程程序序后后,才能由计算机执行。才能由计算机执行。C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计上一页上一页下一页下一页4、面向任务的程序设计语言:面向任务的程序设计语言:是非过程化的语言,不需要知道问题是如何求是非过程化的语言,不需要知道问题是如何求解的。解的。例如:要从某学生表例如:要从某学生表SSS
12、S用数据库(用数据库(SQLSQL)查询)查询语言获取表中记录的信息,采用语言获取表中记录的信息,采用SELECTSELECT语句,语句,描述如下:描述如下:SELECT SSNO,SSNAME,SSAGE,SSSEX FROM SS SELECT SSNO,SSNAME,SSAGE,SSSEX FROM SS。5 5、面向对象的程序设计语言:面向对象的程序设计语言:认为系统是由许多对象组成的,对象通过消息认为系统是由许多对象组成的,对象通过消息相互联系和相互作用,从而完成系统的功能。如相互联系和相互作用,从而完成系统的功能。如C+C+,设计的程序更易懂,设计的程序更易懂,更适合更大规模的程序
13、更适合更大规模的程序开发。开发。C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计上一页上一页下一页下一页这类似于学习英语中的单词与句法,并正确的运用语法规则写成文章。但是光是语法规则正确的文章,并不见得准确无误的传达了作者的意思,也有可能表错了意。程序也是一样,语法规则正确的程序,却不一定正确的描述了所要解决的问题。1.2 1.2 算法及其描述算法及其描述什么是算法?什么是算法?学好程序设计语言的两步:第一步第一步:掌握语言的语法规则,包括标识符、关键掌握语言的语法规则,包括标识符、关键字、句法规则等。并能正确的运用这些语
14、法规则编字、句法规则等。并能正确的运用这些语法规则编成计算机能识别的程序。成计算机能识别的程序。C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计上一页上一页下一页下一页 拿到一个需要解决的问题,在编程之前,我们首先要确定的就是解决该问题的算法,只有先得出了正确的算法,才能进一步把该算法用程序语言的形式编写出来。正确的语法正确的语法+正确的算法正确的算法=正确的程序正确的程序第二步:第二步:掌握解决问题的方法和步骤。用程序语言编程,就是用计算机看得懂的语言向计算机描述解决某个问题的方法和步骤,计算机就是按照程序的描述,一步一
15、步执行相应操作的。所编写的程序,不但要求语法准确无误,更要求提供的步骤也准确无误,计算机才能按照要求执行出正确的结果。我们把我们把对对某一特定某一特定问题问题的求解步的求解步骤骤的一种描述的一种描述,称为该问题的称为该问题的算法算法。C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计上一页上一页下一页下一页算法算法应应当具当具备备以下几个方面的特点:以下几个方面的特点:1 1、一个算法必须保证执行有限步之后结束;、一个算法必须保证执行有限步之后结束;2 2、算法的每一个步骤必须具有确切的定义;、算法的每一个步骤必须具有确切的
16、定义;3 3、应对算法给出初始量;、应对算法给出初始量;4 4、算法具有一个或多个输出;、算法具有一个或多个输出;5 5、算法的每一步都必须是计算机能进行的有效操作。、算法的每一步都必须是计算机能进行的有效操作。C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计上一页上一页下一页下一页算法的描述方法算法的描述方法 我们可以用自然语言来描述一个问题的解决步骤(对我们可以用自然语言来描述一个问题的解决步骤(对于程序而言即是这个程序的算法),也可以用其他一些约于程序而言即是这个程序的算法),也可以用其他一些约定的描述工具,算法的描
17、述一般有以下方法:定的描述工具,算法的描述一般有以下方法:1、自然语言:自然语言:使用人们日常进行交流的语言。如:使用人们日常进行交流的语言。如:问题:从问题:从a,ba,b中找出一个大的数给中找出一个大的数给maxmax。自然语言的算法描述:自然语言的算法描述:2、专用工具:专用工具:借借助助于于有有关关图图形形工工具具或或代代码码符符号号来来描描述述。常常用用的的工具有流程图、工具有流程图、N-SN-S图等。图等。第三步:第三步:输出输出maxmax的值。的值。第二步:第二步:如果如果a a比比b b大,则把大,则把a a的值给的值给maxmax,否则把否则把b b的值给的值给maxmax
18、;第一步:第一步:从键盘输入两个数从键盘输入两个数a a和和b b;C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计上一页上一页下一页下一页如用如用N-SN-S图来描述从图来描述从a a和和b b中找大数的问题。中找大数的问题。有了正确的算法,我们就可以按照算法一步有了正确的算法,我们就可以按照算法一步一步的转换成相应的程序语言语句。一步的转换成相应的程序语言语句。上面的右图就是把上面的右图就是把“从从a a和和b b中找大数问题中找大数问题”的算法转换成了相应的的算法转换成了相应的C C语言语句。语言语句。scanf(“
19、%d,%d”,&a,&b);if(ab)max=a;else max=b;printf(“%d”,max);输入a和b abmaxa maxb输出maxYN 常用的算法有:迭代法、枚举法、递归法、递常用的算法有:迭代法、枚举法、递归法、递推法等。推法等。C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计上一页上一页下一页下一页二、C语言的特点 1 1、具有结构化语言的特点,用函数作为程序的组成单、具有结构化语言的特点,用函数作为程序的组成单 位,设计出的程序简洁、紧凑、结构清晰;位,设计出的程序简洁、紧凑、结构清晰;2 2、
20、既有高级语言的特点、既有高级语言的特点(可移植性好可移植性好),又有低级语言,又有低级语言 的许多功能的许多功能(能对硬件操作能对硬件操作);3 3、提供了丰富的数据类型;、提供了丰富的数据类型;4 4、语法限制不太严格,程序设计自由度大;、语法限制不太严格,程序设计自由度大;5 5、生成的目标代码质量高,程序执行速度快。、生成的目标代码质量高,程序执行速度快。1.3 C1.3 C语言的发展及特点语言的发展及特点一、C语言的发展概况 起源于起源于19681968年发表的年发表的CPLCPL语言语言,目前在微型计算机上目前在微型计算机上使用的有使用的有Microsoft CMicrosoft C
21、,Quick CQuick C,Turbo CTurbo C等多种版本。等多种版本。C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计上一页上一页下一页下一页#include /*#include /*标准输入输出头文件标准输入输出头文件*/*/main()main()int a int a,b b,c c,s s;/*/*定义四个整型变量定义四个整型变量*/*/scanf(“%d%d%d”,&a,&b,&c)scanf(“%d%d%d”,&a,&b,&c);/*/*变量赋值变量赋值*/*/s=a+b*c s=a+b*c;/
22、*/*算术运算并赋值算术运算并赋值*/*/printf(“s=%dn”printf(“s=%dn”,s)s);/*/*输出结果输出结果*/*/1.4 C1.4 C语言程序的基本结构语言程序的基本结构一、简单的C语言程序示例例例1-11-1:从键盘输入三个任意值的整数:从键盘输入三个任意值的整数a,b,ca,b,c,按公式,按公式s=a+bcs=a+bc计算计算s s的值,并显示结果。的值,并显示结果。C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计上一页上一页下一页下一页 在在C C语语言中言中区分区分大小写大小写,如如M
23、ainMain、MAINMAIN、mainmain、maiN maiN是是不相同不相同的的。一个完整的一个完整的C程序由若干个函数组成,程序由若干个函数组成,至少有且至少有且仅有一个仅有一个mainmain函数,函数,每个函数包括:每个函数包括:函数说明部分函数说明部分 变量定义变量定义 函数体函数体 语句部分语句部分 语句必须以语句必须以分号分号(;)作结束标志;(;)作结束标志;由由“/*/*”与与“*/*/”之之间间的的内内容容构构成成C C语语言言程程序序的的注注释释 部分;部分;用用预预处处理理命命令令#include#include可可以以包包含含有有关关文文件件的的信信息。息。C
24、 C语言程序的基本结构:语言程序的基本结构:C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计上一页上一页下一页下一页一、语言字符集1 1、英文字母:大小写各、英文字母:大小写各2626个,共计个,共计5252个;个;2 2、阿拉伯数:、阿拉伯数:0 09 9共共1010个数字;个数字;3 3、下划线:、下划线:_ _;4 4、特殊符号:通常指由、特殊符号:通常指由12个符号组成的运算符。个符号组成的运算符。算术运算符:算术运算符:+-*/%+-关系运算符:关系运算符:=条件运算符:条件运算符:?:和赋值运算符:和赋值运算符
25、:=其他分隔符:其他分隔符:().,;1.5 C1.5 C语言字符集、标识符与关键字语言字符集、标识符与关键字C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计上一页上一页下一页下一页 二、标识符 就就是是用用来来标标识识变变量量名名、符符号号常常量量名名、函函数数名名、类类型型名名、文文件件名名等等的的有有效效字字符符序序列列。(类类似似于于自自然然语语言言中中各种事物的名字各种事物的名字)C C语言规定:语言规定:标识符只能由字母、数字和下划线三种字标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须为字母或下划
26、线。符组成,且第一个字符必须为字母或下划线。例如:例如:合法标识符合法标识符:_22A:_22A,lea_1lea_1,avg3avg3,dayday,ABCde43xyw8ABCde43xyw8不合法标识符:不合法标识符:M.J.YORKM.J.YORK,$_238$_238,#xy#xy,a*ba*b,8Tea8Tea 注注意意:在在C C语语言言中中,大大小小写写字字母母不不等等效效。因因此此,a a和和A A,I I和和i i,SumSum和和sumsum,分别是两个不同的标识符,分别是两个不同的标识符C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程
27、序设计C C语言程序设计语言程序设计上一页上一页下一页下一页 与程序控制结构有关的:与程序控制结构有关的:do while for if else switch case do while for if else switch case default goto continue break return default goto continue break return三、关键字 就就是是具具有有特特定定含含义义的的标标识识符符,用用户户不不能能用用来来作作自自定定义义标标识识符符。(类类似似于于自自然然语语言言中中的的有有特特定定意意义义的的单单词词、词汇)词汇)由由ANSIANSI标准
28、推荐的关键字有标准推荐的关键字有3232个,常用的有:个,常用的有:与数据类型有关的:与数据类型有关的:char int float double signed unsigned char int float double signed unsigned short long void struct union typedef short long void struct union typedef enum sizeof enum sizeof 与存储类别有关的:与存储类别有关的:auto extern register staticauto extern register staticC
29、C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计上一页上一页下一页下一页1.6 C1.6 C语言程序的开发环境语言程序的开发环境正确正确正确正确正确正确有错误有错误有错误有错误编辑编辑 编译编译 运行运行C程序的计算机执行过程:程序的计算机执行过程:C程序的上机过程:程序的上机过程:F3F3(编辑)(编辑)F2 F2(存盘)(存盘)F9 F9(编译)(编译)CTRL+F9 CTRL+F9(运行)(运行)ALT+F5 ALT+F5(看结果)(看结果)注意:编译只能发现语法错误,不能发现算法错误。注意:编译只能发现语法错误,不能发
30、现算法错误。C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计上一页上一页下一页下一页Turbo C Turbo C 主菜单画面主菜单画面:在编辑过程中:在编辑过程中:可使用块操作命令:可使用块操作命令:CTRL+KB(CTRL+KB(块首定义块首定义),CTRL+KK(CTRL+KK(块尾定义块尾定义),CTRL+KC(CTRL+KC(块复制块复制),CTRL+KY(CTRL+KY(块删除块删除),CTRL+KV(CTRL+KV(块移动块移动),CTRL+KH(CTRL+KH(块删除块删除)快捷键命令:快捷键命令:CTRL
31、+Y(CTRL+Y(删除光标所在的一行删除光标所在的一行)C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计C C语言程序设计语言程序设计上一页上一页下一页下一页 F1:F1:帮助。帮助。F2 F2:将当前文件存盘。:将当前文件存盘。F3 F3:装载原有文件或给新文件命名。:装载原有文件或给新文件命名。F4 F4:程序运行到光标所在行。:程序运行到光标所在行。F5 F5:放大或缩小活动窗口切换。:放大或缩小活动窗口切换。F6 F6:开或关活动窗口切换。:开或关活动窗口切换。F7 F7:单步运行程序,跟踪进入函数内部运行。:单步运行程序,跟踪进入函数内部运行。F8 F8:单步运行程序,不跟踪进入函数内部。:单步运行程序,不跟踪进入函数内部。F9 F9:生成可执行文件。:生成可执行文件。F10 F10:菜单与活动窗口相互切换。:菜单与活动窗口相互切换。CTRL+F9:CTRL+F9:当前编辑环境下,进行编译、连接且运行程序。当前编辑环境下,进行编译、连接且运行程序。ALT+F5:ALT+F5:将窗口切换到将窗口切换到DOSDOS环境,用来查看程序运行结果。环境,用来查看程序运行结果。为了操作的方便,应记住为了操作的方便,应记住TCTC中的一些常用功能键:中的一些常用功能键:再见!再见!同学们:同学们:
限制150内