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(表达式){ //循环体; } 注意:循环变量.循环条件和循环控制语句三者缺一不可. 例如: */ ; //循环变量 ){ //循环条 ...
随机推荐
- WordPress 'is_serialized()'远程任意代码执行漏洞(CVE-2013-4338)
漏洞版本: WordPress 3.6 漏洞描述: Bugtraq ID:62345 CVE ID:CVE-2013-4338 WordPress是一种使用PHP语言开发的博客平台,用户可以在支持PH ...
- [DP] LCS小结
额..失误.. LCS是Longest Common Subsequence的缩写,即最长公共子序列.一个序列,如果是两个或多个已知序列的子序列,且是所有子序列中最长的,则为最长公共子序列. DP.O ...
- oracle 10g WMSYS.WM_CONCAT 函數的用法
select t.rank, t.Name from t_menu_item t; 10 CLARK 10 KING 10 MILLER 20 ADAMS 20 FORD 20 JONES 20 SC ...
- Light OJ 1060 - nth Permutation(组合数)
题目大意: 给你一个字符串,问这个字符串按照特定顺序排列之后,第n个字符串是哪个? 题目分析: 首先我们要会求解总个数.也就是共有len个字符,每个字符有ki个,那么总组合方式是多少种? 总组合方式就 ...
- opengl学习
#include"stdafx.h" #define GLUT_DISABLE_ATEXIT_HACK #include <GL/glut.h> //glut自动将gl ...
- webbrowser控件事件
Beforenavigate2: Fired before navigate occurs in the given WebBrowser(window or frameset element). T ...
- JS倒计时 代码
JS倒计时 代码 <div> <span id="KSD">3</span>天 <span id="KSH">1 ...
- n维立体空间建模
n维立体空间建模,基于网格技术,将整个地球信息整体封装,初始进行网格化,选取某一个网格,进行迭代, 迭代的子项依然是网格,迭代的次数为k,网格最终大小可以指定,这种指定决定了立体块的细化率,假设 ...
- WORD文档的长串数字如何粘贴到excel
有问题,才有提高 问题描述: 现 word 文档中有好多长长的数字(如下),我需要将它们弄进 Excel 中 直接[复制],[粘贴],结果显示如下: 然后再设置单元格格式中的数字,无论选哪一个都得不到 ...
- 软件授权协议有什么作用,例如GPL、Apache License、CDDL、EPL这些协议有什么区别?
1.授权协议有什么作用:授权协议就是授予你使用或修改软件等权利,由于软件受到著作权保护,未经授权使用即是侵犯著作权,属于违法行为,所以同意或签署软件授权协议是你使用或修改软件的前提条件.既然是授权协议 ...