4.循环结构的学习
学习目标:
了解循环结构
- 了解 for语句
- 了解 while语句
- 了解do while语句
- for , while和 do while的对比
学习内容:
了解 for语句:
- 当判断条件为真时,进入for语句
- 当判断条件为假时,退出for语句
//基本语法
for(初始化;判断条件;调整)
语句1;
for循环的执行流程
了解 while语句:
- 当判断条件为真时,进入while语句
- 当判断条件为假时,退出while语句
//基本语法
while(判断条件)
语句1;
while循环的执行流程
了解 do while语句:
- 无论判断条件真假,先执行一次do while语句
- 当判断条件为真时,进入do while语句
- 当判断条件为假时,退出do while语句
//基本语法
do
语句1;
while(判断条件)
do while循环的执行流程
了解break和continue的使用
break:
当程序遇到break时,立即跳出循环
continue:
当程序遇到continue时,立即跳过本次循环,进入下次循环
注意事项:
判断条件的条件部分应放在continue前面,避免死循环
for , while和 do while的对比
执行流程区别:
- for循环和while循环:先判断,后进入主体,故不一定进入循环
- do whlie循环:先进入主体,后判断,故一定有一次循环
使用场景区别:
- for循环:明确循环次数时使用
- While循环:不明确循环次数,但明确循环结束条件时使用
- do while循环:至少执行一次循环且明确循环结束条件时使用
练习
- 生成一个正整数的逆序数
int main() // CPP 23
{
unsigned int a{};
std::println("Please enter a positive integer.");
std::cin >> a;;
for (; a > 0; a = a / 10)
{
unsigned int n{};
n = a % 10;
std::print("{}", n);
}
return 0;
}
int main() // C
{
unsigned int a = 0;
printf("Please enter a positive integer.\n");
scanf("%u", &a);
for (; a > 0; a = a / 10)
{
unsigned int n = 0;
n = a % 10;
printf("%u", n);
}
return 0;
}
- 打印等腰直角三角形
int main() // CPP 23
{
int a{};
std::println("Please enter a number.");
std::cin >> a;
for (size_t i{1}; i <= a; ++i) //控制行数
{
for (size_t j{1}; j <= i; ++j) //控制每一行的星数等于行数
{
std::print("*");
}
std::println();
}
printf("\n");
for (size_t i{1}; i <= a; ++i) //控制行数
{
for (size_t n = a - i; n > 0; --n) //控制每一行的空格数等于总行数减星数
{
std::print(" ");
}
for (size_t j{1}; j <= i; ++j) //控制每一行的星数等于行数
{
std::print("*");
}
std::println();
}
return 0;
}
int main() // C
{
int a = 0;
printf("Please enter a number.\n");
scanf("%d", &a);
for (int i = 1; i <= a; i++) //控制行数
{
for (int j = 1; j <= i; j++) //控制每一行的星数等于行数
{
printf("*");
}
printf("\n");
}
printf("\n");
for (int i = 1; i <= a; i++) //控制行数
{
for (int n = a - i; n > 0; n--) //控制每一行的空格数等于总行数减星数
{
printf(" ");
}
for (int j = 1; j <= i; j++) //控制每一行的星数等于行数
{
printf("*");
}
printf("\n");
}
return 0;
}
- 1-1000的同构数打印
int main() // CPP 23
{
for (size_t n = 1; n <= 1000; ++n)
{
if (n == n * n % 10 || n == n * n % 100 || n == n * n % 1000)
{
std::print("{}\t", n);
}
}
return 0;
}
int main() // C
{
for (int n = 1; n <= 1000; n++)
{
if (n == n * n % 10 || n == n * n % 100 || n == n * n % 1000)
{
printf("%d\t", n);
}
}
return 0;
}
标签:语句,do,23,int,C++,学习,while,循环,printf
From: https://blog.csdn.net/weixin_46424672/article/details/143890460