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文件 导入进来

相关推荐
云空5 分钟前
《解锁 Python 数据挖掘的奥秘》
开发语言·python·数据挖掘
青莳吖16 分钟前
Java通过Map实现与SQL中的group by相同的逻辑
java·开发语言·sql
Buleall23 分钟前
期末考学C
java·开发语言
重生之绝世牛码25 分钟前
Java设计模式 —— 【结构型模式】外观模式详解
java·大数据·开发语言·设计模式·设计原则·外观模式
小蜗牛慢慢爬行31 分钟前
有关异步场景的 10 大 Spring Boot 面试问题
java·开发语言·网络·spring boot·后端·spring·面试
荒古前37 分钟前
龟兔赛跑 PTA
c语言·算法
Algorithm157641 分钟前
云原生相关的 Go 语言工程师技术路线(含博客网址导航)
开发语言·云原生·golang
shinelord明1 小时前
【再谈设计模式】享元模式~对象共享的优化妙手
开发语言·数据结构·算法·设计模式·软件工程
Monly211 小时前
Java(若依):修改Tomcat的版本
java·开发语言·tomcat
boligongzhu1 小时前
DALSA工业相机SDK二次开发(图像采集及保存)C#版
开发语言·c#·dalsa