zoukankan      html  css  js  c++  java
  • 范磊 C++ 第5章 if语句与运算符

      1 // section_5.cpp : Defines the entry point for the console application.
      2 //范磊 C++ 第5章 if语句与运算符
      3 
      4 #include "stdafx.h"
      5 #include "iostream"
      6 
      7 
      8 void fun1() //5.3表达式的定义
      9 //凡是用于计算值得操作,都可以看作是表达式,总能返回一个值
     10 {
     11     using namespace std;
     12 
     13     int a;
     14     int b;
     15     int x;
     16     int y;
     17 
     18     a = 1;
     19     b = 2;
     20     x = 3;
     21     y = 0;
     22 
     23     y = x = a + b;
     24 
     25     cout << y << "
    " ;
     26     cout << "--------------------------------" << "
    " ;
     27 }
     28 
     29 void fun2() //5.4运算符的定义
     30 {
     31     using namespace std;
     32 
     33     int i;
     34 
     35     for(i = 0; i < 60; i++)
     36     {
     37         if(i % 6 == 0)
     38         {
     39             cout << "
    " ;
     40         }
     41         cout << i << "	" ;
     42     }
     43     cout << "
    " ;
     44     cout << "--------------------------------" << "
    " ;
     45 }
     46 
     47 void fun3()  //5.5自加与自减
     48 {
     49     using namespace std;
     50 
     51     int a;
     52     int b;
     53 
     54     a = 1;
     55     b = 1;
     56 
     57     cout << ++a << "
    ";   //先把a自加了,然后再输出.
     58     cout << b++ << "
    ";   //先输出了以后,再自加.
     59     cout << b << endl;     //输出b自加以后的值.
     60     cout << "--------------------------------" << "
    " ;
     61 }
     62 //有种方法:看++号在哪边? 然后从左往右的顺序使用.
     63 //如a++,从左边开始,是先把a用了以后再++,所以用a的时候,++还没执行.所以还是a原来的值.
     64 //++a,从左边开始,是先++,所以到了用a时,a是已经进行了++的动作了,所以是a是+1后的值.
     65 
     66 void fun4()  //5.8.1 if+else语句
     67 {
     68     using namespace std;
     69     
     70     int a;
     71     int b;
     72 
     73     cout << "请输入第一个数字:" ;
     74     cin >> a ;
     75     cout << "清输入第二个数字:" ;
     76     cin >> b;
     77 
     78     if(a > b)
     79     {
     80         cout << "第一个数比第二个数大!" << "
    " ;
     81     }
     82     else
     83     {
     84         cout << "第二个数比第一个数大!" << "
    " ;
     85     }
     86     cout << "该程序执行完毕!" << "
    " ;
     87     cout << "--------------------------------" << "
    " ;
     88 }
     89 
     90 void fun5()  //5.8.2 else if语句
     91 //在if语句中,每个else 都与在上面离它最近的if相匹配
     92 {
     93     using namespace std;
     94 
     95     int x;
     96 
     97     cout << "请输入一个整数:" ;
     98     cin >> x ;
     99 
    100 /* 完全按书本这样的风格有点乱,if 与 else 之间的条例不清晰.
    101     if(x > 1)
    102     if(x <100) cout << "x 大于1小于100.
    ";
    103     else cout <<"x大于或者等于100.
    ";
    104     else 
    105     if(x < 1) cout << "x小于1.
    ";
    106     else cout << "x等于1.
    ";
    107 }
    108 */
    109     //用{}把if和else的内容包含起来
    110     if(x > 1)
    111     {
    112         if(x < 100)
    113         {
    114             cout << "x 大于1小于100.
    ";
    115         }
    116         else
    117         {
    118             cout << "x大于或者等于100.
    ";
    119         }
    120     }
    121     else
    122     {
    123         if(x < 1)
    124         {
    125             cout << "x 1小于1.
    ";
    126         }
    127         else
    128         {
    129             cout << "x 1等于1.
    ";
    130         }
    131     }
    132     cout << "--------------------------------" << "
    " ;
    133 }
    134 /* 其实所谓的 else if 语句并不是一种语法,只是一种代码写法风格.
    135    else if 本质其实就是 if else 里面再套if else ,然后再把代码的风格写法改变一下.
    136   如:
    137   if(a)
    138     {
    139         x = 1;
    140     }
    141     else
    142     {
    143         if(b)
    144         {
    145             x = 2;
    146         }
    147         else
    148         {
    149             if(c)
    150             {
    151                 x = 3;
    152             }
    153             else
    154             {
    155                 if(d)
    156                 {
    157                     x = 4;
    158                 }
    159                 else
    160                 {
    161                     x = 5;
    162                 }
    163             }
    164         }
    165     }
    166 因为 if 和 else 后面的内容不一定要有{},所以可以写成这样:
    167   if(a)
    168   x = 1;
    169   else if(b)
    170   x = 2;
    171   else if(c)
    172   x = 3;
    173   else if(d)
    174   x = 4;
    175   else
    176   x = 5;
    177 */
    178 
    179 void fun6()  //5.9.1 逻辑运算符以及使用 - 与(&&)  (&&1=1,1&&0=0,0&&1=0,0&&0=0)
    180 {            
    181     int x;
    182 
    183     using namespace std;
    184 
    185     cout << "请输入一个大于1且小于100的数: 
    ";
    186     cin >> x;
    187     if(x > 1 && x < 100)   //这里两个条件都要同时成立(x>1 = 真)且 (x<100 =真)才能执行if{ }的语句.
    188     {
    189         cout << "x大于1且小于100.
    ";
    190     }
    191     else
    192     {
    193         cout << "x小于等于1或大于100.
    ";
    194     }
    195     cout << "--------------------------------" << "
    " ;
    196 }
    197 
    198 void fun7()  //5.9.2 逻辑运算符以及使用 - 或(||) ,(1 || 1=1,1 || 0=1,0 || 1=1,0 || 0=0)
    199 {            
    200     int x;
    201 
    202     using namespace std;
    203 
    204     cout << "请输入一个大于1且小于100的数: 
    ";
    205     cin >> x;
    206     if(x > 1 && x < 100)   //这里只要其中1个条件成立(x>1 = 真) 或(x<100 =真)才能执行if{ }的语句.  
    207     {
    208         cout << "x大于1或小于100.
    ";
    209     }
    210     else
    211     {
    212         cout << "x小于1.
    ";
    213     }
    214     cout << "--------------------------------" << "
    " ;
    215 }
    216 
    217 void fun8()  //5.9.3 逻辑运算符以及使用 - 非(!) ,(!1=1,!0=1)
    218 {            
    219     int x;
    220 
    221     using namespace std;
    222 
    223     cout << "请输入一个大于1且小于100的数: 
    ";
    224     cin >> x;
    225     if(!x == 0)   //"非"其实就是取反的意思,如当x取一个不为0的数时,!x=0  
    226     {
    227         cout << "x不等于0.
    ";
    228     }
    229     else
    230     {
    231         cout << "x等于0.
    ";
    232     }
    233     cout << "--------------------------------" << "
    " ;
    234 }
    235 
    236 void fun9()  //5.10 三目运算
    237 {
    238     using namespace std;
    239 
    240     int a;
    241     int b;
    242     int z;
    243 
    244     cout << "请输入两个数
    ";
    245     cout <<"a:";
    246     cin >>a;
    247     cout <<"b:";
    248     cin >>b;
    249     cout <<"
    ";
    250     
    251     if(a > b)
    252     {
    253         z = a;
    254     }
    255     else
    256     {
    257         z = b;
    258     }
    259     cout << "z:" << z << "
    ";
    260     z = (a > b)? a:b;    //判断(a>b)知否为真,如果真则取a,如果假,则取b.  三目运算本质就是简化的if else.
    261     cout << "z:" << z << "
    ";
    262 }
    263 
    264 void fun10()  //5.10.1 三目运算的优先问题 :三目运算的方向,自右向左.  ←
    265 {
    266     using namespace std;
    267 
    268     int a;
    269     int b;
    270     int z;
    271 
    272     a = 1;
    273     b = 2;
    274 
    275     z = a>b?a:a>b?a:b ;  //等同于 z = a>b?a:(a>b?a:b)
    276     cout << "z:" << z << "
    ";
    277 }
    278 
    279 //5.10.3 三目运算符的型别问题:
    280 //三目运算允许不同类型的数值进行操作,把他们转化成最高级别的类型,再进行操作
    281 void fun11()
    282 {
    283     using namespace std;
    284 
    285     int a;
    286     float b;
    287 
    288     a = 1;
    289     b = 2.1f;   //b是浮点型,在数字后面+f.
    290     cout << (a>b?a:b) <<"
    ";  //把a也转化成高级的类型(float),然后再和b比较.
    291 } 
    292 //反汇编取a和b的值
    293 //004024B6   fild        dword ptr [ebp-4]
    294 //004024B9   fcomp       dword ptr [ebp-8]
    295 
    296 
    297  void fun12() //5.10.4 三目运算在字符型变量中的应用
    298  {
    299      using namespace std;
    300 
    301      char a;
    302      cin >>a;
    303      cout << ( a = (a >= 'A' && a <= 'Z')?(a + 32):a) << "
    ";
    304  }   //这个是一个把大小字母转化成小写字母的程序,如果输入的不是大写字母,则不转换.
    305  
    306 
    307 void fun13()  //5.11 复杂的嵌套if语句
    308 {
    309     using namespace std;
    310 
    311     int x;
    312 
    313     cout << "请输入一个整数! 
    ";
    314     cout << "x:" ;
    315     cin >> x;
    316 
    317     if(x > 1)
    318     {
    319         if(x == 1)
    320         {
    321             cout << "你输入了1.
    ";
    322         }
    323         else
    324         {
    325             if(x > 100)
    326             {
    327                 cout << "你输入了大于100的数.
    ";
    328             }
    329             else if(x == 100)
    330             {
    331                 cout << "你输入了100.";
    332             }
    333             else
    334             {
    335                 cout << "你输入了1个大于1,小于100的数.
    ";
    336             }
    337         }
    338     }
    339     else
    340     {
    341         cout << "你输入了一个小于1的数.
    ";
    342     }
    343 }
    344         
    345 
    346 int main(int argc, char* argv[])
    347 {
    348     //fun1();  //5.3表达式的定义
    349     //fun2();  //5.4运算符的定义
    350     //fun3();  //5.5自加与自减
    351     //fun4();  //5.8.1 if+else语句
    352     //fun5();  //5.8.2 else if语句
    353     //fun6();  //5.9.1 逻辑运算符以及使用 - 与
    354     //fun7();  //5.9.2 逻辑运算符以及使用 - 或
    355     //fun8();  //5.9.3 逻辑运算符以及使用 - 非
    356     //fun9();  //5.10.1 三目运算
    357     //fun10();  //5.10.2 三目运算的优先问题
    358     //fun11();  //5.10.3 三目运算符的型别问题
    359     //fun12();  //5.10.4 三目运算在字符型变量中的应用
    360     fun13();  //5.11 复杂的嵌套if语句
    361 
    362     return 0;
    363 }
  • 相关阅读:
    IO流
    java的反射机制
    docker下安装mysql
    makefile
    python轻量级orm
    MySQLdb与sqlalchemy的简单封装
    python网络socket编程
    解决mysqldb查询大量数据导致内存使用过高的问题
    sqlalchemy根据数据库结构生成映射的实体
    centos7构建python2.7常用开发环境
  • 原文地址:https://www.cnblogs.com/adalovelace/p/4000674.html
Copyright © 2011-2022 走看看