C Prinmer Plus笔记第7章 C控制语句:分支和跳转
7.1if语句
if(expression)
statement
7.2if else语句
if( expression )
statement1
else
statement2
7.2.1getchar()和putchar()
只处理字符
getchar()函数不带任何参数,它从输入队列中返回下一个字符
例如: ch=getchar();等价于scanf("%c",&ch);
purtchar(ch);等价于printf("%c",ch);
7.2.2 ctype.h系列的字符函数(处理字符的函数)
表7.1 ctype.h头文件中的字符测试函数
函数名 | 如果是下列参数时,返回值为真 |
---|---|
isalnum() | 字母数字(字母或数字) |
isalpha() | 字母 |
isblank() | 标准的空白字符(空格、水平制表符或换行符)或任何其他本地化指定为空白的字符 |
iscntrl() | 控制字符,如Ctrl+B |
isdigit() | 数字 |
isgraph() | 除空格之外的任意可打印字符 |
islower() | 小写字母 |
isprint() | 可打印字符 |
ispunct() | 标点符号(除空格或字母数字字符以外的任何可打印字符) |
isspace() | 空白字符(空格、换行符、换页符、回车符、垂直制表符、水平制表符或其他本地化定义的字符) |
isupper() | 大写字母 |
isxdigit() | 十六进制数字符 |
表7.2ctype.h头文件中的字符映射函数
函数名 | 行为 |
---|---|
tolower() | 如果参数是大写字符,该函数返回小写字符;否则,返回原始参数 |
toupper() | 如果参数是小写字符,该函数返回大写字符;否则,返回原始参数 |
7.2.3 多重选择 else if
7.2.4else与if配对
else与离它最近的if匹配,除非最近的if被花括号括起来
7.2.5多层嵌套的if语句
形式1:
if(expression)
statement
形式2:
if(expression)
statement1
else
statement2
形式3:
if(expression1)
statement1
else if(expression2)
statement2
else
statement3
7.3 逻辑运算符
表7.3 3种逻辑运算符
逻辑运算符 | 含义 |
---|---|
&& | 与 |
|| | 或 |
! | 非 |
7.3.1备选拼写:iso646.h头文件
如果在头文件包含这个头文件,便可以用and代替&&、or代替||、not代替!
7.3.2 优先级
!运算符的优先级很高,只比圆括号的优先级低。&&运算符的优先级比||运算符高,但是两者的优先级都比运算符低,比赋值运算符高。
7.3.3 求值顺序
逻辑表达式的求值顺序是从左往右。一旦发现有使整个表达式为假的因素,立即停止求值
7.3.4 范围
if(range>=90&&range<=100)
printf(“Good show!\n”);
千万不要模仿数学上的写法:
if(90<=range<=100) //千万不要这样写!
printf(“Good show!\n”);
7.4 一个统计单词的程序
略
7.5条件运算符:?
expression1 ? expression2 : expression3
如果expression1为真,那么整个条件表达式的值与expression2的值相同;如果expression1为假,那么整个条件表达式的值与expression3的值相同;(真前假后)
7.6 循环辅助:continue和break
7.6.1 continue语句
3种循环都可以使用continue语句。
执行到该语句时,会跳过本次迭代的剩余部分,并开始下一轮迭代。
如果continue语句在嵌套循环内,则只会影响包含该语句的内层循环。
7.6.2 break语句
终止包含它的循环,并继续执行下一阶段。
如果break语句位于嵌套循环内,它只会影响包含它的当前循环。
7.7 多重选择:switch和break
7.7.1 switch语句
switch(整形表达式)
{
case 常量1:
语句
case 常量2:
语句
default:
语句
}
break语句可用于循环和switch语句中,但是continue只能用于循环中。
C语言的case一般都指定一个值,不能使用一个范围。
7.7.2 只读每行的首字符
7.7.3 多重标签
形式:
switch(expression)
{
case labe11:statement1//使用break跳出switch
case labe12:statement2
default :statement3
}
可以有多个标签语句,default语句可选。
7.8 goto语句
7.8.1 避免使用goto
别用就对了
7.9关键概念
略