c语言中循环结构与条件结构搭配

循环结构:满足循环条件,执行循环体,循环;不满足循环条件退出循环;

条件结构:满足if条件,执行if语句;不满足if条件跳过if

可以看到,循环结构是多个if结构的叠加。

 

当循环结构中套if结构时,我们将if条件与循环结构条件写成与结构,形式上会更简洁。

例如:

我们想判断两个字符串是否相等。

1)常规思路:分两种情况,两个字符串的大小是否相同;相同的话,如果有字符不等,则跳出循环。

bool func(char*mm,char*nn)
{
     if(strlen(ch)==strlen(str))
     {
        int i = 0;
        for(;ch[i]!='\0';i++) //常规思路,一个字符一个字符的比较,有不等的退出,都相等继续循环
        {
            if(ch[i]!=str[i])
               return false;
        }
        return true;
    }else
        return false;
    
}

 2)循环条件和if条件合并

bool func(char*ch,char*str)
{
     if(strlen(ch)==strlen(str))
     {
        int i = 0;
        for(;ch[i]==str[i]&&ch[i]!='\0';i++) //循环结构的本质就是不满足条件退出,满足条件循环
        {
            
        }//不满足循环条件,退出循环:
            //ch[i]!=str[i]&&ch[i]!='\0';//两个字符串不等
           //ch[i]==str[i]&&ch[i]=='\0';//两个字符串相等
           //ch[i]!=str[i]&&ch[i]=='\0';//不存在这种情况

        if(ch[i]==str[i]) return true;
        return false;        
    }else
        return false;//存在两种情况,strlen(ch)>strlen(str)//可以合并到上面的情况中ch[i]!=str[i]&&ch[i]!='\0';
                                    //strlen(ch)<strlen(str)//也可以合并到上面的情况中ch[i]!=str[i]&&ch[i]=='\0';//即可能是这种情况
    
}

 3)两个字符串不等的情况合并

bool func(char*ch,char*str)
{
     if(strlen(ch)==strlen(str))
     {
        int i = 0;
        for(;ch[i]==str[i]&&ch[i]!='\0';i++) //循环结构的本质就是不满足条件退出,满足条件循环
        {
            
        }

        return(ch[i]==str[i]);     
    
    
}

 也可以写成如下形式

bool func(char*mm,char*nn)
{
    for(int j=0;mm[j]==nn[j]&&nn[j]!='\0';j++){}
 
    return (mm[j]=='\0'&&nn[j]=='\0');
    
}

总结:循环结构与条件结构判断条件的复用,充分运用了循环条件成立则不断循环,不成立则退出循环体的含义,

如上,我们表达的意思就是,如果两个字符串的每一个字符都相等,则不断循环。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值