第3章 选择结构(C++版)

合集下载

第三讲 选择结构程序设计

第三讲 选择结构程序设计

5.3.2 switch语句的一般形式 语句的一般形式 switch(整数表达式) (整数表达式) { case 常数表达式 :<语句 ;> 常数表达式1: 语句 语句1; case 常数表达式 :<语句 ;> 常数表达式2: 语句 语句2; …… case 常数表达式 :<语句 ;> 常数表达式n: 语句 语句n; default: 语句序列 : 语句序列n+1; ; }
5.3 switch语句 语句 5.3.1 问题引入 switch 语句和 语句和if-else语句(if…else if…else)是C语 语句( 语句 ) 语 言的两种多分支选择形式。 言的两种多分支选择形式。 if…else if…else结构用于对多条件并列测试,从中 结构用于对多条件并列测试 结构用于对多条件并列测试, 取一的情形; 取一的情形; switch结构用于 单条件 测试 , 从其多种结果中取一 结构用于单条件测试, 结构用于 单条件测试 种的情形。 种的情形。 一 般 情 况 下 用 switch 能 解 决 的 问 题 , 用 if…else if…else也一样能解决,反之用 也一样能解决, 也一样能解决 反之用if…else if…else能解决的 能解决的 问题用switch也能解决。 也能解决。 问题用 也能解决
5.2.1 if 语句
(4)if-else-if结构: ) 结构: 结构 if ( 条件 ) 语句 ; 条件1 语句1; else if ( 条件 ) 语句 ; 条件2 语句2; else if ( 条件 ) 语句 ; 条件3 语句3; ┇ else 语句 ; 语句n;
F 表达式1 表达式 T 表达式2 表达式 T F 表达式3 表达式 T 语句1 语句 语句2 语句 语句3 语句 F 表达式 T 4 语句4 语句 F 语句5 语句

C语言程序设计第3章选择结构程序设计

C语言程序设计第3章选择结构程序设计


!注意 if 与 else 的配对关
系,else总是与它上面最近 的未配对的 if 配对,若if与 else 的数目不一致,可以加 { }来确定配对关系。
整理课件
例:有一函数
y=
-1 0
(x<0) 输入X值,输出Y值。 (x=0)
1 (x>0)
main( ) { int x, y; scanf("%d",&x);
if (x<0) y= -1; else if (x= =0) y=0;
if(x<=0)
else y=1;
if (x= =0) y=0; y= -1;
else y=-1;
if (x>=0)
eplrsientfy(="1x;=%d,y=%d\n{"i,xf ,(yx)>;0) y=1; }
}
else y=0;
整理课件
程序设计基本步骤
定义变量 产生数据 数据处理、计算 输出结果
整理课件

程序举例
编程1:判断某一年是否闰年。 能被4整除但不能被100整除的是闰年; 能被400整除的是闰年。
main( ) { int y; scanf("%d",&y);
if ((y%4==0&&y%100!=0)||(y%400==0)) printf("yes\n",y);
}
15 x 30 30 x 100 100 x 200 其它
整理课件
读程序段
m,n,x,y,z均为整型变量,求执行完该段 程序后各变量的值。
m=10;n=5;
x=(--m==n++)?--m:++n;

C语言高教版第3版第三章三种基本控制结构上课件

C语言高教版第3版第三章三种基本控制结构上课件

„a‟<‘b‟ <‘c‟
关系表达式的值是一个逻辑值,即 【例2.18】判断以下关系表达式的值。 • “真”或“假”。 当 a = 3, b = 2, c = 1,请判断表达式的值 C语言没有逻辑型数据,以1代表“真”, 1. a > b 以“0”代表“假”。 1
2. (a > b) == c
只在a为假时,才判别b的值; 只在a、b都为假时,才判别 c的值
例 a=1;b=2;c=3;d=4;m=1;n=1; (m=a>b)&&(n=c>d)
结果m=0,n=1
【例】逻辑表达式的短路特性。例
复杂逻辑条件的表述
• 判断某一年year是否为闰年 1. 闰年 (year%4==0 && year%100!=0)||(year%400==0)
! 优先级:第2级 结合方向:自右向左
&&
||
优先级:第11级 结合方向:自左向右
优先级:第12级 结合方向:自左向右 /* 等价于(a<=x) && (x<=b)*/ /* 等价于(a>b)&&(x>y) */ /* 等价于 (a==b)||(x==y) */ /* 等价于(!a)||(a>b) */
有一个或多个输出
二、算法的描述工具
自然语言
(通俗易懂, 文字冗长, 容易有“歧义性”)
流程图
(灵活, 自由, 形象, 直观, 易理解, 占篇幅大)
N-S图
(新型流程图, 简洁)
伪代码
(介于自然语言和计算机语言之间, 中英文皆可,格式 自由, 易修改, 不直观, 不容易发现逻辑错误)
计算机语言
(用计算机实现算法, 可以执行出结果, 比如 C 语言)

