示例: 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]交换。
一直进行到基准位置移到数组最后一个元素时排序结束(此时基准左边所有元素均递增有序,而基准为最后一个元素,故完成排序)。
在程序中用数组大小比较不应算作选择法吧,选择是排序方法,不是简单的比较