C_运算符 笔记

1.赋值运算符: 

= 将其右侧的值赋给左侧的变量

 

2.算术运算符:

+ 将其左侧的值与右侧的值相加

- 将其左侧的值减去右侧的值

- 作为一元运算符,改变其右侧值的符号

* 将其左侧的值乘以右侧的值

/ 将其左侧的值除以右侧的值,如果两数都是整数,计算结果将被截断

% 当其左侧的值除以右侧的值时,取其余数(只能应用于整数)

++ 对其右侧的值加1(前缀模式),或对其左侧的值加1(后缀模式)

-- 对其右侧的值减1(前缀模式),或对其左侧的值减1(后缀模式)

 

其他运算符:

sizeof 获得其右侧运算对象的大小(以字节为单位),运算对象可以是一个被圆括号括起来的类型说明符,如sizeof(float),或者是一个具体的变量名、数组名等,如sizeof foo(类型名) 强制类型转换运算符将其右侧的值转换成圆括号中指定的类型,如(float)9把整数9转换成浮点数9.0

自增(自减)

㈠分类​

①前自增 —— ++i

②后自增​ —— i++

 

㈡前自增与后自增的异同

①相同点​

最终都使i的值加1​

②不同点

前自增的表达式是i​加1后的值

​后自增的表达式是i​加1前的值(具体见谭C)

㈢自增的作用

 ①代码更精炼

②​自增的运行速度更快

 

㈣学习自增要明白的几个问题

①​我们编程时要尽量屏蔽掉前自增和后自增的区别(为了增加代码可读性)

②​++i或i++单独做一个语句,不要把他作为一个完整复合语句的一部分

反例:​

⑴int m=i++ + ++i + i +​ ++i

​⑵printf("%d %d %d",i++,++i,i)

这两种写法不规范,可读性和可移植性很低​

 

三目运算符​

㈠格式:

A?B:C

"?和:"合称三目运算符​

㈡功能:

等价于

  if(A)​

       B;

  else

       C;

㈢举例 1 #include<stdio.h> 2

 3  
 4 int main(void)
 5 
 6 {
 7 
 8      int i;
 9 
10      i=(5>3?4:3)
11 12 printf("%d",i); 13 14 15 return 0; 16 17 }

 

输出结果:4

㈣注意

三目运算符不常用,因为他没有if函数结构清晰,但代码量更少

 

逗号表达式

㈠格式

(A,B,C,D)

㈡功能

从左到右执行A B C D  

最终表达式的值是最后一项的值

㈢举例

  int i=(1,2,3,4)

  printf("%d")

posted @ 2019-06-30 23:58  Logic_Q  阅读(172)  评论(0编辑  收藏  举报