C语言 预处理器 注释 基本案例讲解

上文 程序设计语言与C语言发展

我们简述了 计算机语言的发展 以及编程语言与指令的概念

那么 今天 我们就来 初始C语言 并完成 第一个C语言案例

这里 我们需要完成 C语言 Hello World案例 以及 C语言程序举例

任何编程语言 开始的案例 都是 Hello World 所以说 Hello World 是程序员的初恋情人

C程序的创建 有四个基本过程 编辑 编译 链接 执行

编辑

在编辑器中书写逻辑代码

其中 以井号开头 语句 例如这里的 #include

被称作 预处理器指令

以.h 为后缀的文件被称为头文件,可以是C程序中现成的标准库文件,也可以是自定义的库文件。

这里的 stdio.h 文件中包含了有关输入输出语句的函数

main() 函数是 C 程序处理的起点 这个 学习了java的人应该会比较铭感

这个return语句结束main() 函数的执行并返回一个值,返回值为0表示程序正常结束

这对花括号 {} 内部就是函数的主体内容

printf 函数 会在控制器上输出括号中的内容

内容是一个字符串 值为 Hello World 然后换行 \n 表示换行

最后面的分号 表示一条语句的结束

C语言的语句 可以跨域多行 并用分号通知程序 语句已经结束

编译

因为 C语言不是机器语言 我们写好的代码计算机是无法理解的

计算机是不认识这些高级语言的

这是 就需要编译器生成目标代码

编译器可以将源代码转换成机器语言,生成目标文件,扩展名为 : o 或者 obj

链接

一个C语言程序可能用到程序库中的函数,也可能包含多个源代码文件,所以在编译之后,需要链接器将它们组合起来,生成可执行文件,扩展名为 exe

将多个 C语言文件 C语言函数库 通过链接器 组合成一个可执行的文件

执行

通过链接得到一个可执行文件后 程序的运行 首先需要初始化系统相关资源 然后 才运行 main 函数

在这个阶段 计算机会精确地执行每一条指令

但运行的结果 可能正确 也可能错误 甚至可能导致计算机崩溃

处理问题

所以 处理错误的能力 非常重要

程序都是程序员写的 程序员也是人 难免出错 所以 需要细致的 逐步处理错误

这个过程 包括 分析问题 编制程序 编译 链接 调试运行 最后就完成了

编译时 会出现的通常是语法错误 我们需要回到编制阶段 重新修改

连接阶段 出现的错误 也是 要求源代码中寻找并修复

到运行阶段 出现错误 就无法通过修改源程序解决了 这个时候 就需要重新分析问题 例如内存等因素了

第二个 计算两个整数的合

其中 int 声明整数类型 三个变量 a b sum

然后 给 a 赋值 a 等于 3

然后 b赋值等于 5

最后 sum 赋值 为 a + b

最后 通过 printf 输出 sum的值 这里结果就是 3+5 等于 8 输出的结果为 8

然后 来说说注释

C语言 可以编写注释 以便向读者说明

编译器 并不会处理这些注释

注释有一下几种

单行注释

是双斜杠 如下代码

//这是单行注释

代码块中是这样的效果

c 复制代码
//这是单行注释

如果是多行注释 就是 斜杠星号

例如

/*

这是一个多行注释

*/

代码块效果如下

c 复制代码
/*
   这是一个多行注释
*/

之前 我们也看到了 这个 #include 也说了井号开头的 命令 叫做预处理器

就是 编译器 编译代码之前 会有一个预处理阶段 这个阶段 专门就处理这些预处理命令

下图这个

#include 就是 将 stdio.h文件 导入进来

相关推荐
Theodore_10222 小时前
4 设计模式原则之接口隔离原则
java·开发语言·设计模式·java-ee·接口隔离原则·javaee
网易独家音乐人Mike Zhou3 小时前
【卡尔曼滤波】数据预测Prediction观测器的理论推导及应用 C语言、Python实现(Kalman Filter)
c语言·python·单片机·物联网·算法·嵌入式·iot
----云烟----4 小时前
QT中QString类的各种使用
开发语言·qt
lsx2024065 小时前
SQL SELECT 语句:基础与进阶应用
开发语言
开心工作室_kaic5 小时前
ssm161基于web的资源共享平台的共享与开发+jsp(论文+源码)_kaic
java·开发语言·前端
向宇it5 小时前
【unity小技巧】unity 什么是反射?反射的作用?反射的使用场景?反射的缺点?常用的反射操作?反射常见示例
开发语言·游戏·unity·c#·游戏引擎
武子康5 小时前
Java-06 深入浅出 MyBatis - 一对一模型 SqlMapConfig 与 Mapper 详细讲解测试
java·开发语言·数据仓库·sql·mybatis·springboot·springcloud
转世成为计算机大神6 小时前
易考八股文之Java中的设计模式?
java·开发语言·设计模式
搬砖的小码农_Sky6 小时前
C语言:数组
c语言·数据结构
宅小海6 小时前
scala String
大数据·开发语言·scala