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