范磊 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         else
208         {
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 }
时间: 2024-11-05 19:05:16

范磊 C++ 第7章 循环语句的相关文章

范磊 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;

范磊 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

第七章 循环语句

第七章 循环语句 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++ 第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

python3 第七章 - 循环语句

为了让计算机能计算成千上万次的重复运算,我们就需要循环语句. Python中的循环语句有 for while 循环语句的执行过程,如下图: while 循环 Python中while语句的一般形式: while 判断条件: 语句 以上语法的执行过程是: 当 条件 为 True,执行 语句块1 的语句 当 条件 为 False ,执行 语句块2 的语句 我们用while做一件:计算1-100所有数字的总和: n = 100 sum = 0 counter = 1 while counter <=

循环语句和函数

第4章 循环语句和函数 编写一个好脚本的要素 逻辑结构定义清晰 脚本可以重用 多加入注释 学会调试脚本 echo配合exit命令或sleep命令 bash -x 脚本 知识要点 while语句.shift命令 case语句 shell函数应用 while语句的结构 重复测试某个条件,只要条件成立则反复执行 while语句的各种用法 注意:while通过管道,会产生一个新的bash(shell) While语句应用示例 每5分钟输出一次时间到/tmp/time.txt 禁止使用计划任务 #!/bi