循环结构;p60复合的赋值运算符
do{ }while(表达式);
先无条件执行循环体,再判断循环条件。注意while(表达式)后有分号
定义整型变量num,c;
为num赋一个整型值;
执行{c=num%10;printf("%d",c);}直到循环条件(num/=10)>0不成立;
输出换行
已知为num赋值23
第1次执行循环体
执行c=num%10=23%10=3;
执行printf("%d",c);输出3
判断循环条件 num/=10等价于num=num/10; 因此num=23/10=2, 2大于0,因此循环条件(num/=10)>0成立,继续执行循环体。执行完第1次循环时,num为2,c为3
第2次执行循环体
执行c=2%10=2;
执行printf("%d",c);再输出2
判断循环条件num=2/10=0,0等于0,因此循环条件(num/=10)>0不成立。结束循环
10
#include
main()
{ int s=0,a=5,n;
scanf("%d",&n);
do { s+=1;a=a-2; }while(a!=n);
printf("%d,%d\n",s,a);
}
若输入的值1,运行结果为: 2,1
详见教材p117循环结构;p60复合的赋值运算符
执行{ s+=1;a=a-2; }直到循环条件a!=n不成立;
已知为n赋值1,s为0,a为5
第1次执行循环体
执行s+=1;等价于s=s+1=0+1
执行a=a-2; a=5-2=3
判断循环条件,3不等于1,因此循环条件a!=n成立,继续执行循环体。
执行完第1次循环时,s为1,a为3
第2次执行循环体
执行s+=1;等价于s=s+1=1+1=2
执行a=a-2; a=3-2=1
判断循环条件,1等于1,因此循环条件a!=n不成立,结束循环。
执行完第2次循环时,s为2,a为1
输出此时s,a中的值,结果为2,1