第七章 - DDL-Killer/The-road-of-Linxu-Group2024 GitHub Wiki

if语句

  • if语句被称为分支语句选择语句
  • 通用形式
    if(expression)
    statement
  • 如果对expression求值为真,则执行;否则跳过

if else语句

  • if语句用于选择是否执行一个行为,而else if语句用于在两个行为之间选择

介绍getchar()和putchar()

  • getchar()函数不带任何参数,它从输入队列里面返回下一个字符
  • putchar()函数打印它的参数

ctype.h系列的字符函数

Screenshot from 2024-10-21 09-28-56

多重选择else if

else与if配对

  • 如果没有花括号,else与离它最近的if配对

逻辑运算符

  • %% 与
  • || 或
  • ! 非
  • (练习&&时间)==完美

优先运算符

  • !的优先级比乘法运算符高,与递增运算符优先级相同
  • &&优先级比||运算符高,但是两者的优先级都比关系运算符低,比赋值运算符高

条件运算符: ?:

  • C提供条件表达式作为表达if else语句的一种便捷方式
  • 条件运算符是c语言中唯一的三元运算符
  • 通用表达式:
    expression ? expression2 : expression3
  • 例子:
    x = (y<0) ? -y : y

循环辅助:continue和break

  • continue语句会跳过本次迭代的剩余部分,并开始下一轮迭代
  • 对于for循环,执行continue后的下一个行为是对更新表达式求值,然后是对循环测试表达式求值

break语句

  • 程序执行到循环中的break语句时,会终止包含它的循环,并继续执行下一个阶段
  • 嵌套循环内层的break只会让程序跳出包含它的当前循环,要跳出外层循环还需要一个break

多重选择:switch和break

  • switch在圆括号中的测试表达式的值应该是一个整数值(包括char类型)
  • case标签必须是整数类型(包括char类型)的常量或整型常量表达式
  • 不能用变量作为case标签
  • break让程序离开switch语句,跳至下一条语句
  • 如果没有break,就会从匹配标签开始执行到switch末尾

switch和if else

  • 如果是根据浮点类型的变量或表达式来选择,无法使用switch
  • switch程序通常运行快一些,生成的代码少一些

关键概念

  • 智能的一个方面是,根据情况做出相应的相应
  • 选择语句是开发具有智能行为程序的基础