分支语句——c++程序的控制结构1

程序 由若干条语句组成,各语句按照顺序一条一条地执行,这种顺序结构是简洁的。但在现实世界中,在解决问题的过程中,不可避免地遇到需要进行选择戊需要循环I作的情况。这时,程序执行的顺序需要发生变化,而非从前向后逐一执行。因此程序中除了顺序结构以外,通常还有选择结构循环结构以及转移机制。

if选择结构
格式: if(条件表达式)
{
语句1;
语句2;
语句…;
}
if的条件语句可以完成选择结构,如果条件表达式成立,则执行语句,反之则不会执行。
if—else语句 (双分支)
格式: if(条件表达式)
语句1;
else
语句2;
如果条件表达式的值为真,则执行语句1。执行完语句1后,执行整个if—else语句后面的语句。如果条件表达式的值为假,那么跳过语句1执行语句2,执行完后再执行后续语句。执行完后,整个if—else语句完成。

现有程序:判断某一年是否为闰年

#include <iostream>

using namespace std;

int main()
{   int a;
    cin>>a;
    if((a%4==0)&&(a%100!=0)||(a%400==0))
         cout<<"Y";
    else cout<<"N";


 }

书写if语句时,可以根据需要适当的缩进。(不缩进会逼死多少程序员)

*switch语句

在这里插入图片描述

当分支较多时,单纯的If语句可能会造成书写程序的工程量加大。程序的复杂度变多,困难也加大。而且影响程序的外观。但是有一种开关switch语句。
该语句中可以多次使用case符号,不同的case就会有不同的结果。
但要注意,case后面的常量表达式通常为字面常量。如常数或字符。

switch语句执行过程
(1)计算出switch后面圆括号内表达式的值.假定为M.若它不是整型,系统将自动合去其小数部分,只取其整数部分作为结果值。
(2)依次计算出每个case后常量表达式的值,假定它们为MI、M2.、… ,同样,若它们的值不是整型,则自动转换为整型。
(3)让M依次同M1、M2、…进行比较,一旦遇到M与某个值相等,则就从对应标号的语句开始执行;在碰不到相等的情况下,若存在default子句,则就执行其冒号后面的语句序列,否则不执行任何操作;当执行到复合语句最后的右花括号时就结束整个swich语句的执行。
switch中执行到它时,break语句来实现。整个语句的执行,'在实际使用swich语句时,通常要求当执行完某个as后的组语向序列后,就结南,而不让它继续执行下一个该语句只有保留字.将结束该switch语句,系统接着向下执行其他语句。break,而没有其他任何成分。case语句后面的语句序列,为此,可通过使用它是一条跳转语句,在switch语句中遇到break时,便会结束该语句。
以下程序是一个简单的成绩等级查询。各个等级有相应的评价,这里case后面的表达式是一个字符。

include
using namespace std;

int main ()
{
   char grade = 'D';
 
   switch(grade)
   {
   case 'A' :
      cout << "很棒!" << endl; 
      break;
   case 'B' :
   case 'C' :
      cout << "做得好" << endl;
      break;
   case 'D' :
      cout << "您通过了" << endl;
      break;
   case 'F' :
      cout << "最好再试一下" << endl;
      break;
   default :
      cout << "无效的成绩" << endl;
   }
   cout << "您的成绩是 " << grade << endl;
 
   return 0;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值