循环与分支
2023-01-18 本文已影响0人
Tn299
流程控制
![](https://img.haomeiwen.com/i14491816/5a80539104cbb95a.png)
选择分支结构
C语言支持两种选择结构:
1.if选择分支结构(if判断语句)
![](https://img.haomeiwen.com/i14491816/b7d03ff0749054f4.png)
也有if-else if -...- else
例:
int main() {
int a = 0;
printf("请输入一个数字:");
scanf("%d",&a);
if (a>10)
{
printf("你输入的为大于10的数");
}
else
{
printf("你输入的为小于10的数");
}
return 0;
}
效果:
![](https://img.haomeiwen.com/i14491816/9742a62873e550e7.png)
2.Switch多分支结构
![](https://img.haomeiwen.com/i14491816/052d26fb76f0e33b.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;
}
效果:
![](https://img.haomeiwen.com/i14491816/375c8f3949c04b18.png)
![](https://img.haomeiwen.com/i14491816/a7a101d1a22bd954.png)
循环结构
C语言支持三种循环结构:
1.for循环
for循环中定义的变量只能在for循环中使用,在for循环的外面无法使用。
![](https://img.haomeiwen.com/i14491816/2a159254b2f48d38.png)
![](https://img.haomeiwen.com/i14491816/8c0d2cf402cba280.png)
先执行表达式1(只在最开始执行一次),然后再表达式2,再执行循环体内的内容,最后再是表达式3。然后再进行表达式2进行判断,进行循环。
1.1for循环的嵌套
也就是在一个for循环的里面再加入for循环
![](https://img.haomeiwen.com/i14491816/26e30841b832d15c.png)
2.while循环
![](https://img.haomeiwen.com/i14491816/45d7006046d9c7c7.png)
例:
![](https://img.haomeiwen.com/i14491816/481c9606bd68da7c.png)
3.do while循环
![](https://img.haomeiwen.com/i14491816/d56035c9d37bdf65.png)
![](https://img.haomeiwen.com/i14491816/bd33273828bc6463.png)
跳转语句
![](https://img.haomeiwen.com/i14491816/ad75b875facd47d2.png)
continue
![](https://img.haomeiwen.com/i14491816/e632d92fbc28d208.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;
}
效果:
![](https://img.haomeiwen.com/i14491816/bd32c9e2f8a3223b.png)
练习1:1、编写程序,计算1到100(含100)范围内除所有7的倍数之外的数值之和。
![](https://img.haomeiwen.com/i14491816/318984078491c63d.png)
练习2:1、 输入一个正整数n,计算下式的和。
![](https://img.haomeiwen.com/i14491816/edd63161f8744c78.png)
![](https://img.haomeiwen.com/i14491816/dbe7ba6143dce9bb.png)