IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: 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类 。这里分为 三种 ? ? ? ??
  • 1. 条件判断语句也叫分支语句:if语句、switch语句;
  • 2. 循环执行语句:do while语句、while语句、for语句;
  • 3. 转向语句:break语句、goto语句、continue语句、return语句。

接下来具体给大家介绍这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. 循环语句

  • ? ? ?while语句

  • ? ? ?for语句

  • ? ? do while语句

? 【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循环中也可以出现breakcontinue,他们的意义和在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语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-01-24 10:38:58  更:2022-01-24 10:41:17 
 
开发: 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-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码