运行结果为:
循环
20.
代码语言:javascript复制#include <stdio.h>
main( )
{
int x, y;
for(x=30, y=0; x>=10, y<10; x--, y )
x/=2, y =2;
printf(“x=%d,y=%dn”,x,y);
}
运行结果为:
x=0,y=12
21. 符号常量
代码语言:javascript复制#include <stdio.h>
#define N 4
main( )
{
int i,j;
for(i=1;i<=N;i )
{
for(j=1;j<i;j )
printf(" ");
printf("*");
printf("n");
}
}
运行结果为:
*
*
*
*
用宏处理指令定义符号常量N为4,在编译过程中,遇到N即视为整数4。
外层for循环,表达式1为i=1,表达式2(循环条件)为i<=N,表达式3为 i
内层for循环,表达式1为j=1,表达式2(循环条件)为j<i, 表达式3为j
首先计算外层循环的表达式1,i为1,使得循环条件i<=4成立,进入外层for循环体
外层for循环第1次 此时i为1
内层循环j=1,使得循环条件j<i不成立,因此不执行内层循环体(不输出空格)
执行printf("*");
执行printf("n");换行
至此外层循环体执行完,计算外层循环的表达式3,i ,此时i为2. 使得循环条件i<=4
成立,再次进入外层for循环体
外层for循环第2次 此时i为2
内层循环j=1,使得循环条件j<i成立
第1次执行内层循环体printf(" ");
执行内层循环表达式3,j 为2,j<i不成立,跳出内层循环
执行printf("*");
执行printf("n");换行
至此外层循环体执行完,计算外层循环的表达式3,i ,此时i为3. 使得循环条件i<=4
成立,进入外层for循环体
外层for循环第3次 此时i为3
内层循环j=1,使得循环条件j<i成立
第1次执行内层循环体printf(" ");
执行内层循环表达式3,j 为2,j<i成立,再次执行内层循环
第2次执行内层循环体printf(" ");
执行内层循环表达式3,j 为3,j<i不成立,跳出内层循环
执行printf("*");
执行printf("n");换行
至此外层循环体执行完,计算外层循环的表达式3,i ,此时i为4. 使得循环条件i<=4
成立,进入外层for循环体
外层for循环第4次 此时i为4
内层循环j=1,使得循环条件j<i成立
第1次执行内层循环体printf(" ");
执行内层循环表达式3,j 为2,j<i成立,再次执行内层循环
第2次执行内层循环体printf(" ");
执行内层循环表达式3,j 为3,j<i成立,再次执行内层循环
第3次执行内层循环体printf(" ");
执行内层循环表达式3,j 为4,j<i不成立,跳出内层循环
执行printf("*");
执行printf("n");换行
至此外层循环体执行完,计算外层循环的表达式3,i ,此时i为5. 使得循环条件i<=4
不成立,跳出外层for循环体