自学内容网 自学内容网

C语言Day 03 学习总结

Day 03 学习总结


流程控制语句

  1. 顺序结构

    • 程序从上到下依次执行。
    • 每一条语句顺序执行,直到结束。
  2. 选择结构

    • 程序根据条件选择执行某一条分支。
    • 包括 if-elseswitch-case
  3. 循环结构

    • 程序反复执行某段代码。
    • 包括 forwhiledo-while
  4. 跳转结构

    • 控制程序直接跳转到指定位置。
    • 包括 breakcontinuegotoreturn

选择结构

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 (变量)
{
    case1:
        // 执行语句
        break;
    case2:
        // 执行语句
        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);

跳转结构

  1. break:跳出最近一层循环。
  2. continue:跳过当前循环,直接进入下一轮。
  3. goto:跳转到指定标签。
  4. return:结束函数并返回值。

示例:

for (int i = 1; i <= 10; i++)
{
    if (i == 5)
        break;  // 终止循环
    if (i % 2 == 0)
        continue;  // 跳过偶数
    printf("%d ", i);
}

循环思想与应用

  1. 数据分离

    • 将一个数字分解为个位、十位、百位等。
    • 示例:三位数分离。
      int n = 123;
      int ge = n % 10;
      int shi = n / 10 % 10;
      int bai = n / 100;
      
  2. 计数思想

    • 统计满足条件的数量。
    • 示例:统计 1 到 100 中能被 3 整除的数。
      int count = 0;
      for (int i = 1; i <= 100; i++)
      {
          if (i % 3 == 0)
              count++;
      }
      printf("数量:%d", count);
      
  3. 求和思想

    • 累加满足条件的数。
    • 示例:计算 1 到 100 的和。
      int sum = 0;
      for (int i = 1; i <= 100; i++)
      {
          sum += i;
      }
      printf("总和:%d", sum);
      
  4. 累积思想

    • 求积(阶乘)。
    • 示例:计算 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");
}

作业

  1. 输出 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);
    
  2. 输入数据 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);
    
  3. 输入两个数,求最大公约数和最小公倍数。

    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);
    
  4. 判断一个五位数是否为回文数字。

    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)!