C02C语言程序的开发过程.ppt

上传人:本田雅阁 文档编号:2148780 上传时间:2019-02-22 格式:PPT 页数:70 大小:668.51KB
返回 下载 相关 举报
C02C语言程序的开发过程.ppt_第1页
第1页 / 共70页
C02C语言程序的开发过程.ppt_第2页
第2页 / 共70页
C02C语言程序的开发过程.ppt_第3页
第3页 / 共70页
亲,该文档总共70页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《C02C语言程序的开发过程.ppt》由会员分享,可在线阅读,更多相关《C02C语言程序的开发过程.ppt(70页珍藏版)》请在三一文库上搜索。

1、C语言程序设计,School of Software Zhengzhou University Students: Frosh Semester: Spring of 2011 Instructor: Song Wei Office:Room 315,Building 18 ,第2章 C语言程序的开发过程,3,主要内容,C程序开发过程 C程序集成开发环境、调试工具的使用 C语言程序结构与语法规则 重点:C语言程序的结构、语法规则,编译环境,4,2.1 C语言程序的开发过程,C语言程序的开发过程是: 使用编辑工具编写文本形式的C语言源文件 编译生成以机器代码为主的可执行程序。 开发一个C语言程序

2、一般包括3个主要步骤:编辑,编译和连接。 开发一个C程序的过程如图所示。,5,C语言程序的开发流程,6,C语言程序调试步骤的解释,编辑:根据求解算法,开发人员使用任意一款文本编辑器编辑代码,生成源程序代码,扩展名为.C。 编译:编译时,编译器首先检查源程序中每条语句的词法和语法。当发现错误时,在屏幕上显示错误的位置、错误类型等相关信息。根据错误信息,重新使用编辑器进行查错并修改,然后重新编译直到所有的词法和语法错误都被排除。正确编译后产生二进制目标文件,扩展名为.OBJ。 连接:编译后产生的目标文件是可重定位的程序模块,但不能直接运行。连接是将目标程序、库函数和其它目标程序连接到一起,生成可执

3、行的程序。扩展名为.EXE。 运行:源代码经过编译、连接,生成可执行程序后,就可以进行程序的运行了。,7,C语言程序的调试,编译过程发现的错误可分为两类。 一类是局部语法错误。例如,缺失了分号、逗号,或者引用了错误的数据对象。 另一类是程序内部上下文关系方面的错误。例如,需要使用的数据对象没有定义。 连接时,也可能产生错误。例如,连接文件找不到等,具体不再叙述。 源代码经过编译、连接,生成可执行程序后,还需要进行测试。测试的目的是发现程序的错误。一般通过输入一些实际数据来验证程序执行结果的正确性。如果程序执行中出现问题,或发现程序的输出结果不正确,需要设法找到出错的原因,并修改源程序,重新进行

4、编译、连接,再测试和调试,不断反复,直到程序正确无误。,8,2.2 C语言程序的集成开发环境,C语言程序的集成开发环境IDE(Integrated Development Environment),提供了从编辑、编译、连接到运行的所有功能。 C语言程序的集成开发环境很多,如: Turbo C,GCC(基于Linux的选定的编译器),Dev C+,Visual C+。这里对Turbo C V2.0进行详细的解释,其他工具软件大家可以自己进行练习使用。,9,9,“集成式程序开发环境”(Integrated Development Environment,IDE),把编程过程中需要使用的所有支持软件

5、都集成在一起,统一地进行管理和使用。,“集成式程序开发环境”(Integrated Development Environment,IDE),,10,(1)建立Turbo C V2.0的环境,下载拷贝TC软件,该软件为DOS环境下软件,在WINDOWS下可以在DOS模拟环境下使用。 在硬盘上建立软件的文件夹,本例中在E:盘上建立了TC文件夹。 将Turbo C V2.0的软件拷贝到E:TC下。 执行E:TC下的TC.EXE命令,进入TC工具。界面见下页:,11,Turbo C V2.0的界面,下载,12,12,File 文件操作 Edit 编辑 Run 运行 Compile 编译 Projec

6、t 项目文件 Option 选项 Debug 调试 Break/watch 中断/观察,TC中各菜单命令的含义,13,13,(2)编辑 C 语言源文件,TC工具基本上使用键盘操作!菜单File有多个命令,用上下光标键和可以选择各个命令。,若选择New,表示开始编写一个新的源程序,文件名为默认文件名:Noname.c,此时可以输入你的源程序内容;,建议另取一个新的文件名,编译前进行保存!,换名保存命令使用Write to,14,14,若选择Load,表示装入一个源程序,屏幕上又提示你输入文件名:,若输入ex01.c,系统将查找当前目录有没有此文件。若存在将打开此文件,此时你可以重新编辑这个源程序

