选择结构程序设计

 

  1. 选择结构和条件判断

在此处的选择结构和高中数学书上的选择结构其实是一样的,在C语言上有两种选择结构:(1)if语句,用来实现两个分支的选择结构;(2)switch语句,用来实现多分支的选择结构。

2.1 条件判断 if 

2.1.1 表达式

2.1.2 if 最简单用法  

If语句的一般形式

2.2 条件判断 switch

2.3 for 循环

2.4 break 和continue区别

 2.5 while循环

    1. do-while循环

3.关系运算符和关系表达式

3.1关系运算符及其优先次序

3.2关系表达式

3.3逻辑运算符及其优先次序

3.4  逻辑表达式

3.5逗号运算符

3.6 三目运算符

___________________________________________________________________________________________

  1. 用if语句实现选择结构

2.1一个最简单的例子:怎么实现两个变量的值互换。为了实现交换,必须借助第三个变量。算法如下:#include

Int main()

{

       Int a,b,t;

       scanf(“%d%d”,&a,&b);

       if(a>b)

{

              t=a;

a=b;

b=t;

                                                 }

                                          printf(“%d,%d”,a,b);

                                          return 0;

                                          }

2.2   if语句的一般形式

(1)if(表达式)  语句1                            (没有else字句部分)

(2)if(表达式)

              语句1

       else

              语句2

(3)if(表达式1)

              语句1

       else if(表达式2)

              语句2

else if(表达式n)

       语句n

else

       语句n+1

 

2.2用于多分支选择的 switch语句, 其一般形式为: 

switch(表达式)

 {    

case 常量表达式 1:  语句 1;   

case 常量表达式 2:  语句 2;    

…    

case 常量表达式 n:  语句 n;    

default:  语句 n+1;

 } 

 

在使用switch语句时还应注意以下几点:  在 case 后的各常量表达式的值不能相 同,否则会出现错误。 在 case 后,允许有多个语句,可以不用{}括起来。 各 case 和default 子句的先后顺序可以变动,而不会影响程序执行结果。 default 子句可以省略不用。  注意 break;的使用

2.3 for 循环

for(初始化;判断;自增)

 {   语句块; }

例如:for(i=1;i<=100;i++)          //控制循环次数,i由1变到100,共循环100次

{

       printf(“%d”,i);

}

可以用以下的结构图进行表示

选择结构程序设计_第1张图片

2.4 break 和continue区别

break☆☆  

break 在 switch 中可以跳出 switch  

在 for 和while 循环中可以跳出当前循环    

 continue☆ 

 在循环中,终止本次循环开始下一次循环

 

2.5 while循环

格式:

while(表达式) 

循环体(语句块)

 

如果表达式成立 则执行循环体  如果表达式不成立 则跳出循环体

选择结构程序设计_第2张图片选择结构程序设计_第3张图片

2.6 do-while循环

do

{

 循环体;

} while(表达式);

 

循环体首先被执行一次, 然后判断表达式是否成立, 成立继续执行循环体,不成立跳出循环体 注意while(); 后面的分号

 

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

3.1关系运算符及其优先次序

C语言提供的6种关系运算符:

  • <       (小于)
  • <=(小于或等于)
  • >       (大于)
  • >=  (大于或等于)
  • ==(等于)
  • !=(不等于)
    • ②③④的优先级相同(高)⑤⑥优先级相同(低)

3.2关系表达式         例:关系表达式5==3的值为“假”5>=3”的值为“真”。在C的逻辑运算中,以“1”代表“真”,以“0”代表假。

运算符

含义

举例

说明

&&(交集)

逻辑与

a&&b

如果a和b都为真,则结果为真,否则为假

||(并集)

逻辑或

a||b

如果a和b有一个以上为真,则结果为真,二者都为假时,结果为假

 

逻辑非

!a

如果a为假,则 !a 为真,如果a为真,

则 !a 为假(非0即为真,其他都是假)

3.3逻辑运算符及其优先次序

 

 “&&”和“||”是双目运算符

逻辑运算的真值表

a

b

!a

!b

a&&b

a||b

在一个逻辑表达式中如果包含多个逻辑运算符,按照由优先级从高到低进行计算:

!(非)>算术运算符>关系运算符>&&和||>赋值运算符。

3.4  逻辑表达式

在判断一个量是否为“真”时,以“0”为假,以非0代表真。

 

3.5逗号运算符

逗号运算符是指在C语言中,多个表达式可以用逗号分开,其中用逗号分开的表达式的值分别结算,但整个表达式的值是最后一个表达式的值

       (先判断前几个表达式有没有重新赋值,再看最后一个表达式)

 

3.5逗号运算符

格式: b ? x : y  要求有三个操作对象<表达式1> ? <表达式2> : <表达式3>

含义是:先求表达式1的值,如果为真,则执行表达式2,并返回表达式2的结果;如果表达式1的值为假,则执行表达式3,并返回表达式3的结果

 

 

 

 

你可能感兴趣的:(C语言)