高中信息学奥赛C++ 第3章 选择结构(C++版)

高中信息学奥赛C++  第3章  选择结构(C++版)

//maxn 为a,b中的最大值 //maxn 为a,b,c中的最大值
三、目运算符 c++有一个常用来代替if else 语句的操作符,这个操作符 被称为三目运算符(?:),它是c++中唯一一个需要3个操作数的 操作符。该操作符的通用格式如下: b?a:c 如果 b为 true ,则整个表达式的值为 a;否则,整个表达 式的值为c。下面两个语句演示了该操作符是如何工作的: x=5>3?10:12 // 5>3为true,所以 x=10; x=3==9?25:18 // 3==9为false,所以 x=18;
#include<iostream> using namespace std; int main() { int t; cin >> t; if ((t>=25) &&(t<=30)) cout<<"ok!\n"; else cout<<"no!\n"; return 0; }
格式2 : if (条件表达式) { 语句1; 语句2; …… } else { 语句1; 语句2; …… } 若分支语句由多个句子构成,我们必须把这些句子括在一 对花括号{ }内。
条件表达式
false
true 语句1
图3-1
程序设计风格提示:从语法上来讲,整个if语句可以写 在一行。如果条件表达式和语句都非常简单,那么整个语句 可以写在一行;否则,最好在条件表达式后换行,而且语句 部分要相对if缩进两格。
例3.1 读入一个整数a,如果a为偶数在屏幕上输出yes #include<iostream> using namespace std; int main( ) { int a; cin>>a; if (a%2==0) cout<<"yes"; return 0; } 注意:关系运算符==用来表达该符号的左右两边是 否相等,不要写成赋值号=。 试一试

C语言程序设计ppt课件-第3章-选择结构

