c语言学习之基础知识点介绍(五):关系运算式和逻辑运算式
本节主要说关系运算式和逻辑运算式。
一、关系运算式
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语言学习之基础知识点介绍(五):关系运算式和逻辑运算式的更多相关文章
- c语言学习之基础知识点介绍(三):scanf函数
本节继续介绍c语言的基础知识点. scanf函数:用来接收用户输入的数据. 语法:scanf("格式化控制符",地址列表); 取地址要用到取地址符:&(shift+7) 例 ...
- c语言学习之基础知识点介绍(二):格式化控制符和变量的补充
上节简单介绍了c语言中的一些基础知识点,本节将对之前介绍的不够详细的知识点进行补充. 格式化控制符的消息介绍: %d的其他控制符: 1.%md:m代表这个整数位占用多少位,m是一个整数.实际数字不足的 ...
- oc语言学习之基础知识点介绍(五):OC进阶
一.点语法介绍 /* 以前封装后,要给属性赋值,必须调用方法 这样做,有两个缺点: 1.代码量多,调用方法要写的东西多. 2.看起来并不像是给属性赋值,也不像取值. 我们用点语法就可以更好的解决! 点 ...
- c语言学习之基础知识点介绍(十五):函数的指针
一.函数的指针的介绍 /* 函数指针: 函数的指针,本质上一个指针 指向函数的指针,就是一个函数指针. 回忆:我们写的源代码编译成二进制的指令集,一串交给CPU执行的指令 先存在内存里面,然后CPU读 ...
- oc语言学习之基础知识点介绍(四):方法的重写、多态以及self、super的介绍
一.方法重写 /* 重写:当子类继承了父类的方法时,如果觉得父类的方法不适合,那么可以对这个方法进行重新实现,那么这个就重写. 注意:也就是说,一定只能发生在父类和子类关系中. 然后是子类重新实现父类 ...
- oc语言学习之基础知识点介绍(二):类和对象的进一步介绍
一.类.对象在内存中的存储 /* 内存分区: 栈:局部变量 堆:程序员自己写代码申请开辟的 程序员自己维护,编译器现在帮我们自动优化了,它在合适的给我们加上了释放空间的语句,所以我们现在写的对象不会造 ...
- c语言学习之基础知识点介绍(十四):指针的进阶
一.指针的加.减法运算 /* 1.加法运算 1).可以跟整数进行加法运算,得到的还是一个地址 公式: 地址 + 1 = 地址 + 1 * 类型所占的字节数 地址 + n = 地址 + n * 类型所占 ...
- c语言学习之基础知识点介绍(十一):字符串的介绍、使用
本节主要介绍c语言中的字符串的应用. 一:字符串介绍 因为c语言中没有像Java.C#那样的字符串类型,所以无法直接用字符串.需要借助数组来解决这个问题. /* 定义:把多个字符连在一起就叫字符串.但 ...
- c语言学习之基础知识点介绍(七):循环结构
本节主要介绍循环结构 一.while循环 /* 语法: while(表达式){ //循环体; } 注意:循环变量.循环条件和循环控制语句三者缺一不可. 例如: */ ; //循环变量 ){ //循环条 ...
随机推荐
- [FJSC2014]圈地
[题目描述] 2维平面上有n个木桩,黄学长有一次圈地的机会并得到圈到的土地,为了体现他的高风亮节,他要使他圈到的土地面积尽量小.圈地需要圈一个至少3个点的多边形,多边形的顶点就是一个木桩,圈得的土地就 ...
- ruby eclipse调试
rubyinstaller 1.9.3eclipse Keplermarketplace ruby dltk 5.0ruby devkit(Ruby 1.8.7 and 1.9.3) DevKit-t ...
- Android4.0 -- UI控件之 Menu 菜单的的使用(四)
2. PopupMenu 菜单的使用 1) PopupMenu 介绍 创建弹出菜单,它一般会在view的上边或者下边弹出菜单[具体看是否有空间],注意弹出菜单是api在11或者更高版本中使用 ...
- datax中oracleWriter
在使用datax的oraclewriter时,由于对oracle的不熟悉,以及c++编译的不熟悉,颇费了一些周折.在此,记录一下,供再次使用的人参考. 1.oracleWriter :oracle提供 ...
- [CODEVS2055]集合划分
对于从1到N(1<=N<=3)的连续整数集合,划分成两个子集合,使得每个集合的数字之和相等.举个例子,如果N=3,对于{1,2,3}能划分成两个子集合,他们每个的所有数字和是相等的:{3} ...
- EF-CodeFirst-表关系-延迟/贪婪加载
表关系建立: http://blog.csdn.net/niewq/article/details/17232321 一对多: namespace LckLib.EF.V6.Models { publ ...
- Tyvj P1463 智商问题 分块
P1463 智商问题 时间: 1500ms / 空间: 131072KiB / Java类名: Main 背景 各种数据结构帝~各种小姊妹帝~各种一遍AC帝~ 来吧! 描述 某个同学又有很多小姊妹了他 ...
- forward和redirect 的区别
一.使用区别 1.从地址栏显示来说 forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来 ...
- linux下在多个文件夹中查找指定字符串的命令
例如,想要在当前文件夹下的多个.c或者.txt文件中查找“shutdown”字符串, 可以使用“grep shutdown ./*.c”或“grep shutdown ./*.txt”即可 使用fin ...
- python编写的自动获取代理IP列表的爬虫-chinaboywg-ChinaUnix博客
python编写的自动获取代理IP列表的爬虫-chinaboywg-ChinaUnix博客 undefined Python多线程抓取代理服务器 | Linux运维笔记 undefined java如 ...