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

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

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

一、流程控制

1.顺序结构

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

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

#include.h

intmain(intargc,constchar*argv[])

{

printf(HelloWorld!\n);

return0;

}

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

程序讲解:

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

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

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

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

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

打印的结果为:HelloWorld!

2.选择结构

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

3.循环结构

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

二、选择结构--if

1.使用方式

1if(表达式)语句1;

*if(i1)恭喜你被黑马录取;

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

*if(i1)恭喜你被黑马录取;else希望你再接再厉;

3if(表达式){}

if(表达式){}

else{}

4if(){}

elseif(){}

else{}

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

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

ifelse:引入关键字:if   else   elseif

if(bool值)      //如果bool值为真,则执行代码段1,否则执行代码段2

{

代码段1

}

else

{

代码段2

}

if(bool值1)      //如果bool值1为真,则执行代码段1,否则判断bool值2是否为真

{

代码段1

}

elseif(bool值2)   //若bool值2为真则执行代码段2,否则直接执行代码段3

{               //开头的if和结尾的else都只能有一个,但是中间的elseif可以有好多个

代码段2

}

else

{

代码段3

}

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

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

三、选择结构--switch

1.使用格式

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

*举例

switchcase:引入关键字:switchcasebreakdefault

switch(变量)//执行到这一句时,变量的值是已知的

{//switchcase语句执行时,会用该变量的值依次与各个case后的常数去对比,试图找到第一个匹配项,找到匹配的项目后,

case常数1://就去执行该case对应的代码段,如果没找到则继续下一个case,直到default

代码段1;//如果前面的case都未匹配,则default匹配。

break;

case常数2:

代码段2;

break;

……

default:

代码段n;

break;

}

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

这个就是switchcase语句的选择语句。

注意:

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

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

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

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

2.if和switch的比较

*很多情况下可以互换

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

四、循环结构

1)循环机构--for

(1)for:

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

{

循环体

}

#include.h

intmain(intargc,constchar*argv[])

{

inti,sum=0;

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

{

sum=sum+i;

}

printf(%d\n,sum);

return0;

}

循环执行步骤:

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

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

第三,执行循环体;

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

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

2)循环结构--while

特点

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

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

(2)while:

循环控制变量初始化

while(循环终止条件)

{

循环体

循环控制变量增量

}

#include.h

intmain(intargc,constchar*argv[])

{

inti=0,sum=0;

while(i=)

{

sum=sum+i;

i++;

}

printf(%d\n,sum);

return0;

}

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

特点

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

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

3)循环结构--dowhile

1.特点

*一定会执行一次循环体

2.使用

*对比while的使用

(3)dowhile:

循环控制变量初始化

do

{

循环体

循环控制变量增量

}while(循环终止条件);

#include.h

intmain(intargc,constchar*argv[])

{

inti=0,sum=0;

do

{

sum=sum+i;

i++;

}while(i=);

printf(%d\n,sum);

return0;

}

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

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

补充:

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

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

3while循环和for循环的比较

*可以互换

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




转载请注明:http://www.aierlanlan.com/rzgz/4483.html