欢迎来到天天文库
浏览记录
ID:45847413
大小:107.00 KB
页数:14页
时间:2019-11-18
《C语言程序设计实用教程_第2章C程序的基本结构》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、《C语言程序设计实用教程》Powerpoint制作:耿祥义张跃平第2章C程序的基本结构2010-101主要内容及难点2010-102概述C语言属于面向过程的编程语言,C语言通过函数来封装解决某一问题的代码,也就是说用C语言使用函数来封装解决问题的过程,下列函数解决怎样计算出两个数的最大值:intmax(intx,inty){if(x2、形的面积来阐述用函数封装代码的思想。2010-1042.1.1问题的提出例子1(example2_1.c单击链接可以查看源文件)中的C程序只有一个main函数,该main函数输出半径为10的圆面积以及上底为12、下底为19、高为11的梯形面积。调试运行:在VC++6.0中建立名字为cha2_1的工程,并将example2_1.c添加到cha2_1工程中,调试、运行,查看效果。问题的提出:在设计程序时如果将计算圆的面积、计算梯形的面积两个任务的代码从main函数中分离出去,分别交给其他的两个函数去完成,然后主函数只需调用3、(链接)这两个函数就可以得到圆和梯形的面积。调试运行:在VC++6.0中建立名字为cha2_2的工程,并将example2_2.c、circle.c和lader.c添加到cha2_2工程中,调试、运行,效果没有变化,但这样编程更加灵活、高效。2010-1052.1.2函数封装代码的思想◆模块化管理:用函数封装解决某一问题的过程便于程序的模块化管理、有利于系统的维护。◆代码复用:一个源文件中的函数可以被多个C程序链接使用,这非常有利于代码的复用。2010-1062.2C程序的基本结构一个C程序(VC++6.0中称作一个工4、程)是由若干个函数所构成,这些函数可以在一个源文件中,也可以分布在若干个源文件中。2.2.1基本结构2010-1072.2.2main函数1.main函数是程序执行的入口2.main函数的格式函数头intmain(){……return0}函数体3.函数的调用(链接)C程序从main函数开始执行。main函数可以调用C程序中的其他函数,其他函数也可以互相调用,但其他函数(非main函数)不能调用main函数(main函数只能由操作系统来调用)。4.注意事项main函数中在return语句之前调用一个getchar()函数5、或调用system()函数,便于查看程序执行结果。2010-1082.2.3源文件的结构1.预处理指令比如:下列预处理指令:#include使得的当前源文件中的函数调用(链接)stdio.h中的库函数。2.函数原型声明只有函数头没有函数体,函数原型的声明用分号结束,例如:intadd(int,int);3.函数原型的实现按着函数原型给出函数的函数体。函数实现(函数定义)有两部分:函数头和函数体。4.函数的有效性所谓函数的有效性是指它可以被其他函数调用。例子3,在VC++6.0中,建立名字为cha2_36、的工程,并将example2_3.c、f.c和g.c添加到cha2_3工程中。调试、运行,查看效果是25。2010-1092.3编程风格遵守一门语言的编程风格非常重要,否则编写的代码将难以阅读,给后期的维护带来诸多不便。尽量“一行写一条语句,一条语句写在一行”,各公司都有自己的编码规范。2010-10102.3.1Allmans风格Allmans风格也称“独行”风格,即左、右大括号各自独占一行,如下列代码所示。intmain(){intsum=0,i=0,j=0;for(i=1;i<=100;i++){sum=sum+7、i;}}当代码量较小时适合使用“独行”风格,代码布局清晰,可读性强。2010-10112.3.2Kernighan风格Kernighan风格也称“行尾”风格,即左大括号在上一行的行尾,而右大括号独占一行,如下列代码所示意。intmain(){intsum=0,i=0,j=0;for(i=1;i<=100;i++){sum=sum+i;}}当代码量较大时不适合使用“独行”风格,因为该风格将导致代码的左半部分出现大量的左、右大括号,导致代码清晰度下降,这时应当使用“行尾”风格。2010-10122.3.3注释编译器忽略注释8、内容,注释的目的是有利于代码的维护和阅读,因此给代码增加注释是一个良好的编程习惯。C编译器支持两种格式的注释:单行注释和多行注释。单行注释使用“//”表示单行注释的开始,即该行中从“//”开始的后续内容为注释,例如:intmain(){printf("你好");//输出你好return0;}多行注释使用“/*”表示注释的开始,以“
2、形的面积来阐述用函数封装代码的思想。2010-1042.1.1问题的提出例子1(example2_1.c单击链接可以查看源文件)中的C程序只有一个main函数,该main函数输出半径为10的圆面积以及上底为12、下底为19、高为11的梯形面积。调试运行:在VC++6.0中建立名字为cha2_1的工程,并将example2_1.c添加到cha2_1工程中,调试、运行,查看效果。问题的提出:在设计程序时如果将计算圆的面积、计算梯形的面积两个任务的代码从main函数中分离出去,分别交给其他的两个函数去完成,然后主函数只需调用
3、(链接)这两个函数就可以得到圆和梯形的面积。调试运行:在VC++6.0中建立名字为cha2_2的工程,并将example2_2.c、circle.c和lader.c添加到cha2_2工程中,调试、运行,效果没有变化,但这样编程更加灵活、高效。2010-1052.1.2函数封装代码的思想◆模块化管理:用函数封装解决某一问题的过程便于程序的模块化管理、有利于系统的维护。◆代码复用:一个源文件中的函数可以被多个C程序链接使用,这非常有利于代码的复用。2010-1062.2C程序的基本结构一个C程序(VC++6.0中称作一个工
4、程)是由若干个函数所构成,这些函数可以在一个源文件中,也可以分布在若干个源文件中。2.2.1基本结构2010-1072.2.2main函数1.main函数是程序执行的入口2.main函数的格式函数头intmain(){……return0}函数体3.函数的调用(链接)C程序从main函数开始执行。main函数可以调用C程序中的其他函数,其他函数也可以互相调用,但其他函数(非main函数)不能调用main函数(main函数只能由操作系统来调用)。4.注意事项main函数中在return语句之前调用一个getchar()函数
5、或调用system()函数,便于查看程序执行结果。2010-1082.2.3源文件的结构1.预处理指令比如:下列预处理指令:#include使得的当前源文件中的函数调用(链接)stdio.h中的库函数。2.函数原型声明只有函数头没有函数体,函数原型的声明用分号结束,例如:intadd(int,int);3.函数原型的实现按着函数原型给出函数的函数体。函数实现(函数定义)有两部分:函数头和函数体。4.函数的有效性所谓函数的有效性是指它可以被其他函数调用。例子3,在VC++6.0中,建立名字为cha2_3
6、的工程,并将example2_3.c、f.c和g.c添加到cha2_3工程中。调试、运行,查看效果是25。2010-1092.3编程风格遵守一门语言的编程风格非常重要,否则编写的代码将难以阅读,给后期的维护带来诸多不便。尽量“一行写一条语句,一条语句写在一行”,各公司都有自己的编码规范。2010-10102.3.1Allmans风格Allmans风格也称“独行”风格,即左、右大括号各自独占一行,如下列代码所示。intmain(){intsum=0,i=0,j=0;for(i=1;i<=100;i++){sum=sum+
7、i;}}当代码量较小时适合使用“独行”风格,代码布局清晰,可读性强。2010-10112.3.2Kernighan风格Kernighan风格也称“行尾”风格,即左大括号在上一行的行尾,而右大括号独占一行,如下列代码所示意。intmain(){intsum=0,i=0,j=0;for(i=1;i<=100;i++){sum=sum+i;}}当代码量较大时不适合使用“独行”风格,因为该风格将导致代码的左半部分出现大量的左、右大括号,导致代码清晰度下降,这时应当使用“行尾”风格。2010-10122.3.3注释编译器忽略注释
8、内容,注释的目的是有利于代码的维护和阅读,因此给代码增加注释是一个良好的编程习惯。C编译器支持两种格式的注释:单行注释和多行注释。单行注释使用“//”表示单行注释的开始,即该行中从“//”开始的后续内容为注释,例如:intmain(){printf("你好");//输出你好return0;}多行注释使用“/*”表示注释的开始,以“
此文档下载收益归作者所有