
第3篇数据的运算——让数据动起来作者李金雨联系方式wbtm2718qq.com目标读者Rust中文编程核心理念AI时代必须使用中文编程母语编程阅读效率极高1. 开篇引入本课目标掌握Rust的基本算术运算符掌握Rust的比较运算符掌握Rust的逻辑运算符掌握Rust的赋值运算符理解运算优先级生活场景引入想象一下你有一些数字卡片你可以对它们进行各种操作把两张卡片上的数字加起来比较两张卡片上数字的大小根据卡片上的数字做出判断在编程中我们也可以对数据进行各种运算让数据动起来。预期成果展示通过这节课的学习你将能够使用算术运算符进行加减乘除使用比较运算符比较数据大小使用逻辑运算符进行条件判断使用赋值运算符简化代码理解运算的优先级2. 概念讲解算术运算符算术运算符就像我们在数学中学习的加减乘除用来对数字进行运算。运算符功能示例结果加法1 23-减法5 - 32*乘法2 * 36/除法6 / 23%取余7 % 31fnmain(){let加法12;let减法5-3;let乘法2*3;let除法6/2;let取余7%3;println!(1 2 {},加法);println!(5 - 3 {},减法);println!(2 * 3 {},乘法);println!(6 / 2 {},除法);println!(7 % 3 {},取余);}比较运算符比较运算符用来比较两个值的大小或是否相等。运算符功能示例结果等于2 2true!不等于2 ! 3true大于3 2true小于2 3true大于等于3 3true小于等于2 3truefnmain(){let等于22;let不等于2!3;let大于32;let小于23;let大于等于33;let小于等于23;println!(2 2 {},等于);println!(2 ! 3 {},不等于);println!(3 2 {},大于);println!(2 3 {},小于);println!(3 3 {},大于等于);println!(2 3 {},小于等于);}逻辑运算符逻辑运算符用来组合多个条件进行逻辑判断。运算符功能示例结果与两个条件都为真true falsefalse或至少一个条件为真!非取反!truefalsefnmain(){let与运算truefalse;let或运算true||false;let非运算!true;println!(true false {},与运算);println!(true || false {},或运算);println!(!true {},非运算);}赋值运算符赋值运算符用来给变量赋值或者在原有的值基础上进行运算后再赋值。运算符功能示例等价于赋值a 5a 5加后赋值a 3a a 3-减后赋值a - 3a a - 3*乘后赋值a * 3a a * 3/除后赋值a / 3a a / 3fnmain(){letmuta5;println!(初始值{},a);// 加后赋值a3;println!(a 3 后{},a);// 减后赋值a-2;println!(a - 2 后{},a);// 乘后赋值a*2;println!(a * 2 后{},a);// 除后赋值a/3;println!(a / 3 后{},a);}字符串运算字符串也可以进行运算主要是拼接操作。fnmain(){let问候语你好;let姓名张三;let完整问候问候语.to_string()姓名;println!({},完整问候);// 输出你好张三// 也可以使用format!宏let完整问候2format!({}{},问候语,姓名);println!({},完整问候2);// 输出你好张三}运算优先级运算优先级决定了运算的执行顺序就像数学中的先乘除后加减。优先级从高到低括号()取负-乘法、除法、取余* / %加法、减法 -比较运算符 ! 逻辑非!逻辑与逻辑或||赋值运算符 - * /fnmain(){// 先计算乘法再计算加法let结果123*4;// 等于 2 12 14println!(2 3 * 4 {},结果1);// 使用括号改变优先级let结果2(23)*4;// 等于 5 * 4 20println!((2 3) * 4 {},结果2);}3. 动手实践基础练习必做简易计算器创建一个程序进行加减乘除运算fnmain(){leta10;letb5;println!({} {} {},a,b,ab);println!({} - {} {},a,b,a-b);println!({} * {} {},a,b,a*b);println!({} / {} {},a,b,a/b);}购物小票生成器创建一个程序计算购物总价fnmain(){let苹果价格5.5;let苹果数量2;let香蕉价格3.0;let香蕉数量3;let苹果总价苹果价格*苹果数量asf64;let香蕉总价香蕉价格*香蕉数量asf64;let总计苹果总价香蕉总价;println!(购物小票);println!(苹果{}元 × {}个 {}元,苹果价格,苹果数量,苹果总价);println!(香蕉{}元 × {}个 {}元,香蕉价格,香蕉数量,香蕉总价);println!(总计{}元,总计);}成绩统计分析创建一个程序计算成绩的总分、平均分、最高分fnmain(){let语文95;let数学98;let英语92;let总分语文数学英语;let平均分总分asf64/3.0;let最高分if语文数学{if语文英语{语文}else{英语}}else{if数学英语{数学}else{英语}};println!(成绩统计);println!(语文{}分,语文);println!(数学{}分,数学);println!(英语{}分,英语);println!(总分{}分,总分);println!(平均分{}分,平均分);println!(最高分{}分,最高分);}进阶练习选做温度转换创建一个程序实现摄氏度和华氏度的相互转换fnmain(){let摄氏度25.0;let华氏度摄氏度*9.0/5.032.0;println!({}摄氏度 {}华氏度,摄氏度,华氏度);let华氏度277.0;let摄氏度2(华氏度2-32.0)*5.0/9.0;println!({}华氏度 {}摄氏度,华氏度2,摄氏度2);}BMI指数计算器创建一个程序计算BMI指数并判断体重状态fnmain(){let身高1.75;// 单位米let体重50.5;// 单位公斤letbmi体重/(身高*身高);println!(身高{}米,身高);println!(体重{}公斤,体重);println!(BMI指数{},bmi);ifbmi18.5{println!(体重偏轻);}elseifbmi24.0{println!(体重正常);}elseifbmi28.0{println!(超重);}else{println!(肥胖);}}挑战练习拓展复合条件判断创建一个程序使用逻辑运算符进行复合条件判断fnmain(){let年龄15;let成绩85;// 判断是否可以参加比赛let可以参加年龄12年龄18成绩80;println!(是否可以参加比赛{},可以参加);// 判断是否需要补考let需要补考成绩60||成绩60成绩70;println!(是否需要补考{},需要补考);}4. 知识总结核心概念回顾算术运算符、-、*、/、%用于数学运算比较运算符、!、、、、用于比较大小逻辑运算符、||、!用于逻辑判断赋值运算符、、-、*、/用于赋值操作字符串运算使用或format!宏进行字符串拼接运算优先级决定运算的执行顺序括号可以改变优先级关键代码速查运算符类型运算符示例算术a b算术-a - b算术*a * b算术/a / b算术%a % b比较a b比较!a ! b比较a b比较a b逻辑a b逻辑逻辑!!a赋值a b赋值a b常见错误提醒整数除法两个整数相除会截断小数部分结果还是整数运算符优先级忘记使用括号导致运算顺序错误类型不匹配不同类型的数据不能直接进行运算字符串拼接需要注意运算符的使用规则5. 课后作业巩固练习题编写一个程序计算圆的面积和周长半径由用户输入编写一个程序判断一个数是否是偶数编写一个程序计算两个数的最大公约数创意编程题发挥你的创意创建一个程序计算你一周的零花钱使用情况编写一个程序模拟一个简单的计算器支持加减乘除和括号下篇预习提示下一篇我们将学习如果…那么——让程序做选择就像学习如何让程序根据不同的情况做出不同的决策。预习一下什么是条件判断语句如何使用if语句如何使用else和else if语句什么是match表达式恭喜你完成了第三篇教程你已经掌握了Rust的基本运算符学会了如何让数据动起来。继续加油下一篇我们将学习如何让程序做选择学习交流如果你在学习过程中遇到任何问题欢迎联系我** 视频号“时空系”邮箱wbtm2718qq.com其他提示本人正在开发纯中文编程语言和编译器有兴趣的可以交流本人正在写一本基于中国母语思维习惯的数学教材可以让你一年内学完从初中到研究生的数学而且可以让你快速掌握人工智能的关键数学知识有兴趣的可以交流祝你学习愉快