循环与分支
2023-01-18 本文已影响0人
Tn299
流程控制
image.png选择分支结构
C语言支持两种选择结构:
1.if选择分支结构(if判断语句)
image.png也有if-else if -...- else
例:
int main() {
int a = 0;
printf("请输入一个数字:");
scanf("%d",&a);
if (a>10)
{
printf("你输入的为大于10的数");
}
else
{
printf("你输入的为小于10的数");
}
return 0;
}
效果:
image.png
2.Switch多分支结构
image.png例:
int main() {
int a;
printf("请输入a的值:");
scanf("%d", &a);
switch (a)
{
case 1: //case后面不止可以加数字,也可以加字符‘*’
printf("a的值为1");
break;//跳出当前的Switch语句,每个case后面都要加
case 2:
printf("a的值为2");
break;
case 3:
printf("a的值为3");
break;
case 4:
printf("a的值为4");
break;
default: //default意思为否则,也就是上面选项都不满足
printf("a为其他的值");
break;
}
return 0;
}
效果:
image.png
image.png
循环结构
C语言支持三种循环结构:
1.for循环
for循环中定义的变量只能在for循环中使用,在for循环的外面无法使用。
image.png
image.png
先执行表达式1(只在最开始执行一次),然后再表达式2,再执行循环体内的内容,最后再是表达式3。然后再进行表达式2进行判断,进行循环。
1.1for循环的嵌套
也就是在一个for循环的里面再加入for循环
2.while循环
image.png例: image.png
3.do while循环
image.pngimage.png
跳转语句
image.pngcontinue
image.png满足if语句之后(也就是i为奇数),跳出了循环,也就没有输出语句,所以最后输出的就都是偶数。
最后存一下for循环嵌套变爱心的代码:
#include <stdio.h>
int main()
{
int i, j, k, n, m, a, b;
for (i = 1; i <= 3; i++)
{
if (i == 1)
{
printf(" ");
printf("*****");
printf(" ");
printf("*****");
}
else
{
for (j = 1; j <= -2 * (i - 1) + 5; j++)
{
printf(" ");
}
for (k = 1; k <= 4 * (i - 1) + 5; k++)
{
printf("*");
}
}
if (i > 1)
{
for (m = 1; m <= -4 * (i - 1) + 9; m++)
{
printf(" ");
}
for (n = 1; n <= 4 * (i - 1) + 5; n++)
{
printf("*");
}
}
printf("\n");
}
for (i = 4; i <= 6; i++)
{
for (j = 1; j <= 29; j++)
{
printf("*");
}
printf("\n");
}
if (i == 7)
{
printf(" ");
for (j = 1; j <= 27; j++)
{
printf("*");
}
printf("\n");
}
for (i = 8; i <= 13; i++)
{
for (a = 1; a <= 2 * i - 13; a++)
{
printf(" ");
}
for (b = 1; b <= -4 * (i - 7) + 27; b++)
{
printf("*");
}
printf("\n");
}
printf(" *");
printf("\n\n\n");
system("color 4a");//在此处修改背景颜色和爱心颜色
return 0;
}
效果:
image.png
练习1:1、编写程序,计算1到100(含100)范围内除所有7的倍数之外的数值之和。 image.png
练习2:1、 输入一个正整数n,计算下式的和。
image.png
image.png