第四章 流程控制

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第四章流程控制

1、教学要求

(1)了解C#中的布尔类型的定义与使用方法

(2)理解位运算

(3)掌握分支语句,包括if和switch

(4)掌握循环语句,包括for、while、do while

(5) 学会分析问题,并使用分支和循环解决

2、教学内容

4.1 布尔逻辑的含义及其用法

4.2位运算的含义及其用法

4.3 分支语句

4.4循环语句

4.5 “QQ系统登录”项目案例

第五章复杂的变量类型处理(余)

1、教学要求

(1)掌握枚举类型的定义和使用

(2)掌握结构类型的定义和使用

(3)掌握一维、二维数组的使用

(4)理解隐式和显式类型转换

(5)掌握.NET对字符串的处理常见功能,包括字符串的查找、替换、格式化、调整等

2、教学内容

5.1 枚举的定义与使用

5.2 结构体的定义与使用

5.3 数组的定义与使用

5.4类型转换

5.5字符串处理

5.6“图形菜单”项目案例

学习任务:“QQ系统登录”案例

•任务情境:

某公司的产品要设计一个QQ登录系统,要求系统可以防止用户反复通过暴力测试密码的方式实现非法登录的目的。

4.1 布尔逻辑的含义及其用法

•逻辑运算符

逻辑运算符是用来连接多个条件表达式的, 在 C 语言中逻辑运算符有:& (与)、| (或)、!(非)三种。

& (与) 运算符用法:

<条件表达式1> & <条件表达式2>

当 <条件表达式1> 和 <条件表达式2> 的值都为真时,&(与)运算的结果为真,否则为假。

bool isTrue = true & true;

bool isFalse = true & false;

bool isFalse2 = false & true;

bool isFalse3 = false & false;

|(或) 运算符用法:

<条件表达式1> | <条件表达式2>

当 <条件表达式1> 和 <条件表达式2> 中只要有一个为真时, | (或) 运算的结果为真,否则为假。

bool isTrue = true | true;

bool isTrue2 = true | false;

bool isTrue3 = false | true;

bool isFalse = false | false

•短路逻辑运算符

–在 C# 中加入了两个新的逻辑运算符,即 && 和 | |运算符,它们与 & 和 | 运算符一样,也是用来连接两个条件表达式的,但有一些细微的区别:

&& 运算符在对条件表达式进行检测时,当条件表达式 1 的值为假时,将不对条件表达式 2 进行进行值,只有当条件表达式 1 的值为真时才会对条件表达式 2进行求值。

而 | | 运算符则是在条件表达式 1 不为真时,才会对条件表达式 2 进行求值。

& 运算符和 | 运算符的不同之处在于无论条件表达式 1 的值是真是假,都会对条件表达式 2 进行求值。

下面对一些比较容易出现问题进行简单解释:

1、“^“ 将计算操作数的逻辑“异或”;也就是说,当且仅当只有一个操作数为 true时,结果才为true。

2、“&”与”&&“的区别在于,如果使用前者连接,那么无论任何情况下,“&”两边的表达式都会参与计算。如果使用后者连接,

当“&&”的左边为false,则将不会计算其右边的表达式。

3、“|”与“||”的区别在于,“|”表示两边任何一个布尔表达式为真,该组合就会返回true值;而对于“||”,

跟第二差不多,若左边是true则返回true,若左边是falsh,则看右边,若右边为true则为true否则为falsh。

•逻辑运算符示例

bool flag1 = false, flag2 = false;

if (false && (flag1 = true)) // To do something...

if (false & (flag2 = true)) // To do something...

Console.WriteLine( “flag1={0} flag2={1}”,flag1, flag2);

bool flag1 = false, flag2 = false;

if (true | | (flag1 = true)) // To do something...

if (true | (flag2 = true)) // To do something...

Console.WriteLine( “flag1={0} flag2={1}”,flag1, flag2);

4.2位运算的含义及其用法

运算对象按位进行逻辑运算。按位进行逻辑运算的意义是:依次取被运算对象的每个位,进行逻辑运算,每个位的逻辑运算结果是结果值的每个位。C#支持的位逻辑运算符如表2.9所示。

1、位逻辑非运算

~:对操作数的每一位分别取“反”

位逻辑非运算是单目的,只有一个运算对象。位逻辑非运算按位对运算对象的值进行非运算,即:如果某一位等于0,就将其转变为1;如果某一位等于1,就将其转变为0。

比如,对二进制的10010001进行位逻辑非运算,结果等于01101110,用十进制表示就是:

~145等于110;对二进制的01010101进行位逻辑非运算,结果等于10101010。用十进制表示就是~85等于176。

2、位逻辑与运算

&:2个操作数的对应位分别进行“与”操作,“与”操作。

位逻辑与运算将两个运算对象按位进行与运算。与运算的规则:1与1等于1,1与0等于0。

比如:10010001(二进制)&11110000等于10010000(二进制)。

3、位逻辑或运算

相关文档
最新文档