6. #include main() { int m; scanf("%d", &m); if (m >= 0) { if (m%2 == 0) printf("%d is a positive even\n", m); else printf("%d is a positive odd\n", m); } else { if (m % 2 == 0)printf("%d is a negative even\n", m); else printf("%d is a negative odd\n", m); } } 若键入-9,则运行结果为: -9 is a negative odd 7. #include main() { int num=0; while(num<=2){ num++;printf("%d\n",num);} } 运行结果为: 1 2 3 详见教材p115循环结构 当循环条件num<=2成立的时候,执行循环体{ num++;printf("%d\n",num);}中的语句。 循环初值num为0; 循环条件num<=2成立 第1次循环:执行num++;即将num中的值加1,执行后num为1; 执行printf("%d\n",num);在屏幕上输出num中的值,即输出1,之后换行 此时num中的值为1,循环条件num<=2成立 第2此循环:执行num++;即将num中的值加1,执行后num为2; 执行printf("%d\n",num);在屏幕上输出num中的值,即输出2,之后换行 此时num中的值为2,循环条件num<=2成立 第3此循环:执行num++;即将num中的值加1,执行后num为3; 执行printf("%d\n",num);在屏幕上输出num中的值,即输出3,之后换行 此时num中的值为3,循环条件num<=2不成立,结束循环。 8. #include main( ) { int sum=10,n=1; while(n<3) {sum=sum-n;n++; } printf(“%d,%d”,n,sum); } 运行结果为:3,7 当循环条件n<3成立的时候,执行循环体{sum=sum-n;n++; }中的语句。 循环初值sum为10,n为1; 循环条件n<3成立 第1次循环:执行sum=sum-n=10-1=9; 执行n++,即将n中的值加1,执行后n为2; 此时n中的值为2,sum中的值为9,循环条件n<3成立,继续执行循环 第2次循环:执行sum=sum-n=9-2=7; 执行n++,即将n中的值加1,执行后n为3; 输出此时n,sum中的值,即为3,7。需要注意,在printf(“%d,%d”,n,sum); 中要求输出的数据彼此间用逗号间隔,因此结果的两个数据间一定要有逗号 9. #include main() { int num,c; scanf("%d",&num); do{c=num%10;printf("%d",c);}while((num/=10)>0); printf("\n"); } 从键盘输入23,则运行结果为:32 详见教材p117循环结构;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
|