case 'A' :cout<<\ case 'B' :cout<<\ case 'C' :cout<<\ case 'D' :cout<<\ case 'E' :cout<<\分以下\ default:cout<<\ } }
运行程序后,屏幕上将显示字符串“请输入成绩:”。假设输入B后,将输出结果: 80~89 70~79 60~69 60分以下 Input error!
显然,这样的输出结果是不符合题目原意的,原因就在于没有用break语句作为每个case的结束语句。现修改例2.11程序如下: switch(grade) { case 'A' :cout<<\ case 'B' :cout<<\ case 'C' :cout<<\ case 'D' :cout<<\ case 'E' :cout<<\分以下\ default:cout<<\}
再运行程序,然后输入成绩B,将输出结果: 80~89
循环语句:
在程序设计中经常遇到需要重复执行的操作,这些操作可以使用循环语句来实现。循环语句使得程序在给定条件满足时,能够重复地执行某些操作。C++语言提供了3种循环语句:while循环语句、do-while循环语句和for循环语句。 1.while循环语句
while循环语句的语法形式为: while(表达式) 循环体;
其中,while是关键字,表达式可以是C++语言中任何合法的表达式,它用来判断执行循环体的条件,根据循环条件决定是否执行循环体。循环体由语句组成,可以是一条语句,也可以是多条语句。
while循环执行过程示意图如图2-8所示。
真
表达式 循环体 假
注意:
如果循环体有多个语句时,要用大括号{}把它们括起来,以复合语句形式出现。 在使用循环语句时,一定要设法改变循环变量,使之在有限次循环之后能满足循环终止条件而结束循环。
【例2.12】编程计算1~100之和。 #include
程序运行后,输出结果:sum = 5050 2.do-while循环语句
do-while循环语句的语法形式为: do
?? //循环体部分 while(表达式);
do-while循环语句与while循环语句的区别在于:do-while循环语句首先执行循环体,再求表达式的值。如果其值非0,则再次执行循环体,直至表达式的值为零;而while语句首先求表达式的值,再按其值为零或非零决定是否执行循环体。因此,do-while循环语句中的循环体至少执行一次。do-while循环执行过程如图2-9所示。
循环体表达式真
注意:do-while循环语句最后的分号不可缺少。 【例2.13】利用do-while循环语句改写例2.12。 #include
while(i<=100); cout<<\}
3.for循环语句
for循环语句的功能非常强大。所有while循环语句和do-while循环语句都可以用for循环语句替代。for循环语句的语法形式为:
for(表达式1;表达式2;表达式3) 循环体;
其中,表达式1通常用来给循环变量赋初值;表达式2通常是关系表达式或逻辑表达式,一般用来设置循环条件;表达式3用来在每次循环之后修改循环变量的值。
for语句的执行过程是:首先执行表达式1,给循环变量赋初值;接着执行表达式2,并根据表达式2的值决定是否执行循环体。如果表达式2的值为true或其他非0值,则执行循环体,否则退出循环;每执行完一次循环体后,再执行表达式3,修改循环变量;然后再执行表达式2,并根据表达式2的值决定是否继续执行循环体。For循环语句的执行过程如图2-10所示。
表达式1 真表达式2假循环体表达式3图2-10 For循环语句执行过程
在使用for循环语句时,应该注意下列几种情况: (1)for语句中的3个表达式可以没有。但必须注意每个表达式后的分号不能省略。此时for循环语句的形式为:for(;;)
这时在循环体内必须有其他控制循环执行的语句,否则会形成死循环。
(2)表达式1如果没有或不是用来给循环变量赋初值,则应在for语句前给循环变量赋初值。
(3)表达式2如果没有,则在for语句循环体内应有其他控制循环执行的语句,否则会形成死循环。
(4)表达式3如果没有或不是用来修改循环变量的值,则应在for语句循环体内设置相应的语句。
【例2.14】利用for循环语句改写例2.12。 #include
【例2.15】在屏幕上显示0~9共10个整数。 #include 程序运行后,将输出结果: 0 1 2 3 4 5 6 7 8 9 return C++语言还提供了goto语句、break语句和continue语句等转移语句,它们主 要用于改变程序中语句的执行顺序,使程序从某一语句有目的地转移到另一语句 继续执行。 转移语句: 1.goto语句 goto语句语法格式为: goto 语句标号; goto语句的作用是使程序转移到语句标号所标示的语句处继续执行。语句标号 是一种用来标识语句的符号,其命名遵守标识符的命名规定,放在语句的前面, 并用冒号(:)与语句分开。 C++语言中,goto语句的使用被限制在一个函数体内,即goto语句只能在一个 函数范围内进行语句转移。在同一函数中,语句标号应该是唯一的。 注意:由于goto语句的使用会破坏程序的结构,编程时,应尽量少用或不用。 2.break语句 break语句的语法格式如下: break; break语句可用在以下两种情况: (1)break语句用在switch语句中,其功能是退出switch语句。 (2)break语句用在循环语句的循环体中,其功能是退出循环语句。如果是多重循环,它将会在本次循环结束时执行该重循环后面的语句。 3.continue语句 continue语句的语法格式为: continue; continue语句只能用在循环语句的循环体内。在循环执行的过 程中,如果遇到continue语句,程序将结束本次循环,接着开始 下一次循环。 【例2.16】从键盘上输入10个整数,若是正整数则求和,若是负整数则 不进行计算,继续输入数据,若输入0则终止程序。 #include cout<<\for(int i=0; i<=9;i++) { cin>>num; if(num= =0) break; if(num<0) continue; sum+=num; } cout<<\} return 作业 教材P46-47所有习题 第3章 函数 本章课时: 12课时 本章重点: