展示变量定义、数学运算和基本输出功能。这是CH+最基础的语法示例,演示了如何定义变量、进行数学运算以及使用控制台输出函数。
// 基础语法示例 定义(空类型) 主函数() { // 变量定义 定义(整型) 数值一 = 10; 定义(整型) 数值二 = 20; // 数学运算 定义(整型) 和 = 数值一 + 数值二; 定义(整型) 积 = 数值一 * 数值二; 定义(整型) 差 = 数值一 - 数值二; 定义(小数) 商 = 数值一 / 数值二; // 输出结果 控制台输出("a + b = " + 和); 控制台输出("a * b = " + 积); 控制台输出("a - b = " + 差); 控制台输出("a / b = " + 商); }
a + b = 30 a * b = 200 a - b = -10 a / b = 0.5
展示如果、否则、否则如果等条件判断语句的使用方法。通过成绩等级判断的例子,演示多条件分支的处理。
// 条件判断示例 - 成绩等级判断 定义(空类型) 主函数() { 定义(整型) 分数 = 85; // 成绩等级判断 如果 (分数 >= 90) { 控制台输出("成绩优秀!"); } 否则如果 (分数 >= 80) { 控制台输出("成绩良好!"); } 否则如果 (分数 >= 70) { 控制台输出("成绩中等!"); } 否则如果 (分数 >= 60) { 控制台输出("成绩及格!"); } 否则 { 控制台输出("成绩不及格,需要努力!"); } }
成绩良好!
展示对于循环和当循环的使用方法,包括循环计数、条件循环和循环嵌套等常见模式。
// 循环结构示例 定义(空类型) 主函数() { // 对于循环 - 打印1到5 控制台输出("对于循环示例:"); 定义(整型) i; 对于 (i = 1; i <= 5; i = i + 1) { 控制台输出(i); } // 当循环 - 计算累加和 控制台输出("当循环示例 - 计算1到10的和:"); 定义(整型) 总和 = 0; 定义(整型) n = 1; 当 (n <= 10) { 总和 = 总和 + n; n = n + 1; } 控制台输出("1到10的和 = " + 总和); }
对于循环示例: 1 2 3 4 5 当循环示例 - 计算1到10的和: 1到10的和 = 55
展示函数的定义和调用方法,包括参数传递、返回值、递归调用等高级特性。
// 函数定义示例 // 定义加法函数 定义(整型) 加法(定义(整型) a, 定义(整型) b) { 返回 a + b; } // 定义阶乘函数(递归) 定义(整型) 阶乘(定义(整型) n) { 如果 (n <= 1) { 返回 1; } 返回 n * 阶乘(n - 1); } // 主函数 定义(整型) 主函数() { // 调用加法函数 定义(整型) 结果 = 加法(10, 20); 控制台输出("10 + 20 = " + 结果); // 调用阶乘函数 定义(整型) 阶乘结果 = 阶乘(5); 控制台输出("5! = " + 阶乘结果); 返回 0; }
10 + 20 = 30 5! = 120
展示内联汇编和汇编执行块的使用方法,包括变量替换和返回值捕获等高级特性。
// 汇编执行示例 定义(整型) 主函数() { // 定义变量 定义(整型) 数值A = 10; 定义(整型) 数值B = 20; // 内联汇编 - 使用变量替换 asm("mov eax, ${数值A}"); asm("add eax, ${数值B}"); // 汇编执行块 定义(整型) 汇编结果; 汇编执行{ mov eax, 100 add eax, 50 返回 eax }; 控制台输出("汇编计算结果: " + 汇编结果); 返回 0; }
汇编计算结果: 150
展示系统调用和WindowsAPI的使用方法,包括平台检测、获取进程ID、获取系统时间等系统级操作。
// 系统调用示例 定义(整型) 主函数() { // 平台检测 控制台输出("当前平台: " + 平台); 控制台输出("操作系统: " + 操作系统); // 获取进程ID 定义(整型) 进程ID; 如果 (平台 == "Windows") { // Windows: GetCurrentProcessId WindowsAPI(24 进程ID); } 否则如果 (平台 == "Linux") { // Linux: getpid 系统调用(39 进程ID); } 否则如果 (平台 == "Android") { // Android: getpid 系统调用(39 进程ID); } 控制台输出("进程ID: " + 进程ID); // Windows专用功能 如果 (平台 == "Windows") { 定义(整型) 运行时间; // GetTickCount WindowsAPI(0 运行时间); 控制台输出("系统运行时间: " + 运行时间 + " 毫秒"); } 返回 0; }
当前平台: Windows 操作系统: Windows 进程ID: 12345 系统运行时间: 1234567 毫秒
展示结构体的定义和使用方法,包括成员访问、结构体数组等高级用法。
// 结构体示例 // 定义学生结构体 结构体 学生 { 字符串 姓名; 整型 年龄; 小数 分数; }; 定义(空类型) 主函数() { // 创建结构体实例 定义(学生) 学生一; 学生一.姓名 = "张三"; 学生一.年龄 = 18; 学生一.分数 = 95.5; // 输出学生信息 控制台输出("姓名: " + 学生一.姓名); 控制台输出("年龄: " + 学生一.年龄); 控制台输出("分数: " + 学生一.分数); }
姓名: 张三 年龄: 18 分数: 95.5
展示字符串的定义、拼接、比较等常用操作,以及字符串与数字之间的转换。
// 字符串操作示例 定义(空类型) 主函数() { // 字符串定义 定义(字符串) 姓名 = "张三"; 定义(字符串) 城市 = "北京"; // 字符串拼接 定义(字符串) 问候语 = "你好," + 姓名 + "!欢迎来到" + 城市; 控制台输出(问候语); // 字符串与数字转换 定义(整型) 年龄 = 25; 定义(字符串) 年龄文本 = "年龄: " + 年龄; 控制台输出(年龄文本); // 多行文本 控制台输出("===================="); 控制台输出(" 个人信息卡片"); 控制台输出("===================="); 控制台输出("姓名: " + 姓名); 控制台输出("城市: " + 城市); 控制台输出("年龄: " + 年龄); }
你好,张三!欢迎来到北京 年龄: 25 ==================== 个人信息卡片 ==================== 姓名: 张三 城市: 北京 年龄: 25
展示数组的定义、访问、遍历等操作,以及数组与循环的结合使用。
// 数组操作示例 定义(空类型) 主函数() { // 定义数组 定义(整型) 分数数组[5]; // 初始化数组 分数数组[0] = 85; 分数数组[1] = 92; 分数数组[2] = 78; 分数数组[3] = 95; 分数数组[4] = 88; // 遍历数组并计算总分 定义(整型) 总分 = 0; 定义(整型) i; 控制台输出("各科分数:"); 对于 (i = 0; i < 5; i = i + 1) { 控制台输出("科目" + (i + 1) + ": " + 分数数组[i]); 总分 = 总分 + 分数数组[i]; } // 计算平均分 定义(小数) 平均分 = 总分 / 5; 控制台输出("===================="); 控制台输出("总分: " + 总分); 控制台输出("平均分: " + 平均分); }
各科分数: 科目1: 85 科目2: 92 科目3: 78 科目4: 95 科目5: 88 ==================== 总分: 438 平均分: 87.6
展示文件的读取、写入和追加操作,实现数据的持久化存储。
// 文件操作示例 定义(空类型) 主函数() { // 写入文件 控制台输出("正在写入文件..."); 文件写入("test.txt", "Hello, CH+!\n"); 控制台输出("文件写入成功!"); // 追加内容 文件追加("test.txt", "这是追加的内容\n"); 控制台输出("内容追加成功!"); // 读取文件 控制台输出("===================="); 控制台输出("文件内容:"); 定义(字符串) 内容 = 文件读取("test.txt"); 控制台输出(内容); // 检查文件是否存在 定义(布尔型) 存在 = 文件存在("test.txt"); 如果 (存在) { 控制台输出("文件存在!"); } }
正在写入文件... 文件写入成功! 内容追加成功! ==================== 文件内容: Hello, CH+! 这是追加的内容 文件存在!
展示逻辑运算符与、或、非的使用方法,以及布尔类型的应用场景。
// 逻辑运算示例 定义(空类型) 主函数() { // 定义布尔变量 定义(布尔型) 条件A = 真; 定义(布尔型) 条件B = 假; // 逻辑与运算 如果 (条件A 并且 条件B) { 控制台输出("两个条件都为真"); } 否则 { 控制台输出("至少一个条件为假"); } // 逻辑或运算 如果 (条件A 或者 条件B) { 控制台输出("至少一个条件为真"); } // 逻辑非运算 如果 (非 条件B) { 控制台输出("条件B为假"); } // 复合逻辑运算 定义(整型) 年龄 = 25; 定义(整型) 收入 = 5000; 如果 (年龄 >= 18 并且 收入 >= 3000) { 控制台输出("符合条件"); } }
至少一个条件为假 至少一个条件为真 条件B为假 符合条件
展示退出循环和下一层循环的使用方法,实现循环的精确控制。
// 循环控制示例 定义(空类型) 主函数() { // 退出循环示例 - 找到第一个能被7整除的数 定义(整型) i = 1; 控制台输出("查找第一个能被7整除的数:"); 当 (i <= 20) { 如果 (i % 7 == 0) { 控制台输出(i); 退出循环; } i = i + 1; } // 下一层循环示例 - 打印奇数 控制台输出("打印1-10中的奇数:"); 对于 (i = 1; i <= 10; i = i + 1) { 如果 (i % 2 == 0) { 下一层循环; } 控制台输出(i); } }
查找第一个能被7整除的数: 7 打印1-10中的奇数: 1 3 5 7 9
展示控制台输入的使用方法,实现与用户的交互式程序。
// 用户输入示例 定义(空类型) 主函数() { // 获取用户姓名 控制台输出("请输入您的姓名:"); 定义(字符串) 姓名; 控制台输入(姓名); // 获取用户年龄 控制台输出("请输入您的年龄:"); 定义(整型) 年龄; 控制台输入(年龄); // 输出用户信息 控制台输出("===================="); 控制台输出("用户信息:"); 控制台输出("姓名: " + 姓名); 控制台输出("年龄: " + 年龄); // 年龄判断 如果 (年龄 >= 18) { 控制台输出("您已成年!"); } 否则 { 控制台输出("您未成年!"); } }
请输入您的姓名: 张三 请输入您的年龄: 25 ==================== 用户信息: 姓名: 张三 年龄: 25 您已成年!
展示嵌套循环的使用方法,通过九九乘法表和图形打印演示多层循环的应用。
// 嵌套循环示例 - 九九乘法表 定义(空类型) 主函数() { 控制台输出("九九乘法表:"); 定义(整型) i; 定义(整型) j; 对于 (i = 1; i <= 9; i = i + 1) { 对于 (j = 1; j <= i; j = j + 1) { 控制台输出(j + "×" + i + "=" + (i * j) + " "); } 控制台输出(""); } // 打印三角形 控制台输出("===================="); 控制台输出("打印三角形:"); 对于 (i = 1; i <= 5; i = i + 1) { 定义(字符串) 行 = ""; 对于 (j = 1; j <= i; j = j + 1) { 行 = 行 + "★"; } 控制台输出(行); } }
九九乘法表: 1×1=1 1×2=2 2×2=4 1×3=3 2×3=6 3×3=9 ... ==================== 打印三角形: ★ ★★ ★★★ ★★★★ ★★★★★
展示模块导入功能,使用标准库中的数学函数和字符串处理函数。
// 模块导入示例 // 导入标准库 导入("math.ch"); 定义(空类型) 主函数() { // 使用数学函数 控制台输出("数学函数示例:"); // 平方根 定义(小数) 根号16 = 平方根(16); 控制台输出("√16 = " + 根号16); // 幂运算 定义(小数) 二的三次方 = 幂(2, 3); 控制台输出("2³ = " + 二的三次方); // 绝对值 定义(小数) 绝对值结果 = 绝对值(-10.5); 控制台输出("|-10.5| = " + 绝对值结果); // 三角函数 定义(小数) 正弦值 = 正弦(1.57); 控制台输出("sin(1.57) ≈ " + 正弦值); }
数学函数示例: √16 = 4 2³ = 8 |-10.5| = 10.5 sin(1.57) ≈ 1
建议按照示例顺序逐步学习,先掌握基础语法,再学习高级特性。每个示例都可以直接运行,动手实践是学习编程的最佳方式!