提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
本文是对选择语句(if,switch )等的详细解释,还说明了注释的作用
一、注释
1. 代码中有不需要的代码可以直接删除,也可以注释掉
2. 代码中有些代码比较难懂,可以加一下注释文字
(被注释掉的部分不会参与代码运行,仅作程序员阅读作用)
#include <stdio.h>
int Add(int x, int y)
{
return x+y;
}
/*C语言风格注释
int Sub(int x, int y)
{
return x-y;
}
*/
int main()
{
//C++注释风格
//int a = 10;
//调用Add函数,完成加法
printf("%d\n", Add(1, 2));
return 0;
}
注释有两种风格:
C 语言风格的注释 /*xxxxxx*/
缺陷:不能嵌套注释
C++ 风格的注释 //xxxxxxxx
可以注释一行也可以注释多行
二、选择语句
1.if
在学习之前,我们先了解一下语句。
C 语句可分为以下五类:
1. 表达式语句
2. 函数调用语句
3. 控制语句
4. 复合语句
5. 空语句
if语句属于控制语句
控制语句用于控制程序的执行流程,以实现程序的各种结构方式
C 语言支持三种结构:(顺序结构、选
择结构、循环结构),它们由特定的语句定义符组成, C 语言有九种控制语句。
不多说了,直接讲if语句
格式:
语法结构:
if(表达式)
语句;
if(表达式)
语句1;
else
语句2;
//多分支
if(表达式1)
语句1;
else if(表达式2)
语句2;
else
语句3;
不是只有三种型式,else if你想写多少就写多少行
()里的表达式结果为真,则语句执行。
在 C 语言中如何表示真假?
0 表示假,非 0 表示真。
说到表示真假,就涉及到了判断(运算符)
运算符
相等运算符
==运算符 a==b 如果a和b的值相等则为1,不等则为0(结果为int类行)
!=运算符 a!=b 如果a和b的值不相等则为1,相等则为0(结果为int类行)
注:==和!=是一个运算符。因此,如果在=和=之间加上空格,使其变为= =或! =,都是不行的
关系运算符
<运算符 a<b a小于b时结果为1,反之为0(结果的类型为int)
>运算符 a>b a大于b时结果为1,反之为0(结果的类型为int)
<=运算符 a<=b a小于等于b时结果为1,反之为0(结果的类型为int)
>=运算符 a>=b a大于等于b时结果为1,反之为0(结果的类型为int)
注:在使用>=和<=时,等号放在左侧(放在右侧和中间有空格都是不行的)
if的嵌套使用
#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;
}
在if语句里套一个if语句是可以的,但以下是不行的
#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 是和它离的最近的 if 匹配的。
可以像之前的一样,
适当的使用{}使代码的逻辑更加清楚。
代码风格很重要。
2.switch语句
switch 语句也是一种分支语句。
常常用于多分支的情况。
比如:
输入 1 ,输出星期一
输入 2 ,输出星期二
输入 3 ,输出星期三
输入 4 ,输出星期四
输入 5 ,输出星期五
输入 6 ,输出星期六
输入 7 ,输出星期日
那我没写成 if...else if ...else if 的形式太复杂,那我们就得有不一样的语法形式。
这就是 switch 语句。
格式:
switch ( 整型表达式 )
{
语句项;
}
而 语句项 是什么呢?
// 是一些 case 语句:
// 如下:
case 整形常量表达式 :
语句 ;
在switch语句中的 break
在 switch 语句中,我们没办法直接实现分支,搭配 break 使用才能实现真正的分支。
#include <stdio.h>
int main()
{
int day = 0;
switch(day)
{
case 1:
printf("星期一\n");
break;
case 2:
printf("星期二\n");
break;
case 3:
printf("星期三\n");
break;
case 4:
printf("星期四\n");
break;
case 5:
printf("星期五\n");
break; case 6:
printf("星期六\n");
break;
case 7:
printf("星期天\n");
break;
}
return 0;
}
有时候我们的需求变了:
1. 输入 1-5 ,输出的是 “weekday”;
2. 输入 6-7 ,输出 “weekend”
#include <stdio.h>
//switch代码演示
int main()
{
int day = 0;
switch(day)
{
case 1:
case 2:
case 3:
case 4:
case 5:
printf("weekday\n");
break;
case 6:
case 7:
printf("weekend\n");
break;
}
return 0;
}
只要没有break,switch语句就会一直执行。
break语句 的实际效果是把语句列表划分为不同的分支部分。
default 子句
写在任何一个 case 标签可以出现的位置。
当 switch 表达式的值并不匹配所有 case 标签的值时,这个 default 子句后面的语句就会执行。
所以,每个 switch 语句中只能出现一条 default 子句。
但是它可以出现在语句列表的任何位置,而且语句流会像执行一个 case 标签一样执行 default 子句。
总结
编程好习惯
在每个 switch 语句中都放一条 default 子句是个好习惯,甚至可以在后边再加一个 break 。
本文是对选择语句(if, switch )等的详细解释,还说明了注释的作用