c语言中的选择结构

Python014

c语言中的选择结构,第1张

选择程序结构用于判断给定的条件,根据判断的结果判断某些条件,根据判断的结果来控制程序的流程。

使用选择结构语句时,要用条件表达式来描述条件

示例: If x = 5 Then y = x + 1

If a>1 And b<>0 Then x = 1

当然各种程序对选择结构语法不一样。例如:

C语言的选择结构为:

if(条件表达式1)

{语句块1}

else if(条件表达式2)

{语句块2}

else if(条件表达式3)

{语句块3}

.

.

.

else

{语句块n}

VB 中的选择结构为:

If(条件表达式1) then

语句块1

ElseIf(条件表达式2) then

语句块2

.

.

.

Else

语句块n

End If

C语言中switch 语句为:

switch(变量或表达式)

{

case 常量表达式1:

语句块1

break

case 常量表达式2:

语句块2

break

…….

case 常量表达式n:

语句块n

break

default: 语句块n+1

break

}

VB语言中Select Case(相当于C的switch)语句为:

Select Case 变量或表达式

Case 表达式列表1

语句块1

Case 常量表达式2

语句块2

…….

Case 常量表达式n:

语句块n

[Case Else

语句块n+1]

End Select

}

条件表达式可以分为两类:

关系表达式和逻辑表达式

条件表达式的取值为逻辑值(也称布尔值):

真(True) 和假(False)

C用非0表示真,0表示假

以下的说明以C为依据:

1-关系运算符和关系表达式

关系运算是比较简单的一种逻辑运算,

其优先次序为:

<、<= 、>、>= 优先级相同,高

= = 、 != 优先级相同,低

用关系运算符连接起来的式子称为关系表达式。关系表达式的值是真/假。C语言中,非零即为真,零代表假

a=3,b=5,则关系表达式 a>b的值是假,而a<b的值是真

关系运算符

关系运算符是双目运算符,在双目运算符中,它的优先级比赋值运算符要高:

算术运算符高

关系运算符

赋值运算符 低

比如,a=1,b=3

a=b>5 即 a=(b>5) , a+b>5 即 (a+b)>5

而a>b=5则是错误的表达式,因为它的实际含义是:(a>b)=5, C语言不允许对表达式赋值!

2-逻辑运算符和逻辑表达式

C语言提供了3个逻辑运算符,其中一个是单目运算符

逻辑表达式也只有两个值:真和假

当你只有一个选项的时候,使用if(条件表达式)

当你只有两个选项的时候,使用if(条件表达式)else(条件表达式)

当你只有多个选项的时候,使用if(条件表达式)else if(条件表达式)...else(条件表达式)

例如你从1到100的数,选择5的倍数打印出来,这时候就用选择法了

for(i=1i<=100i++)

{if(i%5==0)printf("%d\n",i)}

选择法是c中对数组进行排序的一种方法。

以整形数组元素为例,有数组A[10](以C语言为例描述),即A[0],A[1],…,A[8],A[9](假设其元素均互不相同)。要求对其元素排序使之递增有序。

首先以一个元素为基准,从一个方向开始扫描,比如从左至右扫描,以A[0]为基准。

接下来从A[0],…,A[9]中找出最小的元素,将其与A[0]交换。

然后将基准位置右移一位,重复上面的动作,比如,以A[1]为基准,找出A[1]~A[9]中最小的,将其与A[1]交换。

一直进行到基准位置移到数组最后一个元素时排序结束(此时基准左边所有元素均递增有序,而基准为最后一个元素,故完成排序)。

在程序中用数组大小比较不应算作选择法吧,选择是排序方法,不是简单的比较