第四章 程序的循环控制
4-1 do 语句 学习心得
-
适用于 先执行、再判断、注意while()的结束分号;
-
while()里面的变量需要全局变量,不可在do的程序块内定义。
# 4-2
# 输入任意两个整数、计算出他们之前所有整数的和。
#include "stdio.h"
int main()
{
#定义所需的变量
int a,b,sum=0;
int i;#中间变量
printf("请输入两个整数\n");
printf("请输入整数a\n");
scanf("%d",&a);
printf("请输入整数b\n");
scanf("%d",&b);
if(a>=b)
printf("请重新输入:a需要小于b");
i=a;
do{
sum= sum+a;
a++;
}while(a<=b);
printf("大于等于%d小于等于%d的所有整数的和是%d",i,b,sum);
return 0;
}
4-2 while 语句
-
适用于先判断,再执行、printf("%d",no--); 简化代码
-
偶数判断 if(i%2==0)、2的次方实现:power=power*2;
-
字符常量是int型(表示对应的ASCII码)putchar('A')
#include <stdio.h> /*练习4-7 显示小于输入整数的所有2的乘方。
int main() {
int limit;
int power = 1;
printf("请输入一个整数: ");
scanf("%d", &limit);
while (power < limit) {
printf("%d ", power);
power *= 2;
}
return 0;
}
逆向显示正整数
#include <stdio.h>
int main()
{
int no;
do
{
printf("输入一个正整数:");
scanf("%d",&no);
if(no<0)
puts("\a请输入一个正整数:");
}while(no<=0);
while(no>0)
{
printf("%d",no%10);
no/=10;
}
return 0;
}
练习4-12 善于使用中间变量
#include <stdio.h>
int main()
{
int i=0, no,temp;
do
{
printf("输入一个正整数:");
scanf("%d",&no);
if(no<0)
puts("\a请输入一个正整数:");
}while(no<=0);
temp=no;
while(no>0)
{
i++;
no/=10;
}
printf("%d的位数是%d",temp,i);
return 0;
}
4-3 for 语句