C语言程序设计ppt课件-第3章-选择结构
1.表达式 2. if语句 3. switch语句 4. 选择结构的嵌套 5. 选择结构的应用
本章主要内容
1
选择结构
在解决大量的实际问题时,常常需要根据不同的 情况或条件,制定出不同的解决方案或对策。
选择结构是通过对条件 的判断来选择执行不同 的程序语句。
选择结构
一个程序若具有了判断和选择功 能,就具备了最基本的智能。
的完整的解题步骤。
void main() { int x,y,z,max;
printf("“\n Please input x,y,z: ");
➢将同影一响问到题算可法用乃不至同程算序法的解效决率,sifc(a。xm而n>afy(一一x)"=%x个个;d%算算d法法%d的的",&评质x价,量&y主优,&要z劣); 从时间复杂度和空间复杂度来els考e 虑。
max=y;
例从键盘输入三个不同的、无序if(mm的aaxx整<=zz)数; ,并分别存放 到变量x、y、z中,然后通过pr判int断f("输\n 出ma三x=%个d数\n"中,m的ax)最;
大数。要求将最大数存放在} 变量max中。
25
语法练习(单选题)
1.设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中
switch语句的应用
关例键从语键句盘:上输入一个学生的总平均成 绩能用(i大f- e于ls0e且if来小替于换10吗0)? swi,tc按h(分(i数nt段)(评sc定or出e/成10绩.的0)相) 应等级,90以上为A级,80~
{89为caBs级e ,97:0~g7r9a为dCe=级'A,'6;0~br6e9a为k;D级,59以下为E级。 问题分ca析se:s8w:itchg语ra句de中='的B表';达b式re只ak能; 是整型或字符型,所 以可c用as成e 绩7的:高位gr数ad字e=来'C确';定b其re对a应k;的分数段,而每一个 分数c段as又e对6应:swigtrcha中de的='一D'路; 选br择ea。k;可用表达式“((int)(成 绩/1c0)a)s”e 计5算:出成绩的高位数字 ,其中,“(int)”的功能 是将c表as达e式的4:值强制转换成整数。

选择结构(C++版)

选择结构(C++版)
条件表达式
false
true 语句1
图3-1
程序设计风格提示:从语法上来讲,整个if语句可以写 在一行。如果条件表达式和语句都非常简单,那么整个语句 可以写在一行;否则,最好在条件表达式后换行,而且语句 部分要相对if缩进两格。
例3.1 读入一个整数a,如果a为偶数在屏幕上输出yes #include<iostream> using namespace std; int main( ) { int a; cin>>a; if (a%2==0) cout<<"yes"; return 0; } 注意:关系运算符==用来表达该符号的左右两边是 否相等,不要写成赋值号=。 试一试
例3.5 输入温度t的值,判断是否适合晨练。(25<=t<=30, 则适合晨练ok,否则不适合no)
#include<iostream> using namespace std; int main() { int t; cin >> t; if ((t>=25) &&(t<=30)) cout<<"ok!\n"; else cout<<"no!\n"; return 0; }
若题目改为“读入一个整数a,如果a为入一个数,若这个数大于1并且小于100,则输出yes
# include<iostream> using namespace std; int main ( ) { int a; cin>>a; if ((a>1)&&(a<100)) cout<<"yes"; return 0; } 注意:此程序中的条件表达式为(a>1)&&(a<100),根据要 求 “条件表达式”必须用圆括号括起来,否则编译会出错。

C语言程序设计第3章 选择结构流程和应用

C语言程序设计第3章 选择结构流程和应用

2 单分支和双分支选择结构程序设计
简单if语句 if-else语句 条件运算符与条件表达式

简单if语句
学一学 简单if语句的形式为: if ( 条件表达式 ) 语句
其流程图如图3-1所示。语句的执 行过程是先计算“条件表达式”, 若值为“真”,则执行“语句”; 否则什么也不做。此处的“语句” 可以是简单语句,也可以是用一对 大括号“{ }”括起来的复合语句。
本章内容中我们将学习 1 选择结构判定条件的构成 2 单分支与双分支选择结构程序设计 3 多分支选择结构程序设计
1 选择结构判定条件的构成
关系运算符与关系表达式 逻辑运算符与逻辑表达式

关系运算符
关系运算是对两个操作数之间进行比较的运算符,其 运算结果为逻辑值(或称“布尔”值,boolean) “真”或“假”。 C语言中提供六种关系运算符,如 表3-1所示。
条件
Y
N
语句
试一试
问题3.4 从键盘输入一个数,输出其绝对值。 解题步骤 1.定义变量二个int变量iX,iY,其中iX用来接收 用户从键盘输入的数据,iY用来存放iX的绝对值。 2.从键盘输入一个整数放iX; 3.把iX放iY; 4.正数的绝对值是正数本身,负数的绝对值是其 相反数。所以,如果iX<0,则iY= -iX,否则不 需要做什么; 5.输出iX和iY。
练一练

问题:小明去参加一个同学的生日聚会, 同学的家长规定18岁以上的才可以饮酒, 所以需要编一程序根据输入的年龄打印一 张饮酒卷,使的能饮酒的同学可以获取饮 酒卷。
if-else语句
学一学 if-else语句是标准的if语句。 用来实现双分支选择结构, 其一般形式为: if ( 条件 ) 语句1; else 语句2;

C#第3章

C#第3章
单入口双分支 单入口三分支(如上面的if语句实现的选择结构) 单入口多分支(三个或三个以上的分支)
对于这些选择结构,除了可以利用if语句来实现以 外,还可以用switch语句来完成。
3.2 if语句——二分支选择语句
C#程序设计教程——蒙祖强编著
为表述方便,我们将if语句分为三种类型:
if…语句
C#程序设计教程——蒙祖强编著
Console.Write("请输入出行月份(1-12):"); 游客在其他月份出行,怎样出现提示信息? int mon = int.Parse(Console.ReadLine()); if (mon >= 5 && mon <= 10) { Console.WriteLine("旺季出行,机票不打折"); } else { Console.WriteLine("淡季出行,机票打折"); } Console.ReadLine();
3.2 if语句——二分支选择语句
C#程序设计教程——蒙祖强编著
3.2.2 if…else…语句(续)
【例3.3】 编写一个窗体应用程序,使之能够对给 定的实数进行四舍五入。 创建C#窗体应用程序Rounding,界面如下图:
3.2 if语句——二分支选择语句
C#程序设计教程——蒙祖强编著
3.2.2 if…else…语句(续)
——分段函数的实现
C#程序设计教程——蒙祖强编著
【例3.1】 构造一个C#控制台应用程序,使之实 现下列分段函数的功能:
3.1一个简单的选择结构程序
——分段函数的实现
C#程序设计教程——蒙祖强编著
3.1.1 创建C#控制台应用程序 创建一个控制台应用程序PiecewiseFunction:

第3章--选择结构--参考答案

第3章--选择结构--参考答案
#include <stdio.h>
main( )
{
int k;
scanf("%d",&k);
switch (k)
{
case 1: printf("%d\n",k++);
case 2: printf("%d\n",k++);
case 3: printf("%d\n",k++);
case 4: printf("%d\n",k++); break;
default: printf("Full!\n");
}
}
A) 1 B) 2
C) 2 D) 1
3 2
4 3
5 4
D
29.执行下面程序时,若从键盘输入"2<CR>",则程序的
运行结果是( )。
#include <stdio.h>
main( )
{ int j,k; char cp;
cp=getchar( );
顺序分支结构选择题:
1.设ch是char型变量,其值为A,且有下面的表达式:
ch=(ch>='A'&&ch<='Z')?(ch+32):ch
上面表达式的值是
A) A B) a
C) Z D) z
B
2.设a,b和c都是int型变量,且a=3,b=4,c=5,则下面的表达式中,
值为0的表达式是
A) 'a'&&'b' B) a<=b

