VC++语言程序设计流程控制语句_第1页
VC++语言程序设计流程控制语句_第2页
VC++语言程序设计流程控制语句_第3页
VC++语言程序设计流程控制语句_第4页
VC++语言程序设计流程控制语句_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

VC++语言程序设计流程控制语句主要学习内容:

⒈C++的语句和程序结构⒉选择结构语句

3.循环结构语句

4.控制执行顺序的语句

5.程序举例

流程控制语句4.1C++语言的语句和程序结构4.1.1C++语言的语句概述C++语言的语句分为六大类:1.说明语句2.控制语句3.函数调用语句4.表达式语句5.空语句6.复合语句

第4章流程控制语句4.1C++语言的语句和程序结构4.1.2程序的三种基本结构1.顺序结构2.选择结构3.循环结构第4章流程控制语句4.2选择结构语句4.2.1条件语句1.单选择条件语句

if(<条件表达式>)S第4章流程控制语句

每本书的单价为29元,10本书以上的优惠价为每本21元:intn;cin>>n;floatprice=29;if(n>10)price=21;cout<<“书的总价为:”<<n*price<<endl;y=0;if(x>1.5)y+=5;y=x*x+5*x;第4章流程控制语句s=200;if(a)s=100;cout<<“s=“<<s<<‘\n’;4.2选择结构语句4.2.1条件语句2.二中择一条件语句

if(<条件表达式>)S1elseS2第4章流程控制语句

从键盘上输入三个整数,输出三个数中的最大数:if(a>b)t=a;elset=b;if(t>c)cout<<t<<‘\n’;elsecout<<c<<‘\n’;第4章流程控制语句从键盘上输入一个整数,判断其奇偶性。intn;cin>>n;if(n

%2)cout<<“是奇数\n”;elsecout<<“是偶数\n”;4.2选择结构语句4.2.1条件语句3.嵌套的条件语句

if(<条件表达式1>)S1elseif(<>)S2elseif…

elseSn

if(e1)if(e2)S1elseS2elseS3

第4章流程控制语句floata,b,c,delta;cin>>a>>b>>c;delta=b*b-4*a*c;if(delta<0)cout<<"没有实根!\n";elseif(delta)cout<<"有两个不同的实根!\n";elsecout<<"有两个相等的实根!\n";第4章流程控制语句floata,b,c,delta;cin>>a>>b>>c;delta=b*b-4*a*c;if(delta>=0)

if(delta)cout<<"有两个不同的实根!\n";elsecout<<"有两个相等的实根!\n";elsecout<<"没有实根!\n";floata,b,c,delta;cin>>a>>b>>c;delta=b*b-4*a*c;if(delta>=0){delta=sqrt(delta);

if(delta)cout<<"有两个不同的实根!\n";elsecout<<"有两个相等的实根!\n";

}elsecout<<"没有实根!\n";第4章流程控制语句

从键盘上输入三个数,判断这三个数作为三角形的三条边,是否能构成三角形:if(a+b>c&&b+c>a&&c+a>b) cout<<“Yes”<<endl;elsecout<<“No”<<endl;第4章流程控制语句

判断输入字符的种类。把字符分为五类:数字、大写字母、小写字母、控制字符(ASCII码值小于32)和其他字符。charc;cin.get(c);if(c<32)cout<<"这是一个控制字符。\n";elseif(c>='0'&&c<='9')

cout<<"这是一个数字。\n";elseif(c>='A'&&c<='Z')

cout<<"这是一个大写字母\n"; elseif(c>='a'&&c<='z')

cout<<"这是一个小写字母\n"; elsecout<<"这是一个其他字符\n";4.2选择结构语句4.2.2条件运算符“?:”语句<表达式1>?<表达式2>:<表达式3>第4章流程控制语句max=a>=b?a:b;等同于:if(a>=b)max=aelsemax=b;可以嵌套使用:

