分支语句和循环语句
C语言是一种结构化程序设计语言(一共分为三种):
一切行动都可以抽象为这三种结果其中之一或者组合。
一、分支语句
(一)分支语句 ——if
-
if的语法结构①:①②③④⑤
if(表达式) //当表达式为真,执行语句。 语句;
- if语法结构②:
if(表达式) 语句; //当if语句后面跟上多于一条的语句时,应该加上大括号。 else(表达式) //当if后表达式为假,则运行else中的语句。 语句;
-
if语法结构③:(这是一种多分支情况,每次只能执行一个条件)
if(表达式) 语句; else if(表达式) //else if可以有多项。 语句; else(表达式) 语句;
注意:1. 当括号内表达式想要表达类似“1<a<6”的情况时应该写成“1<a && a<6” 。
2. if语句中‘0’为假,非‘0’为真。 3. 当打印多条语句时要加上大括号,否则会出现一下情况:
#include <stdio.h> int main() { int a = 0; scanf("%d",&a); if(a<18) printf("未成年\n"); else printf("成年"); printf("打游戏不受限制");//原本应该表达结果分别为是“未成年”和“成年打游戏不受限制” return 0; }
但是如果不加大括号会出现以上情况,导致代码意思与我们想表达的不同。
悬空else情况
#include <stdio.h>
int main()
{
int a = 0;
int b = 2;
if(a == 1)
if(b == 2)
printf("hehe\n");
else
printf("haha\n");
return 0;
}
如图所示,此时不会输出结果,因为else与和它最近的else是一组的,因此要重视大括号的添加。
(二)分支语句——switch语句
【1】如:
输入1,输出星期一 输入2,输出星期二 输入3,输出星期三 输入4,输出星期四 输入5,输出星期五 输入6,输出星期六 输入7,输出星期日
如果写成 if…else if …else if 的形式太复杂,那就需要不一样的语法形式——即switch
switch语句形式;
switch(整型表达式)
{
语句项;
//switch语句里的语句项一般是‘case’
//case 整型常量常量表达式:
语句;
}
//case语句决定了代码的入口,但是对于其停止,应该要加上“break;”使得代码停止。其实际效果是把语句列表划分为不同的分支部分。
#