C语言程序设计 第3章结构化程序设计的三种基本结构

C语言程序设计 第3章结构化程序设计的三种基本结构
printf ("请输入您的成绩"); scanf ("%d",&score);
其中输出函数printf( )只原样显示一个普通的字符串,用来 提示用户输入的数据是“成绩”。 ⑦如果是多个参数时,参数之间必须必须用逗号分隔,每 个参数要求是一个表达式(单独一个变量是表达式的特殊情 况),参数的个数和类型要与格式控制串中的格式说明符的 个数和类型相匹配。
③不可打印的特殊字符指的是该字符不能直接从输出设备输出, 也称为“转义字符”,转义字符用转义序列来表示。所谓转义 序列是用来表示字符的一种方法,即用该字符的ASCII值表示, 具体的格式为:\字母。其中: “\”表示转义字符序列的标识符,表示后面的字符是转义字符, 即是不可打印的字符; “字母”表示不可打印的转义字符,用来使输出设备输出某一 种格式,c语言中的常用转义字符如表3.4所示。
int a=4; float x=3.14; char c=’A’; 也可以对几个变量赋同一个初值,例如: int a=4,b=4,c=4; 也可以只对部分变量赋初值,例如: int a=4, b,c;
【例3.1】算术赋值运算符的使用。 #include <stdio.h> void main ( ) {
修饰符
功能说明
字母l
表示输入长整型整数,可加在格式说明符d、o、x 前面
m 表示输出数据的最小宽度 m.n 表示输出总宽度占m列,其中小数位占n位
- 表示输出的数字或字符在输出区域内向左靠
⑥如果是0个参数时,即该函数中只有格式控制串部分, 没有参数表部分,二者之间的逗号可以省略。这时格式控 制串部分是一个普通的字符串,该字符串将原样显示在屏 幕上,常常用来作为提示信息或字符串的输出。例如:
A

11-12-2学期C语言 第3章 C程序的流程控制1

11-12-2学期C语言 第3章 C程序的流程控制1

