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

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

上节课我们成功安装了仓颉工具链,今天让我们一起编写并运行第一个仓颉程序。相信很多同学都还记得学习第一门编程语言时写的"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的区别
相关推荐
熊猫钓鱼>_>7 小时前
精准碰一碰近场分享与拖拽投送实战:把文件“碰“进另一台设备【鸿蒙心迹】
开发语言·华为·harmonyos·鸿蒙·openharmony
三掌柜6668 小时前
06|鸿蒙7·端侧AI实战:提示注入,守住指令边界
人工智能·华为·harmonyos
马剑威(威哥爱编程)12 小时前
【HarmonyOS 7 小艺智能体实战】02:动工前的清单——账号、资质、工具链一次备齐
人工智能·华为·harmonyos
熊猫钓鱼>_>12 小时前
端侧高斯泼溅(3DGS)渲染与性能调优初探:把“实景重建“跑在手机上【鸿蒙心迹】
开发语言·3d·华为·智能手机·harmonyos
2501_9197490313 小时前
分享一款实用的鸿蒙App,整体感觉不错
华为·harmonyos
贵州诚鑫致达科技有限公司13 小时前
接入汇聚都是环怎么防环路?华为SEP加RRPP混合环
服务器·华为·php
三掌柜66613 小时前
04|鸿蒙7·端侧AI实战:检索增强,把证据带进回答
人工智能·华为·harmonyos
心态还需努力呀13 小时前
把 Zettlr 搬上鸿蒙 PC:墨匣学术写作编辑器移植与上架全记录
华为·编辑器·harmonyos
特立独行的猫a13 小时前
AI时代的应用开发神器:cj-tauri 已支持鸿蒙 PC,第一次的踩坑记录
ui·harmonyos·tauri·仓颉·鸿蒙pc·cj-tauri
Industio_触觉智能21 小时前
用鸿蒙开发鸿蒙!DevEco三件套已支持鸿蒙PC|触觉智能鸿蒙南向嵌入式厂家
华为·harmonyos·鸿蒙·鸿蒙系统·开发板·openharmony·开源鸿蒙