栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

循环与分支(一)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

循环与分支(一)

目录

一:什么是语句

二:分支语句(选择结构)

三:循环结构(while)


之前几章都是简单了解c语言从本章节起,将开始正式学习C语言,从基础讲起。

本章的标题叫做循环与分支,我们将在本章介绍循环语句和分支语句。

循环语句有for语句,while语句,do-while语句;分支语句有if-else语句和switch语句。

一:什么是语句

C语言语句可分为以下五大类

1.表达式语句

2.函数调用语句

3.控制语句

4.复合语句

5.空语句

简单来理解,由逗号作为结束标记的就是一个语句。如果逗号前面什么都没有,就是一个空语句。 其他语句就不用多介绍了。本章重点在于控制语句。

控制语句分三种。1:一条路走到黑没有其他选择的叫做顺序结构;2:有多种选择的叫做选择结构;3:走到最后又回到开始的(比如一个圆)叫做循环结构。顺序结构,我们vs IED在读取代码时就是按顺序去读取。

可分成以下三类: 1. 条件判断语句也叫分支语句: if 语句、 switch 语句; 2. 循环执行语句: do while 语句、 while 语句、 for 语句; 3. 转向语句: break 语句、 goto 语句、 continue 语句、 return 语句。

二:分支语句(选择结构)

选择很好理解,从小到大所做的选择题就是一种选择至少需要两个还可以多至无限个。

2.1  if语句

if-else 最简单的语句,if-else允许嵌套使用。例如:

int a=5;
if(a>3)
 if(a>=5)
    printf("%d",a);
else
printf("hehe");

在if语句里嵌套了一个if,同理else也可以,if中的if也行,无限套娃。

当然,还是有点小细节需要注意的,我们的else仅跟最近的if,所以在看代码和写代码时需要注意。由于我学了Java更习惯Java的写法,喜欢在各种语句后面加上{ },把代码写在里面,“{ }”叫做代码块,表示这个代码所属于前面的语句,而且不容易出错,如果以后主学c++的不用这门写。

解释一下上述代码,a>3为真则继续进行。那么如何表示真假,由于c缺少了bool值类型,只能用0表示假,非零为真。

适当的使用 {} 可以使代码的逻辑更加清楚,并且代码风格很重要。 代码对比:
//代码1
if (condition) {
    return x; }
return y;
//代码2
if(condition) {
    return x; }
else
{
    return y; }
//代码3
int num = 1;
if(num == 5) {
    printf("hehen");
}
//代码4
int num = 1;
if(5 == num) {
    printf("hehen");
}

而2和4,个人感觉没什么太大区别,对习惯Java的人来说if后面接" { " 没问题,因为Java中虚拟机写出来就是这样的。习惯了c++的可能受不了代码4 。

if-else很好用,也很简单,但它不是全能的。例如:

输入 1 ,输出星期一 输入 2 ,输出星期二 输入 3 ,输出星期三 输入 4 ,输出星期四 输入 5 ,输出星期五 输入 6 ,输出星期六 输入 7 ,输出星期日 这显然不好用if-else去嵌套很麻烦。c提供了switch语句。

2.2switch语句

//基础语法:
switch(整型表达式) {
    case1:
        语句项;
    case2:
        语句项:
... 
...
}

用switch回答上面的题目,结果如下:

 我只想进去case1,不想进入2,3,4... ,所以我们需要break关键字,及时中止语句。

 为了避免某个地方出错,我们建议在写完case之后,写一个break,这也是看要求的,如果要求是1-5都为工作日,6,7为休息日,则需要换一种写法。

 这种写法可以不用一个case对应一个break。

break 语句 的实际效果是把语句列表划分为不同的分支部分。 那么如果遇到条件都不符合的情况怎么办呢, 其实也没什么,结构就是所有的语句都被跳过而已。 程序并不会终止,也不会报错,因为这种情况在 C 中并不认为是个错误 ,但如果需要别的要求的话,c提供了default语句,表示其他所有的条件都输出default的子代码。

养成一个编程的好习惯,在每一个switch语句下写一个default语句。

三:循环结构(while)

循环结构分为三种,for循环,while循环,do-while循环;

循环结构简单来说就是重复做某件事。那我们怎么做呢?

C 语言中给我们引入了: while 语句,可以实现循环。
while ( 表达式 ) 循环语句 ;

 举例:

//在屏幕上打印 1-10 的数字。 #include int main () { int i = 1 ; while ( i <= 10 ) { printf ( "%d " , i ); i = i + 1 ; } return 0 ; }

这里又需要提到break语句和continue语句 。

berak翻译就是打破循环,从c语言的角度来说就是当循环达到某个条件时,跳出循环;而continue翻译就是持续,当循环达到某个条件时跳出某次循环,而非整个循环。

//break 代码实例
#include 
int main()
{
 int i = 1;
 while(i<=10)
 {
     if(i == 5)
     break;
     printf("%d ", i);
     i = i+1;
 }
 return 0;
 }
其实在循环中只要遇到break,就停止后期的所有的循环,直接终止循环。 while中的break是用于永久终止循环的。
//continue 代码实例
#include 
int main()
{
 int i = 1;
 while(i<=10)
{
     if(i == 5)
     continue;
     printf("%d ", i);
     i = i+1;
}
 return 0; 
}
continue是用于终止本次循环的,也就是本次循环中continue后边的代码不会再执行, 而是直接跳转到while语句的判断部分。进行下一次循环的入口判断 。 当然还有for循环和do-while循环,下一篇在了解。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1025337.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号