C语言是一种过程编程语言。它最初由Dennis Ritchie于1972年开发。
它主要是作为编写操作系统的系统编程语言开发的。 C语言的主要功能包括对内存的低级访问, 一组简单的关键字以及简洁的样式, 这些功能使C语言适用于诸如操作系统或编译器开发之类的系统编程。
许多后来的语言都直接或间接地从C语言中借用了语法/功能。像Java, PHP, JavaScript和许多其他语言的语法一样, 它们主要基于C语言。 C++几乎是C语言的超集(很少有程序可以用C编译, 而不能用C++编译)。
从C编程开始:
C程序的结构
经过以上讨论, 我们可以正式评估C程序的结构。通过结构, 意味着任何程序都只能以这种结构编写。因此, 以任何其他结构编写C程序都将导致编译错误。
C程序的结构如下:
上述结构的组件为:
头文件包含:第一个也是最重要的组成部分是在C程序中包含Header文件。
头文件是扩展名为.h的文件, 其中包含C函数声明和宏定义, 这些声明将在多个源文件之间共享。
一些C头文件:
- stddef.h –定义几个有用的类型和宏。
- stdint.h –定义精确的宽度整数类型。
- stdio.h –定义核心输入和输出功能
- stdlib.h –定义数字转换函数, 伪随机网络生成器, 内存分配
- string.h –定义字符串处理函数
- math.h –定义常见的数学函数
在C中包含头文件的语法:
#include
主要方法声明:
C程序的下一部分是声明main()函数。声明主要功能的语法为:
声明主要方法的语法:
int main()
{}
变量声明:
任何C程序的下一部分都是变量声明。它指的是要在函数中使用的变量。请注意, 在C程序中, 未经声明就不能使用任何变量。同样在C程序中, 必须在函数中的任何操作之前声明变量。
例子:
int main()
{
int a;
.
.
函数体:
C程序中函数的主体是指在函数中执行的操作。它可以是诸如操纵, 搜索, 排序, 打印等任何内容。
例子:
int main()
{
int a;
printf("%d", a);
.
.
返回语句:
任何C程序的最后一部分是return语句。 return语句是指从函数中返回值。该返回语句和返回值取决于函数的返回类型。例如, 如果返回类型为void, 则将没有return语句。在任何其他情况下, 将有一个return语句, 并且返回值将是指定的返回类型的类型。
例子:
int main()
{
int a;
printf("%d", a);
return 0;
}
编写第一个程序:
以下是C语言中的第一个程序
#include <stdio.h>
int main( void )
{
printf ( "GeeksQuiz" );
return 0;
}
让我们逐行分析程序。
第1行:[#include <stdio.h>]在C程序中,所有以#开头的行都由编译器调用的预处理器处理。在一个非常基本的术语中,预处理器接受一个C程序并生成另一个C程序。生成的程序没有以#开头的行,所有这些行都由预处理程序处理。在上面的例子中,preprocessor将stdio.h的预处理代码复制到我们的文件中。h文件在c中称为头文件。这些头文件通常包含函数的声明。我们需要stdio.h作为程序中使用的printf()函数。
第2行[int main(void)]必须有一个起点,从编译后的C程序的执行开始。在C语言中,执行通常从main()的第一行开始。方括号中的void表示main不带任何参数(请参阅更多细节)。main()也可以写入参数。我们将在以后的文章中讨论这个问题。
写在main之前的int表示main()的返回类型。main返回的值表示程序终止的状态。
第3和第6行:[{和}]在C语言中, 一对大括号定义了一个范围, 并且主要用于函数和控制语句(如if, else, 循环)中。所有功能必须以大括号开头和结尾。
第4行[printf(" GeeksQuiz"); ] printf()是在标准输出上打印内容的标准库函数。 printf末尾的分号表示行终止。在C语言中, 分号始终用于指示语句的结尾。
第5行[返回0; ]return语句从main()返回值。操作系统可能会使用返回的值来了解程序的终止状态。值0通常表示成功终止。
如何执行以上程序:
为了执行上述程序,我们需要一个编译器来编译和运行我们的程序。有一些特定的在线编译器,如http://ideone.com/或http://codepad.org/,可以在不安装编译器的情况下启动C语言。
Windows:有许多免费的编译器可用于编译C程序, 例如代码块和开发CPP。我们强烈建议使用代码块。
Linux:对于Linux, gcc与Linux捆绑在一起,代码块也可以与Linux一起使用。
如果发现任何不正确的地方, 或者想分享有关上述主题的更多信息, 请发表评论。