C/C++知识点之C语言程序的三种基本结构
小标 2018-10-10 来源 : 阅读 4870 评论 0

摘要:本文主要向大家介绍了C/C++知识点之C语言程序的三种基本结构,通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助。

本文主要向大家介绍了C/C++知识点之C语言程序的三种基本结构,通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助。


 1、程序结构:在C语言程序中,一共有三种程序结构:顺序结构、选择结构(分支结构)、循环结构;

  顺序结构:从头到尾一句接着一句的执行下来,直到执行完最后一句;
  选择结构:到某个节点后,会根据一次判断的结果来决定之后向哪一个分支方向执行;
  循环结构:循环结构有一个循环体,循环体里是一段代码。对于循环结构来说,关键在于根据判断的结果,来决定循环体执行多少次;
  注:在逻辑上有一种bool类型(也叫boolean类型,布尔类型),只有两个值,即真和假。C语言的判断表达式最终的值就是一个bool类型,这个判断表达式的bool值就决定了选择结构如何选择,循环结构如何循环;
2、顺序结构:顺序结构很简单,一般我们遇到的除了选择结构和循环结构外,都是顺序结构;
3、选择结构:C语言中常用的选择结构主要有以下两种:
  (1) if else:引入关键字:if  else  else if
    if (bool值)     // 如果bool值为真,则执行代码段1,否则执行代码段2
    {
      代码段1
    }
    else
    {
      代码段2
    }
    if (bool值1)    // 如果bool值1为真,则执行代码段1,否则判断bool值2是否为真
    {
      代码段1
    }
    else if (bool值2)  // 若bool值2为真则执行代码段2,否则直接执行代码段3
    {          // 开头的if和结尾的else都只能有一个,但是中间的else if可以有好多个
      代码段2
    }
    else
    {
      代码段3
    }

 1 #include 
 2 
 3 int main(void)
 4 {
 5     int a, b, max;
 6     
 7     a = 456;
 8     b = 45;
 9     
10     if (a > b)            // 判断表示式
11     {
12         max = a;
13         printf("true.\n");
14     }
15     else if (a == b)
16     {
17         max = a;
18         printf("a == b.\n");
19     }
20     else
21     {
22         max = b;
23         printf("false.\n");
24     }
25     
26     printf("max = %d.\n", max);
27     
28     return 0;
29 }

 
  (2) switch case:引入关键字:switch  case  break  default
    switch (变量)       // 执行到这一句时,变量的值是已知的
    {             // switch case语句执行时,会用该变量的值依次与各个case后的常数去对比,试图找到第一个匹配项,找到匹配的项目后,
       case 常数1:       // 就去执行该case对应的代码段,如果没找到则继续下一个case,直到default
         代码段1;        // 如果前面的case都未匹配,则default匹配。
         break;
       case 常数2:  
         代码段2;
         break;
       ……
       default:
         代码段n;
         break;
    }
    注:第一,case中必须是常数,而且必须是整形;
      第二,一般来说,每个case中代码段后都必须有一个break;
      第三,case之后一般都会有default,虽然语法上允许没有default,但是建议写代码时一定要写;

 1 // 结构化设计-选择结构示例代码 switch case演示
 2 #include 
 3 
 4 int main(void)
 5 {
 6     int num;
 7     
 8     num = 1;
 9     
10     switch (num)
11     {
12         case 1:
13             printf("a\n");
14             break;
15         case 2:
16             printf("b\n");
17             break;
18         case 3:
19             printf("c\n");
20             break;
21         case 4:
22             printf("d\n");
23             break;
24         default:
25             printf("-\n");
26             break;
27     }
28     
29     return 0;
30 }

 
  (3) if else和switch case的区别:if else适合对比条件较复杂,但是分支比较少的情况,switch case适合那种对比条件简单,但是分支较多的情况;
    通常的做法是:在适合使用switch case的情况下会优先使用switch case,如果不适合则使用if else;
4、循环结构:C语言中常用的循环结构主要有以下三种:
  (1) for:
    for (循环控制变量初始化; 循环终止条件; 循环控制变量增量)
    {
      循环体
    }
    循环执行步骤:第一,先进行循环控制变量初始化;
           第二,执行循环终止条件,如果判断结果为真,则进入第三步;如果为假则循环终止并退出;
           第三,执行循环体;
           第四,执行循环控制变量增量,转入第二步;
    注:for循环()中的三部分除了循环终止条件外,其他两部分都可以省略,但标准的for循环中,应该把循环控制变量的初始化,增量都放在()当中,并且在循环体中绝对不应该更改循环控制变量;

 1 // 计算1+2+3+····+10
 2 #include 
 3 
 4 int main(void)
 5 {
 6     int i, sum;
 7     
 8     printf("i = %d.\n", sum);
 9     
10     for (i=0,sum=0; i<=10; i++)
11     {
12         sum += i;
13     }
14     printf("sum = %d.\n", sum);
15     
16     return 0;
17 }

 
 
  (2) while:
    循环控制变量初始化
    while(循环终止条件)
    {
      循环体
      循环控制变量增量
    }
    循环执行步骤:第一,先进行循环控制变量初始化(在while之前);
           第二,判断循环终止条件,如果判断结果为真,则进入第三步;如果为假则不执行循环体;
           第三,执行循环体;
           第四,执行循环控制变量增量,转入第二步;

 1 // 计算100以内所有奇数的和
 2 #include 
 3 
 4 int main(void)
 5 {
 6     int i, sum;
 7     
 8     i = 1;
 9     sum = 0;
10     
11     while(i < 100)
12     {
13         printf("i = %d.\n", i);
14         sum += i;
15         i += 2;
16     }
17     
18     printf("sum = %d.\n", sum);
19     
20     return 0;
21 }

 
 
  (3) do while:
    循环控制变量初始化
    do
    {
      循环体
      循环控制变量增量
    }while (循环终止条件);
    循环执行步骤:第一,先进行循环控制变量初始化(在do while之前);
           第二,执行循环体;
           第三,执行循环控制变量增量;
           第四,判断循环终止条件,如果判断结果为真,则返回第二步;如果为假则直接退出循环;

 1 // 计算100以内所有奇数的和
 2 #include 
 3 
 4 int main(void)
 5 {
 6     int i, sum;
 7     
 8     i = 1;
 9     sum = 0;
10     
11     do
12     {
13         printf("i = %d.\n", i);
14         sum += i;
15         i += 2;
16     }while(i < 100);
17     
18     printf("sum = %d.\n", sum);
19     
20     return 0;
21 }

 
(4) 总结:不管哪种循环结构,都不能缺少循环控制条件初始化,终止条件,循环控制变量增量,循环体这四部分;
      while循环是先判断后执行,do while循环是先执行后判断,等循环一次之后,其实都是一样的;

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标编程语言C/C+频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 3 不喜欢 | 0
看完这篇文章有何感觉?已经有3人表态,100%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved