C语言攻略指南(一)开始篇
2018-06-17 22:28:12来源:未知 阅读 ()
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
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 关于各种不同开发语言之间数据加密方法(DES,RSA等)的互通的 2020-06-07
- C语言程序结构 2020-05-31
- 每日干货丨C++语言主流开发工具推荐! 2020-04-28
- C语言实现经典游戏——扫雷! 2020-04-17
- C语言中的宏定义 2020-04-04
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash