【华为仓颉编程语言】运行第一个仓颉程序

欢迎来到仓颉编程语言的第一个实战课程。

上节课我们成功安装了仓颉工具链,今天让我们一起编写并运行第一个仓颉程序。相信很多同学都还记得学习第一门编程语言时写的"Hello World"程序,那种看到程序成功运行的激动心情。今天,我们就要在仓颉语言中重现这个经典时刻!

一、第一个程序的完整流程

让我们先看看编写和运行仓颉程序的完整流程:
开始 创建源文件 编写代码 保存文件 编译程序 运行程序 查看输出 hello.cj main函数 cjc编译器 可执行文件 你好,仓颉

看起来步骤不少,但实际操作起来非常简单。让我来一步步带大家完成。

二、创建第一个仓颉源文件

首先,我们需要创建一个仓颉源文件。仓颉源文件的扩展名是.cj,这就像Java用.java,Python用.py一样。
文件命名规则 扩展名 文件名 编码格式 .cj
仓颉源文件 hello
简洁明了 UTF-8
支持中文 hello.cj 完整文件名

创建一个名为hello.cj的文件。注意:

  • 文件名可以自定义,但建议使用有意义的名称
  • 扩展名必须是.cj
  • 建议使用UTF-8编码,这样可以在代码中使用中文

三、编写Hello World程序

现在让我们来编写代码。打开hello.cj文件,输入以下内容:

swift 复制代码
// hello.cj
main() {
    println("你好,仓颉")
}

让我详细解释一下这段代码的每个部分:
代码结构 注释 main函数 函数体 // hello.cj
单行注释 main()
程序入口 {...}
代码块 println函数 打印功能 自动换行 你好,仓颉 字符串参数

代码解析

  1. 注释部分// hello.cj

    • 这是单行注释,用于说明文件名
    • 仓颉支持两种注释方式
  2. main函数main() { ... }

    • 这是程序的入口点
    • 注意:仓颉的main函数不需要func关键字
    • 每个可执行程序都必须有main函数
  3. println函数println("你好,仓颉")

    • 用于打印输出
    • 自动在末尾添加换行符
    • 可以打印中文字符串

四、仓颉的注释系统

让我们深入了解一下仓颉的注释语法:
注释类型 单行注释 多行注释 // 开头 到行尾结束 用于简短说明 /* 开始 */ 结束 可跨越多行 使用场景 文件说明 函数说明 代码解释 临时屏蔽

示例:

swift 复制代码
// 这是单行注释,解释下面的代码

/* 这是多行注释
   可以写很多行
   用于详细说明 */

main() {
    // 打印欢迎信息
    println("你好,仓颉")  // 行尾注释
    
    /* 暂时屏蔽这段代码
    println("这行不会执行")
    */
}

五、编译仓颉程序

代码写好了,接下来要编译它。仓颉使用cjc编译器:
用户 终端 cjc编译器 文件系统 输入编译命令 cjc hello.cj -o hello 调用编译器 读取hello.cj 词法分析 语法分析 语义分析 代码生成 生成可执行文件 hello (Linux/macOS) hello.exe (Windows) 编译完成 用户 终端 cjc编译器 文件系统

编译命令详解

编译命令 cjc hello.cj -o hello 编译器名称 源文件 输出选项 输出文件名 平台差异 Linux/macOS Windows cjc hello.cj -o hello cjc hello.cj -o hello.exe

命令解释:

  • cjc:仓颉编译器的命令
  • hello.cj:要编译的源文件
  • -o:指定输出文件名的选项
  • hello:生成的可执行文件名

六、运行程序

编译成功后,让我们运行程序:
运行方式 Linux/macOS Windows ./hello 输出结果 hello.exe .\hello.exe 你好,仓颉

不同平台的运行命令:

  • Linux/macOS : ./hello
  • Windows : hello.exe.\hello.exe

七、完整的开发流程演示

让我们把整个过程串起来看:
运行阶段 编译阶段 编写阶段 执行程序 查看输出 执行cjc命令 生成可执行文件 创建hello.cj 编写main函数 添加println

八、常见问题与解决方案

常见问题 编译错误 运行错误 输出问题 文件名错误 语法错误 路径问题 权限不足 找不到文件 乱码问题 没有输出 检查扩展名.cj 检查括号匹配 chmod +x 使用UTF-8

问题解决指南

  1. 找不到cjc命令

    • 检查是否正确安装仓颉工具链
    • 确认环境变量配置正确
  2. 编译报错

    • 检查文件扩展名是否为.cj
    • 确认代码语法正确,特别是括号匹配
  3. 运行时权限不足(Linux/macOS)

    • 使用chmod +x hello添加执行权限
  4. 中文乱码

    • 确保源文件使用UTF-8编码
    • 检查终端编码设置

九、扩展练习

现在你已经成功运行了第一个仓颉程序,让我们尝试一些变化:

swift 复制代码
// 练习1:打印多行
main() {
    println("你好,仓颉")
    println("Hello, Cangjie")
    println("欢迎来到仓颉的世界!")
}

// 练习2:使用print不换行
main() {
    print("你好,")
    print("仓颉")
    println("!")  // 最后换行
}

// 练习3:添加更多注释
/* 
 * 我的第一个仓颉程序
 * 作者:你的名字
 * 日期:今天的日期
 */
main() {
    // 使用中文打印欢迎信息
    println("你好,仓颉")
    
    // 也可以用英文
    println("Hello, Cangjie")
}

课程总结

今日要点 源文件 编译 运行 调试 .cj扩展名 UTF-8编码 cjc编译器 -o指定输出 ./执行 查看结果 理解错误 解决问题

恭喜你!今天我们成功完成了:

  1. 创建了第一个仓颉源文件 - hello.cj
  2. 编写了第一个仓颉程序 - 包含main函数和println
  3. 学会了编译命令 - cjc的基本使用
  4. 成功运行了程序 - 看到了"你好,仓颉"

这虽然是个简单的程序,但它标志着你正式踏入了仓颉编程的大门。从这个简单的开始,我们将逐步学习更多仓颉的特性和功能。


作业

  1. 创建一个新的程序,打印你的名字和今天的日期
  2. 尝试使用多行注释记录你的学习心得
  3. 探索print和println的区别
相关推荐
前端世界20 小时前
鸿蒙分布式任务调度深度剖析:跨设备并行计算的最佳实践
分布式·华为·harmonyos
长弓三石1 天前
鸿蒙网络编程系列61-仓颉版基于TCP实现最简单的HTTP服务器
网络·harmonyos·鸿蒙·仓颉
少恭写代码2 天前
duxapp 2025-05-29 更新 兼容鸿蒙C-API方案,现在鸿蒙端可以用于生产
华为·harmonyos
科技风向标3 天前
物联网架构全解析:华为“1+2+1”与格行随身WiFi,技术如何定义未来生活?
物联网·华为·架构
高木的小天才3 天前
HarmonyOS 页面跳转新方案:HMRouter 路由框架全方位使用指南与实践案例
华为·typescript·harmonyos
YL雷子3 天前
HarmonyOS应用开发环境搭建以及快速入门介绍
华为·harmonyos
华研前沿标杆游学3 天前
[特殊字符]企业游学 | 探秘字节,解锁AI科技新密码
华为
Fanmeang4 天前
VGMP(VRRP Group Management Protocol)VRRP组管理协议
运维·网络·华为·防火墙·vrrp·双机热备·vgmp
GLAB-Mary4 天前
【注意】HCIE-Datacom华为数通考试,第四季度将变题!
华为·华为认证·hcie