C++程序设计初步——选择结构和if语句

目录

3.7  选择结构和if语句

  3.7.1  if语句的形式

  3.7.2  if语句的嵌套

  3.7.3  条件运算符和条件表达式

  3.7.4  多分支选择结构与switch语句


3.7  选择结构和if语句

  3.7.1  if语句的形式

    C++的if语句的一般形式为:

    if(表达式)语句1

    [else语句2]

    if语句包含else部分,其中的语句又是一个if语句。而这个内嵌的if语句的else部分中包含的语句又是一个内嵌的if语句。

 

例3.6  求三角形的面积

#include<iostream>
#include<cmath>
#include<iomanip>
using namespace std;
int main()
{
double a,b,c=0;
cout<<"please enter a,b,c:";
cin>>a>>b>>c;
if(a+b>c&&b+c>a&&c+a>b)
{
double s,area;
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
cout<<setiosflags(ios::fixed)<<setprecision(4);
cout<<"area="<<area<<endl;
}
else cout<<"it is not a trilateral!"<<endl;
return 0;
}

 运行结果: please enter a,b,c:2.45 3.67 4.89

                    area=4.3565

  3.7.2  if语句的嵌套

     在if语句中包含一个或多个if语句称为if语句的嵌套

    一般形式:

    if()

           if()语句1

           else 语句2

  else

          if()语句3

          else 语句4

    应当注意if和else的配对关系。else总是与它上面最近的且未配对的if配对

  3.7.3  条件运算符和条件表达式

    若在if语句中,当被判别的表达式的值为“真”或“假”时,都执行一个赋值语句且给同一个变量赋值时,可以用简单的条件运算符来处理。

    条件表达式的一般形式为:

    表达式1?表达式2:表达式3

    条件运算符的执行顺序是:先求解表达式1,若为非0(真)则求解表达式2,此时表达式2的值就作为整个条件表达式的值。若表达式1 的值为0(假),则求解表达式3,表达式3 的值就是整个条件表达式的值。

例3.7 转换大小写字母

#include<iostream>
uisng namespace std;
int main()
{
char ch;
cin>>ch;
ch=(ch>='A'&&ch<='Z')?(ch+32):ch;
cout<<ch<<endl;
return 0;
}

运行结果: 输入:A    输出:a

  3.7.4  多分支选择结构与switch语句

    switch语句是多分支选择语句,用来实现多分支选择结构。使用if语句时,如果分支较多,则嵌套的if语句层数也很多,程序的可读性就会降低。

一般形式:

switch(表达式)

{     

    case 常量表达式1:语句1

    case 常量表达式2:语句2

    :

    case 常量表达式n:语句n

    default                  :语句n+1

}

例如,按照考试成绩的等级打印百分制分数段

switch(grade)
{
case'A':cout<<"85~100\n";
case'B':cout<<"70~84\n";
case'C':cout<<"60~69\n";
case'D':cout<<"60\n";
default:cout<<"error\n";
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鳄鱼麻薯球

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值