首页 > 代码库 > 范磊 C++ 第7章 循环语句
范磊 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() 11 { 12 int i; 13 14 i = 1; 15 number: 16 i++; 17 std::cout << "*" ; 18 if(i < 10) 19 { 20 goto number; 21 } 22 cout << "\n 程序结束 \n"; 23 cout << "*********\n"; 24 } 25 26 //------------------------------------------------------ 27 //7.3 while语句 28 void fun2() 29 { 30 int i; 31 32 i = 1; 33 34 while(i < 10) 35 { 36 cout << "*" ; 37 i++ ; 38 } 39 cout << "\n 程序结束 \n" ; 40 cout << "*********\n" ; 41 } 42 43 //------------------------------------------------------ 44 //7.3.1 带运算符的while语句 45 void fun3() 46 { 47 int a; 48 cout << "请输入一个大于0,小于100的数: " ; 49 cin >> a ; 50 while(a>0 && a<100) 51 { 52 cout << "a:" << a << endl ; 53 a++ ; 54 } 55 } 56 57 //------------------------------------------------------ 58 //7.3.2 以字符为条件的while语句 59 void fun4() 60 { 61 char choice; 62 63 choice = ‘y‘ ; 64 while(choice == ‘y‘ || choice == ‘Y‘) 65 { 66 cout << "\n问君能有几多愁,恰似一江春水向东流.\n" ; 67 cout << "再看一遍? 是按y,否按n :" ; 68 cin >> choice ; 69 } 70 cout << "程序执行完毕,再见. \n" ; 71 } 72 73 //------------------------------------------------------ 74 //7.3.3 限定while的循环次数 75 void fun5() 76 { 77 int count; 78 int many; 79 80 cout << "你想看几次? "; 81 cin >> many ; 82 count = 0 ; 83 while(count < many) 84 { 85 cout << "\n问君能有几多愁,恰似一江春水向东流.\n" ; 86 count++ ; 87 } 88 cout << "\n程序执行完毕,再见. \n\n" ; 89 } 90 91 //------------------------------------------------------ 92 //7.3.4 continue语句 93 //让程序执行到循环体的某处就不再继续执行后面的语句, 94 //可以用continue语句使跳转到循环开始的地方,继续执行. 95 void fun6() 96 { 97 int i; 98 i = 0; 99 100 while(i < 3)101 {102 i++ ; //第一次执行 i++后,i == 1.103 if(i == 1) //因为i == 1,所以执行if{ }里面的continue语句,跳回去判断while(i < 3) 这里了.104 { //下面的cout << "i的值为:" << i << endl ;这行代码就忽略了.105 continue;106 }107 cout << "i的值为:" << i << endl; //当没有执行continue语句时,就按顺序执行到这行语句了.108 }109 }110 111 //------------------------------------------------------112 //7.3.5 break语句113 //执行break语句,可以强制退出循环,执行循环体下面的语句.114 void fun7()115 {116 int i;117 i = 0;118 119 while(i < 3)120 {121 i++ ;122 if(i == 1)123 {124 break; //如果没有break 语句的话,循环里面的cout << "i 的值为:" << i << endl; 会执行3次的.125 } //但是执行了break,直接跳出了while(i < 3) { }的循环体,所以什么都没输出.126 cout << "i 的值为:" << i << endl ;127 }128 }129 130 //------------------------------------------------------131 //7.4 do{ } while();语句132 //程序执行时先执行一次do{ }里面的的语句,然后再判定while( )里面的条件133 //如果条件为真,则返回到do{ }再执行一次,然后从新判定while( )条件是否符合,如此循环.134 void fun8()135 {136 int many;137 cout << "你想看几次? :" ;138 cin >> many;139 do //先把 do{ }的语句执行一遍.140 {141 cout << "\n问君能有几多愁,恰似一江春水向东流.\n" ;142 many-- ;143 }while(many > 0); //注意这里要加 ; 号.144 cout << "\n程序执行完毕,再见. \n\n" ;145 }146 147 //------------------------------------------------------148 //7.5 for循环149 //for(表达式1; 表达式2; 表达式3)150 //执行时,先执行表达式1,然后再判断表达式2是否为真,若真,则执行for{ }里面的语句,执行完以后再执行表达式3,151 //执行完表达式3后,再反过头来判定表达式2是否为真,若真,则再次执行for{ }里面的语句,执行完以后再次执行表达式3.152 //如此循环,直到表达式2为假,则运行for{ } 后面的语句.153 void fun9()154 {155 int many;156 int count;157 cout << "你想看几次? :" ;158 cin >> many;159 for(count = 0; count < many; count++)160 {161 cout << "\n问君能有几多愁,恰似一江春水向东流.\n" ;162 }163 cout << "\n程序执行完毕,再见. \n\n" ;164 }165 166 //------------------------------------------------------167 //7.5.1 灵活的for循环168 //for循环可以对多个变量进行初始化操作,初始化语句之间用 , 号分开.169 void fun10()170 {171 for(int x = 0, int y = 0, int z = 0; x < 3; x++, y++, z++) //定义变量同时也赋值.172 {173 cout << "x:" << x << "y:" << y << "z:" << z << endl ;174 }175 }176 177 //------------------------------------------------------178 //7.5.2 条件为空的for循环179 void fun11()180 {181 int i;182 i = 0;183 184 for( ; i < 5; ) //表达式1为空,表达式3为空.可以理解为执行了"什么都不做"这个动作.185 {186 i++ ;187 cout << "\n问君能有几多愁,恰似一江春水向东流.\n" ;188 }189 190 }191 192 //------------------------------------------------------193 //7.5.2 三个条件为空的for循环.194 //要注意想办法跳出循环,否则会一直无线循环.195 void fun12()196 {197 int i;198 i = 0;199 200 for( ; ; )201 {202 if(i < 5) //如果没有这个if语句,for 语句则进行无线循环.因为第2个表达式是空的,可以认为是0.203 {204 cout << "\n问君能有几多愁,恰似一江春水向东流.\n" ;205 i++ ;206 }207 else208 {209 break ; //用于跳出for() 循环.210 }211 }212 }213 214 //------------------------------------------------------215 //7.5.3 执行为空的for循环216 void fun13()217 {218 for(int i = 0; i < 5; cout << "i:" << i++ << endl ) //第3个表达式其实是一个语句.219 {220 //cout << "i:" << i++ << endl //我们应该尽量这样写,不要把语句写到for()里面.221 ; //没有任何东西,为空. 这个 { }可以在这样的情况下省略掉.222 }223 }224 225 //------------------------------------------------------226 //7.5.4 嵌套的for循环227 //在forx循环里面还有循环228 void fun14()229 {230 int a;231 int b;232 char c;233 234 cout << "多少行? " ;235 cin >> a;236 cout << "多少列? " ;237 cin >> b;238 cout << "什么字? " ;239 cin >> c;240 241 for(int i = 0; i < a; i++) //外层循环,决定多少行.242 {243 for(int j = 0; j < b; j++) //内层循环,决定多少列.244 {245 cout << c ; 246 }247 cout << "\n" ;248 }249 }250 251 //------------------------------------------------------252 //7.6 switch case语句253 //switch 其实就是特殊的if语句.254 void fun15()255 {256 int choice;257 258 cout << "请输入一个数:" ;259 cin >> choice ;260 switch(choice)261 {262 case 0: cout << "你输入的是0. \n" ;263 break; //break是一定要加的,用来跳出switch 语句的.不加的话,后果很严重.264 case 1:265 {266 cout << "你输入的是1. \n" ;267 break;268 }269 case 3: cout << "你输入的是3. \n" ;270 break;271 case 4: cout << "你输入的是4. \n" ;272 break;273 case 5: cout << "你输入的是5. \n" ;274 break;275 case 6: cout << "你输入的是6. \n" ;276 break;277 case 7: cout << "你输入的是7. \n" ;278 break;279 case 8: cout << "你输入的是8. \n" ;280 break;281 case 9: cout << "你输入的是9. \n" ;282 break;283 case 10: cout << "你输入的是10. \n" ;284 break;285 default:cout << "你输入的不是0-10之间的数字. \n" ;286 }287 cout << "程序结束.\n" ;288 }289 /*290 其实switch等同于下面291 if(choice == 1)292 {293 cout << "你输入的是0. \n" ;294 }295 if(choice == 2)296 {297 cout << "你输入的是2. \n" ;298 }299 if(choice == 3)300 {301 cout << "你输入的是3. \n" ;302 }303 */304 305 306 //-----------------------------------------------------307 //7.6.2 switch的菜单功能308 void fun16()309 {310 int quit;311 quit = 0;312 for( ; ;)313 {314 char choice; //choice 定义为一个字符型变量.315 cout << "(0)零 (1)壹 (2)贰 (3)叁 (4)肆 (5)伍 (6)陆 (7)柒 (8)捌 (9)玖 (q)退出 :" ;316 cin >> choice ;317 switch(choice)318 {319 case ‘0‘ : cout << "你输入的是零. \n " ; //因为choice是字符型变量,所以 0 要加多个 ‘ ‘ 号,作为一个字符.320 break; //如果0不加‘ ‘, 则认为0是一个数字.321 case ‘1‘ : cout << "你输入的是壹. \n " ;322 break;323 case ‘2‘ : cout << "你输入的是贰. \n " ;324 break;325 case ‘3‘ : cout << "你输入的是叁. \n " ;326 break;327 case ‘4‘ : cout << "你输入的是肆. \n " ;328 break;329 case ‘5‘ : cout << "你输入的是伍. \n " ;330 break;331 case ‘6‘ : cout << "你输入的是陆. \n " ;332 break;333 case ‘7‘ : cout << "你输入的是柒. \n " ;334 break;335 case ‘8‘ : cout << "你输入的是捌. \n " ;336 break;337 case ‘9‘ : cout << "你输入的是玖. \n " ;338 break;339 case ‘q‘ : quit = 1;340 break;341 default : cout << "你输入的不是0-9之间的有效数字. \n " ;342 }343 if(quit == 1)344 {345 break; //这个break用于跳出switch语句.346 }347 cout << "程序结束. \n" ;348 }349 }350 //第7章主要例子完毕.351 //----------------------------------------------------------352 353 354 int main(int argc, char* argv[])355 {356 //fun1(); //7.1 循环语句的前身--go to 语句357 //fun2(); //7.3 while语句358 //fun3(); //7.3.1 带运算符的while语句359 //fun4(); //7.3.2 以字符为条件的while语句360 //fun5(); //7.3.3 限定while的循环次数361 //fun6(); //7.3.4 continue语句362 //fun7(); //7.3.5 break语句363 //fun8(); //7.4 do while语句364 //fun9(); //7.5 for循环365 //fun10(); //7.5.1 灵活的for循环366 //fun11(); //7.5.2 条件为空的for循环367 //fun12(); //7.5.2 三个条件为空的for循环368 //fun13(); //7.5.3 执行为空的for循环369 //fun14(); //7.5.4 嵌套的for循环370 //fun15(); //7.6 switch语句371 //fun16(); //7.6.2 switch的菜单功能372 373 return 0;374 }
范磊 C++ 第7章 循环语句
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。