「Mac玩转仓颉内测版3」入门篇3 - Cangjie的基本语法与结构

news2024/11/14 13:35:37

本篇将深入探讨Cangjie语言的基本语法与结构。这些基础知识为编写高效、可维护的代码奠定了坚实基础。通过理解语句结构、表达式、注释及数据类型,能够更自信地使用Cangjie进行编程。

关键词
  • Cangjie基本语法
  • 语句结构
  • 表达式
  • 注释
  • 数据类型
  • 控制结构

一、基本语法
1.1 语句结构

Cangjie的语句结构是代码的基本形式,包括赋值语句、条件语句和循环语句。

  • 赋值语句:用于将值赋给变量。

    let x: Int64 = 10
    println(x)  // 输出变量x的值
    

    输出

    10
    
  • 条件语句:用于控制程序的执行流。

    if (x > 0) {
        println("x是正数")  // 如果x大于0,则输出相应信息
    }
    

    输出

    x是正数
    
  • 循环语句:用于重复执行特定代码块。

    for (i in 1..=5) {
        println(i)  // 输出1到5的所有数字
    }
    

    输出

    1
    2
    3
    4
    5
    
1.2 表达式

Cangjie支持多种表达式,包括算术运算和逻辑运算。

  • 算术运算:如加法、减法等。

    let a: Int64 = 1
    let b: Int64 = 2
    let sum: Int64 = a + b
    println(sum)  // 输出a和b的和
    

    输出

    3
    
  • 逻辑运算:如与、或等。

    if (a > 0 && b < 10) {
        println("a > 0 并且 b < 10")  // 同时满足a大于0和b小于10的条件
    }
    

    输出

    a > 0 并且 b < 10
    

二、变量命名与标识符概述

在Cangjie编程语言中,开发者可以为程序元素命名,这些名称被称为“标识符”。标识符分为普通标识符和原始标识符,遵循不同的命名规则。普通标识符不能与Cangjie关键字相同,并由特定字符序列构成。原始标识符则允许在普通标识符或关键字外加反引号,以便将关键字作为标识符使用。


三、注释

注释用于提高代码的可读性和维护性。在Cangjie中,注释分为两种类型:

3.1 单行注释
  • 使用 // 进行单行注释,可用于解释代码或暂时屏蔽代码行。

    // 输出欢迎信息
    println("Welcome to Cangjie!")
    

    输出

    Welcome to Cangjie!
    
3.2 多行注释
  • 使用 / / 包裹多行注释,适合于较长的说明或屏蔽多行代码。

    /*
     * 计算阶乘的函数
     * 参数:n - 要计算的整数
     * 返回:n的阶乘
     */
    func factorial(n: Int): Int {
        // 函数体
    }
    

四、数据类型

Cangjie支持多种数据类型,包括:

4.1 整数类型
  • Int64:用于表示64位整数。

    let age: Int64 = 25  // 年龄变量
    println(age)
    

    输出

    25
    
4.2 浮点数类型
  • Float64:用于表示双精度浮点数。

    let height: Float64 = 1.75  // 身高变量
    println(height)
    

    输出

    1.750000
    
4.3 字符串类型
  • String:用于表示文本数据。

    let name: String = "Cangjie"  // 姓名变量
    println(name)
    

    输出

    Cangjie
    
4.4 布尔类型
  • Bool:表示真(true)或假(false)的值。

    let isAdult: Bool = true  // 是否成年人
    println(isAdult)
    

    输出

    true
    

五、控制结构

控制结构用于控制程序的执行流程,包括条件判断和循环结构。

5.1 条件判断

使用 ifelse ifelse 进行条件判断。

let age: Int64 = 25
if (age > 18) {
    println("大于18岁")  // 如果年龄大于18,输出信息
} 
else if (age < 18 && age > 0) {
    println("小于18岁")  // 如果年龄在0到18之间,输出信息
} 
else {
    println("输入负数,错误")  // 如果输入负数,输出错误信息
}

输出

大于18岁
5.2 循环结构

for循环while循环用于重复执行代码块。

for (_ in 1..=3) {
    println('*')  // 输出3个星号
}

var i: Int64 = 0
let data: Int64 = 3
while (i < data) {
    println('#')  // 输出3个井号
    i += 1
}

输出

*
*
*
#
#
#

小结

本篇全面介绍了Cangjie语言的基本语法与结构,包括语句结构、表达式、注释、数据类型及控制结构。掌握这些基础知识将为后续的编程学习打下坚实基础,为创建高效、可维护的代码奠定基础。


