C语言基础之for循环的使用

一.for循环格式.

   1:  for (语句1; 条件; 语句2)
   2:   
   3:  {
   4:   
   5:  循环体
   6:   
   7:  }
   8:   
   9:  具体:
  10:   
  11:  语句1:初始化语句
  12:   
  13:  语句2:增量语句(执行完循环体后再执行的语句)
  14:   

1.for一开始就会执行一次语句1(整个for循环只会执行一次)

2.判断条件是否成立,如果条件成立,就会执行一次循环体,然后就会执行语句2,再次判断条件是否成立

   1:  #include <stdio.h>
   2:   
   3:  int main()
   4:   
   5:  {
   6:   
   7:  for (int count = 0; count < 50;)
   8:   
   9:  {
  10:   
  11:  printf("做俯卧撑\n");
  12:   
  13:  count++;
  14:   
  15:  }
  16:   

三.for循环的几种格式

   1:  格式一: 
   2:   
   3:  int count = 0;
   4:   
   5:  for ( ; count < 50; )
   6:   
   7:  {
   8:   
   9:  printf("做俯卧撑\n");
  10:   
  11:  count++;
  12:   
  13:  }
  14:   
  15:  格式二:
  16:   
  17:  for (int count = 0; count < 50; )
  18:   
  19:  {
  20:   
  21:  printf("做俯卧撑\n");
  22:   
  23:  count++;
  24:   
  25:  } 
  26:   
  27:  格式三:
  28:   
  29:  for (int count = 0; count < 50; count++)
  30:   
  31:  {
  32:   
  33:  printf("做俯卧撑\n");
  34:   
  35:  }
  36:   
  37:  格式四:
  38:   
  39:  for (int count = 0; count < 50; printf("做俯卧撑\n"),printf("哈哈哈\n"),count++){
  40:   
  41:  }
  42:   

四.for循环的几个注意点

1.不要随便在for()后面写分号

   1:  for (int i=0; i<5; i++);
   2:   
   3:  {
   4:   
   5:  printf("哈哈\n");
   6:   
   7:  } 
   8:   

错误:变量a的作用域不明确

2. 如果要在循环体中定义新的变量,必须用大括号{}包住

   1:  for (int i=0; i<5; i++)
   2:   
   3:  int a = 10;
   4:   

3.局部变量的使用应注意范围

   1:  例一.
   2:   
   3:  for (int i = 0; i<10; i++, a++)
   4:   
   5:  {
   6:   
   7:  // a只能用在循环体{}中
   8:   
   9:  int a = 10;
  10:   
  11:  }
  12:   
  13:  例二.
  14:   
  15:  int a = 10;
  16:   
  17:  for (int i=0, a= 9; i<5; i++)
  18:   
  19:  {
  20:   
  21:  //int i = 10;
  22:   
  23:  int a = 11;
  24:   
  25:  printf("a=%d\n", a);
  26:   
  27:  }*/
  28:   

4.最简单的死循环.

   1:  for(;;);
   2:   
   3:  // 最简单的利用for循环实现死循环
   4:   

五.两个for循环的神奇威力

例一:

   1:  /*
   2:  
   3:  好友列表1
   4:  
   5:  好友1
   6:  
   7:  好友2
   8:  
   9:  好友列表2
  10:  
  11:  好友1
  12:  
  13:  好友2
  14:  
  15:  好友列表3
  16:  
  17:  好友1
  18:  
  19:  好友2
  20:  
  21:  */
  22:   
  23:  #include <stdio.h>
  24:   
  25:  int main()
  26:   
  27:  {
  28:   
  29:  for (int i = 1; i<=4; i++)
  30:   
  31:  {
  32:   
  33:  //printf("好友列表%d\n", i + 1);
  34:   
  35:  printf("好友列表%d\n", i);
  36:   
  37:  for (int j = 1; j<=7; j++)
  38:   
  39:  {
  40:   
  41:  printf(" 好友%d\n", j);
  42:   
  43:  }
  44:   
  45:  }
  46:   
  47:  return 0;
  48:   
  49:  }
  50:   

例二:

   1:  /*
   2:  
   3:  提示用户输入一个正整数n,如果n=5,就输出下列图形,其他n值以此类推
   4:  
   5:  *****
   6:  
   7:  ****
   8:  
   9:  ***
  10:  
  11:  **
  12:  
  13:  *
  14:  
  15:  */
  16:   
  17:  #include <stdio.h>
  18:   
  19:  int main()
  20:   
  21:  {
  22:   
  23:  // 1.定义一个变量存储用户输入的值
  24:   
  25:  int n = 0; // 一定要初始化
  26:   
  27:  // 2.判断n值合不合理
  28:   
  29:  while (n <= 0)
  30:   
  31:  {
  32:   
  33:  // 2.1 提示用户输入正整数
  34:   
  35:  printf("请输入一个正整数:\n");
  36:   
  37:  // 2.2 接收输入的数据
  38:   
  39:  scanf("%d", &n);
  40:   
  41:  }
  42:   
  43:  // 3.输出图形
  44:   
  45:  for (int i = 0; i<n; i++)// 有多少行
  46:   
  47:  {
  48:   
  49:  //printf("*****\n");
  50:   
  51:  for (int j = 0; j<n-i; j++)
  52:   
  53:  { // 每一行有多少个
  54:   
  55:  printf("*");
  56:   
  57:  }
  58:   
  59:  printf("\n");
  60:   
  61:  }
  62:   
  63:  return 0;
  64:   
  65:  }