总纲
使用C语言的7个步骤
graph LR A[定义程序的目标] --> B[设计程序] B --> C[编写代码] C --> D[编译] D --> E[运行程序] E --> F[测试和调试程序] F --> G[维护和修改程序]
步骤详解
- 定义程序的目标
在写代码之前,首先要明确自己的思路,了解要完成任务的目标。
- 设计程序
明确程序的实现方案,比如页面展示对应的接口有哪些?预估完成时间、大概使用哪些方法来写代码。
- 编写代码
这个没什么好说明的,后面学习。注意要在代码中加上注释,便于后期的维护。
- 编译
编译时至由编译器把源代码转换成可执行的程序,可执行代码是用计算机的机器语言表示的代码。这种语言由数字码表示的指组成。不同的计算机使用不同的机器语言方案,C编译器负责把C代码翻译成特定的机器语言。
编译器会检查C语言程序是否有效,如果编译器发现错误会报错。
- 运行程序
可以在终端输入编译后的文件名执行,也可以双击文件直接运行。
- 测试和调试程序
自己跑一遍程序,排除一些语法上的或者是逻辑的漏洞等,简称找bug。
- 维护和修改程序
改bug或者是对代码进行优化升级等。
说明
上面的7个使用步骤其实只是一个大概的流程,在真实的开发中并不一定是按照这个流程进行的,这里只是提供了一个方案。
C语言代码的编译过程
c程序的组成部分
- C程序由一个或多个函数组成,必须有
main()
函数。 - 无论
main()
函数放在程序文件的什么位置,都会从main()
开始执行。 - 函数有函数头和函数体组成。
- 函数头包括函数名、传入该函数的信息类型和函数的返回类型。
示例格式
#include <stdio.h> int main(void) { 语句 return 0; }
第一个程序
代码:
# include <stdio.h> /* 一个简单的程序 */ int main(void) { int num; // 定义一个数字变量 num = 1; // 为变量num赋值 printf("i am a simple "); //使用printf函数打印数据 printf("computer. \n"); printf("第 %d 个C语言程序\n", num); return 0; }
输出
i am a simple computer. 第 1 个C语言程序
代码解释
int main(void)
中的int
表明main()函数应返回一个int(整数)。void
表明函数main()
不带任何参数。int num;
定义一个变量。num = 1;
为变量num赋值。- 实际参数(实参):函数中实际的参数,如上面的
printf("i am a simple ")
,i am a simple
就是printf的实参。 - 形式参数(形参):函数中用于存储值的变量。
return 0;
表示函数main()结束并且返回值0
。
第二个程序
代码
# include <stdio.h> void new_fun(void); // ANSI/ISO C函数原型 int main(void) { printf("第二个C程序, 运行上面的new_fun函数\n"); new_fun(); printf("运行完毕\n"); return 0; } void new_fun(void) { printf("执行new_fun函数\n"); }
输出
第二个C程序, 运行上面的new_fun函数 执行new_fun函数 运行完毕
代码解释
- 第一个
void new_fun(void);
是一个函数原型。既是告知编译器正在使用函数new_fun()
,因此函数原型也被称为函数声明。其中的第一个void
表示new_fun()
函数没有返回值,第二个void
表示new_fun()
没有参数。 - 第二个
void new_fun(void)
以及下面的语句是new_fun()
函数的定义。函数new_fun()
何时执行取决于在main()
函数中的调用位置,和new_fun()
函数是否定义在main()
函数之前没有关系。
第三个程序
代码
# include <stdio.h> int main(void) { float weight; float value; printf("你的体重是多少斤?\n"); printf("让我们去看看。\n"); printf("请输入你的体重(公斤):\n"); scanf("%f", &weight); value = 2 * weight; printf("你的体重是 %.2f斤\n", value); printf("你的体重是 %.2f公斤\n", weight); return 0; }
输出
你的体重是多少斤? 让我们去看看。 请输入你的体重(公斤):# (这里输入的了75) 你的体重是 130.00斤 你的体重是 75.00公斤
代码解释
scanf()
函数用于读取键盘的输入。%f
说明scanf()
要读取用户从键盘输入的浮点数。&weight
告诉scanf()
把输入的值赋给名为weight
的变量。