下篇预告

下一篇将详细介绍Cangjie中的变量命名规则,包括普通标识符和原始标识符的命名规范,以帮助更好地使用标识符,敬请期待!


上一篇:「Mac玩转仓颉内测版2」入门篇2 - 编写第一个Cangjie程序
下一篇:「Mac玩转仓颉内测版4」入门篇4 - Cangjie变量命名规则

作者:SoraLuna
链接:https://www.nutpi.net/thread?topicId=85
來源:坚果派
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2239347.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

光老化测试的三种试验:紫外老化、氙灯老化、碳弧灯老化

光老化是指材料在阳光照射下&#xff0c;由于紫外线、热和氧气的共同作用而发生的物理和化学变化。这种现象对纺织材料、塑料材料、涂料材料和橡胶材料的应用有显著影响。这些材料户外家具、汽车内饰和户外供水排水管道、建筑外墙涂料、汽车漆面、船舶涂料、汽车轮胎、密封件、…

VMWare安装包及安装过程

虚拟机基本使用 检查自己是否开启虚拟化 如果虚拟化没有开启&#xff0c;需要自行开启&#xff1a;百度加上自己电脑的品牌型号&#xff0c;进入BIOS界面开启 什么是虚拟机 所谓的虚拟机&#xff0c;就是在当前计算机系统中&#xff0c;又开启了一个虚拟系统 这个虚拟系统&…

消费的外部性

大学宿舍&#xff0c;遇到在你睡觉的时候开外放不戴耳机的室友&#xff0c;但中午12点&#xff0c;室友却在那拉上窗帘睡觉。能带饭吗&#xff1f;能代签到吗&#xff1f;能倒个垃圾吗&#xff1f;能带个外卖吗&#xff1f;自己永远麻烦别人&#xff0c;你要让他帮个忙又这推那…

易趋亮相2024 PMI项目管理大会

11月9日-10日&#xff0c;2024 PMI项目管理大会在广州圆满举办&#xff0c;项目管理行业优秀代表企业——易趋&#xff08;隶属深圳市蓝云软件有限公司&#xff09;&#xff0c;携最新产品和解决方案亮相本次展会。 (主论坛现场&#xff09; 本届大会以“‘项’有所成 行以致远…

边缘计算与推理算力:智能时代的加速引擎

在数据量爆炸性增长的今天&#xff0c;边缘计算与推理算力正成为推动智能应用的关键力量。智能家居、自动驾驶、工业4.0等领域正在逐步从传统的云端计算转向边缘计算&#xff0c;而推理算力的加入&#xff0c;为边缘计算提供了更强的数据处理能力和实时决策能力。本文将探讨边缘…

基于matlab的CNN食物识别分类系统,matlab深度学习分类,训练+数据集+界面

文章目录 前言&#x1f393;一、数据集准备&#x1f393;二、模型训练&#x1f340;&#x1f340;1.初始化&#x1f340;&#x1f340;2.加载数据集&#x1f340;&#x1f340;3.划分数据集&#xff0c;并保存到新的文件夹&#x1f340;&#x1f340;4.可视化数据集&#x1f34…

马斯克万卡集群AI数据中心引发的科技涟漪:智算数据中心挑战与机遇的全景洞察

一、AI 爆发重塑数据中心格局 随着AI 技术的迅猛发展&#xff0c;尤其是大模型的崛起&#xff0c;其对数据中心产生了极为深远的影响。大模型以其数以亿计甚至更多的参数和对海量数据的处理需求&#xff0c;成为了 AI 发展的核心驱动力之一&#xff0c;同时也为数据中心带来了…

移远通信亮相骁龙AI PC生态科技日,以领先的5G及Wi-Fi产品革新PC用户体验

PC作为人们学习、办公、娱乐的重要工具&#xff0c;已经深度融入我们的工作和生活。随着物联网技术的快速发展&#xff0c;以及人们对PC性能要求的逐步提高&#xff0c;AI PC成为了行业发展的重要趋势。 11月7-8日&#xff0c;骁龙AI PC生态科技日在深圳举办。作为高通骁龙的重…

Unity资源打包Addressable资源保存在项目中

怎么打包先看“Unity资源打包Addressable AA包” 其中遗留一个问题&#xff0c;下载下来的资源被保存在C盘中了&#xff0c;可不可以保存在项目中呢&#xff1f;可以。 新建了一个项目&#xff0c;路径与“Unity资源打包Addressable AA包”都不相同了 1.创建资源缓存路径 在…