max=(a>=b?a:b)<c?c:(a>=b?a:b);max=(t=a>=b?a:b)<c?c:t;4.2选择结构语句4.2.3开关语句Switch(<表达式>){case<常量表达式1>:[<语句序列1>;][break;]case<常量表达式2>:[<语句序列2>;][break;]…case<常量表达式n>:[<语句序列n>;][break;][default:<语句序列>]}第4章流程控制语句运输公司对所运的物品分段进行计费。设距离为distance。则计算运费时打折的情况为:

distance<250没有折扣;250<=distance<50098%折扣;500<=distance<100095%折扣;

1000<=distance<200092%折扣;2000<=distance<300090%折扣;3000<=distance85%折扣;第4章流程控制语句变量定义:

距离:distance,float;

单价:price,float;

重量:weight,float;

折扣:discount,float;

运费:fee,float;fee=price*weight*distance*discount第4章流程控制语句

floatdistance,discount,weight,price,fee;

inti; i=distance/250;

switch(i){ case0:discount=1;break; case1:discount=0.98f;break; case2: case3:discount=0.95f;break; case4: case5: case6: case7:discount=0.92f;break; case8: case9: case10: case11:discount=0.9f;break; default:discount=0.85f;} fee=price*distance*discount*weight;

cout<<fee<<endl;第4章流程控制语句

floatdistance,discount,weight,price,fee;

inti; i=distance/250;

switch(i){ case0:discount=1;break; case1:discount=0.98f;break; case2: case3:discount=0.95f;break; case4: case5: case6: case7:discount=0.92f;break; case8: case9: case10: case11:discount=0.9f;break; default:discount=0.85f;} fee=price*distance*discount*weight;

cout<<fee<<endl;第4章流程控制语句设计一个程序,实现简单的计算器功能,即能完成加、减、乘和除运算。如输入:2.5*4

则输出:

2.5*4=10第4章流程控制语句

floatnum1,num2; charMyOperator;

cin>>num1>>MyOperator>>num2;

switch(MyOperator){ case'+':cout<<num1+num2<<endl;break; case'-':cout<<num1-num2<<endl;break; case'*':cout<<num1*num2<<endl;break; case'/':cout<<num1/num2<<endl;break; default:cout<<"这是一个无效的操作符\n";}第4章流程控制语句4.3循环结构语句4.3.1while()语句while(<条件表达式>)S第4章流程控制语句

求s=1+2+…+100inti=0,s=0;while(i<100){

i++;s+=i;}cout<<“s=”<<s<<endl;4.3循环结构语句4.3.2do…while()语句doSwhile(<条件表达式>);第4章流程控制语句

求s=1+2+…+100inti=0,s=0;do{

i++;s+=i;}while(i<100);cout<<“s=”<<s<<endl;例:用迭代法求第4章流程控制语句迭代公式为:终止条件为: x1=a/2; do{ x0=x1; x1=(x0+a/x0)/2; }while(fabs(x1-x0)>1e-5);

cout<<a<<"平方根为:"<<x1<<endl;第4章流程控制语句例:用迭代法求第4章流程控制语句

一个饲养场引进一只刚出生的新品种兔子,这种兔子从出生的下一个月开始,每月新生一只兔子,新生的兔子也如此繁殖。如果所有的兔子都不死去,问到第12个月时,该饲养场共有兔子多少只?分析:第4章流程控制语句迭代公式:#include<iostream.h>voidmain(void){ longu1=1,u2;//u1、u2分别代表上月及本月的兔子数量

inti;//i为循环变量

for(i=2;i<=12;i++){u2=u1*2;u1=u2; }

cout<<"兔子的总数为:"<<u2<<endl;}程序:4.3循环结构语句4.3.3for()语句for(<表达式1>;<表达式2>;<表达式3>)S第4章流程控制语句(1)求出表达式1的值;(2)求出表达式2的值,若表达式2的值=0,则执行(4),否则执行(3);(3)执行语句S,求表达式3的值,转(2);(4)结束循环,执行for()后面的语句。第4章流程控制语句第4章流程控制语句for()语句的几点说明:(1)for()中循环体的执行情况与while()语句类似;(2)for()循环语句中的三个表达式可以是任何合法的表达式;(3)for()循环语句中的三个表达式均可省略,但“;”不可省略。语句最简洁的for()语句:for(;;){…}例:输入一行字符,并按输入的顺序一次输出该行字符第4章流程控制语句#include<iostream.h>voidmain(void){ charc;

