找回密码
 立即注册
楼主: 平凡

学习《Ai8051U教学视频》感悟及学习体会

[复制链接]
  • 打卡等级:以坛为家I
  • 打卡总天数:209
  • 最近打卡:2026-03-31 05:41:30

16

主题

92

回帖

189

积分

注册会员

积分
189
发表于 2025-2-13 01:19:32 | 显示全部楼层
第五课  C语言基础(续5)

赋值运算符(Assignment Operators

1.概念

赋值运算符用于将值赋给变量。

例如:
int a = 10, b = 3;
a += b; // a = 13
a -= b; // a = 10
a *= b; // a = 30
a /= b; // a = 10
a %= b; // a = 1

2.应用

C语言中,赋值运算符用于将一个值赋给一个变量。除了基本的赋值运算符=之外,C语言还提供了一些复合赋值运算符,用于简化代码并提高效率。以下是赋值运算符的详细用法:

1基本赋值运算符(=

基本赋值运算符=用于将一个值赋给一个变量。语法如下:
variable = value;
variable 是要赋值的目标变量。
value 是要赋给变量的值,可以是一个常量、另一个变量或表达式的值。
例如
int a;
a = 10; // 将整数值10赋给变量a

2复合赋值运算符

复合赋值运算符结合了基本赋值运算符和其他运算符,用于执行某种运算并将结果赋值给变量。常见的复合赋值运算符包括:

a.加法赋值运算符(+=

将变量的值与另一个值相加,并将结果赋回变量。

variable += value;
等价于:
variable = variable + value;
例如
int a = 5;
a += 3; // 等价于 a = a + 3,结果 a = 8

b.减法赋值运算符(-=

将变量的值与另一个值相减,并将结果赋回变量。

variable -= value;
等价于:
variable = variable - value;
例如
int a = 5;
a -= 3; // 等价于 a = a - 3,结果 a = 2

c.乘法赋值运算符(*=

将变量的值与另一个值相乘,并将结果赋回变量。
variable *= value;
等价于:
variable = variable * value;
例如
int a = 5;
a *= 3; // 等价于 a = a * 3,结果 a = 15
d.除法赋值运算符(/=
将变量的值与另一个值相除,并将结果赋回变量。
variable /= value;
等价于:
variable = variable / value;
例如
int a = 10;
a /= 2; // 等价于 a = a / 2,结果 a = 5

e.取模赋值运算符(%=

将变量的值与另一个值取模,并将结果赋回变量。

variable %= value;
等价于:
variable = variable % value;
例如
int a = 10;
a %= 3; // 等价于 a = a % 3,结果 a = 1

f.位运算赋值运算符

位运算符也可以与赋值运算符结合使用,用于执行位运算并将结果赋回变量。
位与赋值运算符(&=
variable &= value;
等价于:
variable = variable & value;
例如
int a = 5; // 二进制表示为 0101
a &= 3;    // 二进制表示为 0011
// 结果 a = 0101 & 0011 = 0001,即 a = 1
位或赋值运算符(|=
variable |= value;
等价于:
variable = variable | value;
例如
int a = 5; // 二进制表示为 0101
a |= 3;    // 二进制表示为 0011
// 结果 a = 0101 | 0011 = 0111,即 a = 7
位异或赋值运算符(^=
variable ^= value;
等价于:
variable = variable ^ value;
例如
int a = 5; // 二进制表示为 0101
a ^= 3;    // 二进制表示为 0011
// 结果 a = 0101 ^ 0011 = 0110,即 a = 6
左移赋值运算符(<<=
variable <<= value;
等价于:
variable = variable << value;
例如
int a = 5; // 二进制表示为 0101
a <<= 2;   // 左移两位
// 结果 a = 0101 << 2 = 10100,即 a = 20

g.右移赋值运算符(>>=

variable >>= value;
等价于:
variable = variable >> value;
例如
int a = 5; // 二进制表示为 0101
a >>= 2;   // 右移两位
// 结果 a = 0101 >> 2 = 0001,即 a = 1

h.使用场景

赋值运算符在C语言中非常常用,可以简化代码并提高可读性。例如:
int a = 10;
a += 5;  // 等价于 a = a + 5
a -= 3;  // 等价于 a = a - 3
a *= 2;  // 等价于 a = a * 2
a /= 4;  // 等价于 a = a / 4
a %= 3;  // 等价于 a = a % 3
通过使用复合赋值运算符,代码更加简洁明了,同时也减少了重复的变量引用,提高了代码的效率。
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:209
  • 最近打卡:2026-03-31 05:41:30

16

主题

92

回帖

189

积分

注册会员

积分
189
发表于 2025-2-13 01:21:50 | 显示全部楼层
第五课  C语言基础(续6)

条件运算符(Conditional Operator

1.概念

条件运算符(也称为三元运算符)用于根据条件选择两个值中的一个。


例如:
int a = 10, b = 3;
int max = (a > b) ? a : b; // max = 10

2.应用

C语言中的条件运算符(也称为三元运算符)是一种简洁的语法,用于根据条件选择两个值中的一个。它的语法形式为:
condition ? expressionTrue : expressionFalse;
语法解释
condition:一个布尔表达式,用于判断条件是否为真(true)或假(false)。
expressionTrue:如果条件为真(true),则返回这个表达式的值。
expressionFalse:如果条件为假(false),则返回这个表达式的值。
使用例如
例如1:比较两个数的大小
假设我们需要比较两个数,找出较大的那个数,可以使用条件运算符:
int a = 10, b = 20;
int max = (a > b) ? a : b;
printf("The larger number is: %d\n", max);
输出:
The larger number is: 20
在这个例子中,条件是a > b。如果a > b为真(true),则max的值为a;否则,max的值为b
例如2:根据条件赋值
假设我们需要根据一个条件给变量赋值,例如:
int score = 85;
char grade = (score >= 60) ? 'P' : 'F';
printf("Grade: %c\n", grade);
输出:
Grade: P
在这个例子中,条件是score >= 60。如果score大于或等于60grade被赋值为'P'(表示通过);否则,grade被赋值为'F'(表示失败)。
例如3:嵌套条件运算符
条件运算符也可以嵌套使用,例如:
int score = 75;
char grade = (score >= 90) ? 'A' :
(score >= 80) ? 'B' :
(score >= 70) ? 'C' :
(score >= 60) ? 'D' : 'F';
printf("Grade: %c\n", grade);
输出:
Grade: C
在这个例子中,我们使用了嵌套的条件运算符来根据不同的分数范围给grade赋值:
如果score >= 90grade'A'
如果score >= 80但小于90grade'B'
如果score >= 70但小于80grade'C'
如果score >= 60但小于70grade'D'
如果score < 60grade'F'

例如学习者需要注意的几个问题:可读性:虽然条件运算符可以简化代码,但过度使用或嵌套过多可能会使代码难以阅读和维护。在复杂的情况下,建议使用if-else语句。
类型兼容性:expressionTrueexpressionFalse的类型应该兼容,否则可能会导致编译错误或运行时错误。
逻辑清晰:确保条件表达式的逻辑清晰,避免因逻辑错误导致程序行为异常。
条件运算符与if-else的对比
条件运算符可以看作是if-else语句的简化形式。例如,
以下if-else语句:
int a = 10, b = 20;
int max;
if (a > b)
{
max = a;
} else
{
max = b;
}
可以使用条件运算符简化为:
int a = 10, b = 20;
int max = (a > b) ? a : b;

条件运算符在某些情况下可以使代码更简洁,但在逻辑复杂时,if-else语句可能更清晰。
总之,条件运算符是一种非常有用的工具,可以在适当的情况下简化代码,但也要注意保持代码的可读性和可维护性。
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:209
  • 最近打卡:2026-03-31 05:41:30

16

主题

92

回帖

189

积分

注册会员

积分
189
发表于 2025-2-13 01:23:34 | 显示全部楼层
1
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:209
  • 最近打卡:2026-03-31 05:41:30

16

主题

92

回帖

189

积分

注册会员

积分
189
发表于 2025-2-13 01:24:20 | 显示全部楼层
1
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:209
  • 最近打卡:2026-03-31 05:41:30

16

主题

92

回帖

189

积分

注册会员

积分
189
发表于 2025-2-13 01:25:44 | 显示全部楼层
1
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:209
  • 最近打卡:2026-03-31 05:41:30

16

主题

92

回帖

189

积分

注册会员

积分
189
发表于 2025-2-13 01:26:08 | 显示全部楼层
1
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:209
  • 最近打卡:2026-03-31 05:41:30

16

主题

92

回帖

189

积分

注册会员

积分
189
发表于 2025-2-13 10:32:47 | 显示全部楼层
1
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:209
  • 最近打卡:2026-03-31 05:41:30

16

主题

92

回帖

189

积分

注册会员

积分
189
发表于 2025-2-13 10:33:29 | 显示全部楼层
          第五课  C语言基础(续4)
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:209
  • 最近打卡:2026-03-31 05:41:30

16

主题

92

回帖

189

积分

注册会员

积分
189
发表于 2025-2-13 10:34:00 | 显示全部楼层
1
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:209
  • 最近打卡:2026-03-31 05:41:30

16

主题

92

回帖

189

积分

注册会员

积分
189
发表于 2025-2-13 10:35:07 | 显示全部楼层
          第五课  C语言基础(续4)
回复

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2026-3-31 22:21 , Processed in 0.118947 second(s), 76 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表