postman变量和脚本功能介绍

1、基本概念——global、collection、environment 在postman中&#xff0c;为了更好的管理各类变量、测试环境以及脚本等&#xff0c;创建了一些概念&#xff0c;包括&#xff1a;globals、collection、environment。其实在postman中&#xff0c;最上层还有一个Workspaces的概…

为什么汽车电源正在用 48V 取代 12V

欧姆定律也有利于 48 伏电源 假设您需要为汽车的起动电机供电。可能存在以下静态和动态特征&#xff1a; 电源电压&#xff1a;12V 额定电流&#xff1a;40A 额定功率&#xff1a;480W 标称平均阻抗&#xff1a;0.3Ω 浪涌电流&#xff1a;150A 浪涌功率&#xff1a;1,8…

【webrtc】 RTP 中的 MID(Media Stream Identifier)

RTP 中的 MID(Media Stream Identifier) RID及其与MID的区别 cname与mid的对比【webrtc】CNAME 是rtprtcp中的Canonical Name(规范化名称) 同样都是RTP头部扩展: 基于mediasoup的最新的代码,学习,发现mid在创建RtpSendStream时是必须传递的参数: 例如 D:\XTRANS\soup\…

酷炫的鼠标移入效果(附源码!!)

预览效果 源码(htmljs部分) <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title>…

PHP和Python脚本的性能监测方案

目录 1. 说明 2. PHP脚本性能监测方案 2.1 安装xdebug 2.2 配置xdebug.ini 2.3 命令行与VS Code中使用 - 命令行 - VS Code 2.4 QCacheGrind 浏览 3. Python脚本性能监测方案 3.1 命令行 4. 工具 5.参考 1. 说明 获取我们的脚本程序运行时的指标&#xff0c;对分析…

【人工智能】10分钟解读-深入浅出大语言模型(LLM)——从ChatGPT到未来AI的演进

文章目录 一、前言二、GPT模型的发展历程2.1 自然语言处理的局限2.2 机器学习的崛起2.3 深度学习的兴起2.3.1 神经网络的训练2.3.2 神经网络面临的挑战 2.4 Transformer的革命性突破2.4.1 Transformer的核心组成2.4.2 Transformer的优势 2.5 GPT模型的诞生与发展2.5.1 GPT的核心…

hive中windows子句的使用

概述 1&#xff0c;windows子句是对窗口的结果做更细粒度的划分 2、windows子句中有两种方式 rows &#xff1a;按照相邻的几行进行开窗 range&#xff1a;按照某个值的范围进行开窗 使用方式 (rows | range) between (UNBOUNDED | [num]) PRECEDING AND ([num] PRECEDING…

GPT4的下一代Orion已经降速了?

嘿&#xff0c;大家好&#xff0c;我是小索奇&#xff01;说起AI&#xff0c;相信不少人都和我一样&#xff0c;总感觉这玩意儿发展得就像装了火箭&#xff0c;快得让人眼花缭乱。咱们从GPT-3到GPT-4&#xff0c;一路哇哦着过来&#xff0c;天天惊叹它越来越聪明&#xff0c;越…

【LinuxC编程】06 - 守护进程,线程

进程组和会话 概念和特性 进程组&#xff0c;也称之为作业。BSD于1980年前后向Unix中增加的一个新特性。代表一个或多个进程的集合。每个进程都属于一个进程组。在waitpid函数和kill函数的参数中都曾使用到。操作系统设计的进程组的概念&#xff0c;是为了简化对多个进程的管…

探索 Python 图像处理的瑞士军刀:Pillow 库

文章目录 探索 Python 图像处理的瑞士军刀&#xff1a;Pillow 库第一部分&#xff1a;背景介绍第二部分&#xff1a;Pillow库是什么&#xff1f;第三部分&#xff1a;如何安装这个库&#xff1f;第四部分&#xff1a;简单的库函数使用方法第五部分&#xff1a;结合场景使用库第…

【数据结构 | C++】字符串关键字的散列映射

字符串关键字的散列映射 给定一系列由大写英文字母组成的字符串关键字和素数P&#xff0c;用移位法定义的散列函数H(Key)将关键字Key中的最后3个字符映射为整数&#xff0c;每个字符占5位&#xff1b;再用除留余数法将整数映射到长度为P的散列表中。 例如将字符串AZDEG插入长…