亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

C語言

C語言循環(huán)結(jié)構(gòu)的嵌套

時間:2024-06-18 16:25:20 C語言 我要投稿
  • 相關(guān)推薦

C語言循環(huán)結(jié)構(gòu)的嵌套

  在C語言中,if-else、while、do-while、for 都可以相互嵌套。所謂嵌套(Nest),就是一條語句里面還有另一條語句,例如 for 里面還有 for,while 里面還有 while,或者 for 里面有 while,while 里面有 if-else,這都是允許的。

C語言循環(huán)結(jié)構(gòu)的嵌套

  示例1:for 嵌套執(zhí)行的流程。

  #include

  int main()

  {

  int i, j;

  for(i=1; i<=4; i++){ //外層for循環(huán)

  for(j=1; j<=4; j++){ //內(nèi)層for循環(huán)

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

  }

  printf(" ");

  }

  return 0;

  }

  運行結(jié)果:

  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 循環(huán)嵌套,外層循環(huán)和內(nèi)層循環(huán)交叉執(zhí)行,外層 for 每執(zhí)行一次,內(nèi)層 for 就

  要執(zhí)行四次。

  在C語言中,代碼是順序、同步執(zhí)行的,當前代碼必須執(zhí)行完畢后才能執(zhí)行后面的代碼。這就意味

  著,外層 for 每次循環(huán)時,都必須等待內(nèi)層 for 循環(huán)完畢(也就是循環(huán)4次)才能進行下次循環(huán)。雖

  然 i 是變量,但是對于內(nèi)層 for 來說,每次循環(huán)時它的值都是固定的。

  示例2:輸出一個4×4的整數(shù)矩陣。

  #include

  int main()

  {

  int i, j;

  for(i=1; i<=4; i++){ //外層for循環(huán)

  for(j=1; j<=4; j++){ //內(nèi)層for循環(huán)

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

  }

  printf(" ");

  }

  return 0;

  }

  運行結(jié)果:

  外層 for 第一次循環(huán)時,i為1,內(nèi)層 for 要輸出四次 1*j 的值,也就是第一行數(shù)據(jù);內(nèi)層 for 循環(huán)結(jié)

  束后執(zhí)行 printf(" "),輸出換行符;接著執(zhí)行外層 for 的 i++ 語句。此時外層 for 的第一次循環(huán)才算

  結(jié)束。

  外層 for 第二次循環(huán)時,i為2,內(nèi)層 for 要輸出四次 2*j 的值,也就是第二行的數(shù)據(jù);接下來執(zhí)行

  printf(" ") 和 i++,外層 for 的第二次循環(huán)才算結(jié)束。外層 for 第三次、第四次循環(huán)以此類推。

  可以看到,內(nèi)層 for 每循環(huán)一次輸出一個數(shù)據(jù),而外層 for 每循環(huán)一次輸出一行行數(shù)據(jù)。

  示例3:輸出九乘法表。

  #include

  int main(){

  int i, j, n;

  for(i=1; i<=9; i++){ //外層for循環(huán)

  for(j=1; j<=i; j++){ //內(nèi)層for循環(huán)

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

  }

  printf(" ");

  }

  return 0;

  }

  和示例2一樣,內(nèi)層 for 每循環(huán)一次輸出一條數(shù)據(jù),外層 for 每循環(huán)一次輸出一行數(shù)據(jù)。

  需要注意的是,內(nèi)層 for 的結(jié)束條件是 j<=i 。外層 for 每循環(huán)一次,i 的`值就會變化,所以每次開始

  內(nèi)層 for 循環(huán)時,結(jié)束條件是不一樣的。具體如下:當 i=1 時,內(nèi)層 for 的結(jié)束條件為 j<=1,只能循環(huán)一次,輸出第一行。

  當 i=2 時,內(nèi)層 for 的結(jié)束條件是 j<=2,循環(huán)兩次,輸出第二行。

  當 i=3 時,內(nèi)層 for 的結(jié)束條件是 j<=3,循環(huán)三次,輸出第三行。

  當 i=4、5、6... 時,以此類推。

【C語言循環(huán)結(jié)構(gòu)的嵌套】相關(guān)文章:

C語言循環(huán)結(jié)構(gòu)11-04

C語言基礎(chǔ)循環(huán)結(jié)構(gòu)07-28

C語言循環(huán)結(jié)構(gòu)知識點07-16

C語言跳出循環(huán)10-16

C語言for循環(huán)的使用10-24

C語言的結(jié)構(gòu)10-14

關(guān)于c++語言中的循環(huán)語言08-16

C語言順序結(jié)構(gòu)07-10

C語言結(jié)構(gòu)體教程06-17

C語言選擇結(jié)構(gòu)09-02