当前位置:
文档之家› 第3章 运算符、表达式和流程控制
第3章 运算符、表达式和流程控制
1-5
算术运算符&表达式
1-6
算术运算符的注意问题
“+”除字符串连接功能外,还能把非字符 串转换成字符串,如“x”+ 123;的结果是 “x123”。 如果对负数取模,可以把模数负号忽略不记, 如:5%-2=1.但被模数是负数就另当别论了, -5%2=-1 。 对于除号“/”,它的整数除和小数除是有 区别的:整数之间做除法时,只保留整数部 分而舍弃小数部分. eg: int x = 3510; x = x/1000*1000; x的值为3000
1-22
foreach语句
用于循环访问集合以获取所需信息,但不 应用于更改集合内容以避免产生不可预知 的副作用 ,只是一种读取。 foreach (type identifier in expression) statement
static void Main(string[] args) { foreach (string s in args) Console.WriteLine(s); }
1-10
程序的流程控制
顺序结构 选择结构 循环结构
1-11
顺序结构
开始
顾名思义,顺序结构就是 程序从上到下一行一行执行的 结构,中间没有判断和跳转, 直到程序结束。
语句1
语句2 语句3 结束
1-12
选择结构
if语句 if (布尔表达式) { 语句或语句块; }
S
false
?表达式
true
循环语句
for语句执行时流程; 首先执行初始化操作, 然后判断终止条件是否满 足: 如果满足,则执行循环体 中的语句,最后执行迭代 部分.完成一次循环后,重 新判断终止条件。 如不满足,则结束循环执 行下面的语句。
赋循环控制变量初值
判断条件
false
true
循环体
循环控制变量增(减)值
语句块
E
1-13
选择结构
if, else语句 if (布尔表达式) { 语句或语句块; } else if (布尔表达式) { 语句或语句块; } else { 语句或语句块; }
开始 语句1 分支条件
假 真
语句2
语句3 结束
语句4
1-14
选择结构
例:
int count = 2; if (count < 0) { Console.WriteLine("Error: count value is negative."); } else { Console.WriteLine("There will be " + count + " people for lunch today."); }
1-4
运算符
运算符是用于指定在表达式中执行操作的符 号。 运算符的分类 算术运算符: +,-,*,/,%,++, - 赋值运算符: = 及其扩展赋值运算符如 +=,-=,*=,/=等。 比较运算符: >,<,>=,<=,==,!= 布尔逻辑运算符: !,&&,|| 条件运算符: ? :
1-23
循环语句
while循环
语法:
循环变量初始化 while(布尔表达式) //注意循环变 量初始化 { 循环体; 循环控制变量增(减)值; }
while初始化 判断条件 true 循环体 false
循环控制变量增(减)值
1-24
循环语句
while循环 例: int i = 0; while ( i < 10 ) { Console.WriteLine ("Are you finished yet?"); i++; } Console.WriteLine ("Finally!"); Console.WriteLine ("This i is " + i); 请确认循环控制变量在循环体被开始执行之前已被 正确初始化,并确认循环控制变量是真时,循环体才开 始执行。控制变量必须被正确更新以防止死循环。
class Book { private string name; … Book(string a) { name = a; } }
Book story1 = new Book(“在路上”);
Book story2 = new Book();
1-36
C#语言中属性的定义
属性是一种封装良好的访问实例变量的方法。
例
}
Console.WriteLine("i=" + i); }
1-31
转移语句
特殊的流程控制 continue语句: continue语句用来结 束本次循环,跳过循环体 中下面尚未执行的语句, 接着进行终止条件的判断, 以决定是否继续循环。它 的格式为: continue; 注意:continue语句只能在循 环语句中使用。
1-7
赋值运算符&表达式
1-8
关系运算符&表达式
用于判断运算值之间的关系
5
注1:关系运算符的结果都是bool型,也就是要么是true,要 么是false。 注2:关系运算符“==”不能误写成“=” ,切记!切记!
1-9
逻辑运算符&表达式
注1:逻辑运算符用于对bool型结果的表达式进行运算,其 运算的结果都是bool型 。
赋循环控制变量初值 false
循环主体
判断条件1 true 语句块
; ;
true 判断条件2 false 语句块
;
break
;
循环控制变量增(减)值
1-30
转移语句
特殊的流程控制
break语句:
for ( int i = 1; i <= 10; i++ ) { if( i % 2 == 1) { continue;
1-21
循环语句
for语句
在初始化部分和迭代部分可以使用逗号语句,来进
行多个操作。逗号语句是用逗号分隔的语句序列。 for (int i = 0; i <= 10; i++) { Console.WriteLine("Are you finished yet?"); } Console.WriteLine ("Finally!"); Console.WriteLine("循环的次数是" + i);
1-34
命名空间
用于对类进行分门别类的管理,就好像我们 计算机中的文件夹一样。
namespace cuit { class Dsx { …… } using cuit; } class Glx { Dsx test = new Dsx(); }
1-35
构造函数
构造函数
实际上是类的一种特殊方法,定义与方法声明类似, 但没有返回值,名字必须与所在类名相同 用于初始化一个对象 使用new运算符创建对象时自动调用
1-15
选择结构
switch结构
switch(表达式) { case 常量1: 语句; break; ... case 常量n: 语句n; break; default: 语句; break; }
表达式(expression)的返回值
类型必须是这几种类型之一: int, byte, char, short,string 等 case子句中的值必须是常量,而 且所有case子句中的值应是不同的。 当变量或表达式的值不能与任何 case值相匹配时,可选缺省符 (default)指出了应该执行的程序 代码。
class Book { private string name; … public string Name { get { return name; set { name = value; } }
} }
Book story = new Book(); “在路上”; = “在路上”;
1-29
转移语句
特殊的流程控制 break语句:
在C#中可以用break语 句强行退出循环,继续执 行循环外的下一个语句, 如果break出现在嵌套循环 中的内层循环,则break语 句只会退出当前的这层循 环,以for循环流程为例: 在循环主体中有break语句 时,当程序执行到break, 即会退出循环主体,到循 环外层继续执行。
1-17
选择结构
switch结构
例1:
int colorNum = 1; switch (colorNum) { case 0: Console.WriteLine("red"); break; case 1: Console.WriteLine("black"); break; default: Console.WriteLine("没有这种颜色"); break; }
1-16
选择结构
switch结构
switch(表达式) { case 常量1: 语句; break; ... case 常量n: 语句n; break; default: 语句; break; }
default 子句是任选的。 break 语句用来在执行完一 个case分支后,使程序跳出 switch语句,即终止switch 语句的执行。 如果没有break语句作为某 一个case代码段的结束句, 则程序会出现编译错误。