C语言Day 03 学习总结
Day 03 学习总结
流程控制语句
-
顺序结构
- 程序从上到下依次执行。
- 每一条语句顺序执行,直到结束。
-
选择结构
- 程序根据条件选择执行某一条分支。
- 包括
if-else
和switch-case
。
-
循环结构
- 程序反复执行某段代码。
- 包括
for
、while
、do-while
。
-
跳转结构
- 控制程序直接跳转到指定位置。
- 包括
break
、continue
、goto
、return
。
选择结构
1. 单个 if
if (条件表达式)
{
// 条件为真时执行
}
2. if-else
if (条件表达式)
{
// 条件为真时执行
}
else
{
// 条件为假时执行
}
3. 多分支 if-else if
if (条件表达式1)
{
// 条件1为真时执行
}
else if (条件表达式2)
{
// 条件1为假,条件2为真时执行
}
else
{
// 所有条件为假时执行
}
4. switch-case
switch (变量)
{
case 值1:
// 执行语句
break;
case 值2:
// 执行语句
break;
default:
// 默认执行语句
break;
}
循环结构
1. for
循环
for (初始化; 条件; 迭代)
{
// 循环体
}
示例:输出 1 到 10 的数字。
for (int i = 1; i <= 10; i++)
{
printf("%d ", i);
}
2. while
循环
while (条件)
{
// 循环体
}
示例:输出 1 到 10 的数字。
int i = 1;
while (i <= 10)
{
printf("%d ", i);
i++;
}
3. do-while
循环
do
{
// 循环体
} while (条件);
示例:至少执行一次循环体。
int i = 1;
do
{
printf("%d ", i);
i++;
} while (i <= 10);
跳转结构
break
:跳出最近一层循环。continue
:跳过当前循环,直接进入下一轮。goto
:跳转到指定标签。return
:结束函数并返回值。
示例:
for (int i = 1; i <= 10; i++)
{
if (i == 5)
break; // 终止循环
if (i % 2 == 0)
continue; // 跳过偶数
printf("%d ", i);
}
循环思想与应用
-
数据分离
- 将一个数字分解为个位、十位、百位等。
- 示例:三位数分离。
int n = 123; int ge = n % 10; int shi = n / 10 % 10; int bai = n / 100;
-
计数思想
- 统计满足条件的数量。
- 示例:统计 1 到 100 中能被 3 整除的数。
int count = 0; for (int i = 1; i <= 100; i++) { if (i % 3 == 0) count++; } printf("数量:%d", count);
-
求和思想
- 累加满足条件的数。
- 示例:计算 1 到 100 的和。
int sum = 0; for (int i = 1; i <= 100; i++) { sum += i; } printf("总和:%d", sum);
-
累积思想
- 求积(阶乘)。
- 示例:计算 n 的阶乘。
int n = 5, result = 1; for (int i = 1; i <= n; i++) { result *= i; } printf("%d 的阶乘是:%d", n, result);
循环嵌套
示例 1:打印矩形数字
for (int i = 1; i <= 5; i++) // 行
{
for (int j = 1; j <= 10; j++) // 列
{
printf("%d ", j);
}
printf("\n");
}
示例 2:打印三角形数字
for (int i = 1; i <= 9; i++) // 行
{
for (int j = 1; j <= i; j++) // 列
{
printf("%d ", j);
}
printf("\n");
}
示例 3:打印等腰三角形
for (int i = 1; i <= 9; i++) // 行
{
for (int z = 1; z <= 9 - i; z++) // 空格
{
printf(" ");
}
for (int j = 1; j <= i; j++) // 左半部分数字
{
printf("%d ", j);
}
printf("\n");
}
作业
-
输出 100 到 500 内能被 3 整除且个位是 7 的数,并统计数量。
int count = 0; for (int i = 100; i <= 500; i++) { if (i % 3 == 0 && i % 10 == 7) { printf("%d ", i); count++; } } printf("\n总数量:%d", count);
-
输入数据 n,计算 1 - 2 + 3 - 4 + … + n。
int n, sum = 0; printf("请输入 n:"); scanf("%d", &n); for (int i = 1; i <= n; i++) { if (i % 2 == 0) sum -= i; // 偶数减 else sum += i; // 奇数加 } printf("结果是:%d", sum);
-
输入两个数,求最大公约数和最小公倍数。
int a, b, gcd, lcm; printf("请输入两个数:"); scanf("%d %d", &a, &b); for (int i = (a < b ? a : b); i >= 1; i--) { if (a % i == 0 && b % i == 0) { gcd = i; break; } } lcm = a * b / gcd; printf("最大公约数:%d\n", gcd); printf("最小公倍数:%d", lcm);
-
判断一个五位数是否为回文数字。
int n, ge, shi, bai, qian, wan; printf("请输入一个五位数:"); scanf("%d", &n); ge = n % 10; shi = n / 10 % 10; qian = n / 1000 % 10; wan = n / 10000; if (ge == wan && shi == qian) printf("%d 是回文数字", n); else printf("%d 不是回文数字", n);
原文地址:https://blog.csdn.net/zzx2016zzx/article/details/143883398
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!