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

本文介绍C语言的基础概念,包括语言特点、编程环境搭建步骤及第一个程序的编写与运行流程。适用于初学者快速掌握C语言的基本操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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: ヽ(≧∀≦)ノ

转载于:https://www.cnblogs.com/flamen/p/6985061.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值