| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> C++知识库 -> 0基础学习,详解C语言一——分支和循环 -> 正文阅读 |
|
[C++知识库]0基础学习,详解C语言一——分支和循环 |
(前面几篇文章都是简单介绍了C语言中的大体内容,接下来的文章为大家较为详细的介绍,让同学们对C语言有较为深的理解,可以自己写出点代码。)
C语句
可分为以下五类:
1.
表达式语句
2.
函数调用语句
3.
控制语句
4.
复合语句
5.
空语句
我们
本篇文章
主要介绍
控制语句
,控制语句主要有
9类
。这里分为
三种
? ? ? ??
接下来具体给大家介绍这9类。 1.分支语句(选择结构)
? ? ? 【1】 if
语句(前面对if语句有一些了解了,这里就直接介绍语法了)、
语法结构:
? ??
if
(
表达式
)
? ?
语句
;
if
(
表达式
)
? ?
语句
1
;
else
? ?
语句
2
;
//
多分支 ? ?
if
(
表达式
1
)
? ?
语句
1
;
else if
(
表达式
2
)
? ?
语句
2
;
else
? ?
语句
3
;
如果表达式的结果为
真
,则语句执行。
在
C
语言中如何表示真假?
0
表示假,非
0
表示真。
注意:如果语句不加大括号,默认只执行一条语句。
那么如果条件成立,要执行
多条
语句,怎应该使用代码块。
#include <stdio.h>
int
main
()
{
? ?
if
(
表达式
)
? {
? ? ? ?
语句列表
1
;
? }
? ?
else
? {
? ? ? ?
语句列表
2
;
? }
? ?
return
0
;
}
这里的一对 { } 就是一个代码块。
注意:else默认与往上最近的一个if配对。所以大括号很重要,它可以让你的代码更清晰,所以代码风格很重要,看下面这个代码:
#include <stdio.h>
int
main
()
{
? ?
int
a
=
0
;
? ?
int
b
=
2
;
? ?
if
(
a
==
1
)
? {
? ? ? ?
if
(
b
==
2
)
? ? ? {
? ? ? ? ? ?
printf
(
"hello\n"
);
? ? ? }
? }
? ?
else
? {
? ? ? ?
printf
(
"hi\n"
);
} ? ? ?
? ?
return
0
;
}
else
的匹配
:
else
是和它离的最近的
if
匹配的。
2.switch语句(多分支语句)
switch
语句也是一种分支语句。
常常用于多分支的情况。
比如:
输入
1
,输出星期一
输入
2
,输出星期二
输入
3
,输出星期三
输入
4
,输出星期四
输入
5
,输出星期五
输入
6
,输出星期六
输入
7
,输出星期日
这种的我们如果写成if else的话太复杂,这样我们引出了另一种语句
switch语句,来看语法:
switch
(
整型表达式
)
{
? case 1:? ? ? ?;
? case:2:? ? ? ?;
..........
}
在
switch
语句中的 break:在
switch
语句中,我们没办法直接实现分支,搭配
break
使用才能实现真正的分支。
例如我们看下面这个代码:
#include <stdio.h>
int
main
()
{
? ?
int
day
=
0
;
? ?scanf("%d", &day);
? ?
switch
(
day
)
? {
? ? ? ?
case
1
:
? ? ? ? ? ?
printf
(
"
星期一
\n"
);
? ? ? ?
case
2
:
? ? ? ? ? ?
printf
(
"
星期二
\n"
);
? ? ? ?
case
3
:
? ? ? ? ? ?
printf
(
"
星期三
\n"
);
? ?
??
? ? ? ?
case
4
:
? ? ? ? ? ?
printf
(
"
星期四
\n"
);
? ? ? ? ?
? ?
? ? ? ?
case
5
:
? ? ? ? ? ?
printf
(
"
星期五
\n"
);
? ? ? ? ??
? ? ? ?
case
6
:
? ? ? ? ? ?
printf
(
"
星期六
\n"
);
? ? ? ??
? ? ? ?
case
7
:
? ? ? ? ? ?
printf
(
"
星期天
\n"
); ? ?
? ? ? ??
? }
? ?
return
0
;
}
我们输入
1,想得到
星期一这个输出结果。但运行结果却是这样:
怎么
星期一到星期天都
输出了。这时候我们就加入
break。
代码就变成这样:
#include <stdio.h>
int
main
()
{
? ?
int
day
=
0
;
? scanf("%d", &day);
? ?
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,运行结果就是我们想要的了: ?break语句 的实际效果是把语句列表划分为不同的分支部分如果表达的值与所有的case标签的值都不匹配怎么办?你可以在语句列表中增加一条default子句,default语句的作用是:如果都不匹配就走default语句。当 switch 表达式的值并不匹配所有 case 标签的值时,这个 default 子句后面的语句就会执行。 所以,每个switch语句中只能出现一条default子句。 但是它可以出现在语句列表的任何位置。? 3. 循环语句
? 【1】while语句:语法:
while
(
表达式
)
循环语句
;
当表达式中结果为真执行循环,当表达式中结果为假退出循环。(while前面介绍过了,这里再简单介绍一下。)
这里着重介绍一下
while语句中的break和continue
。
break就是跳出循环的意思。看下面一段代码示例:
当i小于5时进入循环,并且每次打印i的值,当i等于3时触发break跳出循环,循环结束,所以屏幕上应该只打印0? 1? 2。我们来看运行结果: 这与我们设想的一致。?
break
在
while
循环中的作用:
其实在循环中只要遇到
break
,就停止后期的所有的循环,直接终止循环。
再来介绍一下
continue
,
它的作用是跳出本循环中剩余的语句,直接进入下次循环。
还是来看代码示例:
#include <stdio.h>
int main() { ?? ?int i = 0; ?? ?while (i < 5) { ?? ??? ?i++; ?? ??? ?if (i == 3) ?? ??? ?{ ?? ??? ??? ? ?? ??? ??? ?continue; ?? ??? ?} ?? ??? ?printf("%d\n", i); ?? ?} ?? ?return 0; }
当i为3时,执行
continue语句,跳过本循环剩余的内容,所以下面的
printf语句不执行,直接进入下次循环。所以最后运行结果
打印的应该是小于5的除了
3之外的内容。打印
1 2 4 5
。
我们来看运行结果:
? ?这与我们设想的一致。
continue
在
while
循环中的作用就是:
continue
是用于终止本次循环的,也就是本次循环中
continue
后边的代码不会再执行,
而是直接
进行下一次循环的判断。
? ? ? 【2】for
循环
先看语法:
for
(表达式1
; 表达式2
; 表达式3
)
? ? ? ? ? ? ? {? 循环语句
; }?
表达式
1
表达式
1
为
初始化部分
,用于初始化循环变量的。如
i=0
之类的
表达式
2
表达式
2
为
条件判断部分
,用于判断循环时候终止。如
i<10
之类的
表达式
3
表达式
3
为
调整部分
,用于循环条件的调整,如++,--之类的。
打印1-10的数字用for循环示例代码:
? ?1 2 3分别对应表达式1 2 3,来看运行结果: ?与我们预期的一致。 (注意:在for循环中也可以出现break和continue,他们的意义和在while循环中是一样的。这里就不多解释,可以自己实践一下。) ? ?【3】do...while()循环 ? ?语法:
do
循环语句
;
while
(判断
表达式
);
它的特点是
先执行语句后判断
,所以它
至少执行一次
。(使用场景有限,在初学时不经常使用。)
示例代码:
#include <stdio.h>
int
main
()
{
int
i
=
8
;
do
{
printf
(
"%d\n"
,
i
);
}
while
(
i
<
8
);
return
0
;
}
由于判断是
i<8
,但我们
初始i
就是
8
,所以代码只执行
一次
,就是
开始的那一次
,来看运行结果:
?与我们设想的一致。 本篇文章内容结束,感谢大家观看。如果有上面意见或建议,可以在评论区留言,您的点赞是我更新的动力。我们下篇文章再见。 |
|
C++知识库 最新文章 |
【C++】友元、嵌套类、异常、RTTI、类型转换 |
通讯录的思路与实现(C语言) |
C++PrimerPlus 第七章 函数-C++的编程模块( |
Problem C: 算法9-9~9-12:平衡二叉树的基本 |
MSVC C++ UTF-8编程 |
C++进阶 多态原理 |
简单string类c++实现 |
我的年度总结 |
【C语言】以深厚地基筑伟岸高楼-基础篇(六 |
c语言常见错误合集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 8:40:12- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |