C++课件第4章基本语句_第1页
C++课件第4章基本语句_第2页
C++课件第4章基本语句_第3页
C++课件第4章基本语句_第4页
C++课件第4章基本语句_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C+语句语句控制语句控制语句函数调用语句函数调用语句由一次函数调用加一个分由一次函数调用加一个分号构成一个语句。号构成一个语句。表达式语句表达式语句空语句空语句?1、出现在函数体的执行、出现在函数体的执行 部分。部分。2、作用是向计算机系统、作用是向计算机系统 发出发出操作操作指令。指令。复合语句复合语句if () else , switchfor () while () do while()continue,breakgotoreturnif (xy) z=x;else z=y;sin(x);由表达式加一个分号构成一个语句。由表达式加一个分号构成一个语句。;由由 将一些语句括起来。将一些语句

2、括起来。 t=a; a=b; b=t;?说明语句说明语句引入新的类型、对象等新名字的语句。引入新的类型、对象等新名字的语句。a=3;int a;【例】【例】 求两数之和。求两数之和。块1块2块3流程图流程图 寄存器35显示结果:显示结果:3535 num115 num220 sum35num115;num220;sumnum1+num2;输出输出sum;【例】【例】 输入三个数,输出其中的最大数。输入三个数,输出其中的最大数。 x7;y12;z10;if(xy) maxx;else max y;if (zmax) maxz;输出输出max;x7y12z10CPUmax12比较比较比较比较显示结

3、果:显示结果:12流程图流程图条件块1块2真假流程图流程图条件块真假【例】求【例】求4 4个整数的和。个整数的和。 0sum4count12x显示结果:显示结果:59123142621642118600count4; /整数个数整数个数sum0; /累加和的初值累加和的初值while (count0) x输入一个整数输入一个整数; sumsum+x; countcount-1;输出输出sum;选择结构选择结构单分支单分支双分支双分支if (表达式表达式) 语句语句多分支多分支if (表达式表达式) 语句语句else 语句语句if (表达式表达式1) 语句语句else if (表达式表达式) 语

4、句语句else 语句语句nif 语句的嵌套语句的嵌套switch语句语句表达式表达式内嵌语句内嵌语句TF表达式表达式语句语句1TF语句语句2表达式表达式1语句语句1TF语句语句2if(if(表达式表达式1)1) if( if(表达式表达式2)2) 语句语句1; 1; else else 语句语句2;2;else else if( if(表达式表达式3)3) 语句语句3; 3; else else 语句语句4;4; 内嵌内嵌ifif内嵌内嵌ifif表达式表达式2表达式表达式3TT语句语句3语句语句4FFB) b=1;B) b=1; if (a=0)if (a=0) if(a= =0) if(a=

5、 =0) b=0 b=0; else b=-1;else b=-1;例例A) b=1;A) b=1; if (a=0) if (a=0) if(a= =0) if(a= =0) b=0 b=0; else b=-1;else b=-1;=010001aaab-=010001aaab举例举例已知已知a=3 b=4 c=5 d=0, d=?if (ab)d=a;else if (cb) d=c; else d=b;if (ab)if (cb) d=c;else d=b ;if (ab)if (cb) d=c;else d=b ;if (ab) if (cb) d=c; else d=b;else

6、d=a;d=5d=3d=0d=4using namespace std;#include #include int main() float a,b,c,p,s; cinabc; if (a+bc & a+cb & b+ca) p=(a+b+c)/2; s=sqrt(p*(p-a)*(p-b)*(p-c); coutarea=s; else cout=90) cout=80) cout=70) cout=60) coutD else coutE;常量表达式常量表达式1语句语句1switch(表达式)(表达式)常量表达式常量表达式2语句语句2常量表达式常量表达式n语句语句n语句语

7、句n+1TTTFFFFTswitch(fn/10) case 10: case 9: coutA; break; case 8: coutB; break; case 7: coutC; break; case 6: coutD; break; default: coutE; break;根据运输里程根据运输里程s计算计算折扣折扣d分析:分析: 如果用如果用switch语句,语句,必须使表达式符合语必须使表达式符合语法要求,分析发现,法要求,分析发现,里程里程s的的分段点均是分段点均是250的倍数的倍数,因此,因此,将里程将里程s除以除以250,取,取整数商,便得到若干整数商,便得到若干整数值

8、。整数值。运输公司对用户计算运费。路程(s)越远,每公里运费越低。标准如下: 没有折扣 2%折扣 5%折扣 8%折扣 10%折扣 15%折扣设每公里每吨货物的基本运费为p,货物重为w,距离为s,折扣为d,则总运费的计算公式为 F=p*w*s*(1-d)设计程序,当输入p、w和s后,计算运费f。ssssss300030002000200010001000500500250250using namespace std;#include int main() int c,s; float p,w,d,f; cinpws; if (s=3000) c=12; else c=s/250; switch(

9、c) case 0:d=0;break; case 1:d=2;break; case 2: case 3:d=5;break; case 4: case 5: case 6: case 7:d=8;break; case 8: case 9: case 10: case 11:d=10;break; case 12:d=15;break; f=p*w*s*(1-d/100); coutfreight=f; return 0;开始开始sum清清0,i=1i= 100?i加到加到sum中中i=i+1输出输出sum结束结束FT表达式表达式循环体语句循环体语句TFint sum=0; int i=1

