C语言入门 -- 流程控制

C程序的执行部分是由语句组成的.程序的功能也是由执行语句实现的.

C语句可分为以下五类

表达式语句,函数调用语句,控制语句,复合语句,空语句

表达式语句

  • 表达式语句由表达式加上分号“;”组成。

函数调用语句

  • 由函数名、实际参数加上分号“;”组成。
  • 其一般形式为:函数名(实际参数表);
  • 执行函数语句就是调用函数体并把实际参数赋予函数定义中的形式参数,然后执行被调函数体中的语句,求取函数值

控制语句

控制语句用于控制程序的流程, 以实现程序的各种结构方式。它们由特定的语句定义符组成。C语言有九种控制语句。 可分成以下三类:

  • 条件判断语句:if 语句、switch 语句;
  • 循环执行语句:do while 语句、while 语句、for 语句;
  • 转向语句:break 语句、goto 语句、continue 语句、return 语句

复合语句

  • 把多个语句用括号{}括起来组成的一个语句称复合语句(代码块)。在程序中应把复合语句看成是单条语句,而不是多条语句。
  • 复合语句内的各条语句都必须以分号“;”结尾,在括号“}”外不能加分号

空语句

  • 只有分号“;”组成的语句称为空语句。空语句是什么也不执行的语句。在程序中空语句可用来作空循环体。

if语句

if(表达式) 语句

如果表达式的值为真,则执行其后的语句, 否则不执行该语句

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

如果表达式的值为真,则执行语句 1,否则执行语句 2 。

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

  依次判断表达式的值,当出现某个值为真时,则执行其对应的语句然后跳到整个 if 语句之外继续执行程序。 如果所有的表达式均为假,则执行语句 n。

switch语句

switch(表达式){
case 常量表达式 1: 语句 1;
case 常量表达式 2: 语句 2;
…
case 常量表达式 n: 语句 n;
default : 语句 n+1;
}

  计算表达式的值。 并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时, 即执行其后的语句,然后不再进行判断,继续执行后面所有case 后的语句。如表达式的值与所有 case 后的常量表达式均不相同时,则执行 default 后的语句.可以使用break阻止继续执行

    if esle if 与swith的区别, swith只计算一次表达式,

goto语句以及用gotu语句构成循环

gotu是一种无条件转移语句(不常用)

goto 语句标号;

  语句标号是一个有效的标识符,这个标识符加上":"一起出现在函数内某处,执行gotu语句后,程序将跳转到该标号处,执行其后的语句.标号与gotu语句必须处于同一个函数中,但可以不在一个循环层中.

#include <stdio.h>
#include <string.h> 

int main()
{
	int i,sum=0;
	i=1;
	loop: if(i<=100)
	{sum=sum+i;
		i++;
		goto loop;}
	printf("%d\n",sum);
	return 0;
}
//5050

while与do-while语句

while (表达式)语句

表达式为真执行语句,先判断表达式,在执行语句

do 语句 while(表达式);

先执行语句,在判断表达式,语句至少被执行一次

for语句

for (表达式1;表达式2;表达式3)语句

  它的执行过程如下:

1) 先求解表达式 1。

2) 求解表达式 2,若其值为真(非 0),则执行 for 语句中指定的内嵌语句,然后执行下面第 3)步;若其值为假(0),则结束循环,转到第 5)步。

3) 求解表达式 3。
4) 转回上面第 2)步继续执行。
5) 循环结束,执行 for 语句下面的一个语句

for(循环变量赋初值;循环条件;循环变量增量) 语句

  for的表达式都可以省略,但是";"不能省略

省略表达式1:不对循环控制变量赋初值(可以使用外界变量)

省略表达式2:死循环

省略表达式3:不对循环控制变量进行操作,可在语句内修改

break和contiue

break通常用于循环语句和开关语句中.

当break用于开关语句switch中时,可使程序跳出switch而执行switch之后的语句

当break语句用于循环语句中时,可使程序终止循环而执行后面的语句

contiue语句作用是跳出本次循环,进行下次循环

posted @ 2018-03-11 15:39  瓜田月夜  阅读(323)  评论(0)    收藏  举报