琉离铟落的小窝琉离铟落的小窝
← 返回文章列表
2026-06-24
#Cangjie#入门教程

第一个仓颉程序

步入Cangjie的世界,从零运行起你的第一个程序

1.1.1 第一个仓颉程序

欢迎来到Cangjie编程语言的世界!本教程将手把手带你编写并运行第一个仓颉程序。即使你之前没有任何编程经验,也不用担心——我们会从最基础的操作开始讲解。


准备工作

在开始之前,你需要准备两样东西:

  1. 安装 Cangjie 编译器 —— 你可以从官方下载页面下载最新版本并安装。
  2. 准备一个文本编辑器 —— 推荐使用 VS Code(免费且好用),当然你也可以用记事本等任何能编辑文字的软件。

1.1.2 什么是"编译器"?

计算机只能理解二进制(0 和 1),看不懂我们写的 println("Hello, World") 这种代码。编译器就像一个"翻译官",把你写的代码翻译成计算机能执行的程序。

所以,写仓颉程序的流程就是:

code
你写代码 (.cj 文件)  →  编译器 (cjc) 翻译  →  可执行程序  →  运行看结果

1.1.3 方法一:直接用 cjc 编译器(最简方式)

这个方法步骤最少,适合想快速体验"Hello World"的同学。

第 1 步:创建项目文件夹

在你的电脑上任意位置创建一个新文件,名字随意,比如叫 hello.cj。(一定要有.cj后缀)

.cj 是仓颉源码文件的扩展名,就像 Word 文档的扩展名是 .docx 一样。
ℹ️NOTE

文件夹名字建议用英文,避免一些工具对中文路径支持不佳。

第 2 步:打开源码文件

用 VS Code(或记事本)打开 hello.cj

第 3 步:编写代码

hello.cj 中输入以下代码:

Cangjie
main() {
    println("Hello, World")
}
💡TIP

代码解读(看不懂没关系,先有个印象):

  • main() —— 程序的入口,运行程序时会从这里开始执行。
  • println(...) —— 是一个"打印"函数,作用是把括号里的内容显示在屏幕上。
  • "Hello, World" —— 要显示的文字,用双引号包裹。
  • 花括号 { } —— 表示 main() 函数要执行的代码范围。

第 4 步:编译代码

打开终端,使用 cd 命令切换到 hello.cj 所在的文件夹:

Bash
cd 你存放hello.cj的路径
ℹ️NOTE

如果你把文件夹放在了桌面,路径一般是 C:\Users\你的用户名\Desktop
在 VS Code 中,可以直接右键文件夹选择"在终端中打开",省去 cd 的步骤。

然后在终端中输入以下命令进行编译:

Bash
cjc hello.cj -o hello
💡TIP

这条命令是什么意思?

  • cjc —— 调用仓颉编译器
  • hello.cj —— 告诉编译器要编译哪个文件
  • -o hello —— 指定编译后输出的可执行文件叫 hello

如果你是 Windows 系统,建议在 hello 后面加上 .exe,即:

Bash
cjc hello.cj -o hello.exe

如果编译成功,终端不会显示错误信息,并且文件夹里会多出一个可执行文件(hellohello.exe)。

第 5 步:运行程序

编译成功后,在终端中输入:

Bash
# Windows 系统
hello.exe

# macOS / Linux 系统
./hello

你会看到屏幕上输出:

Bash
Hello, World

🎉 恭喜!你写并运行了第一个仓颉程序!


1.1.4 方法二:使用 cjpm 项目管理工具(推荐)

IMPORTANT

在实际开发中,我们几乎不会直接用 cjc 编译单个文件,而是使用仓颉的项目管理工具 cjpm(Cangjie Project Manager)。

cjpm 可以帮助你:

  • ✅ 快速创建项目模板
  • ✅ 自动管理编译和运行
  • ✅ 后续还能管理依赖包

下面我们用 cjpm 来创建同样的"Hello World"程序。

第 1 步:创建并初始化项目

创建一个新文件夹,比如叫 demo,用 VS Code 打开它。

然后在终端中输入:

Bash
cjpm init

