C-你好,世界
#c #shell #gcc

c是Dennis Ritchie创建的一种命令性(程序)语言,用于开发操作系统,数据库,编译器等软件。

当我们说命令(程序)时,我们是什么意思?我们首先需要理解编程语言和范式的不同范式,只是意味着它们编写了结构化的样式。

有不同类型的编程语言范式,其中一些是:

  • 命令编程

  • 程序编程

  • 声明编程

  • 面向对象的编程

这些范式的

我们只需要了解其中两个的语言。

命令式编程:一组给定订单执行的计算机的指令。
程序编程:是命令编程的推导,添加了功能的功能(也称为“程序”或“子例程”)。


#为什么选择C

  • 在C(硬件编程)中完成了大量嵌入式编程

  • 最快的语言足以构建实用性。

  • 使用适当的库,您可以真正将C用于任何内容。

  • Web后端开发。

  • 桌面应用程序开发。

  • 游戏开发。

  • 语言/编译器开发。

  • 操作系统和驱动程序。


#编译过程

在开始学习C语言之前,我们首先需要了解汇编过程和每个过程中使用的命令。

我们将在此博客中使用的工具编译C是 gcc 工具。

这样的编译过程如下:

  • 预处理程序:将源代码(.c文件)带到发送给编译器的中间文件。

  • 编译器:将中间代码转换为汇编代码。

  • 汇编器:将汇编代码转换为对象代码。

  • 链接器:将对象代码与必要库链接到生成可执行文件。

Image description

现在让我们单独查看每个人。

预处理程序:采用源文件来生成中间文件:

  • 删除注释

  • 在文件中包括标头文件的代码

  • 用代码

  • 替换宏名称

源代码(.c文件)
Image description

Image description

现在,我们创建了需要预处理的源代码,并且我们通过命令

做到这一点

gcc -E <FILE_NAME>

我们还可以使用-o函数输出到文件中。

Image description

编译器:采用源代码将其转换为汇编代码,我们要使用的命令是:

gcc -c <FILE_NAME>

Image description

汇编器:将汇编代码转换为二进制代码0和1或机器代码,我们要使用的命令是:

gcc -S <FILE_NAME>

Image description

链接器:链接器包括一些库中的一些库文件,以创建可执行文件,我们要使用的命令是:

gcc <FILE_NAME>

Image description

现在我们了解了编译过程,我们需要了解GCC编译器。


海湾合作委员会

GCC(GNU编译器收集)是一个用于C和C ++语言的编译器。

-o:是指定文件输出的选项。

Image description

-Werror:如果程序中存在任何错误,则可以显示警告。

Image description

-Wall:是显示各种警告的选项,例如未使用变量错误。

Image description

-std=:是设置C的标准(版本)以编译源文件的选项。

Image description

提示:有关GCC编译器的更多信息,请使用命令man gcc阅读手册。


#C-你好,世界

现在,我们完成了有关编译过程和海湾合作委员会编译器的学习,我们需要弄脏并开始在c。

中开始编写。

我们需要做的第一件事是学习最常见的编写C语言样式以及如何记录它们,对于本课程,我们需要使用Linux内核编码样式Linux style

你好世界代码

Hello World代码的结构

Image description

#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;

数据类型

Image description

提示:有关数据类型的更多信息,请阅读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');