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

一、关系运算式

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. IE浏览器下读取客户端上传的文件大小

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...

  2. [转]NHibernate之旅(1):开篇有益

    本节内容 NHibernate是什么 NHibernate的架构 NHibernate资源 欢迎加入NHibernate中文社区 作者注:2009-11-06已更新 NHibernate开篇有益 学习 ...

  3. SVG事件响应

    1 UIEvents(用户界面事件)  focusin(onfocusin):一个元素获得焦点(例如,一段文本被选中)  focusout(onfocusout):一个元素失去焦点(例如,一段文本 ...

  4. [转]web调试工具总结(firebug/fidder/httpwatch/wireshark)

    ONE:Firebug: Firebug是网页浏览器 Mozilla Firefox下的一款开发类插件, 现属于Firefox的五星级强力推荐插件之一.它集HTML查看和编辑.Javascript控制 ...

  5. ODAC with Oracle Developer Tools for Visual Studio

    c#开发Oracle数据库的时候,需要本机没有安装过 Oracle 客户端,直接下载 ODAC with Oracle Developer Tools for Visual Studio工具安装即可 ...

  6. 删除顺序链表中重复的数 (一) leecode

    Given a sorted linked list, delete all duplicates such that each element appear only once. For examp ...

  7. Bzoj 2662: [BeiJing wc2012]冻结 dijkstra,堆,分层图,最短路

    2662: [BeiJing wc2012]冻结 Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 647  Solved: 348[Submit][Sta ...

  8. Axure原型用pmdaniu在线托管尝试

    这次把原型中语音模块的坑填了一部分,实现了拖拽按钮控制的界面效果 http://www.pmdaniu.com/prototype/view?id=WXpVNwNhUmYMPFN3AkA

  9. Yii2 自动更新时间created_at updated_at

    创建model之后,新建一条记录,结果设计的表中created_at 字段 updated_at 字段 都是datetime 类型的,却不能自动插入当前时间.查看了资料,解决如下: 1.在class ...

  10. mvc分层的原理

    首先这是现在最基本的分层方式,结合了SSH架构.1.modle层就是对应的数据库表的实体类.2.Dao层是使用了hibernate连接数据库.操作数据库(增删改查).3.Service层:引用对应的D ...