2023年8月2日(第2节-分支和循环语句)

else 的使用

// 适当的使用 {} 可以使代码的逻辑更加清楚。
// 代码风格很重要
#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 ;
}
错误写法:
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 匹配的。
用大括号分割

return  只能返回一个

int main()

if(condition){

        return x;

}  

return y;

避免混淆赋值运算和判断运算

// 代码 3
int num = 1 ;
if ( num == 5 )
{
    printf ( "hehe\n" );
}
// 代码 4
int num = 1 ;
if ( 5 == num )
{
    printf ( "hehe\n" );
}
常量放判断式左侧,避免混淆赋值运算和判断运算
代码 4 更好,逻辑更加清晰,不容易出错。

Switch语句

switch ( 整型表达式 )
{
    语句项;
}
case 整形常量表达式 :
    语句 ;
switch必须是 整形表达式!!!(int,long,char可以,float不行)
case   必须是 整形常量表达式!!!(1.1不行,n变量不行)
case选择进入的地点
break选择出去的地点
default输入值不在case中的情况
case和default没有顺序关系,但一般吧default放在后面
编程好习惯
在最后一个 case 语句的后面加上一条 break 语句。
(之所以这么写是可以避免出现在以前的最后一个 case 语句后面忘了添加 break 语句)。
在每个 switch 语句中都放一条 default 子句是个好习惯,甚至可以在后边再加一个 break
练习
#include <stdio.h>
int main ()
{
    int n = 1 ;
    int m = 2 ;
    switch ( n )
  {
    case 1 :
            m ++ ;
    case 2 :
            n ++ ;
    case 3 :
            switch ( n )
          { //switch 允许嵌套使用
            case 1 :
                    n ++ ;
            case 2 :
                    m ++ ;
                    n ++ ;
                    break ;
          }
    case 4 :
            m ++ ;
            break ;
    default :
            break ;
  }
    printf ( "m = %d, n = %d\n" , m , n );
    return 0 ;
}
m=5,n=3

while循环

break

int main ()
{
        int i = 1 ;
        while ( i <= 10 )
{
        if ( i == 5 )
        break ;
        printf ( "%d " , i );
        i = i + 1 ;
}
return 0 ;
}
总结:

breakwhile循环中的作用:

其实在循环中只要遇到 break ,就停止后期的所有的循环,直接终止循环。
所以: while 中的 break 是用于 永久 终止循环的。
int main ()
{
int i = 1 ;
while ( i <= 10 )
{
if ( i == 5 )
continue ;
printf ( "%d " , i );
i = i + 1 ;
}
return 0 ;
continue
int main ()
{
int i = 1 ;
while ( i <= 10 )
{
    i = i + 1 ;
if ( i == 5 )
continue ;
printf ( "%d " , i );
}
return 0 ;
}
总结 :

continuewhile循环中的作用就是:

continue 是用于终止本次循环的,也就是本次循环中 continue 后边的代码不会再执行,
而是直接跳转到 while 语句的判断部分。进行下一次循环的入口判断

getchar的使用

int main() {

    int ch = 0; 
    while ((ch=getchar())!=EOF)
    {
        putchar(ch);
    }
    return 0;

输入密码:123456 ABCD

会显示错误

 添加循环

 

 将输入中的数字输出

for循环(用的最多)

while循环调整三处,长代码情况下调整难度大

for循环三处调整集中

 

break在for循环中的作用:

与while循环中一致

continue在for循环中的作用

 对比continue在while循环和for循环中的不同

 

for循环中必然进行调整步骤1234678910

while循环中不一定进行调整步骤1234

for语句使用建议、变种

 

循环100次

 j在循环10次之后值为10,

总共打印出10个

循环2次

k=0是赋值语句,然后进行判断,0为假,不进入循环

k=1是赋值语句,然后进行判断,1为真,进入死循环

do-while循环

3.3.3 do 语句的特点
循环至少执行一次,使用的场景有限,所以不是经常使用。

break在do-while循环中的作用

同while,for

 continue在do-while循环中的作用

同while

练习

n的阶乘

标准做法

从1到n的阶乘和

运算优化

错哪了????

逆天,终于对了,第二个循环里的n改成m就好了

在数组(有序)中找到7

折半查找算法

演示字符从两端向中间汇聚

 

 分数求和

求最大值

存在不严谨的地方:max的初始值问题

 

 乘法口诀表

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值