您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 能源与动力工程 > 第1章 C语言的基本框架
1第1章C语言的基本框架实例1.1C语言的基本概念1.2几个简单C程序1.3函数的定义和使用2本章实例实例1.1实例1.2实例1.3实例1.4实例1.53C语言是高级语言,其特点:运算符号丰富使用方便功能强程序执行效率高可移植性好P1C语言是一种结构化的程序设计语言1.1C语言的基本概念41.程序程序是为了应用计算机完成指定的任务而编写的具有特定语法规则的指令序列。用高级语言描述的程序叫做源程序。程序=数据结构+算法52.程序设计步骤整理文档和系统维护测试与调试编写程序代码流程图设计算法设计问题定义6画流程图时所使用的常用符号起止框处理框输入输出框判断框连接符流程符省略符…注释符7从编程到结束调试的流程编辑源程序开始编译或连接有错?假运行程序运行有错?假结束编译连接程序真修改程序真调试程序8【实例1.1】编写程序,在屏幕上显示“Howareyou?”和“Fine.Thankyou.”。P3在C语言中没有专门的输出语句调用系统提供的标准库函数printf()实现编程点拨:1.2几个简单C程序9#includestdio.hmain(){printf(Howareyou?\n);printf(Fine.Thankyou.\n);}运行结果:Howareyou?Fine.Thankyou.每一条语句以“;”结束为了调用输入输出函数printf,将此文件中的内容添加到本程序中程序从这里开始运行10调用scanf()完成数据的输入操作。本题需要定义3个变量。【实例1.2】编写程序,程序运行后通过键盘输入一个数,先计算其绝对值,然后在该值基础上计算平方根。编程点拨:11#includestdio.h#includemath.hmain(){定义3个变量x、y和z显示提示信息从键盘输入x的值调用fabs()标准库函数计算x的绝对值调用sqrt()标准库函数计算y的平方根输出x、y和z的值}12#includestdio.h#includemath.hmain(){定义3个变量x、y和z显示提示信息从键盘输入x的值调用fabs()标准库函数计算x的绝对值调用sqrt()标准库函数计算y的平方根输出x、y和z的值}doublex,y,z;printf(Inputx:);scanf(%lf,&x);y=fabs(x);z=sqrt(y);printf(x=%lf,y=%lf,z=%lf\n,x,y,z);13#includestdio.h#includemath.hmain(){定义3个变量x、y和z显示提示信息从键盘输入x的值调用fabs()标准库函数计算x的绝对值调用sqrt()标准库函数计算y的平方根输出x、y和z的值}doublex,y,z;printf(Inputx:);scanf(%lf,&x);y=fabs(x);z=sqrt(y);printf(x=%lf,y=%lf,z=%lf\n,x,y,z);调用输入输出函数时调用数学函数时运行结果:Inputx:-4回车x=-4.000000,y=4.000000,z=2.00000014计算xy的值,可直接调用pow()由于系统未提供计算平均值的函数,所以必须自己先编写后再调用。【实例1.3】编写程序,通过键盘输入两个数x、y,计算xy的值以及这两个数的平均值。编程点拨:15#includestdio.h#includemath.h自己定义myave()函数计算两个数平均值{定义变量c用于存放计算结果计算出平均值放在变量c中返回计算结果}16#includestdio.h#includemath.h自己定义myave()函数计算两个数平均值{定义变量c用于存放计算结果计算出平均值放在变量c中返回计算结果}doublec;c=(a+b)/2;returnc;doublemyave(doublea,doubleb)自己编写的,功能是计算平均值17main(){doublex,y,z,ave;显示提示信息输入x和y的值调用标准库函数pow()计算xy调用自定义函数myave()计算x、y的平均值输出x、y、z(xy)的值输出x和y的平均值ave}xy平均值18main(){doublex,y,z,ave;显示提示信息输入x和y的值调用标准库函数pow()计算xy调用自定义函数myave()计算x、y的平均值输出x、y、z(xy)的值输出x和y的平均值ave}printf(”Inputx,y:”);scanf(”%lf%lf”,&x,&y);z=pow(x,y);ave=myave(x,y);printf(”pow(%lf,%lf)=%lf\n”,x,y,z);printf(”Theaverageis%lf\n”,ave);定义后,可以像调用标准库函数一样调用19C语言程序的基本框架预处理命令行定义函数1定义函数2……定义函数n主函数#includestdio.hdoublemyave(doublea,doubleb)main()20C程序都有一个主函数,其名称必是main在3个实例中,不仅学习调用了标准库函数,而且还调用了自己定义的函数程序设计者必须自己定义大量的函数,可以说掌握好函数是学好本课程的关键之一程序中不管定义多少个函数、各函数的定义位置如何,运行程序时总是从主函数开始执行,并在主函数中调用其他函数实现相应的功能。21函数的一般定义形式如下:[函数值类型名]函数名([类型名形式参数1,类型名形式参数2,…]){[定义部分]语句部分}P6此部分可省略定义函数的实质:指定函数名称,确定功能,设定参数以及明确函数值类型1.3函数的定义和使用22函数体doublemyave(doublea,doubleb){doublec;c=(a+b)/2;returnc;}函数名函数名形式参数函数值定义部分语句部分返回函数值23标识符分为3种,即关键字、预定义标识符(库函数名和预处理命令)、用户定义标识符。除函数名外,还有一批对象需由编程者定义名称,如:变量名、符号常量名、数组名、结构体名、文件名等24标识符分为3种,即关键字、预定义标识符(库函数名和预处理命令)、用户定义标识符。标识符的定义规则为:由a~z、A~Z、0~9、_(即:下划线)组成,而且第一个字符只能是字母或下划线,并区分大小写。关键字不能作为用户定义标识符,不提倡使用预定义标识符作为用户定义标识符通常符号常量名使用大写字母,而其他标识符使用小写字母25函数的调用函数定义后就像标准库函数一样被调用。调用函数的一般形式是函数名([实际参数1,实际参数2,…])定义函数时:实参和形参个数应相同,对应参数的类型要一致26函数的调用函数定义后就像标准库函数一样被调用。调用函数的一般形式是函数名([实际参数1,实际参数2,…])调用函数开始时:实参将值传给对应形参,因此要求实参必有确定值,形参必是变量27【实例1.4】下面程序的功能是计算两个同心圆的面积以及由这两个圆构成的环形面积。观察程序的运行结果,并画图表示函数的调用过程。3228#includestdio.hvoidprt();doublemyarea(double);main(){doublea,s1,s2;a=2.0;s1=myarea(a);s2=myarea(a+1);prt();printf(s1=%lf,s2=%lf,s2-s1=%lf\n,s1,s2,s2-s1);prt();}函数prt()的原型说明,输出一串*函数myarea()的原型说明,计算圆面积29voidprt(){printf(******************************************\n);}doublemyarea(doubler){doubles;s=3.14*r*r;returns;}运行结果:******************************************s1=12.560000,s2=28.260000,s2-s1=15.700000******************************************30……a=2.0;s1=myarea(a);s2=myarea(a+1);prt();printf(……);prt();……main()函数……myarea()函数stdio.h文件……printf()函数其他printf(……);ptr()函数12345函数的调用过程31程序说明函数必须先定义后使用#includestdio.hvoidprt();doublemyarea(double);main(){……}voidprt(){……}doublemyarea(doubler){……}被调函数的定义在主调函数的后面时,加函数原型说明)32函数的原型说明在原型说明中必须明确指出函数名、形参个数、各形参的类型、函数结果值的类型。函数原型说明的一般形式是:[函数值类型名]函数名([类型名[形式参数1],类型名[形式参数2],…]);33函数的返回值函数的结果值(称为函数的返回值)由return后面表达式的值决定。在调用过程中,只要执行return语句,就立即结束该函数的调用,并将表达式的值作为结果值返回到主调函数中调用该函数的地方。return语句的一般形式是return[表达式];省略表达式时,return语句只起到退出该函数的作用34【实例1.5】编写程序,根据输入的半径和高计算圆锥体的体积。假设半径是整数值,高是实数值。hr圆锥体的体积:底面积×高÷3底面积:×半径的平方编程点拨:35自定义函数使用三部曲确定函数定义位置函数应先定义,后使用如果在主调函数前已对被调函数进行原型说明,主调函数和被调函数的位置就可以随意定义函数36自定义函数使用三部曲确定函数定义位置定义函数编写函数体时,先定义该函数体中所用到的所有变量(但不能再定义形参),然后编写实现功能的语句,最后将函数的计算结果用return语句返回调用函数37自定义函数使用三部曲确定函数定义位置定义函数调用函数必须保证实参和形参个数相同,实参和对应形参的类型一致,而且每个实参都要有确定的值38预处理命令行声明计算圆面积函数,参数:半径声明圆锥体积函数,参数:高,底面积main函数定义计算圆面积函数定义计算圆锥体积函数doublemyvolume(double,double);#includestdio.hdoublemyarea(int);编写程序39main(){定义变量显示提示,要求输入底圆半径输入底圆半径显示提示,要求输入圆锥的高输入高调用myarea()函数求圆面积调用myvolume()函数求圆锥体体积显示圆锥的底圆半径和高显示圆锥底面积和体积}40main(){定义变量显示提示,要求输入底圆半径输入底圆半径显示提示,要求输入圆锥的高输入高调用myarea()函数求圆面积调用myvolume()函数求圆锥体体积显示圆锥的底圆半径和高显示圆锥底面积和体积}intr;doubleh,s,v;半径高底面积体积printf(Inputtheradius:);scanf(%d,&r);printf(Inputtheheight:);scanf(%lf,&h);s=myarea(r);v=myvolume(s,h);printf(Theradiusis%d,theheightis%f\n,r,h);printf(Theareais%lf,thevolumeis%f\n,s,v);41预处理命令行声明计算圆面积函数,参数:半径声明圆锥体积函数,参数:高,底面积main函数定义计算圆面积函数定义计算圆锥体积函数doublemyvolume(double,double);#includestdio.hdoublemyarea(int);编写程序42定义求圆面积函数{定义变量计算圆面积返回圆面积}doublemyarea(intr){dou
本文标题:第1章 C语言的基本框架
链接地址:https://www.777doc.com/doc-6436175 .html