3.2.2 关系运算与关系表达式
(4)判定两个浮点数是否相等时,因存储上的误差,可能得出错误 的结果。 例如: 1.0/3.0*3.0==1.0 由于1.0/3.0得到的值在计算机中有效位数是有限的,因此上面 关系表达式的值为0(假),并不为1(真)。 ★应避免对两个实数表达式作‚相等‛或‚不相等‛的判别。 上式可改写为: fabs (1.0/3.0* 3.0-1.0)<1e-5 fabs是求绝对值函数。只要1.0/3.0与1.0之间的差小于10-5(或 一个其它的很小的数),就认为1.0/3.0*3.0与1.0相等。 (5)要表示x在区间[a,b]中,在数学中使用表达式a≤x≤b。但C 中应写成: a<=x && x<=b ‚&&‛是逻辑运算符‚与‛。a<=x的值为1(真)且x<=b的值 亦为1(真),则整个表达式的值为1(真)。
2. 算法的基本性质
算法应具备5个性质:
1、有穷性 2、确定性 性。 3、有零个或多个输入 外界取得必要的信息。 所谓输入是指在执行算法时可能需要从 一个算法应包含有限的操作步骤,而不能是无限的。 算法中的每一个步骤都应当是确定的,而不应当是
含糊的、模棱两可的。即:算法的含义应当是唯一的,不存在歧义
算术运算符
(高)
优先级相同(高)
关系运算符 赋值运算符 (低)
优先级相同(低)
关系运算符都是双目运算符,其结合性均为左结合。 关系运算符的优先级低于算术运算符,高于赋值运算符。
2.关系表达式的值 有两个!表达式成立,即为‚真‛(通常为1);表达式不成 立,即为‚假‛(0)。 例如: int x=2, y=3,z;
数学与信息学院
胡凤珠
3.1 算法
3.2 判断 3.3 选择型程序设计 3.4 循环型程序设计

第3章 三种基本程序结构

第3章 三种基本程序结构

左”。即上述表达式求解时,先计算并得到(b>c ? b : c)
的值,然后再将此值作为外层表达式的表达式3部分。 3、条件表达式一般使用在赋值语句中。虽然它快捷方
便,但功能上相比if语句还嫌不够。所以在实际应用中,
应视具体情况合理使用。
三、switch语句
switch语句的一般形式为:
switch(表达式){ case 常量表达式1: [语句1;] [break;] case 常量表达式2: [语句2;] [break;] …… case 常量表达式n: [语句n;] [break;] [default: 语句n+1;] }
2.格式控制符区分大小写; 如实数型量不能按%d形式输出,字符串量不能
first=3, second=4, third=2268
2.格式输入函数scanf 一般形式: scanf(格式控制,输入列表); 如:
scanf(“%d, %f”, &m, &n);
scanf函数是从标准输入设备(通常是键盘)读取输
/*两个%d之间没有空格*/
3 4↙
将3赋给a,4赋给b,也可以: 下面是体现“可取有效输入”含义的一个例子: 3↙ scanf(“%d%c%d”, &m, &ch, &n); 如果想输入123给m,字符’w’给ch,456给n,则以下3种 4↙
输入方式应采用哪一种呢? 123↙ 123w456↙ ① 123 w 456↙ ② w↙

(4)if子句是必须的,而else子句是可选的。但反过来
不成立,即else子句不能脱离if子句单独存在。流程图可以
变化如下:

下雨了?
不是
if(x>y) z=x; else

第3章 选择结构(C++版)

第3章  选择结构(C++版)


选择类语句包括if语句和switch语句,用它们来解决实际 应用中按不同的情况进行不同处理的问题。如根据学生的成 绩,对学生做出不同的等第评价。if选择结构称为单分支选 择结构,选择或忽略一个分支的操作。if/else选择结构称为 双分支选择结构,在两个不同分支中选择。switch选择结构 称为多分支(或多项)选择结构,以多种不同的情况选择多 个不同的操作。 • 循环类语句包括for循环语句、while循环语句和do循环语 句三种,用它们来解决实际应用中需要重复处理的问题。如 当统计全班同学总分时,就需要重复地做加法,依次把每个 人的分数累加起来。
【上机练习】
•7.收集瓶盖赢大奖【1.4编程基础之逻辑表达式与条件分支07】 • 某饮料公司最近推出了一个“收集瓶盖赢大奖”的活动:如果你拥有10个印 有“幸运”、或20个印有“鼓励”的瓶盖,就可以兑换一个神秘大奖。现分别 给出你拥有的印有“幸运”和“鼓励”的瓶盖数,判断是否可以去兑换大奖。 若可以兑换大奖,输出1,否则输出0。 •输入: • 一行,包含两个整数,分别是印有“幸运”和“鼓励”的瓶盖数,用一个空 格隔开。 •输出: • 一行。若可以兑换大奖,输出1,否则输出0。 •样例输入: • 11 19 •样例输出: • 1
【上机练习】
•4.奇偶ASCII值判断【1.4编程基础之逻辑表达式与条件分支04】 • 任意输入一个字符,判断其ASCII是否是奇数,若是,输出YES,否则,输出 NO。例如,字符A的ASCII值是65,则输出YES,若输入字符B(ASCII值是66),则输 出NO。 •输入: • 输入一个字符。 •输出: • 如果其ASCII值为奇数,则输出YES,否则,输出NO。 •样例输入: • A •样例输出: • YES
例3.5 输入温度t的值,判断是否适合晨练。(25<=t<=30,则 适合晨练ok,否则不适合no)

