C programming on macOS for beginners

For beginners, especailly the 1st-year undergraduates

Hello World

在Mac OS中有一些非常不错的IDE可以使用,我们介绍2种,Xcode、CLion

我们推荐使用Xcode

1. Xcode

Xcode是Apple自家的软件,在App Store安装即可。Xcode比较大,有10GB,请腾出足够的硬盘空间。

此外,Xcode只有英文,没有中文。

1.1 创建一个项目

所有IDE都是为了一个项目(project)服务的,所以即使要写一个简短的C语言程序,也要先创建一个项目。

打开Xcode,看到一个欢迎界面,如下图

单击 Create a new Xcode project, 进入选择程序类型、命名和目录的选择等环节。

点击macOS,选择Command Line Tool

输入项目名称(Project Name)。Organization Identifier在个人开发中不重要,但必须填写。语言选择C语言。

选择你喜欢的路径,在这个目录下将创建一个文件夹,名字即刚才的项目名称。点击Create后,Xcode将创建.xcodeproj 文件,来管理源代码和库函数等。

1.2 书写源代码

创建完项目后,Xcode会进入项目配置文件,如下图。

我们在这个界面不做任何操作,点击main.c即可,进入如下图的文本编辑

我们可以在中间书写源代码了。

Xcode的纠错功能是实时的,红色代表error,黄色代表warning。如果没有error则可以顺利编译并运行。

1.3 编译并运行

编辑好后,单击左上角的▶️,即可编译并运行

整个程序的输入输出在最下面,如果没有自动弹出来,可以用鼠标拉出来。

1.4 调试

当程序出错时,我们希望知道哪个地方出错了。一个可行的办法是设置断点。当程序运行到断点指定的行时,程序暂停。此时我们可以查看程序的所有变量,看这些变量是否符合我们的预期,以此来查找bug

单击代码区的行数,即可设置断点,然后正常运行即可

程序运行到断点时,我们可以查看各种变量。

底部的变量时当前函数的,如果想要查看其他函数的变量,左侧单击想要查看的变量即可。

程序中断后,有3种继续程序的操作模式:continue、step over和step in

  • Continue:继续运行程序,直到程序结束或者遇到下一个断点
  • Step over:运行断点所在行的代码。
    • 如果断点所在行有函数,则执行函数,运行该函数并跳转到该函数的出口,即return行。该功能适用于,不进入函数,只查看函数最终的返回变量。
    • 如果断点所在行是个表达式,则执行表达式,跳转到该行的下一行。
  • Step in:运行断点所在行的代码。
    • 如果断点所在行有函数,则执行函数,运行至该函数入口,即该函数的第一行。该功能适用于想要一步一步追踪代码的运行,并查看子函数的情况。注意⚠️:如果跳转到汇编语言(你看不懂的语言),请按这个键右边的step out,跳出来。
    • 如果断点所在行是个表达式,则执行表达式,跳转到该行的下一行。

2. CLion

CLion是JetBrain公司开发的跨平台的IDE,支持Windows、macOS和Linux。相比于Xcode,CLion更轻便,只有2GB左右。

如果你今后要使用Python,那么我们也推荐JetBrain公司的Pycharm,一款专注于Python开发的IDE。

JetBrain公司的软件都是收费的,但我们可以使用学校邮箱注册,获得使用权。

下载并安装后,我们开始使用Clion

2.1 创建一个项目

同Xcode一样,所有IDE都是为了一个项目(project)服务的,所以即使要写一个简短的C语言程序,也要先创建一个项目。

打开CLion后,弹出一个欢迎界面

点击New Project后,选择合适的语言、编译版本和项目路径。

2.2 书写源代码

创建好项目后,即可开始书写代码。左边是项目文件夹结构,右边是代码编辑区。

2.3 编译并运行

点击绿色的小箭头即可运行代码。

程序的输入输出交互窗口在最下面。程序运行后会自动弹出。

2.4 调试

CLion的Debug和Xcode的Debug模式的进入不一样。在Xcode中,我们设置断点后,直接运行程序即可debug。在CLion中,我们设置断点后,需要进入Debug模式,而不是直接运行代码。

调试的3种模式和Xcode的一模一样,就不再赘述。