C语言笔记

分支控制:

选择结构(分支结构):根据给定的判断条件,判断结果,并根据判断的结果来控制程序的流程。

关系运算符和逻辑运算符

由于判定条件需要表达,所以需要关系运算符与关系表达式。
1、关系运算符(Relational Operator)与关系表达式(Relational Expression):是一种比较运算。注意:不要混淆 Equai to 与 =(赋值运算符)
2、关系运算符的优先级和结合性:>.>=.<.<=高于 !=.==,而且都是左结合。
3、算术运算符优先级高于关系运算符。例如:n%2 != 0
4、关系表达式的值:true<–>1,false<–>0
判断表达式的真假:非0 <–> true,0 <–>false,相当于判断数值表达式。
注:二者目的不同
注意:a>b>c不表示b在a和c之间,要表示它,需要逻辑运算符和逻辑表达式
5、逻辑运算符和逻辑表达式:&&(And)、||(Or)、!(Not)
6、优先级:!> 算术运算符 > 关系运算符 > 逻辑与 > 逻辑或——————圆括号是万能的
7、逻辑运算符的短路特性:C语言规定,若表达式的值可由先计算出的左操作数的值单独推导出来,就不再计算右操作数的值。
所以它有种用途:( i != 0 )&&( j / i > 0 ):但能不用最好还是不用。

条件语句:

单分支:if
双分支:if-else
多分支:else-if
主要找它们的逻辑关系 还可用标记
1、Single Selection:if(表达式P),其中表达式P不局限于关系表达式,也可为数值表达式,非0时,为真
2、Double Selection
3、Multiple Selection:级联式else-if语句
4、条件表达式:由条件运算符及其操作数构成的表达式。例如:max = a > b ? a b;
5、复合语句被当作一条语句,用花括号括起来

开关语句

条条大路通罗马
例题:百分制转五分制。逐渐地方法优化的过程。
程序的健壮性(Robustness)
要是有多种选择,可选用switch语句。break,停电梯。default,处理错误,有利于提高程序健壮性,通常不要省略。
程序测试:边界边缘数据。

进阶:数值溢出问题

1、数值溢出(overflow)问题:向变量赋的值超出了其类型的表数范围
2、整数的数值溢出:上溢出:像钟表,超过最高位而进位丢失进位达到最高为而改变符号位。
、无符号整型:最大变最小
有符号整型:最大:32767、最小:-32768
、无符号短整数 : %hu,无符号整型在做减法时,容易数值溢出
3、浮点数的数值溢出:上溢出、下溢出(下溢出系统会处理成0)
4、解决:选择适当的数据类型(避免溢出、节省存储空间),
相同类型在不同平台占字节数不尽相同,用sizeof获得变量或数据类型的长度。

提高程序可移植性

进阶:精度损失问题

1、浮点数在内存中以阶码尾数形式保存
2、浮点数并非真正意义的实数
在赋值操作中,当赋值运算符左侧的变量的类型与右侧的表达式的类型不一致的时候,会发生自动类型转换,赋值表达式的结果类型是赋值运算符左侧变量的类型。

软件测试:(重点号)

1、software testing
2、测试用例:(1)尽量覆盖所有分支、(2)考虑到合法的输入和不合法输入以及各种边界条件
3、程序测试方法分类:白盒测试(结构)、黑盒测试(功能)
4、回归测试:避免引入新的bug
5、有包含关系的,通常先测试范围小的在这里插入图片描述在这里插入图片描述

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值