范磊 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 << "\n" ;
 26     cout << "--------------------------------" << "\n" ;
 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 << "\n" ;
 40         }
 41         cout << i << "\t" ;
 42     }
 43     cout << "\n" ;
 44     cout << "--------------------------------" << "\n" ;
 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 << "\n";   //先把a自加了,然后再输出.
 58     cout << b++ << "\n";   //先输出了以后,再自加.
 59     cout << b << endl;     //输出b自加以后的值.
 60     cout << "--------------------------------" << "\n" ;
 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 << "第一个数比第二个数大!" << "\n" ;
 81     }
 82     else
 83     {
 84         cout << "第二个数比第一个数大!" << "\n" ;
 85     }
 86     cout << "该程序执行完毕!" << "\n" ;
 87     cout << "--------------------------------" << "\n" ;
 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.\n";
103     else cout <<"x大于或者等于100.\n";
104     else
105     if(x < 1) cout << "x小于1.\n";
106     else cout << "x等于1.\n";
107 }
108 */
109     //用{}把if和else的内容包含起来
110     if(x > 1)
111     {
112         if(x < 100)
113         {
114             cout << "x 大于1小于100.\n";
115         }
116         else
117         {
118             cout << "x大于或者等于100.\n";
119         }
120     }
121     else
122     {
123         if(x < 1)
124         {
125             cout << "x 1小于1.\n";
126         }
127         else
128         {
129             cout << "x 1等于1.\n";
130         }
131     }
132     cout << "--------------------------------" << "\n" ;
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的数: \n";
186     cin >> x;
187     if(x > 1 && x < 100)   //这里两个条件都要同时成立(x>1 = 真)且 (x<100 =真)才能执行if{ }的语句.
188     {
189         cout << "x大于1且小于100.\n";
190     }
191     else
192     {
193         cout << "x小于等于1或大于100.\n";
194     }
195     cout << "--------------------------------" << "\n" ;
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的数: \n";
205     cin >> x;
206     if(x > 1 && x < 100)   //这里只要其中1个条件成立(x>1 = 真) 或(x<100 =真)才能执行if{ }的语句.
207     {
208         cout << "x大于1或小于100.\n";
209     }
210     else
211     {
212         cout << "x小于1.\n";
213     }
214     cout << "--------------------------------" << "\n" ;
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的数: \n";
224     cin >> x;
225     if(!x == 0)   //"非"其实就是取反的意思,如当x取一个不为0的数时,!x=0
226     {
227         cout << "x不等于0.\n";
228     }
229     else
230     {
231         cout << "x等于0.\n";
232     }
233     cout << "--------------------------------" << "\n" ;
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 << "请输入两个数\n";
245     cout <<"a:";
246     cin >>a;
247     cout <<"b:";
248     cin >>b;
249     cout <<"\n";
250
251     if(a > b)
252     {
253         z = a;
254     }
255     else
256     {
257         z = b;
258     }
259     cout << "z:" << z << "\n";
260     z = (a > b)? a:b;    //判断(a>b)知否为真,如果真则取a,如果假,则取b.  三目运算本质就是简化的if else.
261     cout << "z:" << z << "\n";
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 << "\n";
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) <<"\n";  //把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) << "\n";
304  }   //这个是一个把大小字母转化成小写字母的程序,如果输入的不是大写字母,则不转换.
305
306
307 void fun13()  //5.11 复杂的嵌套if语句
308 {
309     using namespace std;
310
311     int x;
312
313     cout << "请输入一个整数! \n";
314     cout << "x:" ;
315     cin >> x;
316
317     if(x > 1)
318     {
319         if(x == 1)
320         {
321             cout << "你输入了1.\n";
322         }
323         else
324         {
325             if(x > 100)
326             {
327                 cout << "你输入了大于100的数.\n";
328             }
329             else if(x == 100)
330             {
331                 cout << "你输入了100.";
332             }
333             else
334             {
335                 cout << "你输入了1个大于1,小于100的数.\n";
336             }
337         }
338     }
339     else
340     {
341         cout << "你输入了一个小于1的数.\n";
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 }
时间: 2024-10-14 23:43:42

范磊 C++ 第5章 if语句与运算符的相关文章

范磊 C++ 第7章 循环语句

1 // section_7.cpp : Defines the entry point for the console application. 2 //范磊 C++ 第7章 循环语句 3 4 #include "stdafx.h" 5 #include "iostream" 6 7 using namespace std; //cout 和 endl 前面不用加 std:: 了. 8 9 //7.1 循环语句的前身--go to 语句 10 void fun1(

范磊 C++ 第2章

//范磊C++ 第2章 //这章我觉得最主要的是:1, 命名空间 namespace 作用; 2,std 的作用. #include "stdafx.h" //这个#include "stdafx.h"和#include "iostream" 好像有顺序的吧?反过来放,先写#include "iostream"就错了?不明白. #include "iostream" // iostream 是一个标准库,类

范磊 C++ 第6章 面向对象

1 // section_6.cpp : Defines the entry point for the console application. 2 //范磊C++ 第6章 面向对象 3 4 #include "stdafx.h" 5 #include "iostream" 6 7 8 9 //6.3.7 对象只能调用类中存在的方法(函数) 10 using std :: cout; 11 class Human 12 { 13 public: 14 void w

范磊 C++ 第8章 指针

1 // section_8.cpp : Defines the entry point for the console application. 2 //范磊 C++ 第8章 指针 3 //指针本质也是一个变量,只是这个变量存放的数据比较特殊,怎么特殊? 4 //里面存放的是别人家的地址. 其他变量的内存编号而已. 5 6 #include "stdafx.h" 7 #include "iostream" 8 9 using namespace std; 10 1

范磊 C++ 第4章 C++数据类型

1 // section_4.cpp : Defines the entry point for the console application. 2 //范磊C++ 第4章 C++数据类型 3 //c++有6种数据类型 4 /* 5 布尔型 bool .布尔型可表示两个逻辑值0和1.即"真" 和 "假". 6 字符型 char . 7 双字节行 w_char 8 整形 int 9 单精度浮点型 float 10 双精度浮点型 double 11 */ 12 13

范磊 C++ 第3章 初步了解函数

1 //范磊C++ 第3章 2 3 #include "stdafx.h" 4 #include "iostream" 5 6 //3.1 一个简单的函数 7 void show() 8 { 9 std :: cout << "Hello word!\n" ; 10 } 11 void fun1()///3.1 一个简单的函数 12 { 13 std :: cout << "函数开始\n" ; 14 s

第4章 将语句编织成程序

第4章 将语句编织成程序 4.1 用运算符对数据进行运算 4.1.1 用表达式表达设计意图 4.1.2 算术运算符 4.1.3 赋值操作符 4.1.4 关系运算符 4.1.5 逻辑运算符 4.1.6 运算符之间的优先顺序 4.1.7 将表达式组织成语句 4.2 条件选择语句 4.2.1 if语句 4.2.2 并列选择的switch语句 4.3 循环控制语句 4.3.1 while循环 4.3.2 do…while循环 4.3.3 for循环 4.3.4 循环控制:break和continue 4

第七章 循环语句

第七章 循环语句 1.  循环语句的老祖宗--Goto语句(可用do-while();代替) 1 //①goto语句的使用(一般情况不用,但想在多重循环中一下子跳到外面时可以用)*******************① 2 int i=0; 3 number: i++; 4 cout<<"*"; 5 if (i<10) 6 { 7 goto number; 8 } 9 //②可以用do{ } while ();代替 10 int i=0; 11 do 12 { 13

C和指针 (pointers on C)——第四章:语句(上)

第四章--语句(上) 总结总结!!! C没有布尔类型,所以在一些逻辑判断时候必须用整型表达式,零值为假,非零值为真. for比while把控制循环的表达式收集起来放在一个地方,以便寻找. do语句比while语句类似,但是前者能够保证循环体至少执行一次. 不要用goto. switch...case...在没有加break时候多半有问题,我有一篇文章曾专门说这个事儿. 详情见http://blog.csdn.net/liyakun1990/article/details/24942191 空语句