C语言第四章

1. 关系运算符和逻辑运算符

  • 解决的问题
    • 如何用合法的 C 表达式描述一个判断条件?
    • 如何用合法的 C 表达式描述一个复杂的判断条件?
    •  何为逻辑运算符的短路特性?
  • 逻辑运算符的优先级和结合性
    • 逻辑非 -> 算术运算符 -> 关系运算符 -> 逻辑与 -> 逻辑或
      • 逻辑非——右结合
      • 逻辑与,逻辑或——左结合
      • 关系运算符:大于、小于等
  • 逻辑运算符的短路特性
    • 用&&或者||连接的两个子表达式互换位置,对整个逻辑表达式的值有影响吗?
    • 若表达式的值可由先计算的左操作数的值单独推导出来,那么将不再计算右操作数的值
      • (i != 0) && (j / i > 0) ——“短路”使得“除0”运算不会发生
      • ( a >= 1 ) && ( b++ == 5 ),若两个表达式交换位置,可能造成变量b的值不一致

2. 条件语句 

  • 解决的问题
    • C 语言提供了哪几种控制语句支持分支控制?
    • 条件语句有哪几种形式?
    • 何为条件运算符?
      • 唯一一个三元运算符,条件表达式   表达式1 ? 表达式2 : 表达式3
    • 在分支中使用复合语句有什么好处?
      • 添加语句时不易出错,能保证程序逻辑的正确性
        • 编译错误:illegal else without matching if
      • 使代码结构更清晰

2.1 选择结构

  • 单分支选择结构:
    • 面临的选择是:要么执行一个操作,要么跳过它
    • if ( 表达式P )
      • 表达式P不局限于关系表达式,也可为数值表达式,表达式的值非0时,为真
  • 双分支选择结构
    • 面临的选择是:在两个不同的操作中选择其中的一个来执行
    • if-else 语句
  • 多分支选择结构
    •  面临2种以上选择(需连续执行多个条件判断)时
    • 级联式if语句:else-if

3.  多分支选择控制与开关语句

  • 解决的问题
    • C语言中如何实现多分支控制?
    • break和 default switch语句中的作用是什么?
  • switch语句
    • 执行与表达式中值一致的case后的语句序列,直到遇到break

    • default:输入数据与所有case都不匹配时执行

    • 根据边界值测试程序是否正确

4. 程序测试

  • 解决的问题
    • 程序测试的目的是什么?
    • 常用的程序测试方法有哪些?
  • 定义:给定一组输入,通过运行被测程序,检查程序输出是否与预期结果一致
  • 测试用例的选取方法
    • 尽量覆盖所有分支(路径)
    • 应考虑到合法的输入和不合法的 输入以及各种边界条件
  • 测试只能证明程序有错,不能证明程序无错
  • 测试的目的
    • 通过运行测试用例,找出程序中尽可能多的Bug
    • 成功的测试在于发现迄今为止尚未发现的Bug
  • 测试人员的主要任务
    • 站在使用者角度,通过不断使用(包括非常规使用),尽可能多地找Bug
    • 测试的过程就像黑客的攻击过程
  •  程序测试方法分类

  • 白盒测试:根据程序内部逻辑结构进行边界测试
  • 回归测试:在修改程序后,对之前正确的测试用例再进行测试
  • 有包含关系的,通常先测试范围小的

5. 本章小结

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值