c是Dennis Ritchie创建的一种命令性(程序)语言,用于开发操作系统,数据库,编译器等软件。
当我们说命令(程序)时,我们是什么意思?我们首先需要理解编程语言和范式的不同范式,只是意味着它们编写了结构化的样式。
有不同类型的编程语言范式,其中一些是:
-
命令编程
-
程序编程
-
声明编程
-
面向对象的编程
我们只需要了解其中两个的语言。
命令式编程:一组给定订单执行的计算机的指令。
程序编程:是命令编程的推导,添加了功能的功能(也称为“程序”或“子例程”)。
#为什么选择C
-
在C(硬件编程)中完成了大量嵌入式编程
-
最快的语言足以构建实用性。
-
使用适当的库,您可以真正将C用于任何内容。
-
Web后端开发。
-
桌面应用程序开发。
-
游戏开发。
-
语言/编译器开发。
-
操作系统和驱动程序。
#编译过程
在开始学习C语言之前,我们首先需要了解汇编过程和每个过程中使用的命令。
我们将在此博客中使用的工具编译C是 gcc 工具。
这样的编译过程如下:
-
预处理程序:将源代码(.c文件)带到发送给编译器的中间文件。
-
编译器:将中间代码转换为汇编代码。
-
汇编器:将汇编代码转换为对象代码。
-
链接器:将对象代码与必要库链接到生成可执行文件。
现在让我们单独查看每个人。
预处理程序:采用源文件来生成中间文件:
-
删除注释
-
在文件中包括标头文件的代码
-
用代码
替换宏名称
现在,我们创建了需要预处理的源代码,并且我们通过命令
做到这一点gcc -E <FILE_NAME>
我们还可以使用-o
函数输出到文件中。
编译器:采用源代码将其转换为汇编代码,我们要使用的命令是:
gcc -c <FILE_NAME>
汇编器:将汇编代码转换为二进制代码0和1或机器代码,我们要使用的命令是:
gcc -S <FILE_NAME>
链接器:链接器包括一些库中的一些库文件,以创建可执行文件,我们要使用的命令是:
gcc <FILE_NAME>
现在我们了解了编译过程,我们需要了解GCC编译器。
海湾合作委员会
GCC(GNU编译器收集)是一个用于C和C ++语言的编译器。
-o
:是指定文件输出的选项。
-Werror
:如果程序中存在任何错误,则可以显示警告。
-Wall
:是显示各种警告的选项,例如未使用变量错误。
-std=
:是设置C的标准(版本)以编译源文件的选项。
提示:有关GCC编译器的更多信息,请使用命令
man gcc
阅读手册。
#C-你好,世界
现在,我们完成了有关编译过程和海湾合作委员会编译器的学习,我们需要弄脏并开始在c。
中开始编写。我们需要做的第一件事是学习最常见的编写C语言样式以及如何记录它们,对于本课程,我们需要使用Linux内核编码样式Linux style。
你好世界代码
Hello World代码的结构
#include <stdio.h>
是定义程序使用的输入输出例程的标题文件。
int main(void)
是我们程序的切入点
printf("Hello world")
是打印文本
评论
用于记录您的代码和某些C语言语法的某些语法是:
/* comment */
/*
* muti line
* commnet
*/
警告:您不能在评论中嵌套评论
变量
用于将值连接到符号
<type> <var_name>
变量的名称:[A-ZA-Z _] [A-ZA-Z_0-9]*
int var;
char c;
数据类型
提示:有关数据类型的更多信息,请阅读Data Type
修饰符
C中使用的一些修饰符长,长,短,未签名和签名。
它们用于指定变量在内存上的空间。
long, long long
:用于扩展系统上使用的空间,可以与int,double。
一起使用。
short
:占系统上的一半空间。
signed
:支持正数和负数,我们可以与int一起使用,
unsigned
:仅支持正数,我们可以将其与int,char。
sizeof()
此功能用于找出大小类型的使用方式。
sizeof(char);
类型铸造
是将一种数据转换为另一种数据的一种方式。
示例:
char c = 'a';
int i = 5;
int_num = (int)c;
float_num = (float)i;
我们本质上将char转换为int,然后将int转换为float。
pritnf()
用于打印或编写有关stdout的语句。
printf("hello world")
printf("string:%s deciaml:%d float:%f char:%c","name",12,2.6,'C');
特殊符号(例如%s,%d和%f)用于表示主字符串右侧的不同数据。
puts
不包括为stdout写或打印的null字符输入。
puts("hello world");
putchar
用来写一个无符号字符类型的字符。
char i = 'a';
putchar(i);
putchar有时可以用来打印数字,为此,我们需要使用'0'的ASCII值。
int i = 10;
putchar(i + '0');