目录
1.if ,else if 分支条件语句以及其嵌套结构:
if语句即为条件判断语句,其语法形式如下:
if(判断语句)
{
语句
}
在C语⾔中,0为假,⾮0表⽰真。也就是表达式的结果如果是0,则语句不执⾏,表达式的结果如果不是0,则语句执⾏。
例如:输入一个整数,判断是否为奇数
#
include
<stdio.h>
int
main
()
{
int
num =
0
;
scanf
(
"%d"
, &num);
if
(num %
2
==
1
)
printf
(
"%d
是奇数
\n"
, num);
return
0
;
}
在这个例子中,如果num % 2 ==1这个表达式是正确的即为真,那么就会执行下面的操作语句。
else if:
if
(num %
2
==
1
)
printf
(
"%d
是奇数
\n"
, num);
else if(num % 2 ==0)
printf("
%d是偶数\n",num);
else
printf("请正确输入数字!");
在上面这些代码中else if即为
另外一个分支结构,若满足该分支的条件判断语句,则程序将进入该分支而不进入其他分支,这就是else if的作用。而else语句则为这两种分支都不满足的情况下执行的语句。if语句可以没有else语句配对。而如果含有else或else if语句,
编译器默认会与最近的if语句进行配对。
if语句的嵌套:
if
(num>
0
)
{
if
(num%
2
==
0
)
printf
(
"
偶数
\n"
);
else
printf
(
"
奇数
\n"
);
}
else
{
printf
(
"
⾮正数
\n"
);
}
return
0
;
上述代码就是一种if的嵌套结构,理解起来不难,但在编程时一定要注意
区分好每一个分支的对应关系!
如果有多个
if
和
else
,可以记住这样⼀条规则,
else 总是跟最接近的 if 匹配
,尽量让配对的if和else在格式上一致,方便自己和别人阅读。
2. switch 分支选择语句:
switch语句是一种分支选择语句,其基本形式如下:
#
include
<stdio.h>
int main()
{
switch
(expression)
{
case
value1: statement
case
value2: statement
default
: statement
}
}
其执行方法为:根据表达式
expression
不同的值,执⾏相应的
case
分⽀。如果找不到对应的值,
就执⾏
default
分⽀。
<注意>
:
•
switch
后的
expression 可以
是
Byte,short,char,int
类型,但
不能是字符型float,double
!
•
case
后的值,
必须是整形常量表达式
!
•
case 和后边的数字之间必须有空格!
•
每⼀个 case
语句中的代码执⾏完成后,需要加上
break
,才能跳出这个switch语句!
ps.
1.
【若没有break语句】
在跳转到对应case语句后,
程序将继续执行完其后的所有语句
。
2.无论是case 2,case n,亦或是default语句,在执行到break语句之前,
将一直执行下去
。
3.所以在每一个case语句后加上break才能起到switch语句真正的分支作用(当然,有时根据情况不同可自行取舍)。
4.另外,default和case语句在switch语句中的位置没有要求,放在任意位置均可。
3.for,while 和 do while 循环语句:
for循环语句同时具备循环以及条件判断功能,相较while和do while循环更方便,其基本形式如下:
for(表达式1;表达式2;表达式3)
{
操作语句
}
其中:
1.表达式1是给变量赋初值,可以在表达式1中直接定义并赋值,例如:for(int i=1;i<10;i++)
2.表达式2是for循环的终止条件,用以控制for循环的结束
3.表达式3是变化语句,用以定义变量的变化形式
执行流程:
1.⾸先执⾏表达式
1
初始化循环变量
2.接下来就是执⾏表达式
2的判断部分,若变量不符合判断语句要求,则循环终止
3.每执行一次会执行表达式3,对变量做出改变
ps.表达式不一定要按形式写,也可以写在执行语句中,但最好严格按格式写,使代码易读
练习.在屏幕上打印输出1~10:
代码如下:
#
include
<stdio.h>
int
main
()
{
int
i =
0
;
for
(i=
1
; i<=
10
; i++)
{
printf
(
"%d "
, i);
}
return
0
;
}
看完for循环,再来看while循环.
while以及do while循环的基本形式如下:
while(条件判断语句)
{
操作语句
}
do
{
操作语句
}
while(条件判断语句)
其中:
1.若条件判断语句一直成立,则将会反复执行操作语句
2.do while和while循环语句的区别:
* do while循环会直接执行一次操作语句,再进行条件判断
* while循环是先进行条件判断再执行操作语句
综上:
do while循环有可能会在不满足条件的情况下仍执行一次操作语句
ps. 一般情况下while循环语句中条件判断语句会比操作语句多执行一次
4.break 和 continue 控制语句的使用:
break和continue控制语句是用于循环结构中的语句:
•
break
的作⽤是⽤于永久的终⽌循环,只要
break
被执⾏,直接就会跳出循环,继续往后执
⾏
•
continue
的作⽤是跳过本次循环中
continue
后边的代码,在
for
循环和
while
循环中有
所差异的
break举例:
#
include
<stdio.h>
int
main
()
{
int
i =
1
;
while
(i<=
10
)
{
if
(i ==
5
)
break
;
//
当
i
等于
5
后,就执⾏
break
,循环就终⽌了
printf
(
"%d "
, i);
i = i+
1
;
}
return
0
;
}
在这个例子中,当i的值为5时,就会进入if分支语句中,进而执行break语句,在执行完break语句后,程序将直接跳出循环不再执行循环,因此该程序打印输出的结果为1 2 3 4
continue举例:
#
include
<stdio.h>
int
main
()
{
int
i =
1
;
while
(i<=
10
)
{
if
(i ==
5
)
continue
;
printf
(
"%d "
, i);
i = i+
1
;
}
return
0
;
}
在这个例子中,只是将break换成了continue,当 i==5 时,执行 if 语句中的continue语句,程序将会
直接进入下一次循环,不执行continue往后的任意一个语句。此时 i 的值为5,又因为没有新的赋值,导致每次进入循环都会进入if语句中,而if语句又会让你重新执行循环,因此该程序永远无法结束,进入了一个死循环。
以上就是本篇文章的所有内容,希望对您有所帮助!