C 语言 - 项目

项目与实际应用

学习如何将您的 C 语言知识应用到实际项目中。

在本节中,我们将使用您在教程中学到的功能构建小型应用程序。

为什么要构建项目?

项目是学习 C 语言的重要组成部分。从小处着手,逐步添加更多功能:

  • 理解真实程序是如何构建的
  • 练习结合各种概念(例如,函数、循环、文件处理)
  • 提高您的调试和解决问题的能力
  • 为工作面试和相关练习做准备

提示:您构建得越多,理解就越深入。

项目示例

您可以从使用简单输入输出的非常小的项目开始。例如,编写一个程序,能够:

  • 询问您的名字
  • 询问您的年龄
  • 打印:Hi <name>! You will turn <age+1> next year.

一旦您感到得心应手,可以尝试稍大一点的项目,这些项目结合了循环、条件和数组:

  • 创建一个小的购物清单程序(存储商品并打印出来)
  • 猜数字游戏
  • 计算学生平均分

随着您的 C 语言技能增长,您可以转向更高级的项目,这些项目涉及函数、结构体和文件处理:

  • 简单计算器
  • 通讯录
  • 待办事项列表
  • 问答游戏

项目:计算学生平均分

让我们创建一个程序,根据多个成绩计算学生的平均分。

程序要求用户输入 1 到 5 个成绩并计算平均值。然后显示平均值和相应的字母等级(A 到 F):

实例

// 此函数根据平均值返回字母等级
char gradeFunction(double avg) {
  if (avg >= 90) return 'A';
  else if (avg >= 80) return 'B';
  else if (avg >= 70) return 'C';
  else if (avg >= 60) return 'D';
  else return 'F';
}

int main(void) {
  int count;
  double sum = 0, grade;

  // 要求用户输入总成绩数,介于 1 到 5 之间
  printf("How many grades (1 to 5)? ");
  scanf("%d", &count);

  // 验证 count 是否在 1 和 5 之间
  if (count < 1 || count > 5) {
    printf("Invalid number. You must enter between 1 and 5 grades.\n");
    return 1;  // 退出
  }

  // 循环收集每个成绩
  for (int i = 1; i <= count; i++) {
    printf("Enter grade %d: ", i);
    scanf("%lf", &grade);
    sum += grade;
  }

  // 计算平均分
  double avg = sum / count;

  // 显示数值平均分
  printf("Average: %.2f\n", avg);

  // 显示字母等级
  printf("Letter grade: %c\n", gradeFunction(avg));

  return 0;
}

示例输出:

How many grades (1 to 5)? 3
Enter grade 1: 85
Enter grade 2: 91
Enter grade 3: 78
Average: 84.6667
Letter grade: B

使用的关键概念:循环、函数、条件、输入处理和基本逻辑。

练习挑战

构建您自己的小型项目。例如,编写一个程序,能够:

  • 要求用户输入最多 5 个需要购买的商品
  • 将商品存储在一个数组中
  • 打印完整的购物清单
  • 统计输入了多少件商品

额外挑战:添加一个功能,让用户可以搜索商品,并告知该商品是否在清单中。

打开 CodeBlocks 或任何类似的 C 语言 IDE,自己尝试吧!

从小处着手。一次添加一个功能。记得经常测试!

提示:我们还在 实际应用示例 页面中收集了一系列简单的项目。