7、的内容; 若没有此文件,则系统会建立一个以指定的名字命名的新的源程序,此时可以输入源程序的内容。,15,15,在进行编译之前,需要先把TC的编译路径设置好,安装后只进行一次即可!,如图所示,使用光标键进入Options菜单命令(也可以使用快捷命令Alt+O);在命令中选择Directories命令,出现图示的窗口;可以看到显示的路径与所建立的E:TC不同。 将图中的E:TURBOC2均修改为E:TC;方法见下述。,16,16,先使用光标键选中“Include directories:”条目,按回车键,出现图示画面,将图中的E:TURBOC2修改为E:TC;再按回车键完成修改,结果见图。,17,

8、17,以同样的操作完成其他两个条目的修改,结果见图。 注意修改的路径一定得与自己实际情况相符!,18,18,按ESC键一次,关闭该窗口。使用光标键选中“Save options”条目,见左图示。(若不慎关闭了该界面,可以再进入操作。),按回车键打开该命令窗口,见右图示;将路径修改为“E:TCTCCONFIGTC”。然后按回车键出现下页图示。 注意修改的路径一定得与自己实际情况相符!,19,19,在下图所示窗口中键入“Y”键,关闭该窗口,完成设置! 进行上述正确的设置后,就可以开始编译源程序了!,20,20,(3)编译源程序,建议编译前进行保存!,21,21,编译信息框,但若程序中有语法上的错误

9、,编译将通不过,此时则在Message窗口中提示语法上有错误的行号和错误原因,按F6你可以重新修改源程序。,22,22,若程序中有库函数不存在等连接上的错误时,在Message窗口中仍将提示错误原因,,连接信息框,23,23,(4)执行程序(快捷命令Ctrl+F9),1、Compile to OBJ 2、Link EXE file 3、执行程序,Run,24,24,但若程序中有语法上的错误,编译将通不过,此时则在Message窗口中提示语法上有错误的行号和错误原因,按F6你可以重新修改源程序; 若程序中有库函数不存在等连接上的错误时,在Message窗口中仍将提示错误原因,此时程序还不能运行;

10、 若程序没有任何错误的话,即编译和连接都通过了,Run命令将执行此程序。 你可以用Alt+F5命令来查看程序的运行结果,再按任意键又返回编辑状态。,命令Run将对源程序同时进行编译、连接和运行。,25,25,(5)存盘、退出,菜单File中的命令Save将以原文件名保存, 命令Write to允许你给源程序另起一个文件名保存。 若要继续编写下一个源程序,可以重复上述过程。 菜单File中的命令Quit将退出Turbo C环境。,26,26,操作常用键,F9 Ctrl + F9 F6 ALT+F5,编译 、链接 程序 运行程序 窗口切换,可在编辑窗口和信息窗口进行切换 查看运行结果,注意使用帮助

11、键F1来学习操作命令!,27,C程序的上机步骤,C程序开发步骤,程序代码的录入, 生成源程序*.c,语法分析查错,翻译 生成目标程序*.obj,与其它目标程序或库 链接装配,生成可执行 程序*.exe,28,用Turbo C开发C程序的步骤,1、启动Turbo C 2、输入源程序 3、源程序存盘 4、编译连接运行程序 Ctrl+F9 5、若编译有错,改错,再按Ctrl+F9 6、看程序结果 Alt+F5 7、若程序结果有错,重复第5步 8、程序结果正确,结束;输入下一个程序,29,Turbo C的使用,进入Turbo C D:TCTC.exe 在Windows环境下:双击tc.exe文件 退出

12、Turbo C,在TC环境中按 Alt +x File-Quit 使用菜单 F10 激活菜单 Alt+F/C/R 使用菜单 ESC 退出菜单 常用功能键 F2 源程序存盘 Alt+F5 切换到输出屏幕 Ctrl+F9 编译连接运行程序,30,gcc的使用,使用vi等编辑器建立程序文件*.c 使用gcc编译源程序 gcc o abc.c gcc o abc abc.c 运行 ./a.out ./abc,a.out,abc,31,2.3 C语言程序结构与语法规则,函数是C语言程序的基本组成单位。开发C语言程序,主要工作就是编写各个函数。 下面通过简单的例子,介绍C语言程序的基本构成和书写格式,期望

13、初学者对C语言程序能够有一个基本的了解。,32,例2.1 在屏幕上输出一行信息 。,/*程序功能:在屏幕上输出一行信息*/ #include int main ( ) printf (“Welcome to C !n“); return 0; ,程序中说明: /* */ 为C程序的多行注释命令,在括号中间的内容不被执行,只作为程序注释;,程序的运行结果为:,33,例2.1的程序的说明,#include 是包含命令,表明该程序要使用头文件“stdio.h”中的内容; 程序仅包含一个main函数。该函数的主体部分用花括号“”括起来。 main函数内使用了一个格式化输出的函数printf。print

