打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
C 之if选择结构

C++提供三种选择结构,即if选择结构、if-else选择结构和switch选择结构。

一、if语句(单分支结构)

格式1

       if  (条件表达式)  

             语句1

功能:如果条件表达式的值为真,即条件成立,语句1将被执行。否则,语句1将被忽略(不被执行),程序将按顺序从整个选择结构之后的下一条语句继续执行。执行流程如图3-1所示


条件表达式

   说明:格式中的“条件表达式”必须用圆括号括起来。


程序设计风格提示从语法上来讲,整个if语句可以写在一行。如果条件表达式和语句都非常简单,那么整个语句可以写在一行;否则,最好在条件表达式后换行,而且语句部分要相对if缩进两格。

3.1  读入一个整数a,如果a为偶数在屏幕上输出yes

#include

using namespace std;

int main( )

{

  int a;

  cin>>a;

   if(a%2==0)

    cout<>

  return 0;

}

     注意:关系运算符==用来表达该符号的左右两边是否相等,不要写成赋值号=

试一试


      若题目改为读入一个整数a,如果a为奇数在屏幕上输出no”该如何修改程序?

3.2  读入一个数,若这个数大于1并且小于100,则输出yes

# include

using namespace std;

int main ( )

{

  int a;

  cin>>a;

   if((a>1)&&(a<>)

     cout<>

  return 0;

}

     

         注意:此程序中的条件表达式为(a>1)&&(a<>,根据要     “条件表达式”必须用圆括号括起来,否则编译会出错。

格式2

   if  (条件表达式)  

   {

     语句1

     语句2

     ……

    }

     若条件成立时,要执行的操作由多个句子构成,我们必须把这些句子括在一对花括号{ }内,我们称这种形式为语句块或复合语句。

     程序设计风格提示:书写语句块(也称为复合语句)时,左右花括号要对齐,组成语句块的各语句要相对花括号缩进一层并对齐。

3.3  读入ab,若a>b则交换ab的值

#include

using namespace std;

int main ( )

{

  float a,b,c;

  cin>>a>>b;

   if(a>b)

    {

     c=a; a=b; b=c;

     } 

  cout<><><' b='<

  return 0;

}

二、if-else语句(双分支结构)

if单分支选择结构只在条件为true时采取操作,条件为false时则忽略这个操作。利用if-else双分支选择结构则可以在条件为true时和条件为false时采取不同操作。

格式1

  功能:如果(条件表达式)的值为“真” ,即条件成立,则执行语句1,执行完“语句1”后继续执行整个ifelse语句的后继语句;如果(条件表达式)的值为“假” ,即条件不成立,那么跳过语句1选择执行“语句2” ,执行完语句2后继续执行整个ifelse语句的后继语句;也就是说ifelse语句总是根据(条件表达式)的结果,选择“语句1”和“语句2”中的一个执行,执行完以后,整个ifelse就算执行完了。执行流程如图4-2所示

    if  (条件表达式

   语句1

else 

   语句2

程序设计风格提示:书写ifelse语句时,ifelse要对齐,而分支的语句部分要缩进两格。


3.4  根据用户输入的成绩,判断是否通过了考试。

#include

using namespace std;

int main()

{

   int c;

   cin >> c;

   if (c>=60)

      cout<'pass!>

   else

      cout<>

   return 0;

 }

3.5  输入温度t的值,判断是否适合晨练。(25<><>,则适合晨练ok,否则不适合no)

#include

using namespace std;

int main()

 {

      int t;

      cin >> t;

      if ((t>=25) &&(t<>

         cout<>

     else

        cout<>

     return 0;

  }

格式2

if (条件表达式

{ 语句1

  语句2

 …… 

 }

else 

语句1

语句2

……

    }

 若分支语句由多个句子构成,我们必须把这些句子括在一对花括号{ }内。

3.6  乘坐飞机时,当乘客行李小于等于20公斤时,按每公斤1.68元收费,大于20公斤时,按每公斤1.98元收费,编程计算收费(保留2位小数)

#include

using namespace std;

int main( )

{

  float  w, p;

   scanf('%f',&w);

   if (w<>

     printf('%.2f',w*1.68);

  else

    printf('%.2f',w*1.98);

  return 0;

}

          if语句允许嵌套,即语句1和语句2还可以是if语句,当if语句嵌套时,约定else总是和最近的一个if语句配对。

3.7 

if (a>b)

    if (b>c) y=a;

    elsey=c;

else部分否定的是条件b>c,即它与第二个if语句配对;若想让else部分与第一个if语句配对,则要引入一个复合语句,将上述语句写成如下形式:

if (a>b)

  {

    if (b>c) y=a;

   }

  else  y=c;

【上机练习3.1

1、判断两个数ab,输出较大数的平方值。

2、从键盘读入一个数,判断它的正负。是正数,则输出“+”,是负数,则输出“-”

3、假设邮局规定寄邮件时若每件重量在1公斤以内(1公斤),按1.5元计算邮费,如果超过1公斤时,其超出部分每公斤加收0.8元。请编程序计算邮件收费。

4、某服装公司为了推销产品,采取这样的批发销售方案:凡订购超过100 套的,每套定价为50元,否则每套价格为80元。输入订购套数,输出应付款的金额数。

5、某市的士费起步价8元,可以行驶3公里。3公里以后,按每公里1.6元计算,输入的士的公里数,请你计算顾客需付费多少元?

6、输入三个正整数,若能用这三个数作为边长组成三角形,就计算并输出该三角形的面积,否则输出Can't(组成三角形的条件为:任意两边之和大于第三边)

 


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服