第3章 基本的程序流程控制结构

第3章 基本的程序流程控制结构
3.3.5 选择结构程序举例
计算机程序设计基础(C语言) 3.3 选择结构的流程控制
3.3.1 条件判断
在顺序结构中,各语句是按排列的先后次序顺序执行的, 是无条件的,不必事先作任何平判断。但在实际中,常常 有这样的情况:要根据某个条件是否成立决定是否执行指 定的任务。例如: 如果你在家,我去拜访你; (需要判断你是否在家) 如果考试不及格,要补考; (需要判断是否及格) 周末我们去郊游; (需要判断是否是周末) 如果x>y,输出x,否则输入y。 (需要判断x是否大于y) 判断的结果应该是一个逻辑值:“是”或“否”,在计算 机语言中用“真”和“假”表示。例如,当x>y时,满足 “x>y”条件,就称条件“x>y”为真,如果x≤y,不满足 “x>y”条件,就称条件“x>y”为假。
}
计算机程序设计基础(C语言)
例3.3 求4个数中的最大值。
算法分析:程序的功能是输入4个数给a,b, c,d。把a先赋予变量max,再用语句判别 max和b的大小,如max小于b,则把b赋予 max。同理,max继续跟c和d比较即可使 得max中总是大数,最后输出max的值就 是4个数中的最大值。


计算机程序设计基础(C语言)
在判定两个浮点数是否相等时,由于计算机存储上 出现的误差,会出现错误的结果。例如: 1.0/3.0*3.0==1.0 在数学上显然应该是一个恒等式,但由于1.0/3.0得 到的值的有效位数是有限的,并不等于,因此上 面关系表达式的值为0(假),而不为1(真)。 所以应避免对两个实数表达式作“相等”或“不 相等”的判定。上式可以改写为: fabs(1.0/3.0*3.0-1.0)<1e-5
计算机程序设计基础(C语言) 3.3 选择结构的流程控制
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