cout<<“输入一行字符串”;

cin.get(c);

for(;c!=‘\n’;){cout<<c;cin.get(c); }

cout<<c;}4.3循环结构语句4.3.4三种循环语句的比较

第4章流程控制语句(1)对于重复结构的程序段,均可用任何一种循环语句来实现;(2)do…while()语句的循环体至少被执行一次;(3)因for()语句中就有初始化表达式和修正表达式,所以for()语句用得最为广泛。4.3循环结构语句4.3.5循环的嵌套及其应用

第4章流程控制语句1234567891

12

243

369...9

91827364554637281#include<iostream.h>voidmain(void){int

i,j;

cout<<“”;

for(i=1;i<10;i++)cout<<i<<“”;

cout<<endl;for(i=1;i<10;i++){

cout<<i<<“”;

for(j=1;j<=i;j++)

if(i*j>=10)cout<<i*j<<“”;elsecout<<i*j<<“”;

cout<<endl;}}4.4控制执行顺序的语句4.4.1break语句

第4章流程控制语句(1)用在switch语句中,其作用是结束开关语句的执行,并把控制转移到该开关语句之后的第一个语句;(2)用在循环语句的循环体中,当执行到break语句时,直接结束循环语句,转向执行循环语句之后的语句。4.4控制执行顺序的语句4.4.2continue语句

第4章流程控制语句该语句只能用在循环语句的循环体中,其作用是结束本次循环,跳到判断循环的位置,即重新开始下一次循环。注意break与continue的区别!#include<iostream.h>voidmain(void){

inti; for(i=100;i<200;i++){ if(i%3==0)continue;

cout<<i<<“

“; }}#include<iostream.h>voidmain(void){

inti; for(i=100;i<200;i++){ if(i%3==0)break;

cout<<i<<“

“; }}4.4控制执行顺序的语句4.4.3goto语句和标号

第4章流程控制语句

1.标号

一般形式:label:Slabel被成为语句标号,简称标号,标号的命名和标识符的规定相同,标号可以不加说明而直接引用。2.goto语句

一般形式:gotolabel;

利用goto语句可以条件语句和循环的里面,跳转到条件语句和循环语句的外面;但不可以用goto

语句从条件语句和循环的外面跳转到循环的里面。4.4控制执行顺序的语句4.4.4exit()和abort()函数

第4章流程控制语句

1.exit()函数

格式:exit(<表达式>);

其中表达式的值只能是整型数。exit()函数的功能是无条件地终止程序的执行,并将控制交给操作系统。系统在终止程序运行之前,会做相应的收、尾工作,如关闭被程序打开的文件、释放变量占据的存储空间等。2.abort()函数

格式:abort();abort()函数不能有任何参数,不做任何收尾工作,其他功能与exit()函数类似。4.5程序举例第4章流程控制语句设计一个程序,求Fibonacci数列的前40项。Fibonacci数列的计算公式为:

f1=1f2=1fn=fn-1+fn-2//程序4-14-1#include<iostream.h>voidmain(void){longf1=1,f2=1,f3;

cout<<f1<<‘\t’<<f2<<‘\t’; for(i=3;i<=40;i++){ f3=f2+f1;cout<<f3<<‘\t’;f1=f2;f2=f3;

if(i%4==0)cout<<endl; }

cout<<endl;}//程序4-14-2#include<iostream.h>voidmain(void){longf1=1,f2=1;

cout<<f1<<‘\t’<<f2<<‘\t’; for(i=2;i<=20;i++){ f1+=f2;f2+=f1;cout<<f1<<‘\t’<<f2<<‘\t’;

if(i%2==0)cout<<endl; }

cout<<endl;}4.5程序举例第4章流程控制语句求2-300之间的所有素数。1.偶数不是素数(2除外);2.奇数a不能被3、4、5...sqrt(a)整除,则该奇数为素数。//程序4-15#include<iostream.h>#include<math

温馨提示

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

评论

0/150

提交评论