0基础学习,详解C语言一——分支和循环

0基础学习,详解C语言一——分支和循环,第1张

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 int main () {     if ( 表达式 )   {         语句列表 1 ;   }     else   {         语句列表 2 ;   }     return 0 ; } 这里的一对 { } 就是一个代码块。 注意:else默认与往上最近的一个if配对。所以大括号很重要,它可以让你的代码更清晰,所以代码风格很重要,看下面这个代码: #include int main () {     int a = 0 ;     int b = 2 ;     if ( a == 1 )   {         if ( b == 2 )       {             printf ( "hellon" );       }   }     else   {         printf ( "hin" ); }           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 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 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
int main()
{
    int i = 0;
    while (i < 5) {
        i++;
        if (i == 3)
        {
            
            continue;
        }
        printf("%dn", 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 int main () { int i = 8 ; do { printf ( "%dn" , i ); } while ( i < 8 ); return 0 ; } 由于判断是 i<8 ,但我们 初始i 就是 8 ,所以代码只执行 一次 ,就是 开始的那一次 ,来看运行结果:

 与我们设想的一致。

本篇文章内容结束,感谢大家观看。如果有上面意见或建议,可以在评论区留言,您的点赞是我更新的动力。我们下篇文章再见。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5710461.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存