执行成功后,终端会提示 cjpm init success。此时 cjpm 会在当前目录下自动生成项目结构:

Bash
demo                        # 项目根文件夹
├── cjpm.toml               # 项目的配置文件(类似身份证)
└── src                     # 存放源码的文件夹
    └── main.cj             # 默认生成的源码文件(程序入口)
ℹ️NOTE

看到 cjpm.toml 你可能会好奇它是什么——简单来说,它记录了你的项目叫什么名字、用哪个版本等信息。后续文章会详细介绍,现在你只需要知道它是由 cjpm init 自动生成的就行。

第 2 步:打开源码文件看看

打开 src 文件夹下的 main.cj,里面已经有 cjpm 帮你写好的示例代码:

Cangjie
package demo

main(): Int64 {
    println("hello world")
    return 0
}

和之前直接用 cjc 的代码相比,这里多了几样东西:

新内容 说明 类比
package demo 声明这个文件属于 demo 包(可以理解为"这个文件是 demo 项目的一部分") 就像班级里的每个同学属于某个班级一样
main(): Int64 这里的 : Int64 表示 main() 函数会返回一个整数 就像"我做完事情后会告诉你一个数字结果"
return 0 返回数字 0 给操作系统,表示程序正常结束 相当于"报告,任务完成,一切正常!"
💡TIP
对于现在的你来说,可以暂时忽略 package demoInt64return 0,只需要知道:
- main() 是程序开始执行的地方
- println(...) 是打印内容到屏幕上

其余的内容在后面文章中都会学到。

第 3 步:编译并运行

在终端中输入一条命令即可完成编译 + 运行:

Bash
cjpm run

你会看到屏幕上输出:

Bash
hello world
ℹ️NOTE

这里输出的是 hello world(小写),因为 cjpm 生成的示例代码用的是小写。如果你想改成 Hello, World(大写),可以直接编辑 main.cj 中的 println 内容。

🎉 又成功了!现在你已经掌握了两种运行仓颉程序的方法。


1.1.5 两种方法对比

对比项 方法一:cjc 直接编译 方法二:cjpm 项目管理
适合场景 快速测试单个文件 正式项目开发
命令数量 两步:编译 → 运行 一步:cjpm run
项目结构 手动管理 自动生成
后续扩展 需要自己配置 支持包管理、依赖等
💡TIP

对于本教程后面的文章,建议使用 cjpm 方式创建项目,更接近真实开发流程。


1.1.6 动手试一试 ✏️

试着修改 main.cj 中的代码,把 hello world 改成你自己的名字,比如:

Cangjie
main(): Int64 {
    println("你好,我是牢大!")
    return 0
}

然后再次运行 cjpm run,看看屏幕上是不是输出了你修改的内容?


1.1.7 常见问题(小白看这里 👀)

Q1:终端提示"cjc 不是内部或外部命令"

原因:编译器没有安装,或者安装后没有配置环境变量。

解决方法

  1. 检查是否已经安装了仓颉编译器
  2. 如果已安装,尝试重启终端或重启电脑
  3. 如果还是不行,请参考官方文档的环境变量配置说明

Q2:编译时报错,提示语法错误

原因:代码可能有拼写错误,比如全角符号、漏了括号等。

解决方法

  • 检查代码中的括号 () 和花括号 {} 是否成对出现
  • 检查双引号 "" 是否为英文半角符号(中文引号 "" 不行)
  • 检查是否有单词拼写错误,比如 println 写成了 printl

Q3:运行程序后窗口一闪而过

原因:程序执行完就自动退出了,这是正常现象。

解决方法:如果是在 VS Code 终端中运行,输出会保留在终端里,可以慢慢看。


1.1.8 总结

知识点 内容
源码文件 .cj 结尾,里面写仓颉代码
入口函数 main() 是程序开始执行的起点
打印输出 println("内容") 可以把内容显示在屏幕上
编译命令 cjc 文件名.cj -o 输出名
运行命令 cjpm run(推荐)
编译器作用 把人类写的代码翻译成计算机能执行的程序
💡TIP

下一步 → 学习仓颉的注释,给你的代码添加说明文字!