《C02C语言程序的开发过程课件》由会员分享,可在线阅读,更多相关《C02C语言程序的开发过程课件(70页珍藏版)》请在金锄头文库上搜索。
1、C语言程序设计School of SoftwareSchool of SoftwareZhengzhou UniversityZhengzhou University Students: Frosh Students: Frosh Students: Frosh Students: Frosh Semester: Spring of 2011 Semester: Spring of 2011 Semester: Spring of 2011 Semester: Spring of 2011 Instructor: Song Wei Instructor: Song Wei Instructor
2、: Song Wei Instructor: Song Wei Office Office Office Office:Room 315Room 315Room 315Room 315,Building Building Building Building 1C02C语言程序的开发过程第2章 C语言程序的开发过程 2C02C语言程序的开发过程主要内容C程序开发过程程序开发过程C程序集成开发环境、调试工具的使用程序集成开发环境、调试工具的使用C语言程序结构与语法规则语言程序结构与语法规则 重点:重点:C语言程序的结构、语法规则,语言程序的结构、语法规则,编译环境编译环境3C02C语言程序的开发过
3、程2.1 C语言程序的开发过程C语言程序的开发过程是:语言程序的开发过程是:使用编辑工具编写文本形式的使用编辑工具编写文本形式的C语言源文件语言源文件编译生成以机器代码为主的可编译生成以机器代码为主的可执行程序。执行程序。开发一个开发一个C语言程序一般包语言程序一般包括括3个主要步骤:编辑,编个主要步骤:编辑,编译和连接。译和连接。开发一个开发一个C程序的过程如图程序的过程如图所示。所示。 C源程序C 语言函数库编译连接4C02C语言程序的开发过程C语言程序的开发流程 5C02C语言程序的开发过程C语言程序调试步骤的解释 编辑:编辑:根据求解算法,开发人员使用任意一款文本编辑器编根据求解算法,
4、开发人员使用任意一款文本编辑器编辑代码,生成源程序代码,扩展名为辑代码,生成源程序代码,扩展名为.C。编译:编译:编译时,编译器首先检查源程序中每条语句的词法和编译时,编译器首先检查源程序中每条语句的词法和语法。当发现错误时,在屏幕上显示错误的位置、错误类型语法。当发现错误时,在屏幕上显示错误的位置、错误类型等相关信息。根据错误信息,重新使用编辑器进行查错并修等相关信息。根据错误信息,重新使用编辑器进行查错并修改,然后重新编译直到所有的词法和语法错误都被排除。正改,然后重新编译直到所有的词法和语法错误都被排除。正确编译后产生二进制目标文件,扩展名为确编译后产生二进制目标文件,扩展名为.OBJ。
5、连接:连接:编译后产生的目标文件是可重定位的程序模块,但不编译后产生的目标文件是可重定位的程序模块,但不能直接运行。连接是将目标程序、库函数和其它目标程序连能直接运行。连接是将目标程序、库函数和其它目标程序连接到一起,生成可执行的程序。扩展名为接到一起,生成可执行的程序。扩展名为.EXE。运行:运行:源代码经过编译、连接,生成可执行程序后,就可以源代码经过编译、连接,生成可执行程序后,就可以进行程序的运行了。进行程序的运行了。6C02C语言程序的开发过程C语言程序的调试 编译过程发现的错误可分为两类。编译过程发现的错误可分为两类。一类是局部语法错误。一类是局部语法错误。例如,缺失了分号、逗号,
6、或者引用例如,缺失了分号、逗号,或者引用了错误的数据对象。了错误的数据对象。另一类是程序内部上下文关系方面的错误。另一类是程序内部上下文关系方面的错误。例如,需要使用例如,需要使用的数据对象没有定义。的数据对象没有定义。连接时,也可能产生错误。例如,连接文件找不到等,具体连接时,也可能产生错误。例如,连接文件找不到等,具体不再叙述。不再叙述。源代码经过编译、连接,生成可执行程序后,还需要进行测源代码经过编译、连接,生成可执行程序后,还需要进行测试。测试的目的是发现程序的错误。一般通过输入一些实际试。测试的目的是发现程序的错误。一般通过输入一些实际数据来验证程序执行结果的正确性。如果程序执行中出
7、现问数据来验证程序执行结果的正确性。如果程序执行中出现问题,或发现程序的输出结果不正确,需要设法找到出错的原题,或发现程序的输出结果不正确,需要设法找到出错的原因,并修改源程序,重新进行编译、连接,再测试和调试,因,并修改源程序,重新进行编译、连接,再测试和调试,不断反复,直到程序正确无误。不断反复,直到程序正确无误。7C02C语言程序的开发过程2.2 C语言程序的集成开发环境 C语言程序的集成开发环境语言程序的集成开发环境IDE(Integrated Development Environment),提供了从编辑、),提供了从编辑、编译、连接到运行的所有功能。编译、连接到运行的所有功能。C语
8、言程序的集成开发环境很多,如:语言程序的集成开发环境很多,如: Turbo C,GCC(基于(基于Linux的选定的编译器),的选定的编译器),Dev C+,Visual C+。这里对。这里对Turbo C V2.0进进行详细的解释,其他工具软件大家可以自己进行行详细的解释,其他工具软件大家可以自己进行练习使用。练习使用。8C02C语言程序的开发过程9“集成式程序开发环境集成式程序开发环境”(Integrated Development Environment,IDE),把编程过程),把编程过程中需要使用的所有支持软件都集成在一起,统一地进中需要使用的所有支持软件都集成在一起,统一地进行管理和
9、使用。行管理和使用。“集成式程序开发环境”(Integrated Development Environment,IDE),9C02C语言程序的开发过程(1)建立)建立Turbo C V2.0的环境的环境 下载拷贝下载拷贝TC软件,该软件为软件,该软件为DOS环境下软件,在环境下软件,在WINDOWS下可以在下可以在DOS模拟环境下使用。模拟环境下使用。在硬盘上建立软件的文件夹,本例中在在硬盘上建立软件的文件夹,本例中在E:盘上建立了:盘上建立了TC文件夹。文件夹。将将Turbo C V2.0的软件拷贝到的软件拷贝到E:TC下。下。执行执行E:TC下的下的TC.EXE命令,进入命令,进入TC工
10、具。界面见下页:工具。界面见下页:10C02C语言程序的开发过程Turbo C V2.0的界面 下载下载11C02C语言程序的开发过程12File文件操作Edit编辑Run运行Compile编译Project项目文件Option选项Debug调试Break/watch中断/观察TC中各菜单命令的含义 12C02C语言程序的开发过程13(2)编辑编辑 C 语言源文件语言源文件TC工具基本上使用工具基本上使用键盘操作键盘操作!菜单菜单File有多个命令,用上下光有多个命令,用上下光标键标键和和可以选择各个命令。可以选择各个命令。若选择New,表示开始编写一个新的源程序,文件名为默认文件名:Nona
11、me.c,此时可以输入你的源程序内容;建议另取一个新的文建议另取一个新的文件名,编译前进行保件名,编译前进行保存!存!换名保存命令使用换名保存命令使用换名保存命令使用换名保存命令使用Write toWrite to13C02C语言程序的开发过程14若选择Load,表示装入一个源程序,屏幕上又提示你输入文件名:v若输入若输入ex01.cex01.c,系统将查找当前目录有没有此文件。若存在系统将查找当前目录有没有此文件。若存在将打开此文件,此时你可以重新编辑这个源程序的内容;将打开此文件,此时你可以重新编辑这个源程序的内容;v若没有此文件,则系统会建立一个以指定的名字命名的新的若没有此文件,则系统
12、会建立一个以指定的名字命名的新的源程序,此时可以输入源程序的内容。源程序,此时可以输入源程序的内容。 14C02C语言程序的开发过程15在进行编译之前,需要先把在进行编译之前,需要先把TC的编译路径设的编译路径设置好,安装后只进行一次即可!置好,安装后只进行一次即可!v如图所示,使用光标键进入如图所示,使用光标键进入OptionsOptions菜单命令(也可以使用菜单命令(也可以使用快捷命令快捷命令Alt+OAlt+O);在命令中选择);在命令中选择DirectoriesDirectories命令,出现图命令,出现图示的窗口;可以看到显示的路径与所建立的示的窗口;可以看到显示的路径与所建立的E
13、:TCE:TC不同。不同。v将图中的将图中的E:TURBOC2E:TURBOC2均修改为均修改为E:TCE:TC;方法见下述。;方法见下述。15C02C语言程序的开发过程16先使用光标键选中先使用光标键选中“Include directories:”条目,按回车键,出现图示画面,将图中条目,按回车键,出现图示画面,将图中的的E:TURBOC2修改为修改为E:TC;再按回车键;再按回车键完成修改,结果见图。完成修改,结果见图。16C02C语言程序的开发过程17以同样的操作完成其他两个条目的修改,结果见图。以同样的操作完成其他两个条目的修改,结果见图。注意修改的路径一定得与自己实际情况相符!注意修
14、改的路径一定得与自己实际情况相符!17C02C语言程序的开发过程18按按ESCESC键键一次一次,关闭该窗口。使用光标键选中,关闭该窗口。使用光标键选中“Save Save options”options”条目,见左图示。(若不慎关闭了该界面,条目,见左图示。(若不慎关闭了该界面,可以再进入操作。)可以再进入操作。)按回车键打开该命令窗口,见右图示;将路径修改为按回车键打开该命令窗口,见右图示;将路径修改为“E:TCTCCONFIGTC”E:TCTCCONFIGTC”。然后按回车键出现下页图示。然后按回车键出现下页图示。注意修改的路径一定得与自己实际情况相符!注意修改的路径一定得与自己实际情况
15、相符!18C02C语言程序的开发过程19在下图所示窗口中键入在下图所示窗口中键入“Y”键,关闭该窗口,完成设置!键,关闭该窗口,完成设置!进行上述正确的设置后,就可以开始编译源程序了!进行上述正确的设置后,就可以开始编译源程序了!19C02C语言程序的开发过程20(3)编译源程序编译源程序1、Compile to OBJ2、Link EXE fileMake EXE file (F9键)建议编译前进行保存!建议编译前进行保存!20C02C语言程序的开发过程21编译信息框编译信息框但若程序中有语法上的错误,编译将通不过,此时则在但若程序中有语法上的错误,编译将通不过,此时则在MessageMes
16、sage窗口中提示语法上有错误的行号和错误原因,窗口中提示语法上有错误的行号和错误原因,按按F6F6你可以重新修改源程序。你可以重新修改源程序。 21C02C语言程序的开发过程22若程序中有库函数不存在等连接上的错误时,在若程序中有库函数不存在等连接上的错误时,在MessageMessage窗口中仍将提示错误原因,窗口中仍将提示错误原因,连接信息框连接信息框22C02C语言程序的开发过程23(4)执行程序(快捷命令执行程序(快捷命令Ctrl+F9)1、Compile to OBJ2、Link EXE file3、执行程序Run23C02C语言程序的开发过程24但若程序中有语法上的错误,编译将通
17、不过,此时则在但若程序中有语法上的错误,编译将通不过,此时则在MessageMessage窗口中提示语法上有错误的行号和错误原因,按窗口中提示语法上有错误的行号和错误原因,按F6F6你可以重新修改源程序;你可以重新修改源程序;若程序中有库函数不存在等连接上的错误时,在若程序中有库函数不存在等连接上的错误时,在MessageMessage窗口中仍将提示错误原因,此时程序还不能运行;窗口中仍将提示错误原因,此时程序还不能运行;若程序没有任何错误的话,即编译和连接都通过了,若程序没有任何错误的话,即编译和连接都通过了,RunRun命令将执行此程序。命令将执行此程序。你可以用你可以用Alt+F5Alt
18、+F5命令来查看程序的运行结果,再按任意命令来查看程序的运行结果,再按任意键又返回编辑状态。键又返回编辑状态。命令命令Run将对源程序同时进行编译、将对源程序同时进行编译、连接和运行。连接和运行。24C02C语言程序的开发过程25(5)存盘、退出存盘、退出q菜单菜单File中的命令中的命令Save将将以原文件名保存,以原文件名保存,q命令命令Write to允许你给源允许你给源程序另起一个文件名保存。程序另起一个文件名保存。q若要继续编写下一个源程若要继续编写下一个源程序,可以重复上述过程。序,可以重复上述过程。q菜单菜单File中的命令中的命令Quit将将退出退出Turbo C环境。环境。2
19、5C02C语言程序的开发过程26操作常用键F9 Ctrl + F9F6ALT+F5编译编译 、链接、链接 程序程序 运行程序运行程序窗口切换窗口切换, ,可在编辑窗口和信息窗可在编辑窗口和信息窗口进行切换口进行切换查看运行结果查看运行结果注意使用帮助键注意使用帮助键F1来学习操作命令!来学习操作命令!26C02C语言程序的开发过程C程序的上机步骤程序的上机步骤 C C程序开发步骤程序开发步骤编辑链接编译执行程序代码的录入程序代码的录入,生成源程序生成源程序*.c语法分析查错,翻译语法分析查错,翻译生成目标程序生成目标程序*.obj与其它目标程序或库与其它目标程序或库链接装配链接装配,生成可执行
20、生成可执行程序程序*.exe27C02C语言程序的开发过程用用Turbo C开发开发C程序的步骤程序的步骤1、启动、启动Turbo C2、输入源程序、输入源程序3、源程序存盘、源程序存盘4、编译连接运行程序、编译连接运行程序 Ctrl+F9 5、若编译有错、若编译有错,改错改错,再按再按Ctrl+F96、看程序结果、看程序结果 Alt+F57、若程序结果有错、若程序结果有错,重复第重复第5步步8、程序结果正确,结束;输入下一个程序、程序结果正确,结束;输入下一个程序28C02C语言程序的开发过程Turbo C的使用的使用进入进入Turbo CD:TCTC.exe 在在Windows环境下环境下
21、:双击双击tc.exe文件文件退出退出Turbo C,在在TC环境中按环境中按Alt +x使用菜单使用菜单F10 激活菜单激活菜单 Alt+F/C/R 使用菜单使用菜单ESC 退出菜单退出菜单 常用功能键常用功能键F2 源程序存盘源程序存盘 Alt+F5 切换到输出屏幕切换到输出屏幕Ctrl+F9 编译连接运行程序编译连接运行程序29C02C语言程序的开发过程gcc的使用的使用使用vi等编辑器建立程序文件*.c使用gcc编译源程序gcc o abc.cgcc o abc abc.c运行./a.out./abca.outabc30C02C语言程序的开发过程2.3 C语言程序结构与语法规则函数是函
22、数是C语言程序的基本组成单位。开发语言程序的基本组成单位。开发C语言程序,主要工作就是编写各个函数。语言程序,主要工作就是编写各个函数。下面通过简单的例子,介绍下面通过简单的例子,介绍C语言程序的基语言程序的基本构成和书写格式,期望初学者对本构成和书写格式,期望初学者对C语言程语言程序能够有一个基本的了解。序能够有一个基本的了解。 31C02C语言程序的开发过程例2.1 在屏幕上输出一行信息 。/*程序功能:在屏幕上输出一行信息程序功能:在屏幕上输出一行信息*/#include int main ( ) printf (Welcome to C !n); return 0;程序中说明:/* *
23、/ 为C程序的多行注释命令,在括号中间的内容不被执行,只作为程序注释;程序的运行结果为:32C02C语言程序的开发过程例例2.1的程序的说明的程序的说明#include 是包含命令,表明该程序要使用头是包含命令,表明该程序要使用头文件文件“stdio.h”中的内容;中的内容;程序仅包含一个程序仅包含一个main函数。该函数的主体部分用花括号函数。该函数的主体部分用花括号“”括起来。括起来。main函数内使用了一个格式化输出的函数函数内使用了一个格式化输出的函数printf。printf是是C语言系统函数库中的一个函数,其作用是按照指定语言系统函数库中的一个函数,其作用是按照指定格式在屏幕上输出
24、一些信息。格式在屏幕上输出一些信息。return 0;表示程序结束,返回给操作系统一个数值表示程序结束,返回给操作系统一个数值0。main()前的()前的int表示该程序的返回值是一个整型。表示该程序的返回值是一个整型。注意程序中的四个符号:注意程序中的四个符号:、()()、和和;。注意书写格式。注意书写格式。33C02C语言程序的开发过程例2.1 在屏幕上输出一行信息 /*程序功能:在屏幕上输出一行信息程序功能:在屏幕上输出一行信息*/#include int main ( ) printf (Hello,World!n); return 0;“臭名昭著臭名昭著”的的Hello World程
25、序程序输出:输出:Hello,World!Hello,World!34C02C语言程序的开发过程C语言程序的结构C语言程序由函数构成语言程序由函数构成每一个每一个C语言程序语言程序有且仅有一个有且仅有一个main函数函数一个一个C语言程序总是语言程序总是从从main函数开始函数开始执行,执行,main函数执行完后程序结束函数执行完后程序结束main函数不一定在程序文本的最开头函数不一定在程序文本的最开头 有的程序可以根据用户需要,由设计者定义自有的程序可以根据用户需要,由设计者定义自己的己的main函数和若干个其他函数函数和若干个其他函数编写编写C语言程序,其实就是编写一个个函数语言程序,其实
26、就是编写一个个函数35C02C语言程序的开发过程C语言程序的语法规则C语言程序书写格式自由,一行内可以写几个语言程序书写格式自由,一行内可以写几个语句,一个语句也可以分写在多行上语句,一个语句也可以分写在多行上在每个语句以及变量的定义和变量的声明的最在每个语句以及变量的定义和变量的声明的最后必须有一个分号后必须有一个分号C语言本身没有输入、输出语句,输入和输出语言本身没有输入、输出语句,输入和输出用的是函数用的是函数 ,C提供有许多函数,见书附录部提供有许多函数,见书附录部分分可以用可以用/*/对对C语言程序的任何部分作注释语言程序的任何部分作注释 36C02C语言程序的开发过程例2.2 求两
27、个数的平均值 /*程序功能:求两个数的平均值程序功能:求两个数的平均值*/# include int main ( ) float num1, num2, average; /*定义定义3个实型变量个实型变量*/ num1 = 97.45; num2 = 15.3; average = (num1 + num2) / 2;/*计算计算num1与与num2的平均值的平均值*/ printf ( The average is %fn, average ); /*输出输出average的值的值*/ return 0;注释注释注释注释编译预处理编译预处理编译预处理编译预处理函数函数函数函数语句语句语句
28、语句37C02C语言程序的开发过程例例2.2的程序的说明的程序的说明例例2.2中的程序,也只包含一个中的程序,也只包含一个main函数。函数。函函数数中中用用float关关键键字字定定义义了了三三个个实实型型变变量量num1,num2和和average,然然后后使使用用“=”(赋赋值值符符号号)分分别别给给num1,num2赋值(指定值)。赋值(指定值)。通通过过计计算算,用用average记记录录了了num1与与num2的的平平均均值值,变量变量average被赋值。被赋值。使使用用printf()函函数数输输出出结结果果到到屏屏幕幕上上,其其中中的的“%f”是是一一个个格格式式符符号号,表
29、表示示该该位位置置上上按按float类类型型输输出一个数,见第五章。出一个数,见第五章。38C02C语言程序的开发过程求两数之和求两数之和/* example1.2 The Sum of two numbers*/main()/* sum of two numbers*/int a,b,sum; /*declare variable*/a=123;b=456;sum=a+b;printf(“sum is%dn”,sum);39C02C语言程序的开发过程/* example calculate the sum of a and b*/#include /* This is the main pr
30、ogram */main() int a,b,sum; a=10; b=24; sum=add(a,b); printf(”sum= %dn,sum);/* This function calculates the sum of x and y */int add(int x,int y) int z; z=x+y; return(z);函数函数语句语句预处理命令预处理命令注释注释运行结果:运行结果:sum=3440C02C语言程序的开发过程例2.3 输入两个整数,求二者的最大值。 /*程序功能:求两个整数中的最大值程序功能:求两个整数中的最大值*/* imax函数的定义:求两个整数中的最大值
31、函数的定义:求两个整数中的最大值*/# include int imax ( int x, int y ) if ( x y ) return x; /*若若xy,返回,返回x的值的值*/ else return y; /*否则,返回否则,返回y的值的值*/41C02C语言程序的开发过程/*main函数的定义:输入两个整数,调用函数的定义:输入两个整数,调用imax函数,得到函数,得到两个整数的最大值两个整数的最大值*/int main ( ) int num1, num2, MaxValue;scanf ( %d%d, &num1, &num2 ); /*输入两个整数输入两个整数*/MaxV
32、alue = imax ( num1, num2 ); /*调用调用imax函数,计算结果赋值给函数,计算结果赋值给MaxValue*/printf ( The max value is %dn, MaxValue ); /*输出输出MaxValue的值的值*/return 0;42C02C语言程序的开发过程例例2.3的程序的说明的程序的说明该程序现阶段只作为了解;该程序现阶段只作为了解;imax函数是用户自己定义的一个函数。函数是用户自己定义的一个函数。程序在程序在main中调用了中调用了imax函数,完成了最大值的选函数,完成了最大值的选择。择。main函数内使用了一个格式化输入函数函数内
33、使用了一个格式化输入函数scanf。scanf也是也是C语言系统函数库中的一个函数,其作用是语言系统函数库中的一个函数,其作用是按照指定格式在屏幕上输入一些数据。按照指定格式在屏幕上输入一些数据。其中的其中的“%d”是一个格式符号,表示该位置上对应一是一个格式符号,表示该位置上对应一个十进制整型数。个十进制整型数。ifelse结构是一个选择语句。结构是一个选择语句。43C02C语言程序的开发过程C程序的结构特点和书写格式程序的结构特点和书写格式函数与主函数函数与主函数程序由一个或多个函数组成程序由一个或多个函数组成必须有且只能有一个主函数必须有且只能有一个主函数main()程序执行从程序执行从
34、main开始,在开始,在main中结束,其它函数通过中结束,其它函数通过嵌套调用得以执行。嵌套调用得以执行。一个函数由两部分组成:一个函数由两部分组成: 函数的说明部分函数的说明部分 函数体函数体 函数体:函数体: 声明部分声明部分 执行部分执行部分 用用“;”作为语句终止符作为语句终止符注释注释/* */为注释为注释,不能嵌套不能嵌套不产生编译代码不产生编译代码书写格式自由书写格式自由例: /*This is the main /* of example1.1*/ */ 非法44C02C语言程序的开发过程格式特点格式特点习惯用小写字母,大小写敏感习惯用小写字母,大小写敏感习惯用小写字母,大小
35、写敏感习惯用小写字母,大小写敏感不使用行号,无程序行概念不使用行号,无程序行概念不使用行号,无程序行概念不使用行号,无程序行概念可使用空行和空格可使用空行和空格可使用空行和空格可使用空行和空格常用锯齿形书写格式常用锯齿形书写格式常用锯齿形书写格式常用锯齿形书写格式优秀程序员的素质之一优秀程序员的素质之一优秀程序员的素质之一优秀程序员的素质之一: :使用使用使用使用TABTAB缩进缩进缩进缩进 对齐对齐对齐对齐有足够的注释有足够的注释有足够的注释有足够的注释有合适的空行有合适的空行有合适的空行有合适的空行main( ) int i , j , sum; sum=0; for(i=1; i10;i
36、+) for(j=1;j10;j+) sum+=i*j ; printf(“%dn”,sum);45C02C语言程序的开发过程总结理解理解C开发过程各个阶段开发过程各个阶段使用使用IDE工具进行开发的操作:启动工具进行开发的操作:启动TC 、编辑、编译、连接、运行并查看结果编辑、编译、连接、运行并查看结果深刻理解各个操作之间的关系,以及操作深刻理解各个操作之间的关系,以及操作后生成的文件的作用后生成的文件的作用熟练掌握调试熟练掌握调试C程序的操作过程程序的操作过程46C02C语言程序的开发过程1.2 C语言程序的结构和语法规则例例1.1 在屏幕上输出一行信息在屏幕上输出一行信息 例例1.2 求
37、两个数的平均值求两个数的平均值 例例1.3 输入一整数,求其绝对值输入一整数,求其绝对值 47C02C语言程序的开发过程例1.1 在屏幕上输出一行信息 /*程序功能:在屏幕上输出一行信息程序功能:在屏幕上输出一行信息*/#include int main ( ) printf (Hello,World!n); return 0;返回“臭名昭著臭名昭著”的的Hello World程序程序输出:输出:Hello,World!Hello,World!48C02C语言程序的开发过程例1.2 求两个数的平均值 /*程序功能:求出两个数的平均值程序功能:求出两个数的平均值*/#include int ma
38、in ( ) float a,b,average;/*定义定义3个浮点型变量个浮点型变量*/ a = 19; b = 74; average = (a + b) / 2;/*计算平均值计算平均值*/ printf (average is %fn,average );/*输出输出average值值*/ return 0;注释注释注释注释编译预处理编译预处理编译预处理编译预处理函数函数函数函数语句语句语句语句49C02C语言程序的开发过程求两数之和求两数之和/* example1.2 The Sum of two numbers*/main()/* sum of two numbers*/int
39、a,b,sum; /*declare variable*/a=123;b=456;sum=a+b;printf(“sum is%dn”,sum);50C02C语言程序的开发过程/* example calculate the sum of a and b*/#include /* This is the main program */main() int a,b,sum; a=10; b=24; sum=add(a,b); printf(”sum= %dn,sum);/* This function calculates the sum of x and y */int add(int x,i
40、nt y) int z; z=x+y; return(z);函数函数语句语句预处理命令预处理命令注释注释运行结果:运行结果:sum=3451C02C语言程序的开发过程例例1.3 输入一整数,求其绝对值输入一整数,求其绝对值(1) /*用户设计的函数用户设计的函数abs_value*/#include int abs_value ( int x ) /*求整数求整数x的绝对值的绝对值*/ if (x=0) return x;/*如果如果x大于或等于大于或等于0,返回,返回x本身本身*/ else return (x );/*如果如果x小于小于0,返回,返回x的相反数的相反数*/52C02C语言程
41、序的开发过程例例1.3 输入一整数,求其绝对值输入一整数,求其绝对值(2) /*程序功能:求绝对值程序功能:求绝对值*/int main ( ) int a,abs_value_a; scanf ( %d,&a);/*从键盘输入一整数,赋给从键盘输入一整数,赋给变量变量a*/ abs_value_a = abs_value (a); printf ( | %d | = %dn,a,abs_value_a );/*输出输出a和和abs_value_a的值的值*/返回53C02C语言程序的开发过程求两个数中的较大者求两个数中的较大者main() /*主函数主函数*/ int x,y,max; /*
42、定义三个整数变量定义三个整数变量*/ /*在屏幕上输出在屏幕上输出:请输入两个整数的值请输入两个整数的值*/ printf(“请输入两个整数请输入两个整数x,y的值的值”); scanf(“%d %d”,&x,&y); /*在键盘上输入在键盘上输入x y的值的值*/ if (xy) max=x; /*x的值赋给的值赋给max*/ else max=y; /*y的值赋给的值赋给max*/ printf(“最大数是:最大数是:%d”,max); /*输出最大输出最大max*/54C02C语言程序的开发过程求两个数中的较大者(函数调用)求两个数中的较大者(函数调用)main() /*主函数主函数*/
43、 int x,y; /*定义两个整数变量定义两个整数变量*/ printf(“请输入两个整数请输入两个整数x,y的值的值”); /*在屏幕上输出在屏幕上输出:请请输输 入两个整数的值入两个整数的值*/ scanf(“%d %d”,&x,&y); /*在键盘上输入在键盘上输入x,y的值的值*/ printf(最大数是:最大数是:%d,max(x,y); /*输出最大数输出最大数max*/int max(int x1,int x2) /* 函数函数max */ if (x1x2) return x1; /* 返回返回x1的值的值 */ else return x2; /* 返回返回x2的值的值 *
44、/55C02C语言程序的开发过程C语言程序的结构C语言程序由函数构成语言程序由函数构成每一个每一个C语言程序有且仅有一个语言程序有且仅有一个main函数函数有的程序可以根据用户需要,由设计者定义自己有的程序可以根据用户需要,由设计者定义自己的的main函数和若干个其他函数函数和若干个其他函数 编写编写C语言程序,其实就是编写一个个函数语言程序,其实就是编写一个个函数一个一个C语言程序总是从语言程序总是从main函数开始执行,函数开始执行,main函数执行完后程序结束函数执行完后程序结束main函数不一定在程序文本的最开头函数不一定在程序文本的最开头 56C02C语言程序的开发过程C语言程序的语
45、法规则C语言程序书写格式自由,一行内可以写几个语语言程序书写格式自由,一行内可以写几个语句,一个语句也可以分写在多行上句,一个语句也可以分写在多行上C语言程序没有行号语言程序没有行号在每个语句以及变量的定义和变量的声明的最后在每个语句以及变量的定义和变量的声明的最后必须有一个分号必须有一个分号C语言本身没有输入、输出语句语言本身没有输入、输出语句 可以用可以用/*/对对C语言程序的任何部分作注释语言程序的任何部分作注释 57C02C语言程序的开发过程C程序的结构特点和书写格式程序的结构特点和书写格式函数与主函数函数与主函数程序由一个或多个函数组成程序由一个或多个函数组成必须有且只能有一个主函数
46、必须有且只能有一个主函数main()程序执行从程序执行从main开始,在开始,在main中结束,其它函数通过中结束,其它函数通过嵌套调用得以执行。嵌套调用得以执行。一个函数由两部分组成:一个函数由两部分组成: 函数的说明部分函数的说明部分 函数体函数体 函数体:函数体: 声明部分声明部分 执行部分执行部分 用用“;”作为语句终止符作为语句终止符注释注释/* */为注释为注释,不能嵌套不能嵌套不产生编译代码不产生编译代码书写格式自由书写格式自由例: /*This is the main /* of example1.1*/ */ 非法58C02C语言程序的开发过程格式特点格式特点习惯用小写字母,
47、大小写敏感习惯用小写字母,大小写敏感习惯用小写字母,大小写敏感习惯用小写字母,大小写敏感不使用行号,无程序行概念不使用行号,无程序行概念不使用行号,无程序行概念不使用行号,无程序行概念可使用空行和空格可使用空行和空格可使用空行和空格可使用空行和空格常用锯齿形书写格式常用锯齿形书写格式常用锯齿形书写格式常用锯齿形书写格式优秀程序员的素质之一优秀程序员的素质之一优秀程序员的素质之一优秀程序员的素质之一: :使用使用使用使用TABTAB缩进缩进缩进缩进 对齐对齐对齐对齐有足够的注释有足够的注释有足够的注释有足够的注释有合适的空行有合适的空行有合适的空行有合适的空行main( ) int i , j
48、, sum; sum=0; for(i=1; i10;i+) for(j=1;jTC.exe 在在Windows环境下环境下:双击双击tc.exe文件文件退出退出Turbo C,在在TC环境中按环境中按Alt +x使用菜单使用菜单F10 激活菜单激活菜单 Alt+F/C/R 使用菜单使用菜单ESC 退出菜单退出菜单 常用功能键常用功能键F2 源程序存盘源程序存盘 Alt+F5 切换到输出屏幕切换到输出屏幕Ctrl+F9 编译连接运行程序编译连接运行程序63C02C语言程序的开发过程gcc的使用的使用使用vi等编辑器建立程序文件*.c使用gcc编译源程序gcc o abc.cgcc o abc
49、abc.c运行./a.out./abca.outabc64C02C语言程序的开发过程课堂练习说明说明C语言程序的结构语言程序的结构说明说明C语言程序的语法规则语言程序的语法规则说明说明C语言程序的开发运行过程语言程序的开发运行过程65C02C语言程序的开发过程Any Question?Thanks For Coming!66C02C语言程序的开发过程32个关键字个关键字(由系统定义,不能重作其它定义由系统定义,不能重作其它定义由系统定义,不能重作其它定义由系统定义,不能重作其它定义) )autoauto break break casecase charchar constconstconti
50、nuecontinue defaultdefault dodo doubledouble elseelseenumenum externextern floatfloat forfor gotogotoif if int int longlong registerregister returnreturnshortshort signed signed sizeofsizeof static static structstructswitchswitch typedeftypedef unsignedunsigned unionunion voidvoidvolatilevolatile wh
51、ilewhile数据类型数据类型 控制语句控制语句 存储类型存储类型其它其它67C02C语言程序的开发过程9 9种控制语句种控制语句if( )elseif( )elsefor( )for( )while( )while( )dowhile( )dowhile( )continuecontinuebreakbreakswitchswitchgotogotoreturnreturn68C02C语言程序的开发过程3434种运算符种运算符算术运算符:算术运算符:算术运算符:算术运算符:+ - * / % + -+ - * / % + -+ - * / % + -+ - * / % + -关系运算符:关
52、系运算符:关系运算符:关系运算符: = != = != = != = !=逻辑运算符:!逻辑运算符:!逻辑运算符:!逻辑运算符:! & | & | & | & |位运算符位运算符位运算符位运算符 : | & | & | & | &赋值运算符:赋值运算符:赋值运算符:赋值运算符:= = = = 及其扩展及其扩展及其扩展及其扩展条件运算符:条件运算符:条件运算符:条件运算符:?:?:?:?:逗号运算符:逗号运算符:逗号运算符:逗号运算符:, , , ,指针运算符:指针运算符:指针运算符:指针运算符:* &* &* &* &求字节数求字节数求字节数求字节数 :sizeofsizeofsizeofsi
53、zeof强制类型转换:强制类型转换:强制类型转换:强制类型转换:( ( ( (类型)类型)类型)类型)分量运算符:分量运算符:分量运算符:分量运算符:. -. -. -. -下标运算符:下标运算符:下标运算符:下标运算符:其它其它其它其它 :( ) -( ) -( ) -( ) -69C02C语言程序的开发过程双精度型双精度型双精度型双精度型doubledouble数数数数据据据据类类类类型型型型基本类型基本类型基本类型基本类型构造类型构造类型构造类型构造类型指针类型指针类型指针类型指针类型空类型空类型空类型空类型voidvoid定义类型定义类型定义类型定义类型typedeftypedef数值类型数值类型数值类型数值类型字符类型字符类型字符类型字符类型charchar枚举类型枚举类型枚举类型枚举类型enumenum整整整整 型型型型浮点型浮点型浮点型浮点型单精度型单精度型单精度型单精度型floatfloat短整型短整型短整型短整型shortshort长整型长整型长整型长整型longlong整型整型整型整型intint数组数组数组数组结构体结构体结构体结构体structstruct共用体共用体共用体共用体unionunion数据类型数据类型70C02C语言程序的开发过程