c语言程序中条件语句,C语言5种程序语句(1)——流程控制语句中的结构化语句(条件语句和循环语句)...

C语言有5种类型的语句:

(1)表达式语句包括:运算符表达式语句、赋值语句。

(2)流程控制语句包括结构化语句和非结构语句;

A.结构化语句包括:条件语句和循环语句;

a.条件语句包括:if语句和switch语句;

b.循环语句包括:while语句、do while语句和for语句。

B.非结构化语句包括:限定转向语句和非限定转向语句;

a.限定转向语句:break语句、continue语句和return语句;

b.非限定转向语句:goto语句。

(3)函数调用语句

(4)空语句

(5)复合语句

结构化程序设计的核心是算法和控制结构。

算法:解决问题时的一系列方法和步骤;主要表示方法:伪代码和流程图。

算法的步骤间有一定的逻辑顺序,此体现为控制结构。分为:顺序结构、分支结构和循环结构。

(1)顺序结构:最简单、最基本,从上往下执行,不进行跳转;

形式:

……

语句1;

语句2;

语句3;

…….

执行顺序:语句1;》语句2;》语句3;……..

(2)分支结构:有3种:单分支、双分支和多分支;即选择结构,根据条件判断执行程序,成立则执行,反之不执行。

(3)循环结构:当型循环和直到型循环。用于一遍一遍执行程序的某部分,根据条件判断是否执行,重复执行多少次。循环结构:循环条件和循环体

一、条件语句

A.     if语句

a.判断表达式:

if(判断表达式)

{

结构体;

}

例子:

#include

#include   //使用getch

void main(void)

{

int price=0;

printf("请输入商品价格:");

scanf("%d",&price);

if(price<50)

{

printf("好,我买了");

}

getch();

}

b.花括号和if结构体

(1)if(表达式)

{

语句1;

语句2;

语句3;

}

(2)if(表达式) 等价于

if(表达式)

语句1;{语句1;}

语句2;语句2;

语句3;语句3;

if后边并非必须跟“{}”,如(1)中if条件满足,{}中的块语句都执行;(2)中if条件满足,才执行语句1,语句2和语句3都会执行。

B.     if else语句

两个选择

形式:

if(表达式)

{

代码段1

}

else

{

代码段2

}

if后边的表达式为真,执行代码段1,否则执行代码段2。

例子:

#include

#include

void main(void)

{

int price=0;

printf("请输入商品价格:");

scanf("%d",&price);

if(price<50)

{

printf("好,买了");

}

else

{

printf("不买");

}

getch();

}

例程:

#include

int main()

{

int a = 2,c;

if(a==1) c=1;

if(a==2) c=2;

if(a%2==0) c=3;

printf("%d\n",c);   //  打印   3

if(a==1) c=1;

else if(a==2) c=2;

else if(a%2==0) c=3;

printf("%d\n",c);   //打印   2

switch(a)   //相当于if if了,所有的1,2,3,4满足条件的都会执行一次

{       //注:从case 2开始执行,按顺序执行一遍

case 1:  c=1;

case 2:  c=5;

case 3:  c=9;

case 4:  a=2;

break;

}

printf("%d\n",c);   //打印  9

switch(a)   //else if了,只要满足条件就跳出了

{

case 1:  c=1;

break;

case 2:  c=5;

break;

case 3:  c=7;

break;

case 4:  c=9;

break;

}

printf("%d\n",c);   //打印  5

}

C.    if  if 语句和swich语句

多个选择

if(表达式1)

{

代码段1

}

else if(表达式2)

{

代码段2

}

……

else if(表达式m)

{

代码段m

}

else

{

代码段m+1

}

例子:

#include

#include

void main(void)

{

int a=0;

printf("请输入学生成绩:\n");

scanf("%d",&a);

if(a>=90)

printf("A");

if(a>=75 && a<90)

printf("B");

if(a>=60 && a<75)

printf("C");

if(a<60)

printf("D");

}

D.    分支语句嵌套

形式:

if(表达式1)

{

if(表达式2)

{

代码段1

}

else

{

代码段2

}

}

E.     开关语句:switch语句

多选一

形式:

switch(表达式)

{

case(常量表达式1);

代码段1

break;

case(常量表达式2);

代码段2

break;

……

case(常量表达式

);

代码段m

break;

default:

代码段m+1

}

例子:

#include

#include

void main(void)

{

int a=0;

printf("请输入一个1到7的整数:\n");

scanf("%d",&a);

switch(a)

{

case 1:

printf("Monday\n");

break;

case 2:

printf("Monda\n");

break;

case 3:

printf("Mond\n");

break;

default:

printf("Mon\n");

}

}

二、循环语句

A.  while 语句   (当型)

形式:

while (表达式)

{

循环结构体

}

While语句后边的{}为循环体,如果直接跟着“;”,说明在while后边表达式为真时,执行空语句,直到表达式为零,跳出while语句。

例子:

#include

#include

void main(void)

{

int sum=0;

int i=1;

while(i<=100)

{

sum=sum+i;

i=i+1;

}

printf("结果是:%d",sum);

getch();

}

B.  do while 语句  (直到型)

形式:

do

{

循环结构体

}

while(表达式);   //有分号

do while结构中的循环结构体至少会被执行一次,直到while后的表达式非零,跳出do while结构向下执行。

例子:

#include

#include

voidmain(void)

{

int sum=0;

int i=100;

/*      while(i)

{

sum=sum+i;

i--;

}   */

do

{

sum=sum+i;

i=i-1;

}

while(i);

printf("结果是:%d",sum);

getch();

}

C.  for 语句    (当型)

形式:

for(初始化表达式;判断表达式;修正表达式)

{

循环体

}

等价于while结构:

while(判断表达式)

{

循环体

修正表达式;

}

for语句比较简洁,其执行过程:

a.计算初始化表达式;

b.计算判断表达式的值,如果其值为真(非0),则执行循环体,并执行c步骤;若为假,则循环结束,转到e步骤;

c.计算修正表达式;

d.转回b步骤执行;

e.循环结束,跳出for循环,向下执行。

注意:for中的表达式可以省略,但是“;;”不能省略;

即:

for(;;)等价于while(1)

{                          {

…….                      ……

}                          }

例子:

#include

#include

void main(void)

{

int i,j;

for(i=1; i<=4;i++)     //外层循环4次

{

for(j=1; j<=9;j++) //内层循环9次

{

printf("*  ");  //后边带俩个空格

}

printf("\n");

}

getch();

}

注意:一般内循环次数多余外循环。

D. 跳出循环:break

可从死循环中跳出来

适用于3种循环结构,只能用于switch语句,不能跳出if语句和if else语句

例子:

#include

#include

void main(void)

{

int i=0;

while(1)

{

printf("Hello\n");

i++;

if(i>5)

break;

}

getch();

}

E. 重来一次: continue

break用于结束整个循环结构,而continue语句结束的只是当前一次循环,只是结束本次循环中后续内容,被称为循环继续语句。

F.     随心所欲:goto

即:go to,为自由转向语句,可以跳转到任何地方;

形式:

goto+标号名

例子:

#include

#include

void main(void)

{

int i=0;

while(1)

{

printf("*  ");

i++;

if(i>3)   //0到3,输出4个*,退出*

goto outside;

}

outside:printf("\n\n\n* ");

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值