c语言学习之基础知识点介绍(五)

来源:互联网 时间:1970-01-01


本节主要说关系运算式和逻辑运算式。 一、关系运算式

1、等于(==):判断左边的表达式是否等于右边的表达式

2、大于(>):判断左边的表达式是否大于右边的表达式

3、大于等于(>=):判断左边的表达式是否大于等于右边的表达式

4、小于(<):判断左边的表达式是否小于右边的表达式

5、小于等于(<=):判断左边的表达式是否小于等于右边的表达式

6、不等于(!=):判断左边的表达式是否不等于右边的表达式

//注意:c语言中,关系运算所得结果只有0和1,0代表false(假),1代表true(真)。int num1 = 4;int num2 = 7;int result = 0;//默认为0//等于(==):result = num1 == num2;printf("result = %d /n",result);//输出0//大于(>):result = num1 > num2;printf("result = %d /n",result);//输出0//大于等于(>=):result = num1 >= num2;printf("result = %d /n",result);//输出0//小于(<):result = num1 < num2;printf("result = %d /n",result);//输出1//小于等于(<=):result = num1 <= num2;printf("result = %d /n",result);//输出1/不等于(!=):result = num1 != num2;printf("result = %d /n",result);//输出1 二、逻辑运算符 //逻辑运算式的结果也只有0和1,0代表false(假),1代表true(真)//注意:c语言中任何非0数字都为真。int num1= 6;int num2= 7;int result = 0;//1、&&:逻辑与,result = num1>num2&&num1<num2;printf("result = %d /n",result);//输出0,因为有一个是0,所以整个表达式的结果就是0。一假则假//2、||:逻辑或,result = num1>num2 || num1<num2;printf("result = %d /n",result);//输出1,因为有一个是1,所以整个表达式的结果就是1。一真就真//3、!:逻辑非,result = !(num1>num2);printf("result = %d /n",result);//输出1,因为是取反,真变假,假变真。//断路的问题result = ++num1 || num2++;printf("num1= %d num2 = %d result= %d",num1,num2,result);//输出 7,7,1,因为任何非0 的数字都是真,所以当程序执行到++num1的时候就为真,后面的num2++不会执行。int num 1= -1;int num2 =20;result = num1++ || num2++;printf("num1= %d num2 = %d result= %d",num1,num2,result);//输出 0,20,1,后缀++会先用原先的值进行判断,-1为真,所以就是真,后面的值不会执行。如果是前缀++结果就是0,21,1//逻辑与(&&)的运算可以自己去试试,但是得注意的是,如果&&前面的表达式为假,后面的就不会执行。只有当前面的为真,才会执行后面的表达式。//总结:因为&&是一假则假,所以右边的表达式不会执行,||是一真则真,所有右边的表达式不会执行。//逻辑运算符的优先级//逻辑运算符<关系运算符<算术运算符

三、sizeof运算符

注意:sizeof并不是函数 只是运算符(计算出的结果是unsigned long 类型的数值)。

作用:计算出类型所占用的字节数。

//sizeof运算符int result = sizeof(int);//发生了隐式转换printf("result = %d",result);//输出4printf("result = %lu",sizeof(int));//输出4//自动的类型转换:只有基本数据类型才有,整型、实型、字符型。//如果传入的是char类型的常量,计算结果也是4字节,传入char类型的变量或者char类型,那么计算结果是1。因为char类型的常量在内存中是当做int类型来存的。

至此运算符还有最后一个 换位运算符没有介绍,后续有空会补上,有兴趣的也可以自己去学下。



相关阅读:
Top