条件表达式的通用形式如下:
expression1?expression2:expression3
如果expression1为真,那么整个条件表达式的值与expression2相同,如果expression1为假,那么整个条件表达式的值与expression3相同。条件运算符的第二、第三表达式可以是字符串。
如果continue在嵌套循环内,则只会影响该语句的内层循环。
对于while循环,执行continue的下一个行为是对循环的测试表达式求值。
对于for循环,执行continue的下一个行为是对更新表达式(即第三个表达式)求值,然后才是对循环的测试表达式求值。
如果break语句在嵌套循环内,那么break只会影响该语句的内层循环。
在for循环中的break与continue不同,执行完break语句后会直接跳到下一条语句,连循环的更新和测试都跳过。
多个选项的选择(大于2):switch语句
1、对紧跟在switch后面的表达式求值,然后程序扫描标签列表(case),直到扫描到匹配的值为止,然后程序跳到那一行并从那一行往下执行。没有匹配标签:如果有default:标签行,就跳到default:标签行,否则,程序继续执行在switch语句后面的语句。
2、break在switch语句:break使程序跳到switch语句的下一条语句,如果没有break,程序就会从匹配标签开始执行到switch语句末尾。
3、此外,continue在switch中没有特殊效果。
4、switch在括号中的测试表达式的值应该是一个整数(包括char类型),case标签必须是整数类型(包括char类型)的常量或者是只包含整数类型常量的表达式),不能用变量作为case标签。
读取一行中的首字符:
while(getchar()!='\n)
continue;//跳过输入行的其他部分
输入分为两类:缓冲输入和无缓冲输入
缓冲输入:用户输入的字符被收集并存储在一个被称为缓冲区的临时存储区,按下enter键后,程序才可使用用户输入的字符。
缓冲区的用途:1、将若干字符作为一个块进行传输比逐个传输这些字符节约时间。
2、如果用户打错字符,可以直接通过键盘修正。
缓冲分为两类:完全缓冲和行缓冲
完全缓冲指的是当缓冲区被填满时才刷新缓冲区(将内容发送至目的地) 行缓冲指的是在出现换行符时刷新缓冲区,键盘输入通常是行缓冲输入,所以按下enter键后才刷新缓冲区。