——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-
黑马程序员-C语言学习日记一 — 基本运算符学习小结
一、 算术运算
C语言一共有34种运算符,包括了常见的加减乘除运算
1. 加法运算+
2. 减法运算-
3. 乘法运算*
4. 除法运算/
5. 取余运算%
二、 赋值运算
1. 简单赋值
=
2. 复合赋值
复加减乘除余:
+=
-=
*=
./=
a *=2等价于 a = a*2
三、 自增自减
自增运算符。如a++,++a,都等价于a = a+1
自减运算符。如a–,–a,都等价于a = a-1
四、 sizeof
1. 作用
用来计算一个变量或者一个常量、一种数据类型所占的内存字节数。
2. 基本形式
sizeof( 变量\常量 )
sizeof 变量\常量
sizeof( 数据类型 )
五、 关系运算(比较运算)
1. 条件判断
默认情况下,我们在程序中写的每一句正确代码都会被执行。但很多时候,我们想在某个条件成立的情况下才执行某一段代码,这种情况的话可以使用条件语句来完成
2. 真假
在C语言中,条件成立称为“真”,条件不成立称为“假”,因此,判断条件是否成立,就是判断条件的“真假”。
怎么判断真假呢?C语言规定,任何数值都有真假性,任何非0值都为“真”,只有0才为“假”。也就是说,108、-18、4.5、-10.5等都是“真”,0则是“假”。
3. 关系比较
开发中经常要比较,比如斗地主游戏中牌的大小。利用关系运算符就可以比较两个值的大小。
关系运算符的运算结果只有2种:如果条件成立,结果就为1,也就是“真”;如果条件不成立,结果就为0,也就是“假”。
六、 逻辑运算
有时候,我们需要在多个条件同时成立的时候才能执行某段代码,。这种情况下,我们就要借助于C语言提供的逻辑运算符。
逻辑运算的结果只有2个:“真”为1,“假”为0
1.&& 逻辑与
“条件A && 条件B”
只有当条件A和条件B都成立时,结果才为1,也就是“真”;其余情况的结果都为0,也就是“假”。
逻辑与的运算总是先判断条件A是否成立,如果A不成立就不会再对B进行判断.
2.|| 逻辑或
“条件A || 条件B”
当条件A或条件B只要有一个成立时(也包括条件A和条件B都成立),结果就为1,也就是“真”;
逻辑或总是先判断条件A是否成立
如果条件A成立,就不会再去判断条件B是否成立.如果条件A不成立,接着再判断条件B是否成立:
3.! 逻辑非
“! 条件A”
其实就是对条件A进行取反:也就是说:真的变假,假的变真。
七、 三目运算符
N目运算符->三目运算符
int a = 条件A?结果1:结果2;
以上代码的作用时当条件A成立时,将a的值赋值为结果1的值,不成立时赋值为结果2的值
最后再附上一个有关运算符使用的一段代码解析,与运算符优先级表
#include <stdio.h>
int main()
{
int a, b= 250, c;
if ((c=b)<0) a=4; //先将b的值赋给c,c=250,再判断c是否小于0,c这时等于250,判断不成立跳到else中,a=4这行就被跳过了;
else if (b=0) a=5; //将b的值赋为0,此时判断条件为b,即0,为假,跳过a=5
else a=6;//以上条件均不成立,到这里 a=6
printf(”\t%d\t%d\n”,a,c);// 此时a=6,b=0,c=250
if (c=(b==0)) // 由于b==0,所以将真,即1赋给c,条件为1,成立,执行a=5;
a=5;
printf(”\t%d\t%d\n”,a,c); //a=5,b=0,c=1
if (a=c=b) a=4; // 先执行c=b,c为0,再执行a=c,a为0,在判断a的值,为0,即条件为假,跳过a=4;
printf(”\t%d\t%d\n”,a,c);//a=0,b=0,c=0
}