小编推荐一个学 C 语言 / C++ 的学习裙 六九九, 四七零, 五九六 , 无论你是大牛还是小白, 是想转行还是想入行都可以来了解一起进步一起学习! 裙内有开发工具, 很多干货和技术资料分享!
在任何一个编程语言中, 必定存在顺序结构条件选择结构与循环语句, 至少在小编会的三种语言中都存在, 汇编语言 C 语言 Java 语言, 如条件语句在汇编中指令 cmp 就起到了条件选择的作用(当然也可以使用伪指令 IF 等), 而循环语句可以使用 loop 指令, 根据寄存器 ecx 是否为 0, 来决定循环次数, 每循环一次, ecx 会自动减一, 直到变为 0, 才会跳出循环当然了 C 语言中的还有转移语句(goto), 相当于汇编中的跳转指令 jmp(汇编语言中能起到跳转的指令不少, 如 call 指令等等), 至于 java 中基本跟 C 语言差不多, C 语言中的关于选择循环思想几乎可以完全照搬到 java 中, 但是关于 goto 关键字, 在 java 中只是保留字, 以后可能会使用其实只要有编程基础的人, 肯定对这些很熟悉, 否则根本就不可能写出一套完整正确的程序
一 ifif else 语句形式:
其实这些都比较简单, 所以简单的介绍一下
if(表达式) 语句块当表达式的值为真时 (非 0 即可), 那么执行后面的语句块, 否则(为 0) 跳过此语句块, 继续执行后面的语句过程如图:
要是以日常生活中的话理解的话, if 可以当成如果解释, 比如可以说, 如果今天下雨, 你就来接我 if 语句就这作用, 但是并没有说不下雨该怎么做(当然你完全可以再加一个及以上的 if 语句), 因此 if else 语句就此应运而生, 闪亮登场, 该语句除了指定条件为真时执行某些语句外, 还可以在条件为假是执行另外一个语句块, 其一般形式为:
if(表达式)
语句 1
else
语句 2
执行流程图:
表达式为真时执行 if 后面的语句块 1, 表达式为假时执行 else 后面的语句块 2
二 else if 语句
该语句是对一系列互斥的条件进行检验, 其一般形式为:
if(表达式 1) 语句 1
else if(表达式 2) 语句 2
else if(表达式 3) 语句 3
else 语句 n
其执行流程图为:
执行顺序, 首先判断表达式 1, 如果为真那么执行语句 1, 而后忽略后面所有 else if 及 else 语句, 如果为假时, 则依次向下匹配, 直到匹配到真时, 就执行其对应后面的语句块, 如果没有匹配项, 那么执行最后的 else 后面的语句(当然也可以不带 else, 那么就继续后续程序), 其实 else if 语句就是一个整体, 一旦匹配到其中一项, 那么就退出 else if 语句, 即使后面还有符合条件的表达式也不会在被匹配到, 不会匹配到两项及两项以上
小编推荐一个学 C 语言 / C++ 的学习裙 六九九, 四七零, 五九六 , 无论你是大牛还是小白, 是想转行还是想入行都可以来了解一起进步一起学习! 裙内有开发工具, 很多干货和技术资料分享!
三条件运算符:
条件运算符 "?:", 也是一个三目运算符, 其一般形式为: 表达式 1 ? 表达式 2 : 表达式 3, 其根据表达式 1 的真或假返回另外两个表达式中的一个, 如果表达式 1 为真, 则返回表达式 2 的结果值, 如果为假则返回表达式 3 的结果值 max=a>b? a:b; 这表达式其实是得到 a,b 中的最大值
四 switch 语句:
如果只需要检验某一个整型变量的可能取值, 那么 switch 语句将更加合适其一般形式为:
- switch(表达式)
- {
case 情况 1:
语句 1;
case 情况 2:
语句 2;
default:
默认情况语句块;
}
switch 程序流程图:
switch 检验的条件必须为一个整型表达式, 其中也可以包含运算符和函数调用, 而 case 检验的值必须是整形常量, 也可以是常量表达式或常量运算在每一个 case 和 default 都会有一个相应的 break 语句, 如果没有的话, 那么当匹配到一个符号的 case 时, 当执行完当前 case 后面的语句后, 后面的 case 将继续执行, 不会退出来如:
- swtich(a){
- case 1:
语句 1;
case 2:
语句 2;
case n:
语句 n;
default:
语句 m;
}
当 a=2,case 2 匹配, 那么执行语句 2, 如果没有 break, 那么将继续输出语句 3, 语句 4, 直到最后
使用 switch 语句时应注意:
case 后面的常量不能相同, 否则会出错
case 和 default 语句顺序可以变动, 不一定 default 就一定在最后
case 后面可以有多条语句, 可以不用 {} 括起来
default 可以不需要
break 关键字可以根据需要加还是不加, 其形式可以有如下形式:
- switch(表达式)
- {
- case 1:
语句 1;
- break;
- case 2:
- case 3:
语句 2;
break;
default :
默认语句;
break;
{
上诉代码, 值 2 和 3 执行同一语句, break 应该根据实际情况添加
小编推荐一个学 C 语言 / C++ 的学习裙 六九九, 四七零, 五九六 , 无论你是大牛还是小白, 是想转行还是想入行都可以来了解一起进步一起学习! 裙内有开发工具, 很多干货和技术资料分享!
五 if else 与 switch 的区别:
if else 是先对条件进行判断, 而 switch 是后进行判断
if else 对开始少量的检验判断速度比较快, 但是随着检验判断的次数增长, 速度会越变越慢, 默认情况下是最慢的 if else 结构可以判断表达式, 但是随着次数的增加有着越来越慢的趋势, 而且也不容易进行后续的添加扩充而 switch 语句中对每一项 case 语句的检验判断的速度都是相同的, 但 default 默认情况要比其他情况要快所以在判定情况在少数时, if else 语句要比 switch 语句要快, 一般在 3 到 4 次时选择 if else 语句, 否则选择 switch 语句
六, 循环控制语句:
C 语言中循环控制语句主要有 while(表达式) dowhile(表达式) for(表达式 1; 表达式 2; 表达式 3), 关于循环语句的详细介绍将在下一篇, 下一篇继续
来源: http://www.jianshu.com/p/3cff78d344d0