if语句需要注意的地方:

  1. if判断只能接一个语句,存在多个语句时,用块语句表示{},若在if判断后
  2. 直接加“;”相当于if判断后加一个空语句,即使条件成立什么也不会干!

1. if的第一种形态(真假)

如果表达式的值为真, 则执行其后的语句, 否则不执行该语句。

if(表达式)语句

  1. void main()
  2. {
  3. int a=, b=, c=;
  4. if (a+b)c=;
  5. printf("%d", c);
  6. }
  1. void main()
  2. {
  3. int a=, b=, c=;
  4. if (a<b);
  5. { //养成良好习惯, 加上{}
  6. c=;
  7. }
  8. printf("%d", c);
  9. }

第二种形式为 if - else

  1. if(表达式)
  2. 语句1
  3. else
  4. 语句2
  1. void main()
  2. {
  3. int a=, b=;
  4. if (a>b)
  5. {
  6. printf("我比你大");
  7. }
  8. else
  9. {
  10. printf("我比你小");
  11. }
  12. }

第三种形式 else if 多次判断

  1. if(表达式1)
  2. 语句1
  3. else if(表达式2)
  4. 语句2
  5. else if(表达式3)
  6. 语句3
  7. .。。。。
  8. else
  9. 语句;
  1. void main()
  2. {
  3. int a=;
  4. if (a>)
  5. {
  6. printf("值大于10");
  7. }
  8. else if (a == )
  9. {
  10. printf("值等于10");
  11. }
  12. else if (a == )
  13. {
  14. printf("值等于10");
  15. }
  16. else if (a == )
  17. {
  18. printf("要的就是你");
  19. }
  20. else
  21. {
  22. printf("我比你小");
  23. }
  24. }

三目运算

条件运算符为?和:, 他是一个三目运算符, 即有三个参与运算的量。

组成条件表达式的形式为:

  1. 条件1 条件2 条件3

如果条件1为真则执行条件2

如果条件1为假, 则执行条件3

  1. void main()
  2. {
  3. int a=, b=, c;
  4. if (a>b)
  5. c=a;
  6. else
  7. c=b;
  8.  
  9. }
  10. #-----------------------------
  11. void main()
  12. {
  13. int a=, b=, c;
  14. c =(a>b)?a:b;
  15. printf("%d", c);
  16. }

注意事项:

  1. ).条件运算符的运算优先级低于关系运算符和算术运算符, 但高于赋值符:
  2.  
  3. max=(a>b):c:d
  4.  
  5. 可以去掉括号而写成
  6.  
  7. max = a>b:c:d
  8.  
  9. )条件运算符?和:是一对运算符, 不能单独分开使用
  10.  
  11. )条件运算符的结合方向是自右向左。
  12.  
  13. 例如:
  14.  
  15. a>b?a:c>d?c:d
  16.  
  17. 可以理解为a>b?a:(c>d?c:d)

switch语句

c语言还提供了另一种用于多分支选择的switch语句, 其一般形式为:

其语义是:计算表达式的值。并逐个与其后的常量表达式值相比较, 当表达式的值

与某个常量表达式的值相等时, 即执行其后的语句, 然后不在进行判断, 继续执行后面

所有case后的语句。 如表达式的值与所有case后的常量表达式均不相同时,

则执行default后的语句。

看例子:

  1. void main()
  2. {
  3. int a,b=;
  4. printf("please input number: \n");
  5. scanf("%d", &a);
  6. switch(a)
  7. {
  8. case :printf("1111\n");
  9. {
  10. b = ;
  11. printf("b = %d\n", b);
  12. }
  13.  
  14. default: printf("bbbb %d\n", b);
  15. }
  16.  
  17. }

  1. case :printf("1111\n");break;

还可以配合三目运算

  1. switch (a>?:)

注意事项:

  1. )在case后的各常量表达式的值不能相同, 否则会出现错误。
  2.  
  3. )在case后, 允许有多个语句, 可以不用{}括起来
  4.  
  5. )各casedefault子句的先后顺序可以变动, 而不会影响程序执行结果
  6.  
  7. default子句可以省略不用。

