首页 > 代码库 > 范磊 C++ 第5章 if语句与运算符
范磊 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 else117 {118 cout << "x大于或者等于100.\n";119 }120 }121 else122 {123 if(x < 1)124 {125 cout << "x 1小于1.\n";126 }127 else128 {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 else142 {143 if(b)144 {145 x = 2;146 }147 else148 {149 if(c)150 {151 x = 3;152 }153 else154 {155 if(d)156 {157 x = 4;158 }159 else160 {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 else176 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 else192 {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 else211 {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 else230 {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 else256 {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 else324 {325 if(x > 100)326 {327 cout << "你输入了大于100的数.\n";328 }329 else if(x == 100)330 {331 cout << "你输入了100.";332 }333 else334 {335 cout << "你输入了1个大于1,小于100的数.\n";336 }337 }338 }339 else340 {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 }
范磊 C++ 第5章 if语句与运算符
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。