C语言程序基本结构的简单分析与解释

C语言程序基本结构的简单分析与解释
在C语言的补习课程中,有些学生对于C语言的结构不是很了解,为此为了让学生对于C语言有多的认识,有利于促进C语言的学习,本文对C语言的程序结构进行了简单的分析与解释。

程序结构:在C语言程序中,一共有三种程序结构:顺序结构、选择结构(分支结构)、循环结构;另外会介绍一个重要的结构,函数的介绍。

一、流程控制
1.顺序结构

默认的流程结构,按照书写顺序执行每一条语句

我们最开始接触的就是顺序结构:

#include

int main(int argc, const char *argv[])

{

     printf("Hello World!\n");

     return 0;

}

如上面的例子,就是最简单的顺序结构。

程序讲解:

#include:标准I/O头文件,下文中的printf需要使用这个文件

int main():主函数,一个程序的入口。一个程序有且只有一个main()函数

int:代表主函数的返回值类型是int型

printf():格式化输出,将括号内的内容打印到显示器上,打印字符串需要用双引号""引上

return 0;:配合主函数类型使用,一般来说返回0的程序表示程序运行成功

打印的结果为:Hello World!

2.选择结构

对给定的条件进行判断,再根据判断结果来决定执行那一段代码

3.循环结构

*在给定条件成立的情况下,反复执行某一段代码

二、选择结构–if
1.使用方式

1> if(表达式) 语句1;

  • if(i>1) 恭喜你被黑马录取;

2> if(表达式) 语句1;else 语句2;

  • if(i>1) 恭喜你被黑马录取;else 希望你再接再厉;

3> if(表达式){}

if(表达式){}

else{}

4> if (){}

else if(){}

else{}

选择结构:C语言中常用的选择结构主要有以下两种:

我们引入了一个bool类型的值(也叫boolean类型,布尔类型),只有两个值,即真和假。C语言的判断表达式最终的值就是一个bool类型,这个判断表达式的bool值就决定了选择结构如何选择,循环结构如何循环;

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

}

这段代码里,就有了选择结构,可以根据不同的判断,选择相应的执行代码 。

C 语言的编程中 ‘//’ 的含义是注释的意思。

三、选择结构–switch
1.使用格式

  • switch(表达式) { case 数值1: break; … default: break;}

  • 举例

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;

}

*break作用:跳出整个循环;如果不写break,语句会一直向下执行,直到遇到break。

这个就是switch case语句的选择语句。

注意:

第一, case中必须是常数,而且必须是整形;

第二, 一般来说,每个case中代码段后都必须有一个break;

第三,case之后一般都会有default,虽然语法上允许没有default,但是建议写代码时一定要写。

关于两种的比较:if else和switch case的区别:if else适合对比条件较复杂,但是分支比较少的情况,switch case适合那种对比条件简单,但是分支较多的情况。通常的做法是:在适合使用switch case的情况下会优先使用switch case,如果不适合则使用if else。这一点根据自身情况,选择合适的方法使用。

2.if和switch的比较

  • 很多情况下可以互换

  • if使用方式较为灵活,使用的较多;switch适合有某个值

四、循环结构

  1. 循环机构–for

(1) for:

for (循环控制变量初始化; 循环终止条件; 循环控制变量增量)

{

循环体

}

#include

int main(int argc, const char *argv[])

{

     int i, sum = 0;

     for(i = 0; i<= 100; i++)

     {

               sum = sum + i;

     }

     printf("%d\n", sum);

     return 0;

}

循环执行步骤:

第一, 先进行循环控制变量初始化;

第二, 执行循环终止条件,如果判断结果为真,则进入第三步;如果为假则循环终止并退出;

第三,执行循环体;

第四,执行循环控制变量增量,转入第二步;记住他的循环步骤,编写程序的时候就会很简单。上面的事例程序就是从从1 加到100的运算。

注意:for循环()中的三部分除了循环终止条件外,其他两部分都可以省略,但标准的for循环中,应该把循环控制变量的初始化,增量都放在()当中,并且在循环体中绝对不应该更改循环控制变量,这个在编程中要注意。

2)循环结构–while

特点

*只有满足条件是才会执行循环体

*特别注意是否进入了死循环

(2) while:

循环控制变量初始化

while(循环终止条件)

{

循环体

循环控制变量增量

}

#include

int main(int argc, const char *argv[])

{

     int i = 0, sum = 0;

     while(i <= 100)

     {

               sum = sum + i;

               i++;

     }

     printf("%d\n", sum);

     return 0;

}

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

特点

*只有满足条件是才会执行循环体

*特别注意是否进入了死循环

  1. 循环结构–do while

1.特点

  • 一定会执行一次循环体

2.使用

*对比while的使用

(3) do while:

循环控制变量初始化

do

{

循环体

循环控制变量增量

}while (循环终止条件);

#include

int main(int argc, const char *argv[])

{

     int i = 0, sum = 0;

     do

     {

               sum = sum + i;

               i++;

     }while(i <= 100);

     printf("%d\n", sum);

     return 0;

}

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

上面关于循环的例子都是一样的,但需要学会比较内部的区别。不管哪种循环结构,都不能缺少循环控制条件初始化,终止条件,循环控制变量增量,循环体这四部分;while循环是先判断后执行,do while循环是先执行后判断,等循环一次之后,其实都是一样的。

补充:

1> 死循环 for(;😉; 有时候我们会在子线程中使用无限循环,以达到不让县城退出的目的。

2> 注意:for循环体内变量的作用域

3> while循环和for循环的比较

  • 可以互换

  • for循环的变量可以及时回收

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值