C 语言中赋值表达式的返回的逻辑值
我们知道,在C 语言中经常使用 诸如 if(表达式){} ,while (表达式) {} 形式的判断语句,当表达式为真时执行 {} 中的函数体,但是当表达式为赋值表达式时怎么判断该表达式为真还是为假?或者当表达式为逗号表达式式又该怎么使用?
记住一个原则:C语言赋值表达式所代表的值就是被赋值变量最终被赋予的值。
以下测试代码可以证明以上观点:
1 #include <stdio.h> 2 3 int main(int argc, const char *argv[]) 4 { 5 int i; 6 printf("the value is %d\n", i = -1); 7 printf("the value is %d\n", i =123); 8 printf("the value is %d\n", i = 0); 9 return 0; 10 }
那么以下代码的结果就很好理解了!
1 #include <stdio.h> 2 3 int main(int argc, const char *argv[]) 4 { 5 int i; 6 //当赋值为0时赋值表达式代表的逻辑值为假,所以下列语句不会执行 7 if (i=0) { 8 printf("i=0\n"); 9 } 10 //当赋值为非0时赋值表达式代表的逻辑值为真,所以下列语句会执行 11 if (i=1) { 12 printf("i=1\n"); 13 } 14 //当赋值为非0时赋值表达式代表的逻辑值为真,所以下列语句会执行 15 if (i=-1) { 16 printf("i=-1\n"); 17 } 18 //逗号表达式代表的逻辑值为最后一个表达式的逻辑值,所以下列语句不会执行 19 if (i=1,i=0) { 20 printf("i=1,i=0\n"); 21 } 22 //逗号表达式代表的逻辑值为最后一个表达式的逻辑值,所以下列语句会执行 23 if (i=0,i=1) { 24 printf("i=0,i=1\n"); 25 } 26 27 28 29 return 0; 30 }
转载于:https://www.cnblogs.com/chenchenluo/archive/2012/05/05/2484867.html
C 语言中赋值表达式的返回的逻辑值相关推荐
- c语言中赋值表达式加上分号,C语言赋值表达式
C语言赋值表达式 1. 赋值运算符 1:赋值运算符 赋值运算符的符号位"=",由赋值运算符组成的表达式称为赋值表达式.功能:先求出右边表达式的值,然后把此值赋给左边的变量. 格式: ...
- C/C++ 语言中的表达式求值
转载地址:http://www.cnblogs.com/heyonggang/p/3340301.html 在此,首先向裘老师致敬! 裘宗燕:C/C++ 语言中的表达式求值 经常可以在一些讨论组里看到 ...
- Java快速入门学习笔记3 | Java语言中的表达式与操作符
有人相爱,有人夜里开车看海,有人却连LeetCode第一题都解不出来!虽然之前系统地学习过java课程,但是到现在一年多没有碰过Java的代码,遇到LeetCode不知是喜是悲,思来想去,然后清空自己 ...
- 裘宗燕:C/C++ 语言中的表达式求值
裘宗燕:C/C++ 语言中的表达式求值 经常可以在一些讨论组里看到下面的提问:"谁知道下面C语句给n赋什么值?" m = 1; n = m+++m++; 最近有位不相识的朋友发em ...
- c语言表达式和逻辑表达式是,C语言中关系表达式和逻辑表达式的值是什么
C语言中关系表达式和逻辑表达式的值是什么? 关系表达式和逻辑表达式的值是布尔型:真或假(true or false),即0或1,但c语言没有布尔类型,以0为假,非0即真. 逻辑运算又称布尔运算.布尔用 ...
- c语言复合赋值表达式题目,C语言中复合赋值运算,表达式等知识.doc
C语言中复合赋值运算,表达式等知识.doc 3.1复合赋值运算 算术运算符"+ - * / %"和赋值运算符"="结合起来,形成复合赋值运算符.如下所示:+= ...
- c语言中赋值的时候顿号的作用,简单总结C语言中的运算符优先级
简单总结C语言中的运算符优先级 C语言中有很多运算符,除了四则运算,还有位运算.比较运算.逻辑运算.赋值运算等等,令人眼花缭乱的同时,优先级也让人头疼.通常建议在写代码的时候不用省略括号,但是并不是所 ...
- C++基础知识:C++语言中的表达式求值
经常可以在一些讨论组里看到下面的提问:"谁知道下面C语句给n赋什么值?" m = 1; n = m+++m++; 最近有位不相识的朋友发email给我,问为什么在某个C++系统里, ...
- R语言中的表达式函数
狭义表达式指表达式(expression)类对象,由expression函数产生:而广义的表达式既包含expression类,也包含R"语言"类(language).express ...
最新文章
- PennyLane | 用于量子计算机可微分编程的跨平台Python库
- 初识OSGI.NET插件框架
- iPhoneUI元素的大小
- 145. Binary Tree Postorder Traversal 二叉树的后序遍历
- JavaScript基础学习(七)—BOM
- 深入理解InnoDB(8)—单表访问
- python 使用pexpect实现自动交互示例
- 2个oracle文件导入报错处理
- 1w存银行一年多少利息_2020年,在中国邮政储蓄银行存20万,一年能拿到多少利息?...
- 云服务和硬件成微软业绩新增长点
- Java System.arraycopy()方法示例
- r语言如何下载carzip包本地安装_R语言中如何在Mac下快速下载和安装包
- linux中的通配符指的是?
- Node+Mysql增删改查obj-to-sql,多条件查询
- 基于色彩调和的专题图自动生成系统
- python飞机大战实训报告200_飞机大战实训报告方案.doc
- 使用串口连接Arduino与树莓派开发板
- BUUCTF-千层套路(python脚本)
- ACfly的Ctrl_Attitude.cpp的代码(可以看到在角速度环和高度环用ADRC)
- 信息安全系统设计基础实验一—20135222胡御风20135215黄伟业
热门文章
- 联想无线网卡 linux驱动,ubuntu14.04手动安装博通官方无线网卡驱动时报错,
- php uncaught thrown,PHP异常详解
- 华为ap配置_Win10频发蓝屏,深度Deepin系统,调试华为AC和AP
- html 如何判断文本溢出,判断文本是否溢出
- Apache SparkStreaming 简介和编程模型
- innodb一页为什么要存储两行记录_innodb数据记录存储结构
- 【转载】Qt Creator 添加自定义注释
- 借用的对vue-cli配置对解析
- android启动---lk入口文件crt0.s解析
- BQ27510 电量计的校准 的 C语言实现