C语言 百分网手机站

C语言循环结构的嵌套

时间:2020-09-05 20:18:11 C语言 我要投稿

C语言循环结构的嵌套

  在C语言中,if-else、while、do-while、for 都可以相互嵌套。所谓嵌套(Nest),就是一条语句里面还有另一条语句,例如 for 里面还有 for,while 里面还有 while,或者 for 里面有 while,while 里面有 if-else,这都是允许的。

C语言循环结构的嵌套

  示例1:for 嵌套执行的流程。

  #include

  int main()

  {

  int i, j;

  for(i=1; i<=4; i++){ //外层for循环

  for(j=1; j<=4; j++){ //内层for循环

  printf("i=%d, j=%d ", i, j);

  }

  printf(" ");

  }

  return 0;

  }

  运行结果:

  i=1, j=1

  i=1, j=2

  i=1, j=3

  i=1, j=4

  i=2, j=1

  i=2, j=2

  i=2, j=3

  i=2, j=4

  i=3, j=1

  i=3, j=2

  i=3, j=3

  i=3, j=4

  i=4, j=1

  i=4, j=2

  i=4, j=3

  i=4, j=4

  本例是一个简单的 for 循环嵌套,外层循环和内层循环交叉执行,外层 for 每执行一次,内层 for 就

  要执行四次。

  在C语言中,代码是顺序、同步执行的,当前代码必须执行完毕后才能执行后面的代码。这就意味

  着,外层 for 每次循环时,都必须等待内层 for 循环完毕(也就是循环4次)才能进行下次循环。虽

  然 i 是变量,但是对于内层 for 来说,每次循环时它的值都是固定的。

  示例2:输出一个4×4的整数矩阵。

  #include

  int main()

  {

  int i, j;

  for(i=1; i<=4; i++){ //外层for循环

  for(j=1; j<=4; j++){ //内层for循环

  printf("%-4d", i*j);

  }

  printf(" ");

  }

  return 0;

  }

  运行结果:

  外层 for 第一次循环时,i为1,内层 for 要输出四次 1*j 的值,也就是第一行数据;内层 for 循环结

  束后执行 printf(" "),输出换行符;接着执行外层 for 的 i++ 语句。此时外层 for 的'第一次循环才算

  结束。

  外层 for 第二次循环时,i为2,内层 for 要输出四次 2*j 的值,也就是第二行的数据;接下来执行

  printf(" ") 和 i++,外层 for 的第二次循环才算结束。外层 for 第三次、第四次循环以此类推。

  可以看到,内层 for 每循环一次输出一个数据,而外层 for 每循环一次输出一行行数据。

  示例3:输出九乘法表。

  #include

  int main(){

  int i, j, n;

  for(i=1; i<=9; i++){ //外层for循环

  for(j=1; j<=i; j++){ //内层for循环

  printf("%d*%d=%-2d ", i, j, i*j);

  }

  printf(" ");

  }

  return 0;

  }

  和示例2一样,内层 for 每循环一次输出一条数据,外层 for 每循环一次输出一行数据。

  需要注意的是,内层 for 的结束条件是 j<=i 。外层 for 每循环一次,i 的值就会变化,所以每次开始

  内层 for 循环时,结束条件是不一样的。具体如下:当 i=1 时,内层 for 的结束条件为 j<=1,只能循环一次,输出第一行。

  当 i=2 时,内层 for 的结束条件是 j<=2,循环两次,输出第二行。

  当 i=3 时,内层 for 的结束条件是 j<=3,循环三次,输出第三行。

  当 i=4、5、6... 时,以此类推。

【C语言循环结构的嵌套】相关文章:

C语言for循环09-27

C语言跳出循环09-28

C语言for循环的使用10-06

关于c++语言中的循环语言11-23

计算机二级C语言《循环结构》考点10-05

c语言什么是死循环10-07

C语言顺序存储结构09-28

c语言的语法结构09-28

C语言的循环链表和约瑟夫环10-05

C语言三种循环语句11-22