C语言教程 - 制作单位转换器
Posted TeamCode
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言教程 - 制作单位转换器相关的知识,希望对你有一定的参考价值。
C 语言是一个强大而通用的编程语言。这款诞生于 1972 年的编程语言起初用于开发 UNIX 操作系统,而它如今已是广泛用于开发各类操作系统、数据库、编译器及其他软件等的主流编程语言。
作为编程界的奠基语言之一,学习 C 语言有助于软件编程领域的学生甚至专业人士深入了解编程原理。学习 C 语言其实非常简单,C 语言本身的语言结构化,而其高效的程序编译过程也能让初学者深入浅出地掌握编程知识,从最基础的程序开始到复杂的操作系统都能实现。 这篇教程通过使用 C 语言编写简易单位转化器,从而讲解如何从最基本的编辑器开始接触 C 语言,通过说明变量类型、绘制程序流程、编写程序等过程,讲解编程中的逻辑、函数功能及原理。
编辑器选择
纵使 C 语言是编程语言的老——,我们依旧可以借助比 C 语言更年轻的编辑器来进行编程。如果将编辑器与编程语言相对比,那么编辑器就像纸笔一样,只要是自己用的称心的纸笔都能写程序。编辑器的选择有很多,但好的编程体验从合适的编辑器开始,而类似 C 语言在线编译器 Lightly 就能满足我们的编程需求。
在信息爆炸的年代,好的编辑器能提高编程效率,降低学习编程的成本。原本复杂的环境部署程序,在 Lightly 只需要登录编辑器,选择 C 语言在线编程即可。
引入 C 语言库
#include <stdio.h>
是 C 语言的标准库头文件,其中的 std 为英语 Standard 的缩写,i/o 分别表示 input 和 output,而 .h
则是头文件 header 的后缀。另外,这篇教程也会使用 #include <stdlib.h>
,即 Standard Library。
C 语言的标准库头文件中包含 printf()
、scanf()
、system()
、exit()
等常用的功能函数,这篇教程将重复使用这些函数,从而巩固大家对这些函数的应用能力。
定义变量
在 C 语言中,变量大致可分为以上几种类型。我们在 C 语言中使用变量之前,需要为这些变量定义,以便程序识别变量类型。
char category; // 种类选择
int backChoice; // 返回选项
int tempChoice; // 温度选择
int currencyChoice; // 货币选择
int massChoice; // 质量选择
int userinputF; // 输入华氏度
int userinputC; // 输入摄氏度
int userinputUSDtoEuro; // 输入美金 → 欧元
int userinputUSDtoJPY; // 输入美金 → 日元
int userinputUSDtoRMB; // 输入美金 → 人民币
int userinputOunce; // 输入盎司
int userinputGram; // 输入克
int fahrenheitToCelcius; // 华氏度 → 摄氏度
int celciusToFahrenheit; // 摄氏度 → 华氏度
float USDtoEURO; // 美金 → 欧元
float USDtoJPY; // 美金 → 日元
float USDtoRMB; // 美金 → 人民币
float ounceToPounds; // 盎司 → 斤
float gramsToPounds; // 克 → 斤
// 子程序清单
void tempConverter(); // 温度转换器
void currencyConverter(); // 货币转换器
void massConverter(); // 质量转换器
void backTemp(); // 温度返回界面
void backCurrency(); // 货币返回界面
void backMass(); // 质量返回界面
看到长串的变量先不必慌张,我们只需要养成建立变量清单的习惯,在编写程序的过程中逐个添加即可。注意:每一行程序末端需要写上分号 ;
,以结束一行程序,否则编译的时候就会报错。
绘制程序流程图
我们在开始编程之前,可以养成绘制流程图的习惯,以便编写程序的时候逻辑更加清洗。这种流程图不一定需要用软件绘制,即便是最原始的纸笔有时候也能有效地帮助我们理清程序思路。
编写主程序
我们的主程序一般写在 int main()
函数内,其中的程序内容包含在花括号 ...
中。
也许有细心的同学发现,我们的主程序函数和前面列出的子程序函数不太一样,主程序的变量使用的是 int
整数而非 void
空变量。没错,主程序本身确实会返回整数!当我们结束程序时,一般会使用 return 0
或 exit(0)
。如此一来,主程序就会读取变量,根据返回的变量判断程序是否运行。
int main()
和 void main()
之间的差别 当我们使用 void 变量来保存函数时,这类函数并不会保存整数。因此,当我们需要程序完整运行,而非使用 exit()
函数终止程序时,我们就可以使用 void 作为变量类型。然而,当我们需要返回特定整数时,void 变量就不再适用。因此,我们需要适当地判断程序用途来选择变量类型。
在我们的主程序中,除了前面已经讲解过的 int main()
,我们还使用了几种不同的新函数。
While 循环
while()
是 C 语言中的一种循环类型,当变量与括号 ()
中数值相符时,程序便会持续运行。
Printf 输出
printf()
即输出括号中的内容。其中的内容可以是文本,也可以是数字。如果需要在文本下方空格,还可以输入 \\n
。
Scanf 输入
scanf()
即监听输入。我们通过这个函数向程序输入数据并保存在相应的变量中。其中,"%c"
表示数据类型为文本,另外也有 "%d" 等表示整数的输入类型;而后者的 &category
则表示储存数据的变量。
Switch 切换
switch()
可根据输入的内容切换子程序,我们需要在括号内填入读取的变量内容,然后通过不同的 case
切换程序。
System 系统
system("clear")
即清屏。
编写子程序
完成主程序编写后,我们可以再逐个转到子程序。这种区分主次的编程方法可以让程序变得更加简洁,减少代码出错。如果代码出现错误,我们只需根据报错修改相应的代码即可,而其他程序之间也不会因此受到影响。
void tempConverter()
system("clear");
printf("欢迎使用温度转换器! \\n\\n");
printf("请选择需要转换的类型: \\n\\n");
printf("华氏度 → 摄氏度 请按 1 \\n");
printf("摄氏度 → 华氏度 请按 2 \\n\\n");
printf("返回页面 请按 0 \\n\\n");
scanf("%d", &tempChoice);
if (tempChoice == 1)
system("clear");
printf("\\n输入华氏度: \\n");
scanf("%d", &userinputF);
fahrenheitToCelcius = ((userinputF - 32) * (5.0 / 9.0));
printf("\\n摄氏度: %d", fahrenheitToCelcius);
backTemp();
else if (tempChoice == 2)
system("clear");
printf("\\n请输入摄氏度: \\n");
scanf("%d", &userinputC);
celciusToFahrenheit = ((9.0 / 5.0) * userinputC + 32);
printf("\\n华氏度: %d", celciusToFahrenheit);
backTemp();
else if (tempChoice == 0)
else
printf("请输入正确的数字。\\n");
与主程序中的 switch()
函数不同,我们在编写温度转换器时使用了 if()
、else if()
和 else
函数切换程序。
If 条件
在 if()
函数中,程序通过判断变量是否符合条件来执行接下来的步骤。若条件不符,则程序会直接执行 else
中的内容。
在 printf()
中调用变量
在我们的转换器子程序中,我们同样通过 scanf()
函数监听所输入的数据,然后再通过相应的公式计算出结果。在 printf()
中调用结果时,同样可以使用 "%d"
指定数据类型,但指定的变量则无需添加 &
,直接写入变量名称即可。
即便在子程序中,我们也同样可以引用类似 backTemp()
等更多的子程序,减少代码的重复性,也让代码变得更简洁。
恭喜你,你已完全解锁制作单位转换器所需要的编程知识!通过这一方法继续完成另外两个货币转换器 currencyConverter()
及质量转换器 massConverter()
中的程序,即可完成程序流程图中所列出的所有内容。完整程序代码可查看:https://ed88ed3901-share.lightly.teamcode.com
以上是关于C语言教程 - 制作单位转换器的主要内容,如果未能解决你的问题,请参考以下文章