练习

  1. 打印金字塔

C++学习笔记_i++


C++学习笔记_循环嵌套_02

  1. goto跳转语句

C++学习笔记_循环语句_03

  1. for循环
for(表达式1;表达式2;表达式3)        ------外层循环
{
    循环语句块1;
    for(表达式4;表达式;表达式6)    -------内层循环
    {
         循环语句块2   
    }
    //循环语句块1;
}
表达式1 ----->  赋值语句  ----> 用来初始化  -----> 可以省略的
表达式2 -----> 循环语句的条件的条件判断  ---->决定了循环执行的次数
表达式3 -----> 自增语句  -----> 用于条件的自增  ----> 这个语句如果放在 循环语句块里面,表达式3可省略
表达式4 ---> 同上表达式1
表达式5 ---> 同上表达式2
表达式6 ---> 同上表达式3
如果外层循环执行  m次  -----> 循环语句块1  执行 m次;
内层U型连环执行n 次   ----->循环语句块2  m*n次

int i = 0;
for(i = 0; i <100; i++)   //---------->  因为上面已经定义了  int i = 0;所以for里面的 赋值语句 i=0可省略
//for(;i < 100; i++)  ---->  ;   不能省略
{
    cout << "hello world!\n";
}
int i = 0;
for(;i < 100; )  ---->  ;   不能省略
{
    cout << "hello world!\n";
    i++;
}
for(;i < 10; )  ---->  ;   不能省略
{
    for(int j = 0;j < 10;j++ )  ---->  ;   不能省略
    {
        cout << "hello world!\n";
    }
    i++;  // 步进语句  可以直接写在  语句块中
}

循环嵌套 一般 可用于 矩阵的实现 ------实现 行和列!!!

或者 ----> 涉及到两组(两种)有逻辑关系的变化 ----> 尝试一下循环嵌套

*                      -----> 1        1        +0        列 = 2*行-1
***                    -----> 2        3        +1
*****                  -----> 3        5        +2
*******                -----> 4        7        +3
*********              -----> 5        9        +4
***********            -----> 6        11       +5
                       -----> n        2n-1

int main()               
{                        
    int i = 0;  //行  
    int j = 0;  //列  
    for(i = 1;i<=6;i++)
    {                    
        for(j = 1;j<=2*i-1;j++)
        {                
            cout << "*";                                                        
        }                
        cout << endl; 
    }                    
    return 0;            
}  
                           行( i 当前行)  空格列 j                *列j
     *             ----->   0      -----> 5 n-i                   1
    ***            ----->   1      -----> 4                       3
   *****           ----->   2      -----> 3                       5
  *******          ----->   3      -----> 2                       7
 *********         ----->   4      -----> 1                       9  
***********        ----->   5      -----> 0                       11
                   ------  第m 行   ----- 最大行-当前行数m      2*当前行数+1
                                        
#include <iostream>        
using std::cin;            
using std::cout;           
using std::endl;           
using namespace std;       
                           
int main()                 
{                          
    int i = 0;  //行       
    int j = 0;  //列       
    for(i = 0;i < 6;i++)
    {                      
        for(j = 0; j < 6-i; j++) 
        {                  
            cout << " ";                                                        
        }                  
        for(j = 0;j < 2*i+1;j++)
        {                  
            cout << "*";
        }                  
        cout << endl;   
    }                      
    return 0;              
}