if的用法及常见问题
if的用法
1、if简单的用法
1)if
格式:
if (表达式)语句A;语句B;
功能:如果表达式为真,执行语句A和语句B;如果表达式为假,只执行语句B;
由此可见if只能控制一个语句的执行与不执行,如果想要控制多个语句就必须把这些语句用{}括起来。
- if…else if…else
格式:
if (1)语句A;else if (2)语句B;else语句C;
常见问题
1、空语句的问题
if(3 > 2); //这是一个空语句
等价于
if (3 > 2); //这是一个空语句
2、
if(表达式1);A;elseB;
这样写编译器会报错。这个段代码的意思是:
if(表达式1); // 分号后面是一个空语句。表达式A;else表达式B;
这里的else必须以上一个语句的if,因为没有以else开头的语句,而不是与表达式A相对应。
这样写才是正确的:
if (表达式1)A;
else B; //else与//if (表达式1)// A;语句相对应!!
3、
if (表达式1)A;
else if (表达式2)B;
else if (表达式3)C;
elseD;
即便是表达式1和表达式2同时成立,也只会执行A语句。
4、
if(表达式1)A;
else if(表达式2)B;
else if (表达式3)C;
这样写不会出错,但逻辑上有漏洞。
5、
if (表达式1)A;
else if (表达式2)B;
else if (表达式3)C;
else (表达式4) //第七行D;
/*这样写是不对的,正确的写法是:要么去掉第七行的(表达式4);要么在第七行的else后面加上if;
*/
6、
if(表达式1)A;
else if (表达式2)B;
else if (表达式3)C;
else (表达式4);D;
**这样写语法不会出错,但是逻辑上是错误的,因为:
else (表达式4);D;
等价于
else
(表达式4);D;
(表达式4);即便是(3 < 4 )这种关系表达式也会执行,
这行表示式无实际含义。D不管else是否成立也会执行D,因为D已经不属于if…else语句里面**
#include<stdio.h>int main()
{int i=4;if (i > 0)printf("有两个解\n");// printf("*");else if(i == 0)printf("有唯一解\n");// printf("&");elseprintf("无实数解\n");return 0;} //输出结果为 有两个解 。 /*else if 和 else前面一条代码必须和if里面的语句,否则就会报错 !!! 以下是错误示例: if (i > 0)printf("1");printf("*");else if(i == 0)printf("2");printf("&");elseprintf("3");*/
if的用法及常见问题相关推荐
- MATLAB中fix啥意思,matlab fix函数用法_常见问题解析,matlab
matlab syms什么意思_常见问题解析 matlab中syms的意思是定义多个变量,可以用来创建符号变量x和y,语法是"syms x y":也可以创建一些符号变量.函数和数组 ...
- matlab中的fix,matlab fix函数用法_常见问题解析
matlab syms什么意思_常见问题解析 matlab中syms的意思是定义多个变量,可以用来创建符号变量x和y,语法是"syms x y":也可以创建一些符号变量.函数和数组 ...
- matlab stem 属性,matlab中stem函数用法_常见问题解析
matlab中如何自定义图例_常见问题解析 matlab中自定义图例的方法:首先打开matlab软件:然后点击勾选按钮,新建一个文件并输入代码为"x = 0:pi/50:2*pi;" ...
- stem什么意思matlab,matlab中stem函数用法_常见问题解析,matlab
matlab中如何自定义图例_常见问题解析 matlab中自定义图例的方法:首先打开matlab软件:然后点击勾选按钮,新建一个文件并输入代码为"x = 0:pi/50:2*pi;" ...
- javascript:void(0);用法及常见问题解析
void 操作符用法格式: javascript:void (expression) 下面的代码创建了一个超级链接,当用户以后不会发生任何事.当用户链接时,void(0) 计算为 0,但 Javasc ...
- javascript:void(0)用法及常见问题解析
使用过ajax的朋友经常会见到这样的代码:here,这里面的void是一个操作符,该操作符指定要计算一个表达式但是不返回值.javascript:void(0) 在某些情况下会有浏览器不兼容的bug. ...
- Git用法及常见问题
ssh -T git@gitee.com 正常提示:(ssh -T -v git@gitee.com 可以追踪登录明细信息) Hi 枫叶! You've successfully authentica ...
- 举例说明在汇编语言中,[]的用法
"[]"的用法在"常见问题"已经有所说明,引用如下: 1.push dword ptr [024c1100] 压栈024c1100值的双字 2.cmp ea ...
- 北京清能互联公司(广州分公司)前端实习总结
环境工具: 参与项目的目录: 开发要求: [Vue转React不完全指北](https://juejin.cn/post/6953482028188860424) 思考题 - 尝试以`react`+` ...
- python禅语_42:对象、类、以及从属关系
# 练习42.对象.类.以及从属关系 有一个重要的概念你需要弄明白,那就是"类(class)"和"对象(object)"的区别.问题在于,class 和 obj ...
最新文章
- 商显行业高速发展,如何开启全新商务会议时代
- MySQL配置全文索引
- 8g ubuntu 树莓派4b_树莓派4B安装Ubuntu系统,并安装桌面
- 【动态规划】书的复制 (ssl 1203)
- matlab功能块,Matlab GUI重用功能块
- 大型JavaScript应用程序架构模式
- html 内嵌xml数据库,是否可以在SQLite数据库中存储XML/HTML文件?
- 64位centos下QQ无法输入中文只能输入英文
- C#中导出Execl
- php 删除字符前缀,thinkphp3.2.3如何删除同一前缀的缓存(File)
- 【Eclipse使用教程】最全的Eclipse快捷键
- 【动手学深度学习】代码(持续更新)
- 古建筑数字化影像采集技术分析
- R语言的画图代码及差异性分析
- Redis 源码解析(8) AOF持久化
- Java中线程同步锁和互斥锁有啥区别?看完你还是一脸懵逼?
- 苹果Mac 无法读写NTFS格式的U盘或移动硬盘?一次解决
- 【漫画】各大互联网公司的真实“人”生
- MySQL数据库范围、模糊、时间范围(时间段)查询语句
- 【039期】头条面试:说一说 LRU 原理和 Redis 如何实现?