赋值语句专题课程介绍

课程目标

本课程将深入讲解C语言中赋值语句的核心概念,包括:

  • 赋值语句的基本格式与语法规则
  • 赋值语句的功能与执行过程
  • 赋值过程中的数据类型转换机制
  • 常见错误与最佳实践

通过本课程的学习,你将掌握赋值语句的正确使用方法,避免常见错误,并能够解决相关编程问题。

课程结构

模块 内容 练习
赋值语句格式 基本语法、复合赋值、多重赋值 3道选择题
赋值语句功能 赋值过程、左值要求、副作用 3道选择题
类型转换 隐式转换、强制转换、精度损失 3道选择题
综合练习 综合应用所有知识点 3道综合题

学习建议

认真阅读每个知识点的讲解,理解概念背后的原理

完成每部分的练习题,检验学习效果

注意总结中的易错点,避免在实际编程中犯错

对于代码示例,尝试在编译器中运行并修改参数观察结果

赋值语句的格式

<极致的div class="content-box">

基本赋值语句

赋值语句的基本格式:变量 = 表达式;

其中:

  • 变量:必须是可修改的左值(lvalue)
  • =:赋值运算符
  • 表达式:可以是常量、变量、函数调用或复杂表达式
int a, b, c; // 变量声明
a = 10; // 常量赋值
b = a; // 变量赋值
c = a + b * 2; // 表达式赋值

复合赋值运算符

C语言提供了复合赋值运算符,将算术运算与赋值结合:

运算符 示例 等价形式 说明
+= 极致的a += 5; a = a + 5; 加赋值
-= b -= 3; b = b - 3; 减赋值
*= c *= 2; c = c * 2; 乘赋值
/= d /= 4; d = d / 4; 除赋值
%= e %= 3; e = e % 3; 模赋值

多重赋值

C语言支持在一个语句中对多个变量赋值:

int x, y, z;
x = y = z = 100; // 所有变量赋值为100

// 等价于:
z = 100;
y = z;
x = y;

注意:赋值运算符从右向左结合,先计算最右边的赋值

练习题

题目一

以下赋值语句中,正确的是:

A. 10 = a;
B. a = b = 5;
C. a + b = 10;
D. int a = 10, b = 20; a = b;

解析: A选项:常量不能作为左值;C选项:表达式不能作为左值;D选项:语法正确,但题目要求是赋值语句,此选项包含声明;B选项正确演示了多重赋值。

题目二

执行以下代码后,变量a的值是多少?

int a = 5;
a *= 3 + 2;
A. 10
B. 15
C. 25
D. 17

解析: 复合赋值运算符a *= 3+2等价于a = a * (3+2),即5 * 5=25。注意运算符优先级,+优先级高于*=。

题目三

以下代码的输出是:

int a = 3, b = 4, c = 5;
a = b = c;
printf("%d,%d,%d", a, b, c);
A. 3,4,5
B. 5,4,5
C. 5,5,5
D. 3,5,5

解析: 赋值从右向左进行:先将c的值赋给b,再将b的值赋给a,因此a、b、c最终都为5。