14、f是C语言系统函数库中的一个函数,其作用是按照指定格式在屏幕上输出一些信息。 return 0;表示程序结束,返回给操作系统一个数值0。 main()前的int表示该程序的返回值是一个整型。 注意程序中的四个符号:、()、和;。 注意书写格式。,34,例2.1 在屏幕上输出一行信息,/*程序功能:在屏幕上输出一行信息*/ #include int main ( ) printf (“Hello,World!n“); return 0; ,“臭名昭著”的Hello World程序,输出: Hello,World!,35,C语言程序的结构,C语言程序由函数构成 每一个C语言程序有且仅有一个main

15、函数 一个C语言程序总是从main函数开始执行,main函数执行完后程序结束 main函数不一定在程序文本的最开头 有的程序可以根据用户需要,由设计者定义自己的main函数和若干个其他函数 编写C语言程序,其实就是编写一个个函数,36,C语言程序的语法规则,C语言程序书写格式自由,一行内可以写几个语句,一个语句也可以分写在多行上 在每个语句以及变量的定义和变量的声明的最后必须有一个分号 C语言本身没有输入、输出语句,输入和输出用的是函数 ,C提供有许多函数,见书附录部分 可以用/*/对C语言程序的任何部分作注释,37,例2.2 求两个数的平均值,/*程序功能:求两个数的平均值*/ # incl

16、ude 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; ,38,例2.2的程序的说明,例2.2中的程序,也只包含一个main函数。 函数中用float关键字定义了三个实型变量num1,num2和average,然后使用“=”(赋值符号)分别给num1,n

17、um2赋值(指定值)。 通过计算,用average记录了num1与num2的平均值,变量average被赋值。 使用printf()函数输出结果到屏幕上,其中的“%f”是一个格式符号,表示该位置上按float类型输出一个数,见第五章。,39,求两数之和,/* 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); ,40,/* example calcula

18、te 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,int y) int z; z=x+y; return(z); ,运行结果: sum=34,41,例2.3 输入两个整数,求二者的最大值。,/*程序功能:求两个整数中的最大值*/ /* imax函数的定义

19、:求两个整数中的最大值*/ # include int imax ( int x, int y ) if ( x y ) return x; /*若xy,返回x的值*/ else return y; /*否则,返回y的值*/ ,42,/*main函数的定义:输入两个整数,调用imax函数,得到两个整数的最大值*/ int main ( ) int num1, num2, MaxValue; scanf ( “%d%d“, ,43,例2.3的程序的说明,该程序现阶段只作为了解; imax函数是用户自己定义的一个函数。 程序在main中调用了imax函数,完成了最大值的选择。 main函数内使用了

20、一个格式化输入函数scanf。scanf也是C语言系统函数库中的一个函数,其作用是按照指定格式在屏幕上输入一些数据。 其中的“%d”是一个格式符号,表示该位置上对应一个十进制整型数。 ifelse结构是一个选择语句。,44,C程序的结构特点和书写格式,函数与主函数 程序由一个或多个函数组成 必须有且只能有一个主函数main() 程序执行从main开始,在main中结束,其它函数通过嵌套调用得以执行。 一个函数由两部分组成: 函数的说明部分 函数体 函数体: 声明部分 执行部分 用“;”作为语句终止符 注释 /* */为注释,不能嵌套 不产生编译代码 书写格式自由,例: /*This is th

21、e main /* of example1.1*/ */,45,格式特点,习惯用小写字母,大小写敏感 不使用行号,无程序行概念 可使用空行和空格 常用锯齿形书写格式,优秀程序员的素质之一: 使用TAB缩进 对齐 有足够的注释 有合适的空行,main( ) int i , j , sum; sum=0; for(i=1; i10;i+) for(j=1;j10;j+) sum+=i*j ; printf(“%dn”,sum); ,46,总结,理解C开发过程各个阶段 使用IDE工具进行开发的操作:启动TC 、编辑、编译、连接、运行并查看结果 深刻理解各个操作之间的关系,以及操作后生成的文件的作用

22、熟练掌握调试C程序的操作过程,47,1.2 C语言程序的结构和语法规则,例1.1 在屏幕上输出一行信息 例1.2 求两个数的平均值 例1.3 输入一整数,求其绝对值,48,例1.1 在屏幕上输出一行信息,/*程序功能:在屏幕上输出一行信息*/ #include int main ( ) printf (“Hello,World!n“); return 0; ,返回,“臭名昭著”的Hello World程序,输出: Hello,World!,49,例1.2 求两个数的平均值,/*程序功能:求出两个数的平均值*/ #include int main ( ) float a,b,average;/*