10、;while(i=100) sum+=i; i+; 表达式表达式循环体语句循环体语句FTint sum=0; int i=1;do sum+=i; i+; while(i=100);表达式表达式1; while (表达式表达式2) 语句语句;表达式表达式3; 表达式表达式2语句语句TF表达式表达式1表达式表达式3for (表达式表达式1;表达式;表达式2;表达式;表达式3) 语句语句 说明说明三个表达式都可三个表达式都可以省略。以省略。表达式表达式2循环体语句循环体语句假假 真真表达式表达式3表达式表达式1省略省略循环体语句循环体语句求解表达式求解表达式1表达式表达式3表达式表达式2省略省略表

11、达式表达式2循环体语句循环体语句假假 真真求解表达式求解表达式1表达式表达式3省略省略1i=1;for(; i=10;i+) sum=sum+i; 2for (i=1; ;i+) sum=sum+i; ?3for (i=1;i=10 ;) sum=sum+i; i+; for(i=1; i=10;i+) sum=sum+i; 表达式表达式1可以省略,可以省略,但其后的分号不但其后的分号不可以省略。可以省略。没有循环结没有循环结束条件,构束条件,构成了死循环成了死循环for(i=1; i=10;i+) sum=sum+i; 45for( ; ; ) sum=sum+i; 6表达式表达式1和表达式

12、和表达式3可以是可以是与循环变量无关的表达式。与循环变量无关的表达式。for( ;i=10 ; ) sum=sum+i; i+; 7表达式表达式2一般是关系表达式,也一般是关系表达式,也可以是数值或字符表达式。可以是数值或字符表达式。while(i=10) sum=sum+i; i+ ; while (1) sum=sum+i; 表达式表达式1和表达式和表达式3可以同时省略,此可以同时省略,此时等同于时等同于while语句。语句。for(sum=0,i=1;i=100,i+) sum=sum+i; 例例建议:建议:for语句中只放与语句中只放与循环控制有关的语句。循环控制有关的语句。计算计算n

13、!123 (n-1) nusing namespace std;#include int main() int s=1, i=1; int n; cinn; while(i=n) s*=i; i+; couts; return 0; 开始开始s清清1,i=1ii输出输出s结束结束TFusing namespace std;#include #include int main() int i,j; for( i=1;i=9;i+) for(j=1; j=i; j+) cout j*i=setw(2)j*i; coutendl; return 0;for (int i=1,int sum=0 ;i

14、1000;i+) if( i %3 = =0 ) break; sum+=i; 1+2for (int i=1,int sum=0 ;i1000;i+) if( i %3) continue; / i%3!=0 sum+=i; 3+6+9+999例例1利用公式:利用公式:/4=1-1/3+1/5-1/7+求求 的近似值,直到某一项的绝对值小于的近似值,直到某一项的绝对值小于10-6为止。为止。using namespace std;#include #include int main() int s; double n,t,pi; t=1;pi=0;n=1.0;s=1; while(fabs(

15、t)1e-6) pi=pi+t; n=n+2; s=-s; t=s/n; pi=pi*4; coutpi=“pi; 思考:使思考:使用那一种用那一种循环控制循环控制语句?语句?程序举例程序举例pi=1-1/3+输出输出4* pis=1(-1)n=1,3,5,7t=s/n例例2求求Fibonacci数列的前数列的前40个数。个数。using namespace std;#include #include int main() long int f1,f2; int i; f1=1;f2=1; for(i=1;i=20;i+) coutsetw(10)f1setw(10)f2; if(i%2=0)

16、 cout=3) 1 1 2 3 5 8 13 21 34 55 89 144 程序举例程序举例例例3判断判断m是否为素数。是否为素数。素数(质数)素数(质数): 只能被只能被1和它本身整除的数。和它本身整除的数。判别方法:判别方法:57:若:若256之间的每一个数都除不开之间的每一个数都除不开56,则,则56为素数,否则为素数,否则56不不是素数。是素数。m, k=m-1,i=2k :若每一个若每一个 i 的值都除不开的值都除不开m,则则m为素数,否则为素数,否则m不是素数。不是素数。flag=1;k=m-1;for (i=2;i=k;i+) if (m%i=0) flag=0;if (fl

17、ag=1) cout“yes!”;else cout“no!”;k=m-1;for (i=2;i=k+1) cout“yes!”;else cout“no!”;k=m-1;k=m/2;(m+1)/2;k=sqrt(m);sqrt(m+1)程序举例程序举例例例3输出输出 101200之间的全部素数。之间的全部素数。for m=101 to 200判断判断m是否为素数是否为素数若若m是素数,则输是素数,则输出并统计个数出并统计个数n.每输出每输出10个个素数,素数,换行换行using namespace std;#include #include #include int main() int m,k,i,n=0; for(m=101;m=200;m=m+2) k=sqrt(m); for(i=2;i=k+1) coutsetw(5)m; n=n+1; if(n%5=0) coutn; coutn; return 0;程序

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论