「Mac玩转仓颉内测版5」入门篇5 - Cangjie控制结构(上)

本篇探讨Cangjie编程语言中的控制结构,主要包括条件表达式。控制结构是管理程序执行流程的核心部分,能够帮助编写复杂且灵活的逻辑程序。

关键词
  • Cangjie编程
  • 控制结构
  • 条件表达式
  • 分支结构
  • if表达式
  • 多级条件判断

一、控制结构概述

控制结构用于管理程序的执行流程。在Cangjie中,控制结构包括条件表达式(如 if)和循环表达式(如 for-inwhiledo-while)。这些结构允许根据不同条件执行代码块或重复执行操作。

1.1 表达式的定义

在Cangjie中,凡是可求值的语言元素都视为表达式,包括条件表达式、循环表达式和 try 表达式等。Cangjie为强类型语言,所有表达式不仅可求值,还有明确的类型。

1.1.1 Cangjie中的表达式

Cangjie表达式简化了传统编程语言中的定义,所有可计算的元素皆为表达式。这包括条件判断、循环操作等,表达式结果具有固定类型。


二、条件表达式

条件表达式用于根据某个条件决定执行哪段代码。在Cangjie中,主要使用 if 表达式。

2.1 if 表达式

if 表达式的基本形式如下:

if (条件) {分支1
} else {分支2
}
2.1.1 if 表达式的执行规则
  • 计算条件表达式:
    • 值为 true 时,执行分支1;
    • 值为 false 时,执行分支2。
  • 继续执行 if 表达式后的代码。

else 分支可以省略,仅在条件成立时执行代码。

示例:根据年龄判断是否成年人

main(): Int64 {let age: Int = 20if (age >= 18) {println("您是成年人。")}else {println("您是未成年人。")}return 0
}

输出示例:

您是成年人。

2.2 多级条件判断

通过 else if 可以执行多级条件判断,处理更复杂的分支逻辑。

2.2.1 多级条件示例
main(): Int64 {let temperature = 10if (temperature > 30) {println("天气炎热")}else if (temperature > 20) {println("天气温暖")}else if (temperature > 10) {println("天气凉爽")}else {println("天气寒冷")}return 0
}

输出示例:

天气寒冷

2.3 if 表达式的值与类型

if 表达式用于变量初始化时,其值和类型由分支的返回值决定。如果没有 else 分支,if 表达式的类型为 Unit,值为 ()。

2.3.1 使用 if 表达式初始化变量
main(): Int64 {let score = 85let grade = if (score >= 90) {"A"} else if (score >= 80) {"B"}else {"C"}println("您的成绩等级是:${grade}")return 0
}

输出示例:

您的成绩等级是:B

小结

本篇介绍了Cangjie中的控制结构,重点阐述了条件表达式的用法。通过多个示例展示了如何使用 if 表达式控制程序的执行流程。


下篇预告

下一篇将探讨Cangjie中的 whiledo-while 表达式的使用及其实际应用,帮助读者进一步掌握控制结构的灵活应用。


上一篇: 「Mac玩转仓颉内测版4」入门篇4 - Cangjie变量命名规则
下一篇:「Mac玩转仓颉内测版6」入门篇6 - Cangjie控制结构(中)

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


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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从北美火到中国,大数据洞察品牌“STANLEY”的突围之路

保守直筒大头的“硬汉”外形,以百变颜色踩中时尚命脉,与各路大牌“梦幻联动”,不少时尚弄潮儿没能逃过其“真香”诱惑。 这就是今年以来从北美火到中国的STANLEY,在“巨无霸”水杯中突围出属于自己的一条路。 最近STANLEY又整活…

linux逻辑卷练习

目录 知识点: 常用命令 题目: 解题: 1)分区 2)创建物理卷 3)创建卷组 4)生成逻辑卷 "要带参数 -n" 5)扩容 6)格式化(添加文件系统) 7)挂…

java版嘎嘎快充汽车单车充电系统源码系统jeecgboot

汽车使用云快充1.6 1.5协议,单车用的铁塔协议 前端uniapp、后端jeecgbootvue2

【Vitepress报错】Error: [vitepress] 8 dead link(s) found.

