第三部分C语言的结构语句 第4章选择结构
第三部分 C语言的结构语句 第4章 选择结构
4.1近f语句 4.11单分支语句 它的一般格式如下: if(表达式)语句; 说明:对条件表达式进行判断,若其值为 “真(非0)”时执行语句,若其值为“假 (0)”时则跳过语句。其执行过程见流程图 4.1
4.1 if 语句 ❖ 4.1.1 单分支if语句 它的一般格式如下: if(表达式) 语句; 说明:对条件表达式进行判断,若其值为 “真(非0)”时执行语句,若其值为“假 (0)”时则跳过语句。其执行过程见流程图 4.1
开女 表达式 假〔 真〔非0〕 (结束)
例如:设定学生成绩60分为及格分数线,用 单分支讦语句描述为: if( grade >=60) printf( passed\n”) ☆又如:大于y就输出x,用单分支语句描述 为 if(x>y) printf(%d”,X);
❖ 例如:设定学生成绩60分为及格分数线,用 单分支if语句描述为: if ( grade > = 60 ) printf ( “passed\n ” ) ; ❖ 又如:x大于y就输出x,用单分支if语句描述 为: if ( x > y ) printf ( “%d ”, x ) ;
4.1.2双分支语句 它的一般格式如下 f(表达式)语句1; else语句2 令说明:与单分支语句不同的是在条件为“真 (非0)”或“假(0)”时执行指定的不同 的操作。对条件表达式进行判断,若其值为 “真(非0)”时,就执行语句1;若其值为 “假(0)”时,就执行语句2。其执行过程 见流程图42
4.1.2 双分支if语句 ❖ 它的一般格式如下: if (表达式) 语句1; else 语句2; ❖ 说明:与单分支if语句不同的是在条件为“真 (非0)”或“假(0)”时执行指定的不同 的操作。对条件表达式进行判断,若其值为 “真(非0)”时,就执行语句1;若其值为 “假(0)”时,就执行语句2。其执行过程 见流程图4.2
开始 真〔非0 表达式 假(0 语句1 语句2 结束
例如:给学生成绩划分:成绩大于或等于60 分时输出“ passed”,成绩小于60分时输出 “ failed"。用双分支语句描述为: if( grade>=60) printf("passed") else printf( ailed”);
❖ 例如:给学生成绩划分:成绩大于或等于60 分时输出“passed”,成绩小于60分时输出 “failed”。用双分支if语句描述为: if ( grade > = 60 ) printf ( “passed\n ” ) ; else printf ( “failed\n ” ) ;
在前面的章节还提到过与f/ese结构密切相 关的条件运算符?:,它是C语言中唯一的 目运算符(即有三个操作数)。对上面的 两例用条件运算符改写为: grade>=60? printf((“ passed\n”): printf (" failed\n”) x>y? printf(%d”,X): printf(%d”,y); 由此说明适当的语句修改条件运算符可以完 成/else结构相同的功能
❖ 在前面的章节还提到过与if / else结构密切相 关的条件运算符 ?:,它是C语言中唯一的 三目运算符(即有三个操作数)。对上面的 两例用条件运算符改写为: grade > = 60 ?printf ( “passed\n ” ) :printf ( “failed\n ” ) ; x > y ?printf ( “%d ”, x ) :printf ( “%d ”, y ) ; ❖ 由此说明适当的语句修改条件运算符可以完 成if / else结构相同的功能
令说明: 1对于单分支和双分支语后面的“表达式”,一般为 逻辑表达式或关系表达式,事实上表达式的类型不 限于此,可以是任意的数值类型(包括整型、实型 字符型、指针型数据)。只要表达式的值为非0, 就认为它为真;只要表达式的值为0,就认为它为 假。 例如:(6) printf(“ basseiN”); f(A) printf(%d”,A); 这些都是合法的语句。 2对于双分支语句,else子句不能作为语句单独使 用,它必须是语句的一部分,与配对使用
❖ 说明: ❖ 1.对于单分支和双分支if后面的“表达式”,一般为 逻辑表达式或关系表达式,事实上表达式的类型不 限于此,可以是任意的数值类型(包括整型、实型、 字符型、指针型数据)。只要表达式的值为非0, 就认为它为真;只要表达式的值为0,就认为它为 假。 例如: if ( 6 ) printf ( “passed\n ” ) ; if ( ‘A’ ) printf ( “%d ”, ‘A’ ) ; 这些都是合法的if语句。 ❖ 2.对于双分支if语句,else子句不能作为语句单独使 用,它必须是if语句的一部分,与if配对使用
3语句后面的表达式之后不能增加分号,同时注意 语句后面的分号不能遗漏 ÷4.在和else后面可以只包括一个内嵌的操作语句, 也可以包括多个操作语句,此时务必用“将几个 语句括起来成为一个复合语句。 例如:(x>100 X--'S=+X else X++:s=+X 冷此时又要注意:在“鲁后面不能再添加分号,因为 “内是一个完整的复合语句,不需要再添加分号
❖ 3.if语句后面的表达式之后不能增加分号,同时注意 语句后面的分号不能遗漏。 ❖ 4.在if和else后面可以只包括一个内嵌的操作语句, 也可以包括多个操作语句,此时务必用“{}”将几个 语句括起来成为一个复合语句。 例如:if ( x > 100 ) { x-- ; s=+x ; } else { x++ ; s=+x ; } ❖ 此时又要注意:在“{}”后面不能再添加分号,因为 “{}”内是一个完整的复合语句,不需要再添加分号