if (条件表达式) 语句1;
else 语句2;
程序设计风格提示:书 写if-else语句时,if和else 要对齐,而分支的语句部分 要缩进两格。
true 语句块1
flase 条件表达式
语句块2
图3-2
例3.4 根据用户输入的成绩,判断是否通过了考试。
#include<iostream > using namespace std; int main() {
{ c=a; a=b; b=c; } cout<<"a="<<a<<" b="<<b; return 0; }
二、if-else语句(双分支结构)
if单分支选择结构只在条件为true时采取操作,条件为 false时则忽略这个操作。利用if-else双分支选择结构则可 以在条件为true时和条件为false时采取不同操作。
第三章 程序的控制结构
w 第一节 概述 w 第二节 if选择结构 w 第三节 switch语句
第一节 概述
w
程序由若干条语句组成,各语句按照顺序一条一条地执
行,这种顺序结构是简洁的。但在现实世界中,在解决问题
的过程中,不可避免地遇到需要进行选择、或需要循环工作
的情况。这时,程序执行的顺序需要发生变化,而非从前向
称为多分支(或多项)选择结构,以多种不同的情况选择多
个不同的操作。
w
循环类语句包括for循环语句、while循环语句和do循环
语句三种,用它们来解决实际应用中需要重复处理的问题。
如当统计全班同学总分时,就需要重复地做加法,依次把每
个人的分数累加起来。
w if、else、switch、while、do和for等都是C++关键字。 这些关键字是该语言保留的,用于实现C++控制结构的不同 特性。关键字不能作为变量名等一些标识符。注意,将关键 字while的拼写变为“While”是个语法错误,因为C++是区 分大小写的语言。while、if和else等所有C++保留关键字只 能包含小写字母。
若题目改为“读入一个整数a,如果a为奇数在屏幕 上输出no”该如何修改程序?
例3.2 读入一个数,若这个数大于1并且小于100,则输出yes
# include<iostream> using namespace std; int main ( ) {
int a; cin>>a; if ((a>1)&&(a<100))
程序设计风格提示:书写语句块(也称为复合 语句)时,左右花括号要对齐,组成语句块的各语 句要相对花括号缩进一层并对齐。
例3.3 读入a,b,若a>b则交换a,b的值
#include<iostream> using namespace std; int main ( ) {
float a,b,c; cin>>a>>b; if (a>b)
格式1: 功能:如果(条件表达式)的值为“真” ,即条件
成立,则执行语句1,执行完“语句1”后继续执行整个if- else语句的后继语句;如果(条件表达式)的值为“假” ,即条件不成立,那么跳过语句1选择执行“语句2” ,执 行完语句2后继续执行整个if-else语句的后继语句;也就 是说if-else语句总是根据(条件表达式)的结果,选择 “语句1”和“语句2”中的一个执行,执行完以后,整个if -else就算执行完了。执行流程如图4-2所示
并且不容易出错,结构化编程要尽量少用或不用goto等跳转
语句。
w
选择类语句包括if语句和switch语句,用它们来解决实际
应用中按不同的情况进行不同处理的问题。如根据学生的成
绩,对学生做出不同的等第评价。if选择结构称为单分支选
择结构,选择或忽略一个分支的操作。if/else选择结构称为
双分支选择结构,在两个不同分支中选择。switch选择结构
cout<<"yes"; return 0; }
注意:此程序中的条件表达式为(a>1)&&(a<100),根据要 求 “条件表达式”必须用圆括号括起来,否则编译会出错。
格式2 :
if (条件表达式) {
语句1; 语句2; …… }
若条件成立时,要执行的操作由多个句子构成, 我们必须把这些句子括在一对花括号{ }内,我们称 这种形式为语句块或复合语句。
第二节 if选择结构
C++提供三种选择结构,即if选择结构、if-else选择结构 和switch选择结构。
一、if语句(单分支结构) 格式1:
if (条件表达式) 语句1;
功能:如果条件表达式的值为真,
条件表达式
false
即条件成立,语句1将被执行。否则,
语句1将被忽略(不被执行),程序将
true
按顺序从整个选择结构之后的下一条
语句1
语句继续执行。执行流程如图3-1所示
说明:格式中的“条件表达式”必
须用圆括号括起来。
图3-1
程序设计风格提示:从语法上来讲,整个if语句可以写 在一行。如果条件表达式和语句都非常简单,那么整个语句 可以写在一行;否则,最好在条件表达式后换行,而且语句 部分要相对if缩进两格。
后逐一执行。因此,程序中除了顺序结构以外,通常还有选
择结构、循环结构以及转移机制。
wC++源自了支持这些控制结构,提供了丰富、灵活的控制
语句。从结构化程序设计的观点看,所有程序都可用3种控
制结构即顺序结构、选择结构、和循环结构实现。C++在默
认的情况下采取顺序结构,除非特别指明,计算机总是按语
句顺序一条一条地执行。为使程序更清晰、更易调试与修改,
例3.1 读入一个整数a,如果a为偶数在屏幕上输出yes
#include<iostream> using namespace std; int main( ) {
int a; cin>>a; if (a%2==0)
cout<<"yes"; return 0; }
注意:关系运算符==用来表达该符号的左右两边是 否相等,不要写成赋值号=。 试一试
int c; cin >> c; if (c>=60)
cout<<"pass! \n"; else
cout<<"sorry!\n"; return 0; }
例3.5 输入温度t的值,判断是否适合晨练。(25<=t<=30, 则适合晨练ok,否则不适合no)
#include<iostream> using namespace std; int main() {
相关文档
最新文档