我是靠谱客的博主 潇洒绿草,最近开发中收集的这篇文章主要介绍C语言从0到1(05)——运算符(02),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

C语言从0到1(05)——运算符(02)

      • 一、关系运算符
        • 二、赋值运算符:=
        • 三、运算符:sizeof()
        • 四、运算符优先级

一、关系运算符

也叫条件运算符,一般与条件结构一起使用,进行条件判断;

连接两个操作数,对其进行比较,得到true(1)或false(0)。

int a = 8;
int b = 10;
printf("%dn", a>10);
printf("%dn", a>=10);
printf("%dn", a<10);
printf("%dn", a<=10);
printf("%dn", a==10);
printf("%dn", a!=10);

输出结果:

0
0
1
1
0
1

二、赋值运算符:=

把右边操作数的值赋给左边操作数。注意,赋值运算符,先运算右边表达式,再将值赋给左边。

int a = 0;//定义变量,并初始化赋值
int b = 10;
printf("a:%dn", a);
a = b+2;
printf("a:%dn", a);

输出结果:

a:0
a:12

例:a = 10; b = 20; 将a,b两个变量的值互换

int a = 10;
int b = 20;
//利用油水互换的原理
int tmp = 0;//定义一个临时变量
tmp = a;
a = b;
b = tmp;
printf("a:%d, b:%d, tmp:%dn",a,b,tmp);

输出结果:

a:20, b:10, tmp:10
  • 复合赋值运算符:+=、-=、*=、/=、%=

与算术运算符、位运算符组合使用。
如: a += 10; 等价于 a = a + 10;

int a = 15;
int c = 2;
c +=
a;// c = c + a;
printf("+=:c 的值 = %dn", c );
c -=
a;// c = c - a;
printf("-=:c 的值 = %dn", c );
c *=
a;// c = c * a;
printf("*=:c 的值 = %dn", c );
c /=
a;// c = c / a;
printf("/=:c 的值 = %dn", c );
c %=
a;// c = c % a;
printf("%%=:c 的值 = %dn", c );

输出结果:

+=:c 的值 = 17
-=:c 的值 = 2
*=:c 的值 = 30
/=:c 的值 = 2
%=:c 的值 = 2

注意:赋值运算符,先运算右边表达式

int a = 10;
a *= a+5;

上述a的值为多少?

三、运算符:sizeof()

  • **sizeof():**得到变量或数据类型的大小(字节)。
int a = 0;
char c = '@';
float f1 = 1.1;
double f2 = 2.0;
printf("%d, %d, %d, %dn", sizeof(a), sizeof(c), sizeof(f1),sizeof(f2));
//也可以直接sizeof(int)
printf("%d, %d, %d, %dn", sizeof(int), sizeof(char), sizeof(float),sizeof(double));

输出结果:

4, 1, 4, 8
4, 1, 4, 8

四、运算符优先级

在一个,多个运算符组合的表达式中,运算符的优先级 会影响到一个表达式如何计算。

某些运算符比其他运算符有更高的优先级,例如,乘除运算符具有比加减运算符更高的优先级。

运算符优先级一览表:

类别运算符结合性
后缀() [] -> . ++ - -从左到右
一元+ - ! ~ ++ - - (type)* & sizeof从右到左
乘除* / %从左到右
加减+ -从左到右
移位<< >>从左到右
关系< <= > >=从左到右
相等== !=从左到右
位与 AND&从左到右
位异或 XOR^从左到右
位或 OR|从左到右
逻辑与 AND&&从左到右
逻辑或 OR|||从左到右
条件?:从右到左
赋值= += -= *= /= %=>>= <<= &= ^= |=从右到左
逗号,从左到右

如下示例:

int a = 20;
int b = 10;
int c = 15;
int d = 5;
int e;
e = (a + b) * c / d;
// ( 30 * 15 ) / 5
printf("(a + b) * c / d 的值是 %dn",
e );
e = ((a + b) * c) / d;
// (30 * 15 ) / 5
printf("((a + b) * c) / d 的值是 %dn" ,
e );
e = (a + b) * (c / d);
// (30) * (15/5)
printf("(a + b) * (c / d) 的值是 %dn",
e );
e = a + (b * c) / d;
//
20 + (150/5)
printf("a + (b * c) / d 的值是 %dn" ,
e );

输出结果:

(a + b) * c / d 的值是 90
((a + b) * c) / d 的值是 90
(a + b) * (c / d) 的值是 90
a + (b * c) / d 的值是 50

**总结:**本节讲解了关系运算符、复制运算符、sizeof和运算符的优先级,都是非常重要的知识点,希望童鞋们可以多运用。下一节讲解“条件结构”

练习:

练习:
1.小明身上有5.6块钱, 小红身上有9.4块钱,用程序算出他们一共有多少块钱。
2.根据天数(46)计算周数。
3.一个整数,代表88个小时,计算88个小时等于多少天零多少个小时。
4.输入一个四位数的整数,然后将该数的各个位上的数字求和,输出。如,1234,拆分为1 + 2 + 3+ 4 = 10 。
5、定义一个变量记录硬盘的大小,如10000000byte,那么计算这个硬盘有多少KB
有多少MB。有多少GB。
Byte
KB
MB
GB
10000000
?
?
?

最后

以上就是潇洒绿草为你收集整理的C语言从0到1(05)——运算符(02)的全部内容,希望文章能够帮你解决C语言从0到1(05)——运算符(02)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(57)

评论列表共有 0 条评论

立即
投稿
返回
顶部