执行printf(\因此屏幕上输出8 13
执行if语句。3%2不为0,if语句的条件表达式不成立,不执行printf(\执行x1=x1+x2=8+13=21;此时x1中的值已变为21 执行x2=x2+x1=21+13=34。
转向表达式3,执行i++, i为4。循环条件i<=4成立,进入第4次循环 第2次循环
执行printf(\因此屏幕上输出21 34
执行if语句。4%2==0,if语句的条件表达式成立,执行printf(\换行 执行x1=x1+x2=21+34=55;此时x1中的值已变为55 执行x2=x2+x1=34+55=89。
转向表达式3,执行i++, i为5。循环条件i<=4不成立,结束循环 20
#include
{ int x, y;
for(x=30, y=0; x>=10, y<10; x--, y++) x/=2, y+=2;
printf(?x=%d,y=%d\\n?,x,y); }
运行结果为: x=0,y=12
21.
#include
{ int i,j;
for(i=1;i<=N;i++) { for(j=1;j
运行结果为: * *
* *
详见教材P41符号常量
用宏处理指令定义符号常量N为4,在编译过程中,遇到N即视为整数4。
外层for循环,表达式1为i=1,表达式2(循环条件)为i<=N,表达式3为 i++ 内层for循环,表达式1为j=1,表达式2(循环条件)为j
首先计算外层循环的表达式1,i为1,使得循环条件i<=4成立,进入外层for循环体
外层for循环第1次 此时i为1
内层循环j=1,使得循环条件j
执行printf(\换行
至此外层循环体执行完,计算外层循环的表达式3,i++,此时i为2. 使得循环条件i<=4
成立,再次进入外层for循环体
外层for循环第2次 此时i为2
内层循环j=1,使得循环条件j
第1次执行内层循环体printf(\
执行内层循环表达式3,j++为2,j
执行printf(\
执行printf(\换行
至此外层循环体执行完,计算外层循环的表达式3,i++,此时i为3. 使得循环条件i<=4
成立,进入外层for循环体
外层for循环第3次 此时i为3
内层循环j=1,使得循环条件j
第1次执行内层循环体printf(\
执行内层循环表达式3,j++为2,j
执行内层循环表达式3,j++为3,j
执行printf(\
执行printf(\换行
至此外层循环体执行完,计算外层循环的表达式3,i++,此时i为4. 使得循环条件i<=4
成立,进入外层for循环体
外层for循环第4次 此时i为4
内层循环j=1,使得循环条件j
第1次执行内层循环体printf(\
执行内层循环表达式3,j++为2,j
执行内层循环表达式3,j++为3,j
执行内层循环表达式3,j++为4,j
执行printf(\
执行printf(\换行
至此外层循环体执行完,计算外层循环的表达式3,i++,此时i为5. 使得循环条件i<=4
不成立,跳出外层for循环体
数组 1.
#include
{ int i, a[10]; for(i=9;i>=0;i--)
a[i]=10-i;
printf(?%d%d%d?,a[2],a[5],a[8]); }
运行结果为: 852
详见p143-146. 例题6.1一定看懂!
首先定义整型变量i,整型数组a, a的长度为10,即a中包含10个整型元素(整型变量) 执行for循环语句
初值i=9, 使得循环条件i>=0成立,执行循环体 第1次循环
执行a[i]=10-i 等价于a[9]=10-9=1
计算表达式3,即i--,i为8,使得循环条件i>=0成立,继续执行循环体 第2次循环
执行a[i]=10-i 等价于a[8]=10-8=2
计算表达式3,即i--,i为7,使得循环条件i>=0成立,继续执行循环体 第3次循环
执行a[i]=10-i 等价于a[7]=10-7=3
计算表达式3,即i--,i为6,使得循环条件i>=0成立,继续执行循环体 第4次循环
执行a[i]=10-i 等价于a[6]=10-6=4
计算表达式3,即i--,i为5,使得循环条件i>=0成立,继续执行循环体 第5次循环
执行a[i]=10-i 等价于a[5]=10-5=5
计算表达式3,即i--,i为4,使得循环条件i>=0成立,继续执行循环体 第6次循环
执行a[i]=10-i 等价于a[4]=10-4=6
计算表达式3,即i--,i为3,使得循环条件i>=0成立,继续执行循环体 第7次循环
执行a[i]=10-i 等价于a[3]=10-3=7
计算表达式3,即i--,i为2,使得循环条件i>=0成立,继续执行循环体 第8次循环
执行a[i]=10-i 等价于a[2]=10-2=8
计算表达式3,即i--,i为1,使得循环条件i>=0成立,继续执行循环体 第9次循环
执行a[i]=10-i 等价于a[1]=10-1=9
计算表达式3,即i--,i为0,使得循环条件i>=0成立,继续执行循环体 第10次循环
执行a[i]=10-i 等价于a[0]=10-0=10
计算表达式3,即i--,i为-1,使得循环条件i>=0不成立,跳出循环体 2.
#include
{ int i,a[6];
for (i=0; i<6; i++)
a[i]=i;
for (i=5; i>=0 ; i--)
printf(\
}
运行结果为:
5 4 3 2 1 0
首先定义整型变量i,整型数组a, a的长度为6,即a中包含6个整型元素(整型变量) 执行第一个for循环语句
初值i=0, 使得循环条件i<6成立,执行循环体 第1次循环
执行a[i]= i 等价于a[0]=0
计算表达式3,即i++,i为1,使得循环条件i<6成立,继续执行循环体 第2次循环
执行a[i]= i 等价于a[1]=1
计算表达式3,即i++,i为2,使得循环条件i<6成立,继续执行循环体 第3次循环
执行a[i]= i 等价于a[2]=2
计算表达式3,即i++,i为3,使得循环条件i<6成立,继续执行循环体 第4次循环
执行a[i]= i 等价于a[3]=3
计算表达式3,即i++,i为4,使得循环条件i<6成立,继续执行循环体 第5次循环
执行a[i]= i 等价于a[4]=4
计算表达式3,即i++,i为5,使得循环条件i<6成立,继续执行循环体 第6次循环
执行a[i]= i 等价于a[5]=5
计算表达式3,即i++,i为6,使得循环条件i<6不成立,结束循环