三程序设计基础.ppt
《三程序设计基础.ppt》由会员分享,可在线阅读,更多相关《三程序设计基础.ppt(178页珍藏版)》请在咨信网上搜索。
1、第三章第三章 基本程序设计基本程序设计 3.1 3.1 顺序结构程序设计顺序结构程序设计 例例3.13.1、“鸡鸡兔兔同同笼笼问问题题”:在在一一个个笼笼子子里里养养着着鸡鸡与与兔兔,但但不不知知其其中中鸡鸡有有多多少少只只,兔兔有有多多少少只只。只只知知道道鸡鸡和和兔兔的的总总数数是是a a,鸡鸡与与兔兔的的总总脚脚数数是是b b,求鸡与兔各有多少只。求鸡与兔各有多少只。5/23/20241 思路分析:思路分析:首首先先从从题题目目本本身身开开始始,找找出出解解决决问问题题的的基基本本思思路路。每每只只鸡鸡有有两两只只脚脚,每每只只兔兔有有四四只只脚脚。假假设设有有x x只只鸡和鸡和y y只
2、兔,则根据已知条件可列出如下方程组:只兔,则根据已知条件可列出如下方程组:x+y=a x+y=a 2x+4y=b 2x+4y=b 对该方程组做进一步的转换可得:对该方程组做进一步的转换可得:5/23/20242#include#includeusing namespace std;using namespace std;void main()void main()int a,b,x,y;int a,b,x,y;coutcouta;cina;coutcoutb;cinb;x=(4*a-b)/2;x=(4*a-b)/2;y=(b-2*a)/2;y=(b-2*a)/2;coutcout鸡的数量为鸡的
3、数量为:xendl;:xendl;coutcout兔的数量为兔的数量为:yendl;:yendl;5/23/20243一、内置数学函数一、内置数学函数函数是执行一项任务的代码块。函数是执行一项任务的代码块。getline()getline()函数函数:getline(I,V)getline(I,V)实际调用时形式:实际调用时形式:getline(cin,a);getline(cin,a);扩号内有两个参数;实际调用时扩号内的参扩号内有两个参数;实际调用时扩号内的参数称为数称为实际参数实际参数或或实参实参。自定义函数自定义函数:自己决定其任务的函数。:自己决定其任务的函数。5/23/20244内
4、置函数内置函数:库文件中已定义好功能的函数;:库文件中已定义好功能的函数;只要知道该函数包含在哪个库中,可直接调用。只要知道该函数包含在哪个库中,可直接调用。C+C+内置数学函数的定义都在内置数学函数的定义都在cmathcmath库文件中库文件中,使用内置数学函数时,要加文件包含命令:使用内置数学函数时,要加文件包含命令:#include#include1 1、幂函数和平方根函数、幂函数和平方根函数幂函数幂函数:pow(x,y)pow(x,y)y=pow(3,4)y=pow(3,4);y=pow(1.7,2.3)y=pow(1.7,2.3);平方根函数平方根函数:sqrt(x)sqrt(x)y
5、=sqrt(9)y=sqrt(9);y=sqrt(3.3)y=sqrt(3.3);5/23/20245例例3.23.2、编程计算、编程计算3x3x7 7y y3 3+7x+7x4 4y y5 5+x+x2 2y y6 6-7-7z=z=的值的值.x x5 5y y3 3+5x+5x3 3y y4 4+2xy+2xy5 5+3+3程序:程序:#include#include#include#include using namespace std;using namespace std;5/23/20246void main()void main()double x,y,z;double x,y,
6、z;coutinput x,y:endl;coutinput x,y:xy;cinxy;z=(3*pow(x,7)*pow(y,3)+7*pow(x,4)z=(3*pow(x,7)*pow(y,3)+7*pow(x,4)*pow(y,5)+x*x*pow(y,6)-7)/*pow(y,5)+x*x*pow(y,6)-7)/(pow(x,5)*pow(y,3)+2*x*pow(y,5)(pow(x,5)*pow(y,3)+2*x*pow(y,5)+5*pow(x,3)*pow(y,4)+3);+5*pow(x,3)*pow(y,4)+3);coutz=zendl;coutz=zendl;5/23
7、/20247例例3.33.3、根据三边长求三角形面积、根据三边长求三角形面积可根据海伦公式可求结果可根据海伦公式可求结果:假设三角形三边长分别为假设三角形三边长分别为a a、b b、c c三角形面积为三角形面积为areaarea,则,则海伦公式海伦公式:area=s(s-a)(s-b)(s-c)area=s(s-a)(s-b)(s-c)其中:其中:s=(a+b+c)/2s=(a+b+c)/25/23/20248程序:程序:#include#include#include#include using namespace std;using namespace std;void main()voi
8、d main()double a,b,c,s,area;double a,b,c,s,area;cout please input a,b,c=?endl;cout please input a,b,c=?a b c;cin a b c;s=(a+b+c)/2;s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c);area=sqrt(s*(s-a)*(s-b)*(s-c);cout area=area endl;cout area=area endl;5/23/202492 2、余弦、正弦和正切函数、余弦、正弦和正切函数余弦函数余弦函数:cos(x)cos(x)正
9、弦函数正弦函数:sin(x)sin(x)正切函数正切函数:tan(x)tan(x)x x的单位为弧度的单位为弧度例例3.43.4、编程求、编程求z=3sinx-2cosxz=3sinx-2cosx的值。的值。程序:程序:5/23/202410#include#include#include#include using namespace std;using namespace std;void main()void main()double x,y,z;double x,y,z;const double PI=3.14159;const double PI=3.14159;coutcout输入
10、输入x x和和y y的值的值(度度):endl;xy;cinxy;x=x*PI/180;y=y*PI/180;x=x*PI/180;y=y*PI/180;z=3*sin(x)-2*cos(y);z=3*sin(x)-2*cos(y);coutz=zendl;coutz=zendl;5/23/2024113 3、其它常用数学函数、其它常用数学函数求求绝对值绝对值:abs(x)abs(x)指数函数指数函数(e(ex x):exp(x)exp(x)自然对数自然对数(lnx)(lnx):log(x)log(x)常用对数常用对数(log(log1010 x)x):log10(x)log10(x)5/23
11、/202412二、产生随机数二、产生随机数产生产生随机数函数随机数函数(随机数产生器):(随机数产生器):rand()rand()其作用为返回一个其作用为返回一个0 0到到3276732767之间的正整数。之间的正整数。随机数产生器初始化函数随机数产生器初始化函数:srand(seed)srand(seed)其中其中seedseed为一数字,表示为一数字,表示rand()rand()的起始点。的起始点。对未初始化或用相同数字初始化的对未初始化或用相同数字初始化的rand()rand(),每次,每次执行时产生同一系列数字。执行时产生同一系列数字。使用上面两函数时,要加下面文件包含命令使用上面两函
12、数时,要加下面文件包含命令#include#include5/23/202413例例3.53.5、#include#include#include#includeusing namespace std;using namespace std;void main()void main()srand(8);srand(8);coutrand(),rand(),rand()coutrand(),rand(),rand(),rand(),rand()endl;,rand(),rand()endl;5/23/202414常用内置的常用内置的time()time()函数作为函数作为srand()srand
13、()函数中函数中seedseed的值。的值。time()time()函数函数:根据计算机系统的时钟返回自:根据计算机系统的时钟返回自19701970年年1 1月月1 1日午夜开始到目前的秒数。日午夜开始到目前的秒数。使用使用time()time()函数要加下面文件包含命令函数要加下面文件包含命令#include#include一般使用方法一般使用方法:srand(time(NULL);srand(time(NULL);NULLNULL是一个定义在是一个定义在cstdlibcstdlib和和ctimectime库文件中库文件中的常量(的常量(0 0值),值),time(NULL)time(NUL
14、L)仅返回其值而不存仅返回其值而不存储该返回值。储该返回值。5/23/202415例例3.63.6、简单加法出题系统、简单加法出题系统#include#include#include#include#include#includeusing namespace std;using namespace std;void main()void main()int i,j,k;int i,j,k;srand(time(NULL);srand(time(NULL);i=rand();j=rand();i=rand();j=rand();couti+j=;couti+jk;cink;5/23/20241
15、6产生特定范围内的产生特定范围内的随机数:随机数:公式:公式:下限下限+rand()%(+rand()%(上限上限-下限下限+1)+1)如:如:产生产生1 1到到1010的随机数:的随机数:1+rand()%10 1+rand()%10 产生产生1010到到100100的随机数:的随机数:10+rand()%9110+rand()%915/23/202417三、格式化数字的输出三、格式化数字的输出普通情况下小数点前多于普通情况下小数点前多于6 6位时以位时以E E符号显示,符号显示,否则以定点符号显示。否则以定点符号显示。fixedfixed:控制以定点符号显示数据输出:控制以定点符号显示数据
16、输出用法:用法:coutfixed;coutfixed;cout.precision(p)cout.precision(p):指明有效位数:指明有效位数p p位位例如:例如:cout.precision(5)cout.precision(5):显示:显示5 5位有效数位有效数cout.precision(0)cout.precision(0):回到正常方式:回到正常方式两个共用时,两个共用时,cout.precision(p)cout.precision(p)表示小数点表示小数点后的位数。后的位数。5/23/202418例例3.73.7、#include#includeusing namesp
17、ace std;using namespace std;void main()void main()double a=12345678.87654321;double a=12345678.87654321;double b=87654321.12345678;double b=87654321.12345678;cout.precision(7);cout.precision(7);coutfixed;coutfixed;couta=aendl;couta=aendl;coutb=bendl;coutb=bendl;5/23/202419cout.width(p)cout.width(p):
18、设置字段宽度。:设置字段宽度。例例3.83.8、#include#include#include#includeusing namespace std;using namespace std;void main()void main()string str1=12345,str2=abcdefgh;string str1=12345,str2=abcdefgh;cout.width(10);cout.width(10);coutstr1endl;coutstr1endl;coutstr2endl;coutstr2endl;5/23/202420setw(p)setw(p):设置字段宽度。:设置
19、字段宽度。例例3.93.9、#include#include#include /#include /用用setwsetw要包含此文件要包含此文件#include#includeusing namespace std;using namespace std;void main()void main()string str1=12345,str2=abcdefgh;string str1=12345,str2=abcdefgh;coutsetw(10)str1endl;coutsetw(10)str1endl;coutstr2endl;coutstr2endl;5/23/2024213.2 3.2
20、 选择结构程序设计选择结构程序设计 选择结构是根据给定条件的判断结果决定程选择结构是根据给定条件的判断结果决定程序执行的走向,也称判断结构。序执行的走向,也称判断结构。如:如:x xx0 x0计算计算 绝对值绝对值y=y=-x-xx x0 05/23/202422选择结构的框图表示选择结构的框图表示:一、一路分支一、一路分支5/23/202423复合语句复合语句 语句语句1;1;语句语句2;2;。语句语句n;n;如:如:x=y+7;x=y+7;y+=1.8;y+=1.8;coutxy;coutxy;5/23/202424例例3.103.10、求、求x x的绝对值的框图:的绝对值的框图:no y
21、esx=-xx=-xx0?x0?开始开始结束结束输入输入x x输出输出x x5/23/202425程序:程序:#include#includeusing namespace std;using namespace std;void main()void main()double x;double x;coutInput x:;coutx;cinx;if(x0)if(x0)x=-x;x=-x;coutxendl;coutxx?yx?开始开始结束结束输入输入x,yx,y输出输出x,yx,y5/23/202427正确框图:正确框图:t=xt=xx=yx=yy=ty=tyx?yx?开始开始结束结束输入
22、输入x,yx,y输出输出x,yx,y5/23/202428#include#includeusing namespace std;using namespace std;void main()void main()double x,y,t;double x,y,t;coutintput x and y:;coutxy;cinxy;if(yx)if(yx)t=x;t=x;x=y;x=y;y=t;y=t;coutx,yendl;coutx,yendl;5/23/202429正确程序:正确程序:#include#includeusing namespace std;using namespace s
23、td;void main()void main()double x,y,t;double x,y,t;coutintput x and y:;coutxy;cinxy;if(yx)if(yx)t=x;x=y;y=t;t=x;x=y;y=t;coutx,yendl;coutx,yendl;5/23/202430二、两路分支5/23/202431 例例3.123.12、求、求y=y=的值的值#include#includeusing namespace std;using namespace std;void main()void main()double x,y;double x,y;cinx;
24、cinx;if(x8.0)if(x8.0)y=6.0*x-5.0;y=6.0*x-5.0;else else y=10.0-3*x;y=10.0-3*x;coutx=xty=yendl;coutx=xty=yendl;/输入输入 89 89结果:结果:x=89 x=89y=-257y=-25710-3*x x810-3*x x8 6*x-5 x6*x-5 x8 85/23/202432三、三、逻辑运算符与逻辑表达式逻辑运算符与逻辑表达式选择结构中的选择结构中的“条件条件P”P”实际上是一个表达式,实际上是一个表达式,程序根据此表达式的值是程序根据此表达式的值是 “非非0”0”(条件成立)(条件
25、成立)还是还是 “0”“0”(条件不成立(条件不成立)来决定流向来决定流向.1 1、关系运算符与关系表达式、关系运算符与关系表达式关系运算是比较简单的一种逻辑运算,优先关系运算是比较简单的一种逻辑运算,优先次序为:次序为:(小于小于)=(大于大于)=(=(小于等于小于等于)优先级相同(高)优先级相同(高)=(=(等于等于)!=(!=(不等于不等于)优先级相同(低)优先级相同(低)5/23/202433算术运算符的优先级高于关系运算符算术运算符的优先级高于关系运算符(比较运比较运算符算符).).关系表达式是一种最简单的逻辑表达式,其关系表达式是一种最简单的逻辑表达式,其形式就是用关系运算符将两个
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 基础
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。