5. 语句嵌套
在 C 语言中所有的 迭代语句 和 选择语句 本身也是语句,它可以放入到其它的 迭代语句 和 选择语句 中形成一种嵌套结构。用这种嵌套的结构可以实现复杂的功能。
一、for 语句中嵌套 if 语句可以这样写:
#include <stdio.h>
int main(int argc, char *argv[]) {
for (int i = 1; i <= 20; i++) {
printf("%2d ", i);
if (i % 5 == 0)
printf("\n");
}
return 0;
}
二、if 语句中嵌套 for 语句可以这样写:
#include <stdio.h>
int main(int argc, char *argv[]) {
int x;
printf("please input a number:");
scanf("%d", &x);
if (x > 20)
for (int i = 1; i <= x; i++) {
printf("%2d ", i);
if (i % 5 == 0)
printf("\n");
}
return 0;
}
三、for 语句中嵌套 for 语句可以这样写:
#include <stdio.h>
int main(int argc, char *argv[]) {
for (int y = 0; y < 4; y++) {
for (int x = 1; x <= 5; x++) {
printf("%2d ", y * 5 + x);
}
printf("\n");
}
return 0;
}
同理,while 语句、do-while 语句、for 语句都可以任意嵌套,但嵌套一定要符合业务逻辑,不要为了嵌套而嵌套,不要玩语法糖。
编写高质量程序的原则是越简单越好。有时候编写复杂的程序是为了逻辑更清晰或执行效率高。而不是为了炫技。
练习:
编写一个程序,打印小学我们学过的 9 行 9 列的九九乘法表。打印结果如下:
1x1=1
1x2=2 2x2=4
1x3=3 2x3=6 3x3=9
...
1x9=9 2x9=18 3x9=27 ... 9x9=81