CP第7章

第7章 C控制语句:分支和跳转

本章介绍以下内容:
关键字:if、else、switch、continue、break、case、default、goto
运算符:&&、||、?:
函数:getchar()、putchar()、ctype.h系列
如何使用if和if else语句,如何嵌套它们
在更复杂的测试表达式中用逻辑运算符组合关系表达式
C的条件运算符
switch语句
break、continue和goto语句
使用C的字符I/O函数:getchar()和putchar()
ctype.h头文件提供的字符分析函数系列。

7.1 if语句
7.2 if else 语句
7.2.1 另一个示例:介绍getchar()和putchar()
// cypher1.c -- 更改输入,空格不变
#include <stdio.h>
#define SPACE ' '        // SPACE表示单引号-空格-单引号
int main(void)
{
char ch;
ch = getchar();       // 读取一个字符
while (ch != '\n')     // 当一行未结束时
{
if (ch == SPACE)    // 留下空格
putchar(ch);    // 该字符不变
else
putchar(ch + 1);  // 改变其他字符
ch = getchar();    // 获取下一个字符
}
putchar(ch);        // 打印换行符
return 0;
}

C特有的编程风格----把两个行为合并成一个表达式

!=运算符的优先级比=高

7.2.2 ctype.h系列的字符函数
while ((ch = getchar()) != '\n')
    //这一句的注意,!=的优先级很高,所以需要增加()
7.2.3多重选择else if
7.2.4 else与if配对----就近配对
7.2.5 多层嵌套的if语句

注;stdbool.h头文件设定新的BOOL别名

for (div = 2, isPrime = true; (div * div) <= num; div++)//设定素数

小结

小结:用if语句进行选择
关键字:if、else
一般注解:
下面各形式中,statement可以是一条简单语句或复合语句。表达式为真说明其值是非零值。

形式1:
if (expression)
statement
如果expression为真,则执行statement部分。
形式2:
if (expression)
statement1
else
statement2
如果expression为真,执行statement1部分;否则,执行statement2部分。
形式3:
if (expression1)
statement1
else if (expression2)
statement2
else
statement3
如果expression1为真,执行statement1部分;如果expression2为真,执行statement2部分;否则,执行statement3部分。
7.3 逻辑运算符

注:与&&,或||,非!

C99标准新增了可代替逻辑运算符的拼写,它们被定义在ios646.h头文件中,可以使用and,or,not

#include <ios646.h>
if (ch != '"' and ch != '\'')
	charcount++;
7.3.2 优先级
7.3.3 求值顺序

小结:逻辑运算符和表达式

逻辑运算符:
逻辑运算符的运算对象通常是关系表达式。!运算符只需要一个运算对象,其他两个逻辑运算符都需要两个运算对象,左侧一个,右侧一个。
逻辑表达式:
当且仅当expression1和expression2都为真,expression1 && expression2才为真。如果 expression1 或 expression2 为真,expression1 || expression2 为真。如果expression为假,!expression则为真,反之亦然。
求值顺序:
逻辑表达式的求值顺序是从左往右。一旦发现有使整个表达式为假的因素,立即停止求值。
示例:
6 > 2 && 3 == 3     真
!(6 > 2 && 3 == 3)   假
x != 0 && (20 / x) < 5 只有当x不等于0时,才会对第2个表达式求值
7.4 一个统计单词的程序

该程序要逐个字符读取输入,知道何时停止读取。然后,该程序能识别并计算这些内容:字符、行数和单词。

7.5 条件运算符:?:

小结:条件运算符
条件运算符:?:

一般注解:
条件运算符需要3个运算对象,每个运算对象都是一个表达式。其通用形式如下:
expression1 ? expression2 : expression3
如果expression1为真,整个条件表达式的值是expression2的值;否则,是expression3的值。
7.6 循环辅助:continue和break
7.7 多重选择:switch和break
7.9 关键概念
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值