C语言基础的学习有助于后续C语言学习过程中指针,数组等有重要帮助,方便理解,更好的去应用
关于C语言的开发过程
此过程是每个从事嵌入式开发的编程人员必须知道的
在我们完成项目开发时也遵循该过程
开发的三个步骤
-
编辑:程序员编写源程序(.c)
-
编译:编译器将源代码转换为可执行的二进制指令文件
-
运行:操作系统加载并执行可执行程序
关于编译(C语音的编译过程)
-
预处理:处理宏定义(
#define),头文件包含(#include),注释等,将头文件直接拷贝到当前文件。需要使用预处理器 -
编译:对预处理后的代码进行语法分析,语义检查,生成汇编语言代码。编译需要使用编译器
-
汇编:将汇编代码转换成二进制代码,需要使用汇编器
-
连接 :将目标文件与系统库文件、其他目标文件合并生产可执行文件,需要使用连接器
在整个编译过程中,共使用了预处理器,编译器,汇编器,连接器
在linux中我们完成对C文件的编辑后,需要进行编译
我们一般使用常用linux自带编译器gcc
编译语法为
gcc C程序名 -o 新命名
关于C语音的基本结构
功能:在控制台输出“hellow world”
\\\ #include<stido.h> //引入输入输出函数,printf(),scanf()
//主函数,应该*.c有且仅有应主函数作为程序执行的入口,这个函数会自动执行
int main()
{
//想控制台输出“hellow world!”需要引入stdio.h头文件 \n,表示换行,用在“”内部
printf("hellow world!\n");
return 0;
}
对于该程序结构分析:
- 注释:用于解释代码逻辑,仅给程序员阅读,在程序编译过程中的预处理阶段会被删除
- 预处理指令:以#开头,用于包含头文件,定义宏等(比如#include<stido.h>,#define)
- 主函数(main函数):程序唯一入口,由OS通过程序启动机制自动调用,不能被用户自定义函数调用
- 函数的组成结构
- 函数头:说明函数的返回值类型、函数名和形参列表(若无形参则在括号里留空或写void,比如:main(),main(void))
- 函数体:用{}括起来的内容,包含变量声明和语句执行部分(每个独立语句用;结尾)
- 函数调用语句:调用已定义的函数(如printf()是标准库中的输出函数)
关于如何写好C语言(C语言 编程规范要求)
在C语言的编程过程中遵循以下规范,可以有效的提高代码可读性和可维护性,有利于我们以后再企业中工作
- 缩进格式:缩进四个字符(按一下TAB键),可以有效统一代码层级;
- 足够多的注释:对于关键代码(如函数功能、复杂逻辑、变量含义等)注释,便于程序员理解;
- 合适的空行:合适的空行可以让代码更加整洁,提升可读性;
- {}对齐:C/C++中{和}字符独占一行,避免与java风格混淆;
- 分层缩进和模块化:函数体内代码要按逻辑层级缩进,复杂逻辑拆分模块化;
- 单句单行:不将多条语句写在同一行
- 标识符命名:函数名、变量名等都叫标识符,命名需要见名知意,尽量使用英文单词或者短语,避免无意义的命名,尤其是英语基础不好的同学避免使用拼音命名
C语言程序细节
- 每一个程序仅有一个main函数
- 调用自定义函数,必须在main函数之前声明或定义
- 预处理指令#include,#define等需要放在程序最前面
- 每条语句以;结尾。注意:预处理指令,函数头,分支语句,循环语句后面不能加;
- 函数体必须用{}括起来,不可省略
- 注释内容不参与编译
- 一行语句尽量只写一个语句
关于C语音中的注释
单行注释
语法
//注释内容
适用于变量说明,常量说明,函数调用语句,简单的逻辑注释
多行注释
语法
/*注释内容*/
/*
注释内容
注释内容
注释内容
*/
-
格式:用/*开头,*/可单行,可跨多行,不能嵌套
-
使用场景:文件头说、函数功能说明、复杂代码块注释
转载自CSDN-专业IT技术社区
原文链接:https://blog.csdn.net/w124930/article/details/157260125