原因 VitePress 在编译时,发现 死链接(dead links) 会构建失败!具体在哪我也找不到… 解决方案 如图第一行蓝色提示信息,设置 Vitepress 属性 ignoredeadlinks 为 true 可忽略报错。 .vuepress/config.js export default defineConfig(…

《Django 5 By Example》阅读笔记:p105-p164

《Django 5 By Example》学习第5天,p105-p164总结,总计60页。 一、技术总结 1.文章标签功能 Django自带django-taggit。 2.自定义template tags 3.roadmap功能 4.RSS功能 5.full-text搜索功能 这里使用的是Postgresql,使用pip install psycopg安…

awk(常用)

这个有点难 O.o 一、awk # 语法 awk 参数 模式 {动作} 文件# 第一列,包含p的 $1~"p" # 第一列,不包含p的 $1!~"p" # 开始时干嘛,结束时干嘛 awk BEGIN{开始时做的事}END{结束时做的事}{print $0} 文件 1、内置变量&…

数据结构—栈和队列

目录 1.栈底层结构的选择 2.栈的实现 3.栈 3.1入栈 3.2出栈 3.3栈顶删除 4.队列 4.1队列介绍 4.2队列初始化 4.3入队列 4.4队头删除 1.栈底层结构的选择 栈是一种数据结构 具有“后进先出的”的特点 现在面临的两种选择,一种是顺序表,另一种…

安装paddle

网址:飞桨PaddlePaddle-源于产业实践的开源深度学习平台 或者找对应python和cuda版本的paddle下载后安装: https://www.paddlepaddle.org.cn/whl/linux/mkl/avx/stable.html 你想要安装paddlepaddle - gpu2.6.1.post112版本。在你提供的文件列表中&am…

【解决】Layout 下创建槽位后,执行 Image 同步槽位位置后表现错误的问题。

开发平台:Unity 6.0 编程语言:CSharp 编程平台:Visual Studio 2022   一、问题背景 | 开发库存系统 图1 位置同步失败问题 图2 位置正常同步效果表现 黑框 作用于 UnityEngine.UI.GridLayoutGruop,形成 4x6 布局,如…

电商系统开发:Spring Boot框架实战

3 系统分析 当用户确定开发一款程序时,是需要遵循下面的顺序进行工作,概括为:系统分析–>系统设计–>系统开发–>系统测试,无论这个过程是否有变更或者迭代,都是按照这样的顺序开展工作的。系统分析就是分析系…

深度神经网络DNN反向传播BP算法公式推导

深度神经网络DNN反向传播BP算法推导、δ法则 文章目录 前言一、单个神经元的内部结构二、前向传播三、反向传播总结 前言 \;\;\;\;\; 本文详细推导深度神经网络DNN反向传播BP算法中对权重w和偏置b的更新公式。通过图片和一步步的数学公式推导深刻理解反向传播BP算法&#xff0c…

借助Excel实现Word表格快速排序

实例需求:Word中的表格如下图所示,为了强化记忆,希望能够将表格内容随机排序,表格第一列仍然按照顺序编号,即编号不跟随表格行内容调整。 乱序之后的效果如下图所示(每次运行代码的结果都不一定相同&#x…

HarmonyOS 开发环境搭建

HarmonyOS(鸿蒙操作系统)作为一种面向全场景多设备的智能操作系统,正逐渐在市场上崭露头角。为了进入HarmonyOS生态,开发者需要搭建一个高效的开发环境。本文将详细介绍如何搭建HarmonyOS开发环境,特别是如何安装和配置…

Fish Agent V0.13B:Fish Audio的语音处理新突破,AI语音助手的未来已来!

近日,Fish Audio公司发布了一款全新的语音处理模型——Fish Agent V0.13B,这款模型以其高效、精确的语音生成和处理能力,尤其是在模拟或克隆不同声音方面的表现,引起了广泛关注。这不仅意味着我们在拥有一个声音自然、反应迅速的A…

Shell基础2

声明! 学习视频来自B站up主 **泷羽sec** 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团…

系统架构师考试18天极限备考复盘(2024年11月)

前言 写下这篇复盘笔记的时候还没有出成绩。泽崽目前是在读研究生,在经过 大概2周多个全日 的极限备考之后,于11月10日参加了软考的系统架构师考试(高级)。目前12月下旬才会出成绩,对于“基础知识-案例分析-论文”的估…

Tessy学习笔记—requirement(需求)的管理

1:什么是需求 Tessy中的requirement(需求)是,我们还是跟着Tessy官方的文档,继续学习,打开官方自带的工程Is Value In Range Requirement.project。 按照官方自带的操作手册,导入txt类型的需求…

web——sqliabs靶场——第六关——报错注入和布尔盲注

这一关还是使用报错注入和布尔盲注 一. 判断是否有sql注入 二. 判断注入的类型 是双引号的注入类型。 3.报错注入的检测 可以使用sql报错注入 4.查看库名 5. 查看表名 6.查看字段名 7. 查具体字段的内容 结束 布尔盲注 结束

Day44 | 动态规划 :状态机DP 买卖股票的最佳时机IV买卖股票的最佳时机III

Day44 | 动态规划 :状态机DP 买卖股票的最佳时机IV&&买卖股票的最佳时机III&&309.买卖股票的最佳时机含冷冻期 动态规划应该如何学习?-CSDN博客 本次题解参考自灵神的做法,大家也多多支持灵神的题解 买卖股票的最佳时机【…