23、定义3个浮点型变量*/ a = 19; b = 74; average = (a + b) / 2; /*计算平均值*/ printf (“average is %fn“,average );/*输出average值*/ return 0; ,50,求两数之和,/* 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); ,51,/* example cal

24、culate 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,int y) int z; z=x+y; return(z); ,运行结果: sum=34,52,例1.3 输入一整数,求其绝对值(1),/*用户设计的函数abs_value*/ #include

25、 int abs_value ( int x ) /*求整数x的绝对值*/ if (x=0) return x; /*如果x大于或等于0,返回x本身*/ else return (x );/*如果x小于0,返回x的相反数*/ ,53,例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_va

26、lue_a的值*/ ,返回,54,求两个数中的较大者,main() /*主函数*/ int x,y,max; /*定义三个整数变量*/ /*在屏幕上输出:请输入两个整数的值*/ printf(“请输入两个整数x,y的值”); scanf(“%d %d”, /*输出最大max*/ ,55,求两个数中的较大者(函数调用),main() /*主函数*/ int x,y; /*定义两个整数变量*/ printf(“请输入两个整数x,y的值”); /*在屏幕上输出:请输 入两个整数的值*/ scanf(“%d %d”, /* 返回x2的值 */ ,56,C语言程序的结构,C语言程序由函数构成 每一个C语

27、言程序有且仅有一个main函数 有的程序可以根据用户需要,由设计者定义自己的main函数和若干个其他函数 编写C语言程序,其实就是编写一个个函数 一个C语言程序总是从main函数开始执行,main函数执行完后程序结束 main函数不一定在程序文本的最开头,57,C语言程序的语法规则,C语言程序书写格式自由,一行内可以写几个语句,一个语句也可以分写在多行上 C语言程序没有行号 在每个语句以及变量的定义和变量的声明的最后必须有一个分号 C语言本身没有输入、输出语句 可以用/*/对C语言程序的任何部分作注释,58,C程序的结构特点和书写格式,函数与主函数 程序由一个或多个函数组成 必须有且只能有一个

28、主函数main() 程序执行从main开始,在main中结束,其它函数通过嵌套调用得以执行。 一个函数由两部分组成: 函数的说明部分 函数体 函数体: 声明部分 执行部分 用“;”作为语句终止符 注释 /* */为注释,不能嵌套 不产生编译代码 书写格式自由,例: /*This is the main /* of example1.1*/ */,59,格式特点,习惯用小写字母,大小写敏感 不使用行号,无程序行概念 可使用空行和空格 常用锯齿形书写格式,优秀程序员的素质之一: 使用TAB缩进 对齐 有足够的注释 有合适的空行,main( ) int i , j , sum; sum=0; for

29、(i=1; i10;i+) for(j=1;j10;j+) sum+=i*j ; printf(“%dn”,sum); ,60,C程序的上机步骤,C程序开发步骤,程序代码的录入, 生成源程序*.c,语法分析查错,翻译 生成目标程序*.obj,与其它目标程序或库 链接装配,生成可执行 程序*.exe,61,1.3 C语言程序的开发环境,C语言程序的编译器比较多 Turbo C GCC,基于Linux的选定的编译器,62,用Turbo C开发C程序的步骤,1、启动Turbo C 2、输入源程序 3、源程序存盘 4、编译连接运行程序 Ctrl+F9 5、若编译有错,改错,再按Ctrl+F9 6、看程

30、序结果 Alt+F5 7、若程序结果有错,重复第5步 8、程序结果正确,结束;输入下一个程序,63,Turbo C的使用,进入Turbo C D:TCTC.exe 在Windows环境下:双击tc.exe文件 退出Turbo C,在TC环境中按 Alt +x File-Quit 使用菜单 F10 激活菜单 Alt+F/C/R 使用菜单 ESC 退出菜单 常用功能键 F2 源程序存盘 Alt+F5 切换到输出屏幕 Ctrl+F9 编译连接运行程序,64,gcc的使用,使用vi等编辑器建立程序文件*.c 使用gcc编译源程序 gcc o abc.c gcc o abc abc.c 运行 ./a.o

31、ut ./abc,a.out,abc,65,课堂练习,说明C语言程序的结构 说明C语言程序的语法规则 说明C语言程序的开发运行过程,66,Any Question? Thanks For Coming!,67,32个关键字,(由系统定义,不能重作其它定义) auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef unsigned union void volatile while 数据类型 控制语句 存储类型 其它,68,9种控制语句,if( )else for( ) while( ) dowhile( ) continue break switch goto return,69,34种运算符,算术运算符:+ - * / % + - 关系运算符: = != 逻辑运算符:! & | 位运算符 : | & 赋值运算符:= 及其扩展 条件运算符:?: 逗号运算符:, 指针运算符:* & 求字节数 :sizeof 强制类型转换:(类型) 分量运算符:. - 下标运算符: 其它 :( ) -,70,数据类型,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1