C语言攻略指南(一)开始篇

2018-06-17 22:28:12来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

C 语言简介:

  C 语言是一种通用的高级语言(在高级语言中偏低级),特点是简洁,高效,难学,是c++ 和 objective-c 的必经之路。

 

C 语言编程环境搭建:

  Linux 平台(CentOS/Ubuntu)

    gcc 编译器 (编译器是将源程序编译成可执行文件的软件)

    vim 编辑器 (文本编辑器,写程序源文件的软件)

CentOS:
# yum install gcc 
# yun install vim 

Ubuntu:
$ apt-get install gcc 
$ apt-get install vim 

  

  Windows 平台

    MinGw            (一个能在windows 平台上运行 gcc 的软件)

    notepad++  (不要用windows 自带记事本,你可以用其他十六进制文本编辑器如 editplus 等)

  由于我学习 C 语言,是为了更好的理解 Linux,故我写的均是运行在 Linux 平台下的 C

  

 

第一个 C 语言程序:

 按照传统,每当你想攻略一个编程语言(不管成与不成),必先来一个 Hello World。我们就从这个神级的 Hello World 开始

#include <stdio.h>

int main()                 
{
/* 输出 Hello world! */
printf("Hello World!\n");  

return 0;    
}   

我们来一行一行的分析这个神一样的 Hello World:

#include <stdio.h>

  以 # 作为行开头的指令是预处理指令,#include <stdio.h>  是引用 stdio.h 头文件,在后续的 预处理篇 会详细描写预处理指令。

 

int main() 

  main 函数,又叫主函数,是一个程序的入口,在一个 C语言程序中必须有它。 int 表示函数的返回值是整型,有的书上也会写 void或者不写,表示函数返回值为空。在 GNU C 标准下,主函数的返回值是 int 类型(so,不要纠void,遵守写 int 就行了 )。main 后的() 里为空表示 main 函数的参数为空(void)。关于函数,在之后的 函数篇会详细写到。

 

{ }

  代码块的标记,C语言中 单条语句用 ; 结束, 即 ; 是语句的结束符。多条语句组成代码块,用{ } 包裹起来,此处的{ }内的代码块属于主函数的。

 

/* ... */ 

  注释,支持多行,注释写代码实现的功能。单行注释可用 //, 符号 // 之后的内容被认为是注释

 

printf("Hello World!\n");

  printf 是头文件 stdio.h 里面声明的一个库函数,若前没引用头文件 stdio.h,则无法使用它。 其作用是标准输出到终端。

 

return 0;

  return 代表函数执行的终止,main函数中碰到 return,函数执行结束,而在 return 下的代码将不会去执行。0 代表 main函数的返回值为 0, 如果是写 void main(),表示返回值为空,则写 return ; 。那么为什么写 0 而不是其他数字呢? 还记得 Linux 中查看命令是否执行成功的状态退出码么, echo $? ,如果正常执行成功返回 0 ,非正常退出返回其他值。此处 0 就是 main函数的退出值,代表执行成功,把 0 返回给调用者,当然其他整数也行,但习惯上是 0,应准守标准。

  在 C语言中支持 int main() , void main()  , 在 C++ 中只支持 int main()

 

;

  每条可执行语句后都以 ; 结尾

 

用文本编辑器写完后将源程序文件保存为 .c 后缀,如 hello.c

 

编译过程:

  C 源程序 ---> 预处理 ---> 编译 ---> 汇编 ---> 链接 ---> 可执行文件

预处理: 

gcc -E hello.c > hello.i

  把 gcc  预处理后的结果重定向给 hello.i(.i 为 gcc识别预处理文件的后缀),以 # 开头的预处理指令将会在此阶段全部解决掉

编译:

gcc -S hello.i 

  生成 hello.s,把 C程序转换成汇编程序,如果对汇编熟悉的可以 vim hello.c 看下

汇编:

gcc -c hello.s

  对汇编文件,进行汇编,将生成 hello.o 文件

链接:  

gcc hello.o -o hello

  将 hello.o 链接为 hello 的可执行文件, ./hello 将执行该程序

 

以上过程是为了帮助理解 C源程序 到可执行文件的具体过程,平时大可不必这么麻烦。

  gcc hello.c 默认得到一个 a.out 的可执行文件

  或 gcc hello.o -o hello 得到 hello 可执行文件

 

执行 C 程序:

在 Windows中可执行文件为 .exe 后缀,故使用 gcc hello.o -o hello.exe ,直接使用 hello.exe 执行即可

Linux 下有个更加方便的工具 make

  make  hello 

  不需要加 .c 后缀,它的实质是 gcc hello.o -o hello 

[root@example New]# make hello
cc hello.o -o hello
[root@example New]# ./hello 
Hello World!

 

ps: ヽ(≧?≦)?

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:afx.h(78): fatal error C1083: 无法打开包括文件: “new.h”: N

下一篇:STL语法——集合:set 安迪的第一个字典(Andy&#39;s First Dict