一、编写第一个c语言程序
1.用什么工具写代码
1) 可以用来写代码的工具:记事本、UltraEdit、Vim、Xcode等
2) 选择Xcode的原因:苹果官方提供的开发利器、简化开发过程、有高亮显示功能
3) 使用Xcode新建一个C程序的源代码文件(拓展名为.c或者.C)
2.代码的编写
1. 程序结构
1) 先C程序的结构:由函数组成
* 任何一个C语言程序都是由一个或者多个程序段(小程序)构成的,每个程序段都有自己的功能,我们一般称这些程序段为“函数”。所以,你可以说C语言程序是由函数构成的
2) 函数的基本概念
* 函数:就是用来实现某个功能的程序段,每一个函数都有自己的功能。
* 函数名:一个程序中由无数个函数组成,每个函数都有自己的名称
* 调用(执行)函数:根据函数名就可以调用对应的函数,执行相应的功能
3) C程序的入口
* C程序的入口是一个名字叫做main的函数,简称main函数
* 不管整个程序中有多少个函数,都是先执行main函数
注意点:
* 如果一个c程序没有main函数,那么这个程序就不具备运行的能力
* 一个c程序只能有一个main函数
2. 编写程序
1) 编写main函数(大括号{ }中的内容是函数体)
int main()
{
return 0;
}
二、编译
1) 什么是编译:将C源程序翻译成计算机能识别的0和1
2) 使用什么编译器:Xcode3使用GCC,Xcode4使用LLVM编译器(前端用clang)
3) 如何使用clang编译器编译程序?
* 在终端中输入:cc –c 文件名.c(多文件开发:cc –c 文件名.c 文件名2.c 文件名3.c)
* 编译成功,会生成.o目标文件
4) 编译器的错误和警告功能
* 如果代码有语法问题,编译器会直接报错。并指出错误的个数和具体行号。
* 只要有1个错误,程序就不能编译成功,也不会生成.o文件
* 警告信息只是编译器的一些建议,并不影响编译通过
注意点:
* 编译器作用:编译器除了能将.c源文件编译成.o目标文件之外,还有一个非常重要的功能:语法检测、
三、链接
1) 链接的作用:将.o文件和C语言函数库组合在一起,生成可执行文件
2) 由链接器完成,clang编译器里面已经包含了链接指令
* 在终端中输入:cc 文件名.o(多文件开发:cc 文件名1.o 文件名2.o 文件名3.o)
* 链接成功,会生成a.out可执行文件(默认名称为a.out)
3) 更改可执行文件的名称:可以输入指令:cc -o one one.o,-o后面跟上可执行文件的名称,因此可执行文件的名称就变成了one
4)连续执行编译、链接:其实也可以在终端中直接输入:cc one.c , 会按顺序执行编译、链接两个操作。
四、运行
1) 两种运行方式
* 直接双击打开a.out文件
* 终端中使用 ./a.out指令
2) 修改文件内容之后,一定要重新编译、链接,再运行
3) \n的作用:回车换行
五、clang指令汇总
1.编译单个c源文件,并产生一个目标文件
cc -c one.c
这条命令产生一个名为one.o的目标文件
2.编译多个c源文件,并为每个文件产生一个目标文件
cc -c one.c two.c three.c
这条命令产生3个目标文件:one.o、two.o、three.o
3.链接单个目标文件
cc one.o
这条命令产生一个名为a.out的可执行文件
4.链接多个目标文件
cc one.o two.o three.o
这条命令产生一个名为a.out的可执行文件
5.编译并链接一个c源文件
cc one.c
这条命令产生一个名为a.out的可执行文件。中间会产生一个名为one.o的目标文件,但它在链接过程完成后会被删除。
6.编译并链接多个c源文件
cc one.c two.c three.c
这条命令产生一个名为a.out的可执行文件。当编译的源文件超过一个时,目标文件便不会被删除。这就允许你对程序进行修改后,只对那些进行过改动的源文件进行重新编译。
7.编译一个c源文件,并把它和现存的目标文件链接在一起
cc one.o two.o three.c
这条命令产生一个名为a.out的可执行文件
8.上面那些可以产生可执行文件的指令均可以加上“-o name”这个选项,产生的可执行文件就叫做name
比如 cc -o abc one.c
这条指令会产生一个名为abc的可执行文件
9.执行可执行文件
./a.out
这条指令可以执行一个名为a.out的可执行文件
本文介绍如何使用Xcode编写C语言程序,包括选择开发工具、程序结构理解、代码编写、编译与链接流程,以及运行程序的方法。通过实践案例,帮助初学者快速上手C语言。
1369

被折叠的 条评论
为什么被折叠?



