分支结构
在实际编程中会遇到多种情况,每种不同的情况都需要编写不同的代码
那么有没有一种代方法将不同的代码组合到一个代码中
这就需要判断语句if
if/if……else (if)
if( /*区域 1 */ )
{
/*区域 2 */
}
else
{
/*区域 3 */
}
这是if语句的一个简单模板,接下简单介绍
if( /*区域 1 */ )
代码执行到这一行会先判断区域1中的部分是否成立
如果成立就直接运行区域2的代码,然后当区域二的代码运行完了之后
就直接跳过区域3的代码。
如果区域1中的代码不成立,就直接跳过区域2的代码直接运行区域3的代码
这就是if的用法
如果有多个判断情况并且只有一种成立,那就可以用 if……else if
if( /*区域 1 */ )
{
/*区域 2 */
}
else if( /*区域3*/ )
{
/*区域4*/
}
else if()
{
}
else
{
/*结束区域*/
}
这是if else if的例子
更上面一样,当区域1的条件成立后,会运行区域2的代码,然后直接跳过下面所有的判断语句
当区域1的代码不成立的时候,会直接跳过区域2的代码,判断区域3的代码是否成立,如果成立
就运行区域4的代码,然后直接跳过接下来的所有判断语句
如果不成立就会跳到下一个else if语句,依次类推,直到运行到else语句
在这段代码中 else if可以有多个
在这两段代码中else只能在结尾而且只能有一个,可以省略
除此之外,判断语句也可以嵌套,原理类似
判断条件
在之前的讲述中一直提到条件是否成立,这一部分就着重讲解怎么写判断条件
首先,就是数学中常用的符号
大于:>
小于:<
不等于:!=
等于:== (注意是双等号!)
然后代码中的写法就是:
if(a>b)
if(a+b!=c)
if(a+b==c+d)
........
这只是一些例子
如果一个if语句有多个判断条件,那就要用到与或非
与:&& (同时是为真才为真,一假全为假)
或:||(同时一真全为真,两假全为假)
非:!(真变假,假变真)
具体到代码的用法就是
if(a==b&&b==c)
if(a>c||b>c)
if(!(a!=b))
真或假
在这里要讲另一个知识点:在计算机中零为假,非零为真
实际上“>,<,==,!=”都是有一个返回值,计算机根据返回值是否为零来判断真假
(并不是什么大的知识点,但一定要记住)
循环
如果要让程序重复执行某个操作就要用到循环语句
for循环
for循环的具体框架结构如下:
for( /*区域1*/ ; /*区域2*/ ; /* 区域3 */ )
{
/*区域4 */
}
具体的循环过程是
区域1–>区域2–>区域4–>区域-3–>区域2–>区域4
下面具体讲解每一个区域的作用
区域1:一般是循环条件的准备,一般是初始化循环变量
区域2:是判断条件是否成立,如果成立就运行区域3,不成立就提跳出循环
区域3:循环结构的主体,既要多次循环的内容
区域4:循环变量自增,让循环继续进行。
一般常用的框架为:
for(int i=0;i<=n;i++)
{
}
while循环
while循环的具体框架如下
while(/*区域一*/)
{
/*区域二*/
}
while循环结构就比较简单
当区域一的判断条件成立时就不断执行区域二的代码,知道区域一的条件不成立
同样的循环之间可以嵌套,for和while循环可以混着嵌套
也就是说,for循环中可以嵌套for循环,也可以嵌套while循环,while也是如此
break/continue
break和continue是循环过程中常用的语句,用来控制循环
break语句是结束当前循环,不管循环到哪里,直接结束循环
注意是结束break所在的那一层循环,不是直接结束所有循环
continue语句是直接进行下一次的循环
注意continue后面的语句是不会进行的