c语言学习之基础知识点介绍(五):关系运算式和逻辑运算式

时间:2023-01-02 22:17:29

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

一、关系运算式

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

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

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

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

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

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

//注意:c语言中,关系运算所得结果只有0和1,0代表false(假),1代表true(真)。
int num1 = ;
int num2 = ;
int 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);//输出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= ;
int num2= ;
int result = ;
//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 = -;int num2 =;
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);//输出4
printf("result = %lu",sizeof(int));//输出4 //自动的类型转换:只有基本数据类型才有,整型、实型、字符型。 //如果传入的是char类型的常量,计算结果也是4字节,传入char类型的变量或者char类型,那么计算结果是1。因为char类型的常量在内存中是当做int类型来存的。

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

c语言学习之基础知识点介绍(五):关系运算式和逻辑运算式的更多相关文章

  1. c语言学习之基础知识点介绍(三):scanf函数

    本节继续介绍c语言的基础知识点. scanf函数:用来接收用户输入的数据. 语法:scanf("格式化控制符",地址列表); 取地址要用到取地址符:&(shift+7) 例 ...

  2. c语言学习之基础知识点介绍(二):格式化控制符和变量的补充

    上节简单介绍了c语言中的一些基础知识点,本节将对之前介绍的不够详细的知识点进行补充. 格式化控制符的消息介绍: %d的其他控制符: 1.%md:m代表这个整数位占用多少位,m是一个整数.实际数字不足的 ...

  3. oc语言学习之基础知识点介绍(五):OC进阶

    一.点语法介绍 /* 以前封装后,要给属性赋值,必须调用方法 这样做,有两个缺点: 1.代码量多,调用方法要写的东西多. 2.看起来并不像是给属性赋值,也不像取值. 我们用点语法就可以更好的解决! 点 ...

  4. c语言学习之基础知识点介绍(十五):函数的指针

    一.函数的指针的介绍 /* 函数指针: 函数的指针,本质上一个指针 指向函数的指针,就是一个函数指针. 回忆:我们写的源代码编译成二进制的指令集,一串交给CPU执行的指令 先存在内存里面,然后CPU读 ...

  5. oc语言学习之基础知识点介绍(四):方法的重写、多态以及self、super的介绍

    一.方法重写 /* 重写:当子类继承了父类的方法时,如果觉得父类的方法不适合,那么可以对这个方法进行重新实现,那么这个就重写. 注意:也就是说,一定只能发生在父类和子类关系中. 然后是子类重新实现父类 ...

  6. oc语言学习之基础知识点介绍(二):类和对象的进一步介绍

    一.类.对象在内存中的存储 /* 内存分区: 栈:局部变量 堆:程序员自己写代码申请开辟的 程序员自己维护,编译器现在帮我们自动优化了,它在合适的给我们加上了释放空间的语句,所以我们现在写的对象不会造 ...

  7. c语言学习之基础知识点介绍(十四):指针的进阶

    一.指针的加.减法运算 /* 1.加法运算 1).可以跟整数进行加法运算,得到的还是一个地址 公式: 地址 + 1 = 地址 + 1 * 类型所占的字节数 地址 + n = 地址 + n * 类型所占 ...

  8. c语言学习之基础知识点介绍(十一):字符串的介绍、使用

    本节主要介绍c语言中的字符串的应用. 一:字符串介绍 因为c语言中没有像Java.C#那样的字符串类型,所以无法直接用字符串.需要借助数组来解决这个问题. /* 定义:把多个字符连在一起就叫字符串.但 ...

  9. c语言学习之基础知识点介绍(七):循环结构

    本节主要介绍循环结构 一.while循环 /* 语法: while(表达式){ //循环体; } 注意:循环变量.循环条件和循环控制语句三者缺一不可. 例如: */ ; //循环变量 ){ //循环条 ...

随机推荐

  1. JavaScript - 正则表达式

    正则表达式的大致匹配过程是:依次拿出表达式和文本中的字符比较,如果每一个字符都能匹配,则匹配成功:一旦有匹配不成功的字符则匹配失败. 正则表达式通常用于在文本中查找匹配的字符串.Python里数量词默 ...

  2. php数据优化

    Array ( [0] => Array ( [id] => 19 [receive_id] => 41 [mac] => a4:3d:78:fc:49:50 [staytim ...

  3. static 静态导包

    静态导入 ArrayUtils 类的 INDEX_NOT_FOUND 属性和 add 方法 import static org.apache.commons.lang3.ArrayUtils.INDE ...

  4. 手机端js实现滑块推动

    代码编写:(写的格式有点差,凑合看吧,但是功能是实现了的) <html><head><meta http-equiv="Content-Type" c ...

  5. XTU -1231 人生成就 &lpar;dp &plus; 记录最优解的个数)

    http://202.197.224.59/OnlineJudge2/index.php/Problem/read/id/1231 直接递推. 在保存最大值的时候同时保存有多少条到达最大值的路径,注意 ...

  6. MVC布局页占位符&commat;RenderSection&lpar;&quot&semi;bscript&quot&semi;&comma; false&rpar;

    @RenderSection("bscript", false) //false表示不是必须填充 填充bscript占位符  @section bscript{}

  7. jar包问题

    解决方法: 1右键项目build path的lib的add jars添加进来

  8. php curl&lowbar;setopt的相关设置查询手册

    bool curl_setopt (int ch, string option, mixed value) curl_setopt()函数将为一个CURL会话设置选项.option参数是你想要的设置, ...

  9. 110道python面试笔试题汇总,你能答对几道?

    数据分析系列教程插播一篇面试题教程,最近公众号新来了不少朋友,这几天不少粉丝留言说问我有没有python面试题,其实之前分享过一些面试题,今天统一再给大家分享一遍,也希望能帮助此时仍在找工作的同学,尽 ...

  10. 牛客网-《剑指offer》-跳台阶

    题目:http://www.nowcoder.com/practice/8c82a5b80378478f9484d87d1c5f12a4 C++ class Solution { public: in ...