下表列出了 C 语言支持的赋值运算符:
运算符 | 描述 | 实例 |
---|---|---|
= | 简单的赋值运算符,把右边操作数的值赋给左边操作数 | C = A + B 将把 A + B 的值赋给 C |
+= | 加且赋值运算符,把右边操作数加上左边操作数的结果赋值给左边操作数 | C += A 相当于 C = C + A |
-= | 减且赋值运算符,把左边操作数减去右边操作数的结果赋值给左边操作数 | C -= A 相当于 C = C - A |
*= | 乘且赋值运算符,把右边操作数乘以左边操作数的结果赋值给左边操作数 | C *= A 相当于 C = C * A |
/= | 除且赋值运算符,把左边操作数除以右边操作数的结果赋值给左边操作数 | C /= A 相当于 C = C / A |
%= | 求余数且赋值运算符,求两个操作数的模赋值给左边操作数,浮点数不适用取余数。 | C %= A 相当于 C = C % A |
赋值运算符支持的是C语言的基本数据类型,包括char、int和double,字符串(字符数组)不能使用赋值运算符。
示例(book17.c)
- /*
- * 程序名:book17.c,此程序演示赋值运算符的使用。
- * 作者:C语言技术网(www.freecplus.net) 日期:20190525
- */
- #include
-
- int main()
- {
- int C=0; // 定义变量C并初始化
- int A=21; // 定义变量A并初始化
-
- C=A;
- printf("运算符 = 演示,C的值 = %d\n",C);
-
- C+=A; // C=C+A;
- printf("运算符 += 演示,C的值 = %d\n",C);
-
- C-=A; // C=C-A;
- printf("运算符 -= 演示,C的值 = %d\n",C);
-
- C*=A; // C=C*A;
- printf("运算符 *= 演示,C的值 = %d\n",C);
-
- C/=A; // C=C/A;
- printf("运算符 /= 演示,C的值 = %d\n",C);
-
- C=200;
- C%=A; // C=C%A;
- printf("运算符 %= 演示,C的值 = %d\n",C);
-
- return 0;
- }
运行效果
实现三个变量的赋值操作,并输出三个变量的值。请选出错误的赋值操作。
- #include
-
- int main(int argc, char** argv)
- {
- (_____1_____)
-
- printf("a = %d\n", a);
- printf("b = %d\n", b);
- printf("c = %d\n", c);
-
- return 0;
- }
赋值运算符简介:
赋值运算符 | 说明 | 示例 |
---|---|---|
= | 普通赋值运算符 | val = 2 |
+= | 加并赋值操作 | val += 2 等价于 val = val + 2 |
-= | 减并赋值操作 | val -= 2 等价于 val = val - 2 |
*= | 乘并赋值操作 | val *= 2 等价于 val = val * 2 |
/= | 除并赋值操作 | val /= 2 等价于 val = val / 2 |
%= | 取余并赋值操作 | val %= 2 等价于 val = val % 2 |
<<= | 左移并赋值操作 | val <<= 1 等价于 val = val << 1 |
>>= | 右移并赋值操作 | val >>= 1 等价于 val = val >> 1 |
&= | 按位与并赋值操作 | val &= 1 等价于 val = val & 1 |
^= | 按位异或并赋值操作 | val ^= 1 等价于 val = val ^ 1 |
|= | 按位或并赋值操作 | val |= 1 等价于 val = val | 1 |
- int a, b, c;
- a = 10;
- b = 10;
- c = 10;
- int a, b, c;
- a = b = c = 10;
int a = 10, b = 10, c = 10;
int a = b = c = 10;
答案: int a = b = c = 10;
下表显示了 C 语言支持的所有算术运算符。假设变量 A 的值为 18,变量 B 的值为
5,则:
运算符 | 描述 | 实例 |
---|---|---|
+ | 两个数相加 | A+B 将得到 23 |
- | 一个数减另一个数 | A-B 将得到 13 |
* | 两个数相乘 | A*B 将得到 90 |
/ | 分子除以分母 | A/B 将得到 3.6 |
% | 余数运算符,整除后的余数 | B%A 将得到 3 |
++ | 自增运算符,整数值增加 1 | A++ 将得到 19 |
– | 自减运算符,整数值减少 1 | A-- 将得到 17 |
示例(book15.c)
- /*
- * 程序名:book15.c,此程序演示算术运算符的使用。
- * 作者:C语言技术网(www.freecplus.net) 日期:20190525
- */
- #include
-
- int main()
- {
- double A=18; // 定义变量A,赋值18
- double B=5; // 定义变量B,赋值5
-
- printf("A的值是:%lf\n",A);
- printf("B的值是:%lf\n",B);
-
- printf("A+B的值是:%lf\n",A+B);
- printf("A-B的值是:%lf\n",A-B);
- printf("A*B的值是:%lf\n",A*B);
- printf("A/B的值是:%lf\n",A/B);
-
- //printf("A除B的余数是:%lf\n",A%B);
-
- A++; // 自增1
- printf("A自增后的值是:%lf\n",A);
-
- B--; // 自减1
- printf("B自减后的值是:%lf\n",B);
-
- return 0;
- }
运行效果
变量的自增或自减有两种写法:
变量名++; // 表示在本次使用变量后再自增;
++变量名; // 表示在本次使用变量前自增;
变量名–; // 表示在本次使用变量后再自增;
–变量名; // 表示在本次使用变量前自减;
示例(book16.c)
- /*
- * 程序名:book16.c,此程序演示算术运算符++和--的使用。
- * 作者:C语言技术网(www.freecplus.net) 日期:20190525
- */
- #include
-
- int main()
- {
- int ii=0; // 定义变量ii并初始化
-
- ii=10;
- printf("ii++的值是:%d\n",ii++); // 在使用后自增
- printf("ii的值是:%d\n",ii);
-
- ii=10;
- printf("++ii的值是:%d\n",++ii); // 在使用前自增
- printf("ii的值是:%d\n",ii);
-
- return 0;
- }
运行效果
打印100以内(包含100)能被10整除的正整数,如何在合适的位置使用自增运算符实现该功能,请选出正确答案填在(1)处。
- #include
-
- #define UPPER 100
-
- int main(int argc, char** argv)
- {
- int i = 1;
- (_____1_____)
-
- return 0;
- }
答案:
- while (i++ < UPPER)
- if (i % 10 == 0)
- printf("%d\n", i);
版权声明
以上文章来自C语言技术网(www.freecplus.net)
作者:码农有道