if 结构和三目运算和switch语句的更多相关文章

  1. js switch判断 三目运算 while 及 属性操作

    三 目运算:如var a = 10: var b= 12: c = a>b ?a:b; 若成立执行a否则执行b var isHide = true; 若用if判断语句如下 if(isHide) ...

  2. python函数,lambda表达式,三目运算,列表解析,递归

    一.自定义函数 定义函数时,函数体不执行:只有在调用函数时,函数体才执行.函数的结构: 1. def 2. 函数名 3. 函数体 def func_name(): 函数体 4. 返回值 如果没有声明返 ...

  3. ng-class结合三目运算

    ng-class文档:https://docs.angularjs.org/api/ng/directive/ngClass 但是在实际项目中可能会用到三目运算,实例如下: <ul> &l ...

  4. angularjs的三目运算

    前言:前几天写代码的时候遇到一个问题,有一个按钮,有"已关注"和"+关注"两种状态,需要对这两种状态的按钮的背景颜色进行区分,单后点击"已关注&quo ...

  5. 【Python全栈笔记】03 [模块二] 16-17 Oct Set 集合,三目运算

    Set 集合 set - unordered collections of unique elements 创建一个set/一个空set # create a new set set1 = {1,2, ...

  6. 三目运算的使用&bytes类型转str类型

    一.三目运算的使用 就像c语言中有三目运算符一样,python中也有三目运算符,废话不多说直接上代码 a=3 c=4 b=a if a>c else c print(b) 意思就和 if a&g ...

  7. 三目运算:and/or 技巧

    三目运算:and/or 技巧 and, or 联合起来有个小技巧: print 2 < 3 and True or False 说明:     如果  2 小于 3 了,则输出 True ,  ...

  8. day09三目运算

    内容详细 1.三目运算(三元运算) v=前面 if 条件 else 后面 if 条件: v="前面" else: v="后面" #让用户输入值,如果值是整数,则 ...

  9. python运算符,数据类型,数据类型操作,三目运算,深浅拷贝

    算数运算符: Py2中精确除法需要导入:from __future__ import division,(符由特  ,将来的.滴未省,除法) py3不需要导入 赋值运算符: 比较运算符: 成员运算符: ...

随机推荐

  1. 【Unity】4.5 树木创建器

    分类:Unity.C#.VS2015 创建日期:2016-04-11 一.简介 在地形编辑器一节中,已经告诉了你如何使用已经创建好的树来形成大片树林.这一节告诉你在 Unity 5.3.4中如何利用[ ...

  2. HTML5新特性之文件和二进制数据的操作

    历史上,JavaScript无法处理二进制数据.如果一定要处理的话,只能使用charCodeAt()方法,一个个字节地从文字编码转成二进制数据,还有一种办法是将二进制数据转成Base64编码,再进行处 ...

  3. 行为类模式(五):中介者(Mediator)

    定义 定义一个中介对象来封装系列对象之间的交互.中介者使各个对象不需要显示地相互引用,从而使其耦合性松散,而且可以独立地改变他们之间的交互. 试想一下,如果多个类之间相互都有引用,那么当其中一个类修改 ...

  4. 安全管理中心(SOC)引导企业信息安全建设的思路

    SOC即企业安全管理中心,该模型可帮助企业信息安全人员在进行安全建设方面提供整体性的参考.如下所示,以下模型分为数据采集部分收集了各类设备及日志等数据,这些数据收集到了以后提供给SOC安全管理中心,而 ...

  5. python(58):python下划线

    详解Python中的下划线 本文将讨论Python中下划线(_)字符的使用方法.我们将会看到,正如Python中的很多事情,下划线的不同用法大多数(并非所有)只是常用惯例而已. 单下划线(_) 通常情 ...

  6. 使用MSYS、Notepad++搭建C/C++开发环境

    目标说明 本文的目标是教会大家如何用Notepad++来编写C/C++代码,并能够编译运行. 注:Notepad++是一个非常优秀的开源文本编辑器.官网地址 http://notepad-plus-p ...

  7. 【神经网络】BP反向传播神经网络

    BP算法细节 参数说明:假设有n层.J表示代价函数,和上面的E是同样的意思,只不过用不同的字母写而已. 分析:要想知道第l层的第i个结点的残差,必须知道层已经计算出来了残差,你只要把后面一层的每个结点 ...

  8. VMware网络使用NAT模式

    公司的网络中,要在本地安装一个Linux虚拟机,但是只分配给宿主机一个IP,那么怎么实现Linux虚拟机的网络访问呢? 使用NAT模式:这是VMware用于虚拟NAT网络下的虚拟交换机. 1.设置网络 ...

  9. 问题-MethodAddress返回NIL?MethodAddress与published的关系?

    问题现象:有位朋友(397085381)在Q群里问“为什么书上的可以访问,而自己写的代码访问时为nil” 问题原因:因为要用“Self.MethodAddress('Test')”访问,方法必须放在“ ...

  10. webscan v0.01

    ps:本人不是写代码的料.写出来的贼垃圾.大牛看了如果有可以优化的提出来哈. #by def import urllib res = {} website = raw_input() if " ...