if的用法

1、if简单的用法
1)if
格式:

if  (表达式)语句A;语句B;
功能:如果表达式为真,执行语句A和语句B;如果表达式为假,只执行语句B;
由此可见if只能控制一个语句的执行与不执行,如果想要控制多个语句就必须把这些语句用{}括起来。
  1. 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的用法及常见问题相关推荐

  1. MATLAB中fix啥意思,matlab fix函数用法_常见问题解析,matlab

    matlab syms什么意思_常见问题解析 matlab中syms的意思是定义多个变量,可以用来创建符号变量x和y,语法是"syms x y":也可以创建一些符号变量.函数和数组 ...

  2. matlab中的fix,matlab fix函数用法_常见问题解析

    matlab syms什么意思_常见问题解析 matlab中syms的意思是定义多个变量,可以用来创建符号变量x和y,语法是"syms x y":也可以创建一些符号变量.函数和数组 ...

  3. matlab stem 属性,matlab中stem函数用法_常见问题解析

    matlab中如何自定义图例_常见问题解析 matlab中自定义图例的方法:首先打开matlab软件:然后点击勾选按钮,新建一个文件并输入代码为"x = 0:pi/50:2*pi;" ...

  4. stem什么意思matlab,matlab中stem函数用法_常见问题解析,matlab

    matlab中如何自定义图例_常见问题解析 matlab中自定义图例的方法:首先打开matlab软件:然后点击勾选按钮,新建一个文件并输入代码为"x = 0:pi/50:2*pi;" ...

  5. javascript:void(0);用法及常见问题解析

    void 操作符用法格式: javascript:void (expression) 下面的代码创建了一个超级链接,当用户以后不会发生任何事.当用户链接时,void(0) 计算为 0,但 Javasc ...

  6. javascript:void(0)用法及常见问题解析

    使用过ajax的朋友经常会见到这样的代码:here,这里面的void是一个操作符,该操作符指定要计算一个表达式但是不返回值.javascript:void(0) 在某些情况下会有浏览器不兼容的bug. ...

  7. Git用法及常见问题

    ssh -T git@gitee.com 正常提示:(ssh -T -v git@gitee.com 可以追踪登录明细信息) Hi 枫叶! You've successfully authentica ...

  8. 举例说明在汇编语言中,[]的用法

    "[]"的用法在"常见问题"已经有所说明,引用如下: 1.push dword ptr [024c1100]   压栈024c1100值的双字 2.cmp ea ...

  9. 北京清能互联公司(广州分公司)前端实习总结

    环境工具: 参与项目的目录: 开发要求: [Vue转React不完全指北](https://juejin.cn/post/6953482028188860424) 思考题 - 尝试以`react`+` ...

  10. python禅语_42:对象、类、以及从属关系

    # 练习42.对象.类.以及从属关系 有一个重要的概念你需要弄明白,那就是"类(class)"和"对象(object)"的区别.问题在于,class 和 obj ...

最新文章

  1. 商显行业高速发展,如何开启全新商务会议时代
  2. MySQL配置全文索引
  3. 8g ubuntu 树莓派4b_树莓派4B安装Ubuntu系统,并安装桌面
  4. 【动态规划】书的复制 (ssl 1203)
  5. matlab功能块,Matlab GUI重用功能块
  6. 大型JavaScript应用程序架构模式
  7. html 内嵌xml数据库,是否可以在SQLite数据库中存储XML/HTML文件?
  8. 64位centos下QQ无法输入中文只能输入英文
  9. C#中导出Execl
  10. php 删除字符前缀,thinkphp3.2.3如何删除同一前缀的缓存(File)
  11. 【Eclipse使用教程】最全的Eclipse快捷键
  12. 【动手学深度学习】代码(持续更新)
  13. 古建筑数字化影像采集技术分析
  14. R语言的画图代码及差异性分析
  15. Redis 源码解析(8) AOF持久化
  16. Java中线程同步锁和互斥锁有啥区别?看完你还是一脸懵逼?
  17. 苹果Mac 无法读写NTFS格式的U盘或移动硬盘?一次解决
  18. 【漫画】各大互联网公司的真实“人”生
  19. MySQL数据库范围、模糊、时间范围(时间段)查询语句
  20. 【039期】头条面试:说一说 LRU 原理和 Redis 如何实现?

热门文章

  1. android 播放pcm的软件,应用AudioTrack播放PCM音频数据(android)
  2. 高通msm8953平台摄像头移植
  3. 监听pda扫描_uniapp App监听PDA扫描工具数据
  4. excel空值排查快捷键
  5. 微信小程序中如何有效的修改app.js中全局变量的值,并能在页面中进行动态响应
  6. 关于文件和文件指针的总结
  7. 詹姆斯·高斯林接下来要做什么?
  8. ElementUI插件引用
  9. 线下AWD平台搭建以及一些相关问题解决
  10. 如何更改计算机时间和日期,如何更改电脑日期?电脑教程:然后修改