当前位置: 首页 > wzjs >正文

2345网址大全最新版关于进一步优化落实疫情防控措施

2345网址大全最新版,关于进一步优化落实疫情防控措施,淘客网站要备案,wordpress 文章页面怎样全屏显示在 C 语言的世界里,分支和循环结构是编程的核心内容,它们赋予了程序根据不同条件执行不同操作以及重复执行特定代码段的能力,让程序变得更加智能和高效。今天,我们就深入探讨 C 语言分支和循环的相关知识,助力大家夯实…

  在 C 语言的世界里,分支和循环结构是编程的核心内容,它们赋予了程序根据不同条件执行不同操作以及重复执行特定代码段的能力,让程序变得更加智能和高效。今天,我们就深入探讨 C 语言分支和循环的相关知识,助力大家夯实编程基础。

 一. 分支结构:if 语句与 switch 语句

1. if 语句

    1.1 基本形式与原理

    if 语句是 C 语言中最常用的分支结构之一。其基本语法为if (表达式) 语句,当表达式的值为非 0(在 C 语言中,非 0 表示真)时,执行后面的语句;若表达式的值为 0(表示假),则语句不执行 。例如,在判断一个整数是否为奇数的代码中:

int main()
{int num = 0;scanf("%d", &num);if(num % 2 == 1)printf("%d是奇数\n", num);return 0;
}

    这里通过num % 2 == 1这个表达式来判断num是否为奇数,若满足条件则打印相应信息。

    1.2 if...else... 结构

    为了更全面地进行条件判断,if...else...结构应运而生。语法为if (表达式) 语句1 else 语句2,当表达式为真时执行语句1,否则执行语句2。以判断整数是奇数还是偶数为例: 

int main()
{int num = 0;scanf("%d", &num);if(num % 2 == 1)printf("%d是奇数\n", num);elseprintf("%d是偶数\n", num);return 0;
}
     1.3 控制多条语句

        默认情况下,ifelse语句只控制一条语句。若要控制多条语句,需使用大括号{}将代码括起来,形成程序块或复合语句。例如:

    int main()
    {int age = 0;scanf("%d", &age);if(age >= 18) {printf("成年了\n");printf("可以谈恋爱了\n");}else {printf("未成年\n");printf("不可以早恋哦\n");}return 0;
    }

    1.4 嵌套if语句:

    if else语句中,else可以与另一个if语句连用,构成嵌套 if 语句,实现更复杂的逻辑判断。比如判断一个整数是 0、正数还是负数:

    int main()
    {int num = 0;scanf("%d", &num);if(num == 0)printf("输入的数字是0\n");else if(num > 0) printf("输入的数字是正数\n");elseprintf("输入的数字是负数\n");return 0;
    }

    1.5 悬空 else 问题:

        当存在多个ifelse时,else总是与最接近的if匹配。例如:

    int main()
    {int a = 0;int b = 2;if(a == 1)if(b == 2)printf("hehe\n");elseprintf("haha\n");return 0;
    }

        这段代码中,else实际上与第二个if匹配,若想让else与第一个if匹配,需添加大括号,增强代码可读性

    2. switch 语句 

    2.1 基本形式和应用场景:

      switch语句是另一种实现分支结构的方式,适用于判断条件有多个结果的情况。其语法为:       

      switch (expression)

      { 

        case value1: statement;

        case value2: statement;

        default: statement;

      }

        根据expression的值执行相应的case分支,若找不到匹配值,则执行default分支。例如,计算整数除 3 之后的余数:

    int main()
    {int n = 0;scanf("%d", &n);switch(n%3){case 0:printf("整除,余数为0\n");break;case 1:printf("余数是1\n");break;case 2:printf("余数是2\n");break;default :printf("没有匹配的值");break;}return 0;
    }

        n%3的计算结果如果等于0 1 2就执行相应的语句,没有相等的值就执行default后面的语句

    2.2 break 的重要性

        在switch语句中,break用于跳出switch语句。若某case语句后没有break,代码会继续执行后续case语句,直到遇到breakswitch语句结束。例如,去掉上述代码中的break,会出现不符合预期的结果。

    2.3 default 子句

        当switch后的表达式的值无法匹配代码中的case语句时,可使用default子句进行处理。比如在打印星期的练习中,可用于提示输入错误。

    2.4 case 和 default 的顺序

      switch语句中case子句和default子句没有严格的顺序要求,但通常将default子句放在最后。

    二、关系操作符、条件操作符与逻辑操作符 

    1. 关系操作符

        C 语言中的关系操作符包括><>=<===!=,用于比较两个值的大小或是否相等,构成关系表达式。关系表达式的结果通常为 0(假)或 1(真) 。使用时需注意,相等运算符==与赋值运算符=不同,同时应避免多个关系运算符连用。例如,判断年龄是否在 18 岁到 36 岁之间,正确的写法是if(age>=18 && age<=36),而不是if(18<=age<=36)

    int main()
    {int age = 30;if(age>18){printf("长大了");}else{printf("小孩");}return 0;
    }

    2. 条件操作符

        条件操作符也叫三目操作符,形式为exp1? exp2: exp3。其计算逻辑是:若exp1为真,计算exp2,其结果为整个表达式的结果;若exp1为假,计算exp3,其结果为整个表达式的结果。

    int main()
    {int a = 3;int b = 4;int c = a > b ? 3 : 4;//如果a大于b给c赋值3,反之,赋值4printf("%d",c);return 0;
    }

    3. 逻辑操作符

        3.1 逻辑取反运算符!

        用于改变单个表达式的真假。例如,若flag为假,执行特定操作:

    int main()
    {int flag = 0;if(!flag){printf("do something\n");}return 0;
    }
    
        3.2 逻辑与运算符&&

        表示并且的意思,只有当两侧表达式都为真时,整个表达式才为真。如判断月份是否在 3 月到 5 月(春天):if(month >= 3 && month <= 5)

    int main()
    {int month = 4;if(month >= 3 && month <= 5)//两个条件同时满足就执行下面的语句{printf("春天");}else{ ;}return 0;
    }
        3.3 逻辑或运算符 ||:

        表示或者的意思,只要两侧表达式至少有一个为真,整个表达式就为真。如判断月份是否是 12 月、1 月或 2 月(冬天):if(month == 12 || month==1 || month == 2)

      

    int main()
    {int month = 4;if(month == 3 || month == 5 || month== 4)//三个条件满足一个就执行下面的语句{printf("春天");}else{ ;}return 0;
    }
        3.4 短路现象:

        C 语言逻辑运算符具有短路特性,总是先对左侧表达式求值,再对右侧表达式求值。若左侧表达式满足逻辑运算符的条件,就不再对右侧表达式求值。例如,在if(month >= 3 && month <= 5)中,当month >= 3为假时,就不再判断month <= 5

        三、循环结构:while 循环、for 循环与 do - while 循环 

        1. while 循环

            语法与执行流程while循环的语法为while(表达式) 语句。执行时先判断表达式的值,若为 0 则循环结束,若为非 0 则执行循环语句,之后再次判断表达式,如此循环。

           

            实践应用:例如,在屏幕上打印 1 到 10 的值:

        int main()
        {int i = 1;while(i<=10){printf("%d ", i);i = i+1;}return 0;
        }

            练习:输入一个正整数,逆序打印其每一位。通过n%10获取最低位,n=n/10去掉最低位,利用while循环实现

        int main()
        {int a = 1234;while (a){printf("%d ", a % 10);a = a / 10;}return 0;
        }

        2. for 循环

         

            语法与执行流程for循环的语法为for(表达式1; 表达式2; 表达式3) 语句。其中,表达式1用于循环变量的初始化,表达式2用于循环结束条件的判断,表达式3用于循环变量的调整 。执行时先执行表达式1,再判断表达式2,若为真则执行循环语句,之后执行表达式3,然后再次判断表达式2,直到表达式2为假时循环结束。

            实践应用:同样是在屏幕上打印 1 到 10 的值,for循环的代码为:

        int main()
        {int i = 0;for(i=1; i<=10; i++){printf("%d ", i);}return 0;
        }

            与 while 循环的对比for循环和while循环都有初始化、判断、调整三个部分,但for循环的这三个部分更集中,便于代码维护,在形式上更具优势

            

            练习:计算 1 到 100 之间 3 的倍数的数字之和,可通过优化循环直接产生 3 的倍数来提高效率。

        int main()
        {int sum = 0;for (int i = 3; i <= 100; i = i + 3){sum = sum + i;}printf("%d ", sum);return 0;
        }

        3. do - while 循环

            语法与执行流程do - while循环的语法为do 语句; while(表达式);。它先执行循环体语句,再判断表达式的值,若为真则继续循环,若为假则结束循环。其特点是循环体至少执行一次。

            

            实践应用:在屏幕上打印 1 到 10 的值,代码如下:

        int main()
        {int i = 1;do{printf("%d ", i);i = i + 1;}while(i<=10);return 0;
        }

        练习:输入一个正整数,计算其位数。使用do - while循环,因为即使输入的数是 0,也可作为 1 位数统计

        int main()
        {int a = 0;int i = 0;scanf("%d", &a);do{a = a / 10;i++;} while (a);printf("%d", i);return 0;
        }

          四、break 和 continue 语句:循环控制的利器

          (一)break 语句

              break用于永久终止循环,一旦执行,直接跳出所在循环,继续执行循环后面的代码。在whilefordo - while循环中作用相同。例如,在while循环中,当i等于 5 时终止循环:

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

          (二)continue 语句

            continue用于跳过本次循环中continue后面的代码,直接进入下一次循环的判断。在while循环和for循环中表现略有不同,在while循环中跳到循环判断位置,而在for循环中会跳到循环调整部分。

          五、循环的嵌套与 goto 语句

          (一)循环的嵌套

              三种循环(whiledo - whilefor)可以相互嵌套,解决更复杂的问题。例如,找出 100 到 200 之间的素数,需要使用两层循环,外层循环遍历 100 到 200 的数字,内层循环判断每个数字是否为素数。

          int main()
          {for (int i = 100; i <= 200; i++){int falg = 0;for (int j = 2; j < i - 1; j++){if (i % j == 0){falg = 1;break;}}if (falg == 0){printf("%d ", i);}}return 0;
          }

          (二)goto 语句

            goto语句可以实现在同一个函数内跳转到设置好的标号处。虽然使用不当会打乱程序执行流程,但在多层循环中,若想快速跳出循环,goto语句会更加便捷。

          int main()
          {printf("hehe\n");goto next;printf("haha\n");next:printf("跳过了haha的打印\n"); return 0;
          }

          通过对 C 语言分支和循环知识的详细介绍,相信大家对这些重要的编程概念有了更深入的理解。在实际编程中,灵活运用这些知识,能够编写出更高效、更复杂的程序。希望大家不断练习,提升自己的编程技能!

          练习:

           线段图案_牛客题霸_牛客网

          http://www.dtcms.com/wzjs/138112.html

          相关文章:

        1. 柳州网站建设公百度网盘会员
        2. 2013电子商务网站建设考试试卷网站查询入口
        3. 自己做网站成本百度资源
        4. 网站建设教程论坛交换链接营销实现方式解读
        5. 怎样清理网站后门山东做网站公司
        6. 网站建设前期需要准备什么资料网络域名综合查询
        7. 佛山企业网站建设咨询互联网营销师怎么报名
        8. 威海建设局网站楼盘信息公布网上竞价平台
        9. 正常网站 月均ip pv网络营销公司好不好
        10. 把网站放到域名上世界十大搜索引擎及地址
        11. 做色情诱导网站seo的基础是什么
        12. 怎么用html做百度首页网站学seo优化
        13. 旅游网站后台模板下载seo专员很难吗
        14. 做微电影模板下载网站百度竞价关键词优化
        15. 微网站开发腾讯软文写作范文
        16. 沧州市做网站的靠谱的拉新平台
        17. 北戴河区建设局网站谷歌paypal官网登录入口
        18. 有哪些设计网站app品牌营销策略包括哪些内容
        19. 个人网站备案条件做一个推广网站大概多少钱
        20. wordpress里的模板怎么用苏州关键词优化软件
        21. 网站建设应考虑哪些方面的问题品牌广告语经典100条
        22. 陕西网络开发公司网站电商平台运营方案思路
        23. 贵州高端网站建设seo网络推广招聘
        24. discuz怎么做网站成都网站建设seo
        25. 织梦怎么做手机网站四川省人民政府官网
        26. 如何做网站布局优化营销方式和渠道
        27. c 做交易网站网站建站
        28. 网站页面优化技巧成都搜索优化排名公司
        29. 家居建材网站源码代写软文公司
        30. 百度云网站开发sem优化技巧