<4D F736F F D204323B3CCD0F2C9E8BCC6BDCCB3CCA3A8B5DA33B0E6A3A9CEA2BFCEB0E620B5DA33D5C22E646F63>

Size: px
Start display at page:

Download "<4D F736F F D204323B3CCD0F2C9E8BCC6BDCCB3CCA3A8B5DA33B0E6A3A9CEA2BFCEB0E620B5DA33D5C22E646F63>"

Transcription

1 第 3 章 语句 运算符和表达式 语句是 C# 程序的基本构成元素, 通常包含表达式, 而表达式由操作数和运算符构成 本章要点 : C# 语句 运算符和表达式的基本概念 ; 算术运算符 ; 关系和类型测试运算符 ; 视频讲解 逻辑运算符 ; 赋值运算符 ; 字符串运算符 ; 位运算符 ; 条件运算符 ; 运算符优先级 ; 表达式的组成和书写规则 3.1 语句 C# 语句的组成 语句是 C# 程序的过程构造块, 用于声明变量和常量 创建对象 变量赋值 调用方法 控制分支 创建循环等 语句通常以分号终止 由大括号 ( 和 ) 括起来的一系列语句构成代码块 (block) C# 语句的组成如下 : (1) 声明语句用于声明局部变量和常量 (2) 表达式语句用于对表达式求值 可用作语句的表达式包括方法调用 创建对象 (new 运算符 ) 赋值语句(= 和复合赋值运算符 ) 以及增量和减量运算 (++ 和 运算符 ) (3) 选择语句用于根据表达式的值从若干个给定的语句中选择一个来执行, 包括 if 和 switch 语句 (4) 迭代语句用于重复执行嵌入语句, 包括 while do for 和 foreach 语句 (5) 跳转语句用于转移控制, 包括 break continue goto return throw 和 yield 语句 (6)try catch finally 语句用于捕获在块的执行期间发生的异常 (7)checked/unchecked 语句用于控制整型算术运算和转换的溢出检查上下文 (8)lock 语句用于获取某个给定对象的互斥锁, 执行语句, 然后释放该锁 (9)using 语句用于获得一个资源, 执行语句, 然后释放该资源

2 3.1.2 C# 语句的示例 C# 语句的示例如表 3-1 所示 表 3-1 C# 语句示例 语句 说明 示例 声明语句 用于声明局部变量 static void Main() int a; int b = 2, c = 3; a = 1; Console.WriteLine(a+b+c); 用于声明局部常量 static void Main() const float pi = f; const int r = 25; Console.WriteLine(pi * r * r); 表达式语句 用于对表达式求值 static void Main() int i; i = 123; // 表达式语句 i++; // 表达式语句 Console.WriteLine(i); // 表达式语句 选择语句 if 条件语句 static void Main(string[] args) if (args.length == 0) Console.WriteLine("No arguments"); else Console.WriteLine("One or more arguments"); switch 条件语句 static void Main(string[] args) int n = args.length; switch (n) case 0: Console.WriteLine("No arguments"); break; case 1: Console.WriteLine("One argument"); break; default: Console.WriteLine("0 arguments", n);break; 迭代语句 while 循环语句 static void Main(string[] args) int i = 0; while (i < args.length) Console.WriteLine(args[i]); i++; 61 第 3 章 科语句 运算符和表达式

3 C# 程序设计教程 ( 第 3 版 ) 微课版 62 续表 语句 说明 示例 迭代语句 do 循环语句 static void Main() string s; do s = Console.ReadLine(); if (s!= null) Console.WriteLine(s); while (s!= null); for 循环语句 static void Main(string[] args) for (int i =0; i <args.length; i++) Console.WriteLine(args[i]); foreach 循环语句 static void Main(string[] args) foreach (string s in args) Console. WriteLine(s); 跳转语句 break 跳转语句 static void Main() while (true) string s = Console.ReadLine(); if (s == null) break; Console.WriteLine(s); continue 跳转语句 static void Main(string[] args) for (int i =0; i<args.length; i++) if (args[i].startswith("/")) continue; Console.WriteLine(args[i]); goto 跳转语句 static void Main(string[] args) int i = 0; goto check; loop: Console.WriteLine(args[i++]); check: if (i < args.length) goto loop; return 跳转语句 static int Add(int a, int b) return a+b; static void Main() Console.WriteLine(Add(1, 2)); yield 跳转语句 static IEnumerable<int> Range(int from, int to) for (int i=from; i<to; i++) yield return i; yield break; static void Main() foreach (int x in Range(-10,10)) Console. WriteLine(x);

4 语句说明示例 try catch finally 语句 checked 和 unchecked 语句 续表 throw 和 try 语句 static double Divide(double x, double y) if (y == 0) throw new DivideByZeroException(); return x / y; static void Main(string[] args) try if (args.length!= 2) throw new Exception("Two numbers required"); double x = double.parse(args[0]); double y = double.parse(args[1]); Console.WriteLine(Divide(x, y)); catch (Exception e) Console.WriteLine(e.Message); finally Console.WriteLine("Good bye!"); 用于算术运算溢出检查 static void Main() int i = int.maxvalue; checked Console.WriteLine(i + 1); // 异常 unchecked Console.WriteLine(i + 1); // 溢出 lock 语句 用于同步锁 class Account decimal balance; public void Withdraw(decimal amount) lock (this) if (amount > balance) throw new Exception(" 资金不足!"); balance -= amount; using 语句 用于资源上下文 static void Main() using (TextWriter w = File.CreateText ("test.txt")) w.writeline("line one");w.writeline ("Line two"); 63 第 3 章 科语句 运算符和表达式

5 C# 程序设计教程 ( 第 3 版 ) 微课版 C# 语句的使用 64 C# 语句涉及许多程序构造要素, 本书将在其他章节分别阐述 其中涉及程序控制流程的语句将在第 4 章中展开阐述 例 3.1 C# 语句示例 (Statements.cs): 声明语句 控制语句 赋值语句 循环语句 调用静态方法以及调用对象方法等 using System; namespace CSharpBook.Chapter03 class StatementTest void PrintArea(int r) // 代码块 :printarea 的方法体 const double PI = 3.14; // 声明语句 : 声明常量 double a; // 声明语句 : 声明变量 if (r > 0) // 控制语句 a = PI * r * r; // 赋值语句, 计算圆面积 Console.WriteLine(" 半径 =0, 面积 =1", r, a); else // 调用静态方法 Console.WriteLine(" 半径 =0, 半径 <=0, 错误!", r); static void Main() // 代码块 :Main 的方法体 StatementTest obj; // 声明语句 : 声明对象 obj = new StatementTest(); // 赋值语句 / 创建对象 for (int i = -2; i < 3; i++) // 循环语句 obj.printarea(i); // 调用对象方法 Console.ReadKey(); 运行结果 : 半径 =-2, 半径 <=0, 错误! 半径 =-1, 半径 <=0, 错误! 半径 =0, 半径 <=0, 错误! 半径 =1, 面积 =3.14 半径 =2, 面积 =12.56

6 3.2 运算符 C# 运算符 (operator) 是术语或符号, 用于在表达式中对一个或多个操作数进行计算并返回结果值 接收一个操作数的运算符被称作一元运算符, 如增量运算符 (++) 或 new 接收两个操作数的运算符被称作二元运算符, 如算术运算符 + * / 接收三个操作数的运算符被称作三元运算符, 条件运算符?: 是 C# 中唯一的三元运算符 当表达式包含多个运算符时, 运算符的优先级控制各运算符的计算顺序 例如, 表达式 x+y*z 按 x+(y*z) 计算, 因为 * 运算符的优先级高于 + 运算符 C# 语言定义了许多运算符, 通过运算符重载 (overload)( 参见 7.6 节 ) 可以为用户自定义的类型定义新的运算符 算术运算符 C# 中以优先级为顺序的算术运算符如表 3-2 所示 其中 : (1) + 运算符既可作为一元运算符也可作为二元运算符 一元 + 运算符是为所有数值类型预定义的 数值类型的一元 + 运算的结果就是操作数本身的值 二元 + 运算符是为数值类型和字符串类型预定义的 对于数值类型, 二元 + 运算符计算两个操作数之和 ; 对于字符串类型, 二元 + 运算符拼接两个字符串 (2) 运算符既可作为一元运算符也可作为二元运算符 一元 运算符是为所有数值类型预定义的 数值类型的一元 运算的结果是操作数的反数 二元 运算符是为所有数值类型和枚举类型预定义的, 其功能是从第一个操作数中减去第二个操作数 (3) 除法运算符 (/) 是为所有数值类型预定义的 两个整数相除的结果始终为一个整数 若要获取作为有理数或分数的商, 应将被除数或除数设置为 float 类型或 double 类型 可以通过在数字后添加一个小数点来隐式执行此操作 (4) 假设表中 num 为整型变量, 取值为 8 表 3-2 算术运算符 运算符 含义 说明 优先级 实例 结果 ++ 增量 操作数加 num,num++ 9 减量 操作数减 1 1 num,num 7 + 一元 + 操作数的值 2 +num 8 一元 操作数的反数 2 num 8 * 乘法 操作数的积 3 num*num*2 128 / 除法 第二个操作数除第一个操作数 3 10 / num 10.0 / num % 模数 第二个操作数除第一个操作数后的余数 3 10 % num num % 加法 两个操作数之和 num 18 减法 从第一个操作数中减去第二个操作数 4 10 num 注意 : (1) 算术运算符两边的操作数应是数值型 若是字符型, 则自动转换成字符所对应的 65 第 3 章 科语句 运算符和表达式

7 C# 程序设计教程 ( 第 3 版 ) 微课版 ASCII 码值后再进行运算 例如 : 'a'; // 结果是 107, 字符 'a' 的 ASCII 码值为 97,10+97= '0'; // 结果是 52, 字符 '0' 的 ASCII 码值为 48,100-48=52 (2) 增量运算符 (++) 可以出现在操作数之前 (++variable) 或之后 (variable++) 1 第一种形式是前缀增量操作 该运算的结果是操作数加 1 之后的值 2 第二种形式是后缀增量操作 该运算的结果是操作数加 1 之前的值 例如 : b=100; a=++b; b=100; a=b++; // 相当于 b=b+1; a=b 结果 a=101,b=101 // 相当于 a=b; b=b+1 结果 a=100,b=101 (3) 减量运算符可以出现在操作数之前 ( variable) 或之后 (variable ) 1 第一种形式是前缀减量操作 该运算的结果是操作数减 1 之后的值 2 第二种形式是后缀减量操作 该运算的结果是操作数减 1 之前的值 例如 : b=100; a=--b; b=100; a=b--; // 相当于 b=b-1; a=b 结果 a=99,b=99 // 相当于 a=b; b=b-1 结果 a=100,b=99 (4) 整数的算术结果可能导致溢出, 但不会产生异常 使用 checked 关键字可以实现溢出检查 例如 : int a = int.minvalue; a--; int b = int.maxvalue; b++; int c = checked(int.maxvalue + 1); // 变量 a 的结果是 int.maxvalue // 变量 b 的结果是 int.minvalue // 在 checked 模式下, 运算在编译时溢出 例 3.2 算术运算符示例 (Arithmetic.cs) using System; namespace CSharpBook.Chapter03 class ArithmeticTest static void Main() //++( 增量运算符 ),--( 减量运算符 ) double x,y; x = 1.5; y = ++x; Console.WriteLine("x=0, y=1",x, y); x = 1.5; y = x++; Console.WriteLine("x=0, y=1", x, y);

8 x = 1.5; y = --x; Console.WriteLine("x=0, y=1", x, y); x = 1.5; y = x--; Console.WriteLine("x=0, y=1", x, y); x=5.8; int i = 5; Console.WriteLine("i=0, +i=1", i, +i); // 一元 + Console.WriteLine("i+5=0, i+.5=1", i + 5, i +.5); // 二元 + Console.WriteLine("x=0, x + \"5\"= 1", x, x + "5"); // 字符串拼接 (double 自动转换为 string) Console.WriteLine("'5' + '5'= 0, 'A' + 'A'= 1", '5' + '5', 'A' + 'A'); // 字符转换为 ASCII 码值相加 i= 5; Console.WriteLine("i=0, -i=1, i-1=2, i-.5=3", i, -i, i - 1, i -.5); //-( 一元 -& 二元减法 ) Console.WriteLine("i*8=0, -i*.8=1", i * 8, -i *.8); //*( 乘法 ) Console.WriteLine("i/2=0, -i/2.1=1", i / 2, -i / 2.1); //( 除法 ) Console.WriteLine("i%2=0", i % 2); //%( 取模 ) Console.ReadKey(); 运行结果 : x=2.5, y=2.5 x=2.5, y=1.5 x=0.5, y=0.5 x=0.5, y=1.5 i=5, +i=5 i+5=10, i+.5=5.5 x=5.8, x + "5"= 5.85 '5' + '5'= 106, 'A' + 'A'= 130 i=5, -i=-5, i-1=4, i-.5=4.5 i*8=40, -i*.8=-4 i/2=2, -i/2.1= i%2= 关系和类型测试运算符 关系和类型测试运算符是二元运算符 关系运算符用于将两个操作数的大小进行比较 若关系成立, 则比较的结果为, 否则为 关系运算符的操作数可以是数值型 字符型和枚举类型 表 3-3 列出了 C# 中的关系和类型测试运算符 假设有如下定义 :int[] myarray = new int[]1, 2 67 第 3 章 科语句 运算符和表达式

9 C# 程序设计教程 ( 第 3 版 ) 微课版 68 表 3-3 关系和类型测试运算符 运算符 含义 实例 结果 == 相等 'a'=='a'!= 不等 'a'!='a' > 大于 'a'<'a' >= 大于或等于 123 >= 23 < 小于 'a'<'z' <= 小于或等于 1<=2 x is T 数据 x 是否属于类型 T myarray is int myarray is int[] x as T 返回转换为类型 T 的 x, 如果 x 不是 T 则返回 null myarray as int[] myarray as object System.Int32[] System.Int32[] 注意 : (1) 关系运算符的优先级相同 (2) 对于数值类型数据, 关系运算符按照操作数的数值大小进行比较 (3) 对于字符类型数据, 关系运算符按字符相应的 ASCII 码值大小进行比较 逻辑运算符 逻辑运算符除逻辑非 (!) 是一元运算符, 其余均为二元运算符, 用于将操作数进行逻辑运算, 结果为 或 表 3-4 按优先级从高到低的顺序列出了 C# 中的逻辑运算符 表 3-4 逻辑运算符 运算符 含义 说明 优先级 实例 结果! 逻辑非 当操作数为 false 时返回 ; 当操作数为 true 时返回 1!true!false & 逻辑与 两个操作数均为 true 时, 结果才为, 否则为 ^ 逻辑异或 两个操作数不相同, 即一个为 true 一个为 false 时, 结果才为, 否则为 逻辑或 两个操作数中有一个为 true 时, 结 果即为, 否则为 && 条件与 两个操作数均为 true 时, 结果才为 但仅在必要时才计算第二个 操作数 条件或 两个操作数中有一个为 true 时, 结 果即为 但仅在必要时才计算 第二个操作数 2 true & true true & false false & true false & false 3 true ^ true true ^ false false ^ true false ^ false 4 true true true false false true false false 5 true && true true && false false && true false && false 6 true true true false false true false false

10 注意 : (1) 二元逻辑 与 (&) 运算符是为整型和 bool 类型预定义的 对于整型,& 计算操作数的逻辑按位 与 对于 bool 操作数,& 计算操作数的逻辑 与 ; 也就是说, 当且仅当两个操作数均为 true 时, 结果才为 & 运算符既可作为一元运算符也可作为二元运算符 一元 & 运算符返回操作数的地址 地址的具体概念参见 5.2 节 (2) 二元逻辑 异或 (^) 运算符是为整型和 bool 类型预定义的 对于整型,^ 计算操作数的按位 异或 对于 bool 操作数,^ 计算操作数的逻辑 异或 ; 也就是说, 当且仅当只有一个操作数为 true 时, 结果才为 (3) 二元逻辑 或 ( ) 运算符是为整型和 bool 类型预定义的 对于整型, 计算操作数的按位 或 结果 对于 bool 操作数, 计算操作数的逻辑 或 结果 ; 也就是说, 当且仅当两个操作数均为 false 时, 结果才为 (4) 条件 与 (&&) 执行其 bool 操作数的逻辑 与 运算, 但仅在必要时才计算第二个操作数 即 : x && y 对应于操作 x & y 不同的是, 如果 x 为 false, 则不计算 y ( 因为不论 y 为何值, 与 操作的结果都为 ) 这被称作 短路 计算 (5) 条件 或 ( ) 运算符执行 bool 操作数的逻辑 或 运算, 但仅在必要时才计算第二个操作数 即 : x y 对应于操作 x y 不同的是, 如果 x 为 true, 则不计算 y( 因为不论 y 为何值, 或 操作的结果都为 ) 这被称作 短路 计算 例 3.3 逻辑运算符示例 (LogicalTest.cs) using System; namespace CSharpBook.Chapter03 class LogicalTest static bool Method1() Console.WriteLine(" 调用 Method1, 返回 "); return false; static bool Method2() Console.WriteLine(" 调用 Method2, 返回 ");return true; static void Main() // 逻辑 非 Console.WriteLine("!true=0,!false=1",!true,!false); // 逻辑 与 & 条件 与 Console.WriteLine(" 逻辑 " 与 "(&):"); Console.WriteLine("Method1()&Method2() 结果是 0", Method1() & Method2()); Console.WriteLine(" 条件 " 与 "(&&):"); Console.WriteLine("Method1()&&Method2() 结果是 0", Method1() && Method2()); Console.WriteLine(" 位逻辑与 : 0xf8 & 0x3f = 0x0:x", 0xf8 & 0x3f); 69 第 3 章 科语句 运算符和表达式

11 C# 程序设计教程 ( 第 3 版 ) 微课版 70 // 逻辑 或 & 条件 或 Console.WriteLine(" 逻辑 " 或 "( ):"); Console.WriteLine("Method2() Method1() 结果是 0", Method2() Method1()); Console.WriteLine(" 条件 " 或 "( ):"); Console.WriteLine("Method2() Method1() 结果是 0", Method2() Method1()); Console.WriteLine(" 位逻辑或 : 0xf8 0x3f = 0x0:x", 0xf8 0x3f); // 逻辑 异或 Console.WriteLine("true^false=0, false^false=1", true ^ false, false ^ false); Console.WriteLine(" 位逻辑异或 : 0xf8 ^ 0x3f = 0x0:x", 0xf8 ^ 0x3f); // 混合逻辑运算 Console.WriteLine("true^!false&false false=0",true^!false& false false); Console.ReadKey(); 运行结果 :!true=,!false= 逻辑 与 (&): 调用 Method1, 返回 调用 Method2, 返回 Method1() & Method2() 结果是 条件 与 (&&): 调用 Method1, 返回 Method1() && Method2() 结果是 位逻辑与 : 0xf8 & 0x3f = 0x38 逻辑 或 ( ): 调用 Method2, 返回 调用 Method1, 返回 Method2() Method1() 结果是 条件 或 ( ): 调用 Method2, 返回 Method2() Method1() 结果是 位逻辑或 : 0xf8 0x3f = 0xff true^false=, false^false= 位逻辑异或 : 0xf8 ^ 0x3f = 0xc7 true ^!false & false false= 赋值运算符 赋值运算符 (=) 将右操作数的值存储在左操作数表示的存储位置 属性或索引器中, 并将值作为结果返回 操作数的类型必须相同 ( 或右边的操作数必须可以隐式转换为左边操作数的类型 )

12 1. 简单赋值语句简单赋值语句形式如下 : 变量名 = 表达式 ; 其作用是计算右边表达式的值, 然后将值赋给左边的变量 例如 : double mark ; string str1; bool judge; mark = 98.2; str1 = "C#.NET 程序设计 "; judge = 'A'>'a'; // 定义 mark 为 double 浮点型变量 // 定义 str1 为字符串类型变量 // 定义 judge 为 bool 类型变量 // 将 98.2 值赋给 mark // 为字符串类型变量赋值 // 将表达式的计算结果 赋给 bool 类型变量 judge 2. 复合赋值语句表 3-5 列出了 C# 中的复合赋值运算符 复合赋值运算符不仅可以简化程序代码, 使程序更精炼, 而且还可以提高程序编译的效率 例如,x+=y 虽然等效于 x=x+y, 但是,x+=y 中 x 只计算一次 表 3-5 复合赋值运算符 运算符 含义 举例 等效于 += 加法赋值 sum += item sum = sum + item = 减法赋值 count =1 count = count 1 *= 乘法赋值 x *= y+5 x = x * (y+5) /= 除法赋值 x /= y z x = x / (y z) %= 取模赋值 x %= 2 x = x % 2 <<= 左移赋值 x << = y x = x << y >>= 右移赋值 x >> = y x = x >> y &= 与赋值 x &= 5>3 x = x & (5>3) = 或赋值 x = true x = x true ^= 异或赋值 x ^= y x = x ^ y 例 3.4 赋值运算符示例 (Assignment.cs) using System; namespace CSharpBook.Chapter03 class AssignmentTest static void Main() int a = 5; a += 6; Console.Write("a=" + a); // 加法赋值运算符 string s = "Hello"; s += " world."; Console.Write(" s=" + s); // 字符串拼接 a = 5; a -= 6; Console.WriteLine(" a=" + a); // 减法赋值 科语句 运算符和表达式 71 第 3 章

13 C# 程序设计教程 ( 第 3 版 ) 微课版 72 a = 5; int i = 10; a *= i + 6; Console.Write("a=" + a); a = 5; a /= i - 6; Console.Write(" a=" + a); double d = 5; d /= i - 6; Console.Write(" d=" + d); a = 5; a %= 3; Console.WriteLine(" a=" + a); a = 0x0c; a &= 0x06; Console.Write("0x0:x8", a); bool b = true; b &= false; Console.WriteLine(" b=0", b); a = 0x0c; a = 0x06; Console.Write("0x0:x8", a); b = true; b = false; Console.WriteLine(" b=0", b); a = 0x0c; a ^= 0x06; Console.Write("0x0:x8", a); b = true; b ^= false; Console.WriteLine(" b=0", b); a = 1000; a <<= 4; Console.Write("a=" + a); a = 1000; a >>= 4; Console.WriteLine(" a=" + a); Console.ReadKey(); // 乘法赋值 // 除法赋值 // 除法赋值 // 取模赋值 // 与赋值 // 与赋值 // 或赋值 // 或赋值 // 异或赋值 // 异或赋值 // 左移赋值 // 右移赋值 运行结果 : a=11 s=hello world. a=-1 a=80 a=1 d=1.25 a=2 0x b= 0x e b= 0x a b= a=16000 a= 字符串运算符 C# 提供的字符串运算符只有一个 +, 用于串联 ( 拼接 ) 两个字符串 当其中的一个操作数是字符串类型或两个操作数都是字符串类型时, 二元 + 运算符执行字符串串联 在字符串串联运算中, 如果一个操作数为 null, 则用空字符串来替换此操作数 ; 否则, 任何非字符串参数都通过调用从 object 类型继承的虚 ToString 方法, 转换为其字符串表示形式 如果 ToString 返回 null, 则替换成空字符串 例如 : " 计算机 "+ " 程序设计 " // 结果为 " 计算机程序设计 " " 面向对象 "+ null +" 高级编程 " // 结果为 " 面向对象高级编程 " "12345" // 结果为 " " "12345" E+10F // 结果为 " E+10" "abc" m // 结果为 "abc2.900" 位运算符 位运算符用于按二进制位进行逻辑运算 表 3-6 列出了 C# 中的位运算符

14 表 3-6 位运算符 运算符 含义 优先级 实例 结果 ~ 按位求补 1 ~0x000000f8 0xffffff07 << 左移 2 0x1 << 1 0x2 >> 右移 2 0xffffffff >> 1 0x7fffffff & 按位逻辑与 3 0xf8 & 0x3f 0x38 ^ 按位逻辑异或 4 0xf8 ^ 0x3f 0xc7 按位逻辑或 5 0xf8 0x3f 0xff 注意 : (1) 按位求补 (~) 运算符是为 int uint long 和 ulong 类型预定义的, 对操作数执行按位求补运算, 其效果相当于反转每一位 (2) 左移运算符 (<<) 将第一个操作数向左移动第二个操作数指定的位数 第二个操作数的类型必须是 int 1 如果第一个操作数是 int 或 uint(32 位数 ), 则移位数由第二个操作数的低 5 位给出 2 如果第一个操作数是 long 或 ulong(64 位数 ), 则移位数由第二个操作数的低 6 位给出 3 第一个操作数的高序位被放弃, 低序空位用 0 填充 移位操作从不导致溢出 (3) 右移运算符 (>>) 将第一个操作数向右移动第二个操作数所指定的位数 1 如果第一个操作数为 int 或 uint(32 位数 ), 则移位数由第二个操作数的低 5 位给出 ( 第二个操作数 &0x1f) 2 如果第一个操作数为 long 或 ulong(64 位数 ), 则移位数由第二个操作数的低 6 位给出 ( 第二个操作数 &0x3f) 3 如果第一个操作数为 int 或 long, 则右移位是算术移位 ( 高序空位设置为符号位 ) 如果第一个操作数为 uint 或 ulong 类型, 则右移位是逻辑移位 ( 高位填充 0) 例 3.5 位运算符 << 和 >> 示例 (Bitwise.cs) using System; namespace CSharpBook.Chapter03 class BitwiseTest static void Main() // 左移运算符 (<<) int i = 1; long lg = 1; Console.WriteLine("0x0:x", i << 33); Console.WriteLine("0x0:x", lg << 33); // 右移运算符 (>>) uint ui = 0xffffffff; ulong ulg = 0xffffffff; Console.WriteLine("0x0:x", ui >> 33); Console.WriteLine("0x0:x", ulg >> 33); Console.ReadKey(); 73 第 3 章 科语句 运算符和表达式

15 C# 程序设计教程 ( 第 3 版 ) 微课版 74 运行结果 : 0x2 0x x7fffffff 0x 条件运算符 使用条件运算符, 可以更简洁地表达某些 if else 结构的计算 条件运算符是 C# 中唯一的三元运算符, 由符号? 和 : 组成, 其一般形式为 : 逻辑表达式? 表达式 1: 表达式 2; 首先计算 逻辑表达式 的值, 如果为, 则运算结果为 表达式 1 的值, 否则运算结果为 表达式 2 的值 例如, 计算 a 和 b 两个数中较大的数, 并将其赋给变量 maxnum 中, 语句为 : 等价于 : maxnum = (a > b)? a : b; if (a>b) maxnum = a; else maxnum = b; null 相关运算符 C# 在涉及对象的操作中, 如果对象为空, 则会产生异常 健壮的程序需要进行空判断 C# 提供了与 null 相关的运算符, 可以简化代码 1.null 合并运算符?? (null coalescing operator)?? 用于返回在非空的操作上, 如果操作数值为空, 则返回缺省值 其语法为 : 表达式?? 缺省值 例如 : string s1 = null; string s2 = s1?? "nothing"; //s2 的结果为 "nothing" 2.null 条件成员访问运算符?. 和?[] (C# 6.0) 访问对象的成员时, 如果对象为空, 则会产生异常 使用?. 代替. 运算符, 可以简化空判断操作 : 如果操作数为空, 则返回空 ; 否则执行相应操作 其语法为 : 对象?. 成员

16 例如 : string s1 = null; string s2 = s1?. ToUpper(); // 结果为 null, 不会产生异常 int? length = customers?.length; // 如果 customers 为 null 则返回 null, 否则返回其长度 Customer first = customers?[0]; // 如果 customers 为 null 则返回 null, 否则返回其第一个元素 上例中 string s2 = s1?. ToUpper(); 相当于语句 : string s2 = (s1 == null? null : s1. ToUpper ()); 其他运算符 sizeof 用于获取值类型的字节大小, 仅适用于值类型, 而不适用于引用类型 sizeof 运算符只能在不安全代码块中使用 不安全代码参见 5.2 节 typeof 用于获取类型的 System.Type 对象, 如 System.Type type = typeof(int) 若要获取表达式的运行时类型, 可以使用.NET Framework 方法 GetType() 例如: int i = 0; System.Type type = i.gettype(); // 结果为 [System.Int32] nameof 用于返回标识符 ( 类型 成员 变量等 ) 的名称 例如 : int count = 123; string name = nameof(count); string name1 = nameof (String.Format); string name2 = nameof(string)+"."+nameof(string.format); // 结果为 "count" // 结果为 "Format" // 结果为 "String.Format" 例 3.6 sizeof 运算符示例 (sizeof.cs) //compile:csc /unsafe sizeof.cs -> sizeof.exe using System; namespace CSharpBook.Chapter03 class MainClass unsafe static void Main() Console.WriteLine("The size of short is 0", sizeof(short)); Console.WriteLine("The size of int is 0", sizeof(int)); Console.WriteLine("The size of long is 0", sizeof(long)); 运行结果 : 75 第 3 章 科语句 运算符和表达式

17 C# 程序设计教程 ( 第 3 版 ) 微课版 76 The size of short is 2 The size of int is 4 The size of long is 8 例 3.7 typeof 运算符示例 (typeof.cs) using System; namespace CSharpBook.Chapter03 public class SampleClass static void Main() Type t1 = typeof(bool); Console.WriteLine("typeof(bool) is 0", t1); int radius = 5; Type t2 = radius.gettype(); Console.WriteLine("radius.GetType() is 0", t2); Console.WriteLine("Area = 0", radius * radius * Math.PI); Console.WriteLine("The type of Area is 0", (radius*radius*math.pi).gettype()); Console.ReadKey(); 运行结果 : typeof(bool) is System.Boolean radius.gettype() is System.Int32 Area = The type of Area is System.Double 运算符优先级 表达式中的运算符按照运算符优先级 (precedence) 的特定顺序和结合性规则计算 表 3-7 所示为按 C# 语言定义运算符优先级从高到低的顺序列出各运算符类别, 同一类别中 的运算符优先级相同 表 3-7 运算符优先级顺序和结合性规则 类别 运算符 说明 结合性 基本 x.m 成员访问?. 和?[] null 条件成员访问 f(x) 方法和委托调用 a[x] 数组和索引器访问 > 指针成员访问 x++ 后增量 x 后减量

18 续表 类别 运算符 说明 结合性 基本 new 类型实例化 typeof(t) 获得 T 的 System.Type 对象 nameof(x) 获取标识符的名称 checked 在 checked 上下文中计算表达式 unchecked 在 unchecked 上下文中计算表达式 default(t) 返回类型 T 的默认值 sizeof(x) 返回类型操作数的大小 ( 以字节为单位 ) 一元 + 恒等 求相反数! 逻辑求反 ~ 按位求反 ++x 前增量 x 前减量 (T)x 显式将 x 转换为类型 T & 取操作数的地址 * 取消引用运算符, 用于读取和写入指针 await 等待任务 乘除 * 乘法 / 除法 % 求余 加减 + 加法 字符串串联 委托组合 减法 委托移除 移位 << 左移 >> 右移 关系和类 < 小于 型检测 > 大于 <= 小于或等于 >= 大于或等于 x is T 如果 x 属于 T 类型, 则返回, 否则返回 x as T 返回转换为类型 T 的 x, 如果 x 不是 T 则返回 null 相等 == 等于!= 不等于 逻辑与 x & y 整型按位 AND, 布尔逻辑 AND 逻辑异或 x ^ y 整型按位 XOR, 布尔逻辑 XOR 逻辑或 x y 整型按位 OR, 布尔逻辑 OR 条件与 x && y 仅当 x 为 true 才对 y 求值 条件或 x y 仅当 x 为 false 才对 y 求值 条件运算 x? y : z 如果 x 为 true, 则对 y 求值, 否则对 z 求值 赋值和匿名函数 = 赋值 += = *= /= 复合赋值 %= &= = ^= <<= >>= => lambda 表达式 当表达式中出现两个具有相同优先级的运算符时, 则根据结合性进行计算 左结合运 77 第 3 章 科语句 运算符和表达式

19 C# 程序设计教程 ( 第 3 版 ) 微课版 算符按从左到右 ( 表中用符号 示意 ) 的顺序计算 例如,x*y/z 计算为 (x*y)/z 右结 78 合运算符按从右到左 ( 表中用符号 示意 ) 的顺序计算 注意,C# 语言中赋值运算符和三元运算符 (?:) 是右结合运算符, 如 x=y=z 计算为 x=(y=z) 其他所有二元运算符都是左结合运算符 优先级和结合性都可以用括号控制 例如,2+3*2 的计算结果为 2+(3*2)=8; 而 (2+3)*2 的计算结果为 10 再如: bool b = * 5 >= 7 * 8 / 2 "XYZ"!= "xyz" &&!(10-6 > 18 / 2); 相当于 : bool b = ((16 + (2 * 5)) >= ((7 * 8) / 2)) (("XYZ"!= "xyz") && (!((10-6) > (18 / 2)))); 结果为 3.3 表达式 表达式 (expression) 是可以计算的代码片段, 其计算结果一般为单个值 对象以及类型成员 表达式由操作数 ( 变量 常量 函数 ) 运算符和括号按一定规则组成 表达式通过运算后产生运算结果, 运算结果的类型由操作数和运算符共同决定 例如, 表达式 a+3 由两个操作数 ( 变量 a 和常量 3) 和一个运算符 ( 运算符 +) 组成 表达式的组成 表达式由运算符 (operator) 和操作数 (operand) 构成 表达式的运算符指示对操作数适用什么样的运算 运算符的示例包括 + * 和 / 等 ; 操作数的示例包括文本 ( 没有名称的常数值 ) 字段 局部变量 方法参数和类型成员等, 也可以包含子表达式, 因此表达式既可以非常简单, 也可以非常复杂 当表达式包含多个运算符时, 运算符的优先级控制各运算符的计算顺序 ( 参见 节 ) 表达式的书写规则 表达式的书写规则如下 : 乘号不能省略, 如 a 乘以 b 应写为 a*b; 括号必须成对出现, 而且只能使用小括号 小括号可以嵌套使用 ; 表达式从左到右在同一个基准上书写, 无高低, 区分大小写 1 例如, 数学表达式 sin(ax + b) 写成 C# 表达式为 Math.sin(a*x + b)/ 表达式的示例 例 3.8 C# 表达式示例 (ExpressionTest.cs) using System; namespace CSharpBook.Chapter03

20 class ExpressionTest static void Main(string[] args) int a = 1,b = 2,c = 3; a += b++ + c; Console.WriteLine(" a = 0, b = 1, c = 2", a, b, c); Console.WriteLine(" c >= b && b >= a 结果为 :0", c >= b && b >= a); Console.WriteLine(" a < b? a++ : b++ 结果为 :0", a < b? a++ : b++); Console.WriteLine(" a = 0, b = 1, c = 2", a, b, c); Console.WriteLine(" c += a > b? a++ : b++ 结果为 :0", c += a > b? a++ : b++); Console.WriteLine(" a = 0, b = 1, c = 2", a, b, c); a = b = c = 2; Console.WriteLine(" a = 0, b = 1, c = 2", a, b, c); a = 3; b = 8; c = 4; Console.WriteLine(" a = 0, b = 1, c = 2", a, b, c); Console.WriteLine(" a < b? a : b < c? b : c 结果为 :0", a < b? a : b < c? b : c); Console.WriteLine(" (a < b? a : b) < c? b : c 结果为 :0", (a < b? a : b) < c? b : c); Console.WriteLine(" (b2-4ac) 的平方根为 :0", Math.Sqrt(Math.Pow (b,2)-4*a*c)); bool m = false, n = true, p = true; Console.WriteLine(" m = 0, n = 1, p = 2", m, n, p); Console.WriteLine(" m n ^ p = 0", m n ^ p); Console.WriteLine(" m n ^ p = 0", n m ^ p); Console.ReadLine(); 运行结果 : a = 6, b = 3, c = 3 c >= b && b >= a 结果为 : a < b? a++ : b++ 结果为 :3 a = 6, b = 4, c = 3 c += a > b? a++ : b++ 结果为 :9 a = 7, b = 4, c = 9 a = 2, b = 2, c = 2 a = 3, b = 8, c = 4 a < b? a : b < c? b : c 结果为 :3 (a < b? a : b) < c? b : c 结果为 :8 (b2-4ac) 的平方根为 :4 m =, n =, p = m n ^ p = m n ^ p = 79 第 3 章 科语句 运算符和表达式

untitled

untitled 1 Outline 數 料 數 數 列 亂數 練 數 數 數 來 數 數 來 數 料 利 料 來 數 A-Z a-z _ () 不 數 0-9 數 不 數 SCHOOL School school 數 讀 school_name schoolname 易 不 C# my name 7_eleven B&Q new C# (1) public protected private params override

More information

Microsoft Word - 第3章.doc

Microsoft Word - 第3章.doc Java C++ Pascal C# C# if if if for while do while foreach while do while C# 3.1.1 ; 3-1 ischeck Test() While ischeck while static bool ischeck = true; public static void Test() while (ischeck) ; ischeck

More information

CHAPTER VC#

CHAPTER VC# 1. 2. 3. 4. CHAPTER 2-1 2-2 2-3 2-4 VC# 2-5 2-6 2-7 2-8 Visual C# 2008 2-1 Visual C# 0~100 (-32768~+32767) 2 4 VC# (Overflow) 2-1 2-2 2-1 2-1.1 2-1 1 10 10!(1 10) 2-3 Visual C# 2008 10! 32767 short( )

More information

新・解きながら学ぶJava

新・解きながら学ぶJava 481! 41, 74!= 40, 270 " 4 % 23, 25 %% 121 %c 425 %d 121 %o 121 %x 121 & 199 && 48 ' 81, 425 ( ) 14, 17 ( ) 128 ( ) 183 * 23 */ 3, 390 ++ 79 ++ 80 += 93 + 22 + 23 + 279 + 14 + 124 + 7, 148, 16 -- 79 --

More information

untitled

untitled 1 Outline 料 類 說 Tang, Shih-Hsuan 2006/07/26 ~ 2006/09/02 六 PM 7:00 ~ 9:30 聯 ives.net@gmail.com www.csie.ntu.edu.tw/~r93057/aspnet134 度 C# 力 度 C# Web SQL 料 DataGrid DataList 參 ASP.NET 1.0 C# 例 ASP.NET 立

More information

FY.DOC

FY.DOC 高 职 高 专 21 世 纪 规 划 教 材 C++ 程 序 设 计 邓 振 杰 主 编 贾 振 华 孟 庆 敏 副 主 编 人 民 邮 电 出 版 社 内 容 提 要 本 书 系 统 地 介 绍 C++ 语 言 的 基 本 概 念 基 本 语 法 和 编 程 方 法, 深 入 浅 出 地 讲 述 C++ 语 言 面 向 对 象 的 重 要 特 征 : 类 和 对 象 抽 象 封 装 继 承 等 主

More information

Microsoft PowerPoint - 8. 运算符重载 Operator Overloading.pptx

Microsoft PowerPoint - 8. 运算符重载 Operator Overloading.pptx 运算符重载 Operator Overloading class Point { public: ; double x_, y_; Why Operator Overloading? Point (double x =0, double y = 0):x_(x),y_(y) { int main(){ Point a(1., 2), b(3,4); Point c = a + b; return 0;

More information

untitled

untitled 1 Outline ArrayList 類 列類 串類 類 類 例 理 MSDN Library MSDN Library 量 例 參 列 [ 說 ] [] [ 索 ] [] 來 MSDN Library 了 類 類 利 F1 http://msdn.microsoft.com/library/ http://msdn.microsoft.com/library/cht/ Object object

More information

第一章 章标题-F2 上空24,下空24

第一章 章标题-F2 上空24,下空24 2 C# C# C#.NET ASP.NET C# C# C# 2.1 C# C#.NET.NET C#.NET C# CLR C#.NET 2.1.1 C# C# C++ Visual Basic C# C++ C++ C# C#.NET C# C C++ C#. C# C# C# C# 2.1.2 C# C# 2-01.cs C# 2-01.cs class Hello{ public static

More information

C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1

C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1 C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 月 3 日 1 1 INPUTOUTPUT 1 InputOutput 题目描述 用 cin 输入你的姓名 ( 没有空格 ) 和年龄 ( 整数 ), 并用 cout 输出 输入输出符合以下范例 输入 master 999 输出 I am master, 999 years old. 注意 "," 后面有一个空格,"." 结束,

More information

新版 明解C++入門編

新版 明解C++入門編 511!... 43, 85!=... 42 "... 118 " "... 337 " "... 8, 290 #... 71 #... 413 #define... 128, 236, 413 #endif... 412 #ifndef... 412 #if... 412 #include... 6, 337 #undef... 413 %... 23, 27 %=... 97 &... 243,

More information

CHAPTER 1

CHAPTER 1 CHAPTER 1 1-1 System Development Life Cycle; SDLC SDLC Waterfall Model Shelly 1995 1. Preliminary Investigation 2. System Analysis 3. System Design 4. System Development 5. System Implementation and Evaluation

More information

untitled

untitled 1 MSDN Library MSDN Library 量 例 參 列 [ 說 ] [] [ 索 ] [] 來 MSDN Library 了 類 類 利 F1 http://msdn.microsoft.com/library/ http://msdn.microsoft.com/library/cht/ Object object 參 類 都 object 參 object Boxing 參 boxing

More information

CC213

CC213 : (Ken-Yi Lee), E-mail: feis.tw@gmail.com 49 [P.51] C/C++ [P.52] [P.53] [P.55] (int) [P.57] (float/double) [P.58] printf scanf [P.59] [P.61] ( / ) [P.62] (char) [P.65] : +-*/% [P.67] : = [P.68] : ,

More information

Microsoft Word - 01.DOC

Microsoft Word - 01.DOC 第 1 章 JavaScript 简 介 JavaScript 是 NetScape 公 司 为 Navigator 浏 览 器 开 发 的, 是 写 在 HTML 文 件 中 的 一 种 脚 本 语 言, 能 实 现 网 页 内 容 的 交 互 显 示 当 用 户 在 客 户 端 显 示 该 网 页 时, 浏 览 器 就 会 执 行 JavaScript 程 序, 用 户 通 过 交 互 式 的

More information

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP: ******************* * 关于 Java 测试试题 ******

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP:  ******************* * 关于 Java 测试试题 ****** ******************* * 关于 Java 测试试题 ******************* 問 1 运行下面的程序, 选出一个正确的运行结果 public class Sample { public static void main(string[] args) { int[] test = { 1, 2, 3, 4, 5 ; for(int i = 1 ; i System.out.print(test[i]);

More information

untitled

untitled 1 Outline 類别 欄 (1) 類 類 狀 更 易 類 理 若 類 利 來 利 using 來 namespace 類 ; (2) namespace IBM class Notebook namespace Compaq class Notebook 類别 類 來 類 列 欄 (field) (property) (method) (event) 類 例 立 來 車 類 類 立 車 欄 料

More information

OOP with Java 通知 : Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢

OOP with Java 通知 : Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 : Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 Email: 51141201063@ecnu.cn 复习 : Java 类型 基本类型 boolean, char, 封装 (wrappers) 类 (class) 定义 class MyType { int i;

More information

OOP with Java 通知 : Project 2 提交时间 : 3 月 15 日晚 9 点

OOP with Java 通知 : Project 2 提交时间 : 3 月 15 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 : Project 2 提交时间 : 3 月 15 日晚 9 点 复习 : Java 类型 基本类型 boolean, char, 封装 (wrappers) 类 (class) 定义 class MyType { int i; double d; 数据 (Fields) char c; void set(double

More information

1 Framework.NET Framework Microsoft Windows.NET Framework.NET Framework NOTE.NET NET Framework.NET Framework 2.0 ( 3 ).NET Framework 2.0.NET F

1 Framework.NET Framework Microsoft Windows.NET Framework.NET Framework NOTE.NET NET Framework.NET Framework 2.0 ( 3 ).NET Framework 2.0.NET F 1 Framework.NET Framework Microsoft Windows.NET Framework.NET Framework NOTE.NET 2.0 2.0.NET Framework.NET Framework 2.0 ( 3).NET Framework 2.0.NET Framework ( System ) o o o o o o Boxing UnBoxing() o

More information

untitled

untitled 1 Outline 流 ( ) 流 ( ) 流 ( ) 流 ( ) 流 ( ) 狀 流 ( ) 利 來 行流 if () 立 行 ; else 不 立 行 ; 例 sample2-a1 (1) 列 // 料 Console.Write(""); string name = Console.ReadLine(); Console.WriteLine(" " + name + "!!"); 例 sample2-a1

More information

C++ 程序设计 告别 OJ2 - 参考答案 MASTER 2019 年 5 月 3 日 1

C++ 程序设计 告别 OJ2 - 参考答案 MASTER 2019 年 5 月 3 日 1 C++ 程序设计 告别 OJ2 - 参考答案 MASTER 2019 年 5 月 3 日 1 1 TEMPLATE 1 Template 描述 使用模板函数求最大值 使用如下 main 函数对程序进行测试 int main() { double a, b; cin >> a >> b; cout c >> d; cout

More information

无类继承.key

无类继承.key 无类继承 JavaScript 面向对象的根基 周爱 民 / aimingoo aiming@gmail.com https://aimingoo.github.io https://github.com/aimingoo rand = new Person("Rand McKinnon",... https://docs.oracle.com/cd/e19957-01/816-6408-10/object.htm#1193255

More information

Microsoft Word - 正文.doc

Microsoft Word - 正文.doc 第 2 章 Java 语言基础 通过本章的实践, 要掌握 Java 中的标识符 关键字 常量, 熟练掌握算术 关 系 逻辑 条件 赋值 位运算符的使用, 掌握简单顺序结构的程序设计 2.1 典型习题解答 2.1 Java 中怎样进行注释? 解答 Java 语言中的注释有 3 种形式 : (1) 单行 : // (2) 多行 : /* */ (3) 文档注释 : /** */ 第三种形式是第二种形式的变形,

More information

chp6.ppt

chp6.ppt Java 软 件 设 计 基 础 6. 异 常 处 理 编 程 时 会 遇 到 如 下 三 种 错 误 : 语 法 错 误 (syntax error) 没 有 遵 循 语 言 的 规 则, 出 现 语 法 格 式 上 的 错 误, 可 被 编 译 器 发 现 并 易 于 纠 正 ; 逻 辑 错 误 (logic error) 即 我 们 常 说 的 bug, 意 指 编 写 的 代 码 在 执 行

More information

C/C++程序设计 - 字符串与格式化输入/输出

C/C++程序设计 - 字符串与格式化输入/输出 C/C++ / Table of contents 1. 2. 3. 4. 1 i # include # include // density of human body : 1. 04 e3 kg / m ^3 # define DENSITY 1. 04 e3 int main ( void ) { float weight, volume ; int

More information

3.1 num = 3 ch = 'C' 2

3.1 num = 3 ch = 'C' 2 Java 1 3.1 num = 3 ch = 'C' 2 final 3.1 final : final final double PI=3.1415926; 3 3.2 4 int 3.2 (long int) (int) (short int) (byte) short sum; // sum 5 3.2 Java int long num=32967359818l; C:\java\app3_2.java:6:

More information

新版 明解C言語入門編

新版 明解C言語入門編 328, 4, 110, 189, 103, 11... 318. 274 6 ; 10 ; 5? 48 & & 228! 61!= 42 ^= 66 _ 82 /= 66 /* 3 / 19 ~ 164 OR 53 OR 164 = 66 ( ) 115 ( ) 31 ^ OR 164 [] 89, 241 [] 324 + + 4, 19, 241 + + 22 ++ 67 ++ 73 += 66

More information

chap07.key

chap07.key #include void two(); void three(); int main() printf("i'm in main.\n"); two(); return 0; void two() printf("i'm in two.\n"); three(); void three() printf("i'm in three.\n"); void, int 标识符逗号分隔,

More information

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double

More information

C/C++语言 - C/C++数据

C/C++语言 - C/C++数据 C/C++ C/C++ Table of contents 1. 2. 3. 4. char 5. 1 C = 5 (F 32). 9 F C 2 1 // fal2cel. c: Convert Fah temperature to Cel temperature 2 # include < stdio.h> 3 int main ( void ) 4 { 5 float fah, cel ;

More information

数据结构

数据结构 信息管理与信息系统专业 第 3 章变量与表达式 任课教师 : 吕雅丽 本章内容 3.1 C# 基本数据类型 3.2 常量与变量 3.3 创建并使用枚举类型 3.4 运算符与表达式类型 3.5 运算符的优先级与结合性 2 3.1 C# 基本数据类型 3.1.1 数值类型 1. 整数类型 整数类型又有有符号整数与无符号整数 有符号整数可以带正负号, 无符号整数不需带正负号, 默认为正数 有符号整数包括

More information

Microsoft Word - 第3章.doc

Microsoft Word - 第3章.doc 第 3 章 流程控制语句的应用 语句是程序中最小的程序指令, 即程序完成一次完整正操的基本单位 在 C# 中, 可以使用多种类型的语句, 每一种类型的语句又可以通过多个关键字实现 通过这些语句可以控制程序代码的逻辑, 提高程序的灵活性, 从而实现比较复杂的程序逻辑 本章主要内容 : 选择语句的应用 迭代语句的应用 跳转语句的应用 3.1 选择语句的应用 选择语句也叫作分支语句, 选择语句根据某个条件是否成立来控制程序的执行流程

More information

第3章.doc

第3章.doc 3 3 3 3.1 3 IT Trend C++ Java SAP Advantech ERPCRM C++ C++ Synopsys C++ NEC C C++PHP C++Java C++Java VIA C++ 3COM C++ SPSS C++ Sybase C++LinuxUNIX Motorola C++ IBM C++Java Oracle Java HP C++ C++ Yahoo

More information

Microsoft PowerPoint - 07 派生数据类型

Microsoft PowerPoint - 07 派生数据类型 能源与动力工程学院 目录 派生类型 陈 斌 固有数据类型 数值型 (numerical) 整型 INTEGER 实型 REAL 复数型 COMPLEX 非数值型 字符型 CHARACTER 逻辑型 ( 布尔型 )LOGICAL 自定义数据类型 ( 派生类型, derived type) 派生类型是指用户利用 Fortran 系统内部类型, 如整型 实型 复数型 逻辑型 字符型等的组合自行创建出一个新的数据类型,

More information

Microsoft Word - ch04三校.doc

Microsoft Word - ch04三校.doc 4-1 4-1-1 (Object) (State) (Behavior) ( ) ( ) ( method) ( properties) ( functions) 4-2 4-1-2 (Message) ( ) ( ) ( ) A B A ( ) ( ) ( YourCar) ( changegear) ( lowergear) 4-1-3 (Class) (Blueprint) 4-3 changegear

More information

新・解きながら学ぶC言語

新・解きながら学ぶC言語 330!... 67!=... 42 "... 215 " "... 6, 77, 222 #define... 114, 194 #include... 145 %... 21 %... 21 %%... 21 %f... 26 %ld... 162 %lf... 26 %lu... 162 %o... 180 %p... 248 %s... 223, 224 %u... 162 %x... 180

More information

计算概论A B03 C++语言的基本成分 - 运算成分(2)

计算概论A B03 C++语言的基本成分 - 运算成分(2) 计算概论 A 程序设计部分 C 语言的构成成分 运算成分 李戈 北京大学信息科学技术学院软件研究所 lige@sei.pku.edu.cn C 语言中的运算符 C 语言的运算符范围很宽 求字节数运算符 : sizeof 下标运算符 [ ] 赋值运算符 = 算术运算符 + - * / % 关系运算符 < > == >= > ~

More information

概述

概述 OPC Version 1.6 build 0910 KOSRDK Knight OPC Server Rapid Development Toolkits Knight Workgroup, eehoo Technology 2002-9 OPC 1...4 2 API...5 2.1...5 2.2...5 2.2.1 KOS_Init...5 2.2.2 KOS_InitB...5 2.2.3

More information

C/C++语言 - 运算符、表达式和语句

C/C++语言 - 运算符、表达式和语句 C/C++ Table of contents 1. 2. 3. 4. C C++ 5. 6. 7. 1 i // shoe1.c: # include # define ADJUST 7. 64 # define SCALE 0. 325 int main ( void ) { double shoe, foot ; shoe = 9. 0; foot = SCALE * shoe

More information

运算符重载 为什么要 运算符重载 那些运算符可以重载, 哪些不可以 如何实现运算符重载 实现方式 : 成员函数与非成员函数 类型转换 怎样实现对象与基本数据类型数据的运算 2

运算符重载 为什么要 运算符重载 那些运算符可以重载, 哪些不可以 如何实现运算符重载 实现方式 : 成员函数与非成员函数 类型转换 怎样实现对象与基本数据类型数据的运算 2 第十一讲 运算符重载 与类型转换 运算符重载 为什么要 运算符重载 那些运算符可以重载, 哪些不可以 如何实现运算符重载 实现方式 : 成员函数与非成员函数 类型转换 怎样实现对象与基本数据类型数据的运算 2 为什么要运算符重载 预定义的运算符只针对基本数据类型, 若要对类的对象进行类似的运算, 需要重新定义运算符的功能 运算符重载实质就是函数重载 : 对已有的运算符赋予多重含义, 使得同一个运算符作用于不同类型的数据时导致不同的行为

More information

C/C++ - 字符输入输出和字符确认

C/C++ - 字符输入输出和字符确认 C/C++ Table of contents 1. 2. getchar() putchar() 3. (Buffer) 4. 5. 6. 7. 8. 1 2 3 1 // pseudo code 2 read a character 3 while there is more input 4 increment character count 5 if a line has been read,

More information

数据结构与算法 - Python基础

数据结构与算法 - Python基础 Python 教材及课件 课件及作业见网址 xpzhang.me 1 1. Python 2. 3. (list) (tuple) 4. (dict) (set) 5. 6. 7. 2 Python Python 3 Python 4 Python 1, 100, -8080, 0,... 0x 0-9, a-f 0 xff00, 0 xa432bf 5 1.24, 3.14, -9.80,...

More information

untitled

untitled 3 C++ 3.1 3.2 3.3 3.4 new delete 3.5 this 3.6 3.7 3.1 3.1 class struct union struct union C class C++ C++ 3.1 3.1 #include struct STRING { typedef char *CHARPTR; // CHARPTR s; // int strlen(

More information

任务 3 加法运算练习游戏 019 这就需要用到 C# 语言的基础语法, 如数据类型 运算符和控制语句, 还需要其他的常用控件 在此任务的完成过程中, 读者可以接触到 C# 的数据类型 变量常量 运算符 控制语句等基础语法, 掌握以上知识点及其在软件开发中的应用 3.2 相关知识 预定义

任务 3 加法运算练习游戏 019 这就需要用到 C# 语言的基础语法, 如数据类型 运算符和控制语句, 还需要其他的常用控件 在此任务的完成过程中, 读者可以接触到 C# 的数据类型 变量常量 运算符 控制语句等基础语法, 掌握以上知识点及其在软件开发中的应用 3.2 相关知识 预定义 任务 3 加法运算练习游戏 3.1 情境描述 选择了开发环境并理解了事件驱动机制以后, 要开发项目, 还需掌握 C# 语言的语法 本任务的目标是完成如图 3.1 和图 3.2 所示的小学生加法运算练习游戏 这个小软件的功能是在窗体中的 + 两边出现 2 个 10 以内的随机数, 让用户 ( 适合于小学生 ) 在文本框内输入其和, 然后单击 OK 按钮 若输入的和是正确的, 则跳出一个红色的图片, 同时提示答对了,

More information

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double x) { d

More information

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 odps-sdk 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基 开放数据处理服务 ODPS SDK SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基础功能的主体接口, 搜索关键词 "odpssdk-core" 一些

More information

WWW PHP Comments Literals Identifiers Keywords Variables Constants Data Types Operators & Expressions 2

WWW PHP Comments Literals Identifiers Keywords Variables Constants Data Types Operators & Expressions 2 WWW PHP 2003 1 Comments Literals Identifiers Keywords Variables Constants Data Types Operators & Expressions 2 Comments PHP Shell Style: # C++ Style: // C Style: /* */ $value = $p * exp($r * $t); # $value

More information

1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10

1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10 Java V1.0.1 2007 4 10 1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10 6.2.10 6.3..10 6.4 11 7.12 7.1

More information

Microsoft PowerPoint - 5. 指针Pointers.ppt [兼容模式]

Microsoft PowerPoint - 5. 指针Pointers.ppt [兼容模式] 指针 Pointers 变量指针与指针变量 Pointer of a variable 变量与内存 (Variables and Memory) 当你声明一个变量时, 计算机将给该变量一个内存, 可以存储变量的值 当你使用变量时, 计算机将做两步操作 : - 根据变量名查找其对应的地址 ; - 通过地址对该地址的变量内容进行读 (retrieve) 或写 (set) 变量的地址称为变量的指针! C++

More information

c_cpp

c_cpp C C++ C C++ C++ (object oriented) C C++.cpp C C++ C C++ : for (int i=0;i

More information

C/C++ - 函数

C/C++ - 函数 C/C++ Table of contents 1. 2. 3. & 4. 5. 1 2 3 # include # define SIZE 50 int main ( void ) { float list [ SIZE ]; readlist (list, SIZE ); sort (list, SIZE ); average (list, SIZE ); bargragh

More information

JAVA 单元 2.1 四则运算机 ( 一 ) 单元教学进度设计 教学环节 教学内容 教师学生活动活动 反馈 反馈课前作业完成情况 反馈加分 1. 下面哪些是合法的变量名? ( ) A.2variable 答案 :DEG B..variable2 解答 : C.._whatavariable A:/

JAVA 单元 2.1 四则运算机 ( 一 ) 单元教学进度设计 教学环节 教学内容 教师学生活动活动 反馈 反馈课前作业完成情况 反馈加分 1. 下面哪些是合法的变量名? ( ) A.2variable 答案 :DEG B..variable2 解答 : C.._whatavariable A:/ 单元 2.1 四则运算机 ( 一 ) 单元教学进度设计 教学环节 教学内容 教师学生活动活动 反馈 反馈课前作业完成情况 反馈加分 1. 下面哪些是合法的变量名? ( ) A.2variable 答案 :DEG B..variable2 解答 : C.._whatavariable A:// 不能以数字开头 D._3_ B:// 不能用点和空格 提问 抢答 E.$anothervar C: // 不能用点和空格

More information

新・明解C言語入門編『索引』

新・明解C言語入門編『索引』 !... 75!=... 48 "... 234 " "... 9, 84, 240 #define... 118, 213 #include... 148 %... 23 %... 23, 24 %%... 23 %d... 4 %f... 29 %ld... 177 %lf... 31 %lu... 177 %o... 196 %p... 262 %s... 242, 244 %u... 177

More information

C/C++ - 文件IO

C/C++ - 文件IO C/C++ IO Table of contents 1. 2. 3. 4. 1 C ASCII ASCII ASCII 2 10000 00100111 00010000 31H, 30H, 30H, 30H, 30H 1, 0, 0, 0, 0 ASCII 3 4 5 UNIX ANSI C 5 FILE FILE 6 stdio.h typedef struct { int level ;

More information

设计模式 Design Patterns

设计模式 Design Patterns 丁勇 Email:18442056@QQ.com 学习目标 描述 JSP 表达式语言的语法 认识使用 JSP 表达式的优点 在 JSP 中使用表达式语言 表达式语言简介 5 1 EL 为表达式语言 由两个组开发 JSP 标准标签库专家组 JSP 2.0 专家组 JSP 表达式语言的语法 ${EL Expression} JSP EL 表达式用于以下情形 静态文本 标准标签和自定义标签 表达式语言简介

More information

《大话设计模式》第一章

《大话设计模式》第一章 第 1 章 代 码 无 错 就 是 优? 简 单 工 厂 模 式 1.1 面 试 受 挫 小 菜 今 年 计 算 机 专 业 大 四 了, 学 了 不 少 软 件 开 发 方 面 的 东 西, 也 学 着 编 了 些 小 程 序, 踌 躇 满 志, 一 心 要 找 一 个 好 单 位 当 投 递 了 无 数 份 简 历 后, 终 于 收 到 了 一 个 单 位 的 面 试 通 知, 小 菜 欣 喜

More information

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

KillTest 质量更高 服务更好 学习资料   半年免费更新服务 KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : 70-536Chinese(C++) Title : TS:MS.NET Framework 2.0-Application Develop Foundation Version : DEMO 1 / 10 1. Exception A. Data B. Message C.

More information

前言 C# C# C# C C# C# C# C# C# microservices C# More Effective C# More Effective C# C# C# C# Effective C# 50 C# C# 7 Effective vii

前言 C# C# C# C C# C# C# C# C# microservices C# More Effective C# More Effective C# C# C# C# Effective C# 50 C# C# 7 Effective vii 前言 C# C# C# C C# C# C# C# C# microservices C# More Effective C# More Effective C# C# C# C# Effective C# 50 C# C# 7 Effective vii C# 7 More Effective C# C# C# C# C# C# Common Language Runtime CLR just-in-time

More information

C/C++ 语言 - 循环

C/C++ 语言 - 循环 C/C++ Table of contents 7. 1. 2. while 3. 4. 5. for 6. 8. (do while) 9. 10. (nested loop) 11. 12. 13. 1 // summing.c: # include int main ( void ) { long num ; long sum = 0L; int status ; printf

More information

Generated by Unregistered Batch DOC TO PDF Converter , please register! 浙江大学 C 程序设计及实验 试题卷 学年春季学期考试时间 : 2003 年 6 月 20 日上午 8:3

Generated by Unregistered Batch DOC TO PDF Converter , please register! 浙江大学 C 程序设计及实验 试题卷 学年春季学期考试时间 : 2003 年 6 月 20 日上午 8:3 浙江大学 C 程序设计及实验 试题卷 2002-2003 学年春季学期考试时间 : 2003 年 6 月 20 日上午 8:30-10:30 注意 : 答题内容必须写在答题卷上, 写在本试题卷上无效 一. 单项选择题 ( 每题 1 分, 共 10 分 ) 1. 下列运算符中, 优先级最低的是 A.

More information

OOP with Java 通知 Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 学习使用文本编辑器 学习使用 cmd: Power shell 阅读参考资料

OOP with Java 通知 Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢   学习使用文本编辑器 学习使用 cmd: Power shell 阅读参考资料 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 Email: 51141201063@ecnu.cn 学习使用文本编辑器 学习使用 cmd: Power shell 阅读参考资料 OOP with Java Java 类型 引用 不可变类型 对象存储位置 作用域 OOP

More information

6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C C C51 C51 ANSI C MCS-51 C51 ANSI C C C51 bit Byte bit sbit

6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C C C51 C51 ANSI C MCS-51 C51 ANSI C C C51 bit Byte bit sbit 6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C51 6.1 C51 6.1.1 C51 C51 ANSI C MCS-51 C51 ANSI C C51 6.1 6.1 C51 bit Byte bit sbit 1 0 1 unsigned char 8 1 0 255 Signed char 8 11 128

More information

C C

C C C C 2017 3 8 1. 2. 3. 4. char 5. 2/101 C 1. 3/101 C C = 5 (F 32). 9 F C 4/101 C 1 // fal2cel.c: Convert Fah temperature to Cel temperature 2 #include 3 int main(void) 4 { 5 float fah, cel; 6 printf("please

More information

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

KillTest 质量更高 服务更好 学习资料   半年免费更新服务 KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : 310-055Big5 Title : Sun Certified Programmer for the Java 2 Platform.SE 5.0 Version : Demo 1 / 22 1. 11. public static void parse(string str)

More information

untitled

untitled 1 行 行 行 行.NET 行 行 類 來 行 行 Thread 類 行 System.Threading 來 類 Thread 類 (1) public Thread(ThreadStart start ); Name 行 IsAlive 行 行狀 Start 行 行 Suspend 行 Resume 行 行 Thread 類 (2) Sleep 行 CurrentThread 行 ThreadStart

More information

untitled

untitled 不 料 料 例 : ( 料 ) 串 度 8 年 數 串 度 4 串 度 數 數 9- ( ) 利 數 struct { ; ; 數 struct 數 ; 9-2 數 利 數 C struct 數 ; C++ 數 ; struct 省略 9-3 例 ( 料 例 ) struct people{ char name[]; int age; char address[4]; char phone[]; int

More information

Chapter 9: Objects and Classes

Chapter 9: Objects and Classes Fortran Algol Pascal Modula-2 BCPL C Simula SmallTalk C++ Ada Java C# C Fortran 5.1 message A B 5.2 1 class Vehicle subclass Car object mycar public class Vehicle extends Object{ public int WheelNum

More information

Guava学习之Resources

Guava学习之Resources Resources 提供提供操作 classpath 路径下所有资源的方法 除非另有说明, 否则类中所有方法的参数都不能为 null 虽然有些方法的参数是 URL 类型的, 但是这些方法实现通常不是以 HTTP 完成的 ; 同时这些资源也非 classpath 路径下的 下面两个函数都是根据资源的名称得到其绝对路径, 从函数里面可以看出,Resources 类中的 getresource 函数都是基于

More information

Microsoft Word - 新1-12.doc

Microsoft Word - 新1-12.doc 实训 5 面向对象编程练习 实训 5 面向对象编程练习 5.1 实训目的 通过编程和上机实验理解 Java 语言是如何体现面向对象编程基本思想 以及如何创建类 和对象 了解成员变量和成员方法的特性 5.2 实训要求 编写一个体现面向对象思想的程序 编写一个创建对象和使用对象的方法的程序 5.3 实训内容 5.3.1 创建对象并使用对象 1 定义一个 Person 类 可以在应用程序中使用该类 成员属性

More information

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit Tomcat Web JUnit Cactus JUnit Java Cactus JUnit 26.1 JUnit Java JUnit JUnit Java JSP Servlet JUnit Java Erich Gamma Kent Beck xunit JUnit boolean JUnit Java JUnit Java JUnit Java 26.1.1 JUnit JUnit How

More information

nooog

nooog C : : : , C C,,, C, C,, C ( ), ( ) C,,, ;,, ; C,,, ;, ;, ;, ;,,,, ;,,, ; : 1 9, 2 3, 4, 5, 6 10 11, 7 8, 12 13,,,,, 2008 1 1 (1 ) 1.1 (1 ) 1.1.1 ( ) 1.1.2 ( ) 1.1.3 ( ) 1.1.4 ( ) 1.1.5 ( ) 1.2 ( ) 1.2.1

More information

《计算概论》课程 第十九讲 C 程序设计语言应用

《计算概论》课程 第十九讲  C 程序设计语言应用 计算概论 A 程序设计部分 字符数组与字符串 李戈 北京大学信息科学技术学院软件研究所 lige@sei.pku.edu.cn 字符数组的定义 #include int main() char a[10] = 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j' ; for (int i = 0; i < 10; i++) cout

More information

第 章 顺序结构程序设计 程序里要对数据进行各种操作 其中进行各种运算操作是最基本的操作之一 在 语言程序中 使用表达式 也就是通常所说的计算式子 描述各种运算 表达式是由参与运算的数据和表示运算的符号按照一定的规则组成的式子 描述运算的符号称为运算符 由一个或两个特定符号表示一种运算 语言具有丰富

第 章 顺序结构程序设计 程序里要对数据进行各种操作 其中进行各种运算操作是最基本的操作之一 在 语言程序中 使用表达式 也就是通常所说的计算式子 描述各种运算 表达式是由参与运算的数据和表示运算的符号按照一定的规则组成的式子 描述运算的符号称为运算符 由一个或两个特定符号表示一种运算 语言具有丰富 第 章 顺序结构程序设计 程序里要对数据进行各种操作 其中进行各种运算操作是最基本的操作之一 在 语言程序中 使用表达式 也就是通常所说的计算式子 描述各种运算 表达式是由参与运算的数据和表示运算的符号按照一定的规则组成的式子 描述运算的符号称为运算符 由一个或两个特定符号表示一种运算 语言具有丰富的运算符 可分为多种类型 包括 算术运算符? 9 关系运算符 >> > > > 逻辑运算符 位运算符

More information

《C语言程序设计》教材习题参考答案

《C语言程序设计》教材习题参考答案 教材名称 : C 语言程序设计 ( 第 1 版 ) 黄保和 江弋编著清华大学出版社 ISBN:978-7-302-13599-9, 红色封面 答案制作时间 :2011 年 2 月 -5 月 一 选择题 1. 设已定义 int a, * p, 下列赋值表达式中正确的是 :C)p=&a 2. 设已定义 int x,*p=&x;, 则下列表达式中错误的是 :B)&*x 3. 若已定义 int a=1,*b=&a;,

More information

Fun Time (1) What happens in memory? 1 i n t i ; 2 s h o r t j ; 3 double k ; 4 char c = a ; 5 i = 3; j = 2; 6 k = i j ; H.-T. Lin (NTU CSIE) Referenc

Fun Time (1) What happens in memory? 1 i n t i ; 2 s h o r t j ; 3 double k ; 4 char c = a ; 5 i = 3; j = 2; 6 k = i j ; H.-T. Lin (NTU CSIE) Referenc References (Section 5.2) Hsuan-Tien Lin Deptartment of CSIE, NTU OOP Class, March 15-16, 2010 H.-T. Lin (NTU CSIE) References OOP 03/15-16/2010 0 / 22 Fun Time (1) What happens in memory? 1 i n t i ; 2

More information

EJB-Programming-4-cn.doc

EJB-Programming-4-cn.doc EJB (4) : (Entity Bean Value Object ) JBuilder EJB 2.x CMP EJB Relationships JBuilder EJB Test Client EJB EJB Seminar CMP Entity Beans Session Bean J2EE Session Façade Design Pattern Session Bean Session

More information

结构文本 (ST) TM246 简介 前提 培训模块 : 软件 : 硬件 : TM0 Automation Studio 基础 TM Automation Studio 在线通讯 TM 自动化运行 (Runtime) 系统 TM Automation Studio 诊断 无 无 结构文本 (ST) TM 目录 简介. 目的 结构文本特点. 概述. 特点. 可能性 结构文本基础. 表达式. 赋值.

More information

Ps22Pdf

Ps22Pdf C ( CIP) C /. :, 2001. 7 21 ISBN 7-5624 -2355-5. C........ C. TP312 CIP ( 2001 ) 034496 C * * : 7871092 1 /16 : 14. 25 : 356 20017 1 20017 1 : 1 6 000 ISBN 7-5624-2355-5 / TP311 : 21. 00 C, C,,,, C,, (

More information

( CIP) /. :, ( ) ISBN TP CIP ( 2005) : : : : * : : 174 ( A ) : : ( 023) : ( 023)

( CIP) /. :, ( ) ISBN TP CIP ( 2005) : : : : * : : 174 ( A ) : : ( 023) : ( 023) ( CIP) /. :, 2005. 2 ( ) ISBN 7-5624-3339-9.......... TP311. 1 CIP ( 2005) 011794 : : : : * : : 174 ( A ) :400030 : ( 023) 65102378 65105781 : ( 023) 65103686 65105565 : http: / /www. cqup. com. cn : fxk@cqup.

More information

Microsoft PowerPoint - 03.Fortran程序设计基础1

Microsoft PowerPoint - 03.Fortran程序设计基础1 简单 Fortran 90 程序的构造形式 : 第二讲 Fortran 程序设计基础 (2) [PROGRAM 程序名 ] [ 声明语句 ] [ 执行语句 ] END [PROGRAM [ 程序名 ]] 程序的书写 (P5) PROGRAM MONEY!calculate balance after interest compounded! 根据利息计算余额 REAL BALANCE, INTEREST,

More information

02

02 Thinking in C++: Volume One: Introduction to Standard C++, Second Edition & Volume Two: Practical Programming C++ C C++ C++ 3 3 C C class C++ C++ C++ C++ string vector 2.1 interpreter compiler 2.1.1 BASIC

More information

1: public class MyOutputStream implements AutoCloseable { 3: public void close() throws IOException { 4: throw new IOException(); 5: } 6:

1: public class MyOutputStream implements AutoCloseable { 3: public void close() throws IOException { 4: throw new IOException(); 5: } 6: Chapter 15. Suppressed Exception CH14 Finally Block Java SE 7 try-with-resources JVM cleanup try-with-resources JVM cleanup cleanup Java SE 7 Throwable getsuppressed Throwable[] getsuppressed() Suppressed

More information

Microsoft Word - 《C语言开发入门》课程教学大纲-2.doc

Microsoft Word - 《C语言开发入门》课程教学大纲-2.doc C 语言开发入门 课程教学大纲 ( 课程英文名称 ) 课程编号 :201409210011 学分 :5 学分学时 :60 学时 ( 其中 : 讲课学时 :37 学时上机学时 :23 学时 ) 先修课程 : 计算机导论后续课程 :C++ 程序设计适用专业 : 信息及其计算机相关专业开课部门 : 计算机系 一 课程的性质与目标 C 语言开发入门 是计算机各专业必修的基础课程, 是数据结构 C++ Java

More information

Microsoft PowerPoint - string_kruse [兼容模式]

Microsoft PowerPoint - string_kruse [兼容模式] Strings Strings in C not encapsulated Every C-string has type char *. Hence, a C-string references an address in memory, the first of a contiguous set of bytes that store the characters making up the string.

More information

PowerPoint 演示文稿

PowerPoint 演示文稿 计算概论 A 课程程序设计部分 C++ 语言基本成分 数据成分 李戈 北京大学信息科学技术学院软件研究所 lige@sei.pku.edu.cn 再谈, 我们的进度安排 我们的学习过程 感性理性函数指针等 数据成分运算成分控制成分数组字符串 结构化的程序递归 传统学习过程 数据类型与表达式 输入输出 关系运算 控制语句 函数数组指针结构体 作业练习 感性认识作业练习 ( 以抄程序为主 ) 正常作业练习

More information

<4D F736F F D DA5BFA6A1C476C1C92DBEC7ACECB8D5A8F728B57BB35D292E646F63>

<4D F736F F D DA5BFA6A1C476C1C92DBEC7ACECB8D5A8F728B57BB35D292E646F63> 全國高級中等學校 106 學年度商業類科學生技藝競賽 程式設計 職種 學科 試卷 選手證號碼 ( 崗位編號 ): 姓名 : 注意事項 : 請將答案劃記於答案卡, 未依規定劃記者不予計分 試題說明 :( 選擇題共 25 題每題 4 分, 答錯不倒扣, 共 100 分 ) ( )1. 執行以下 Visual Basic 程式片段, 其結果為何?(A) 15 (B) 12 (C) 7 (D) 3 Dim

More information

使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款

使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款 JAVA 程 序 设 计 ( 肆 ) 徐 东 / 数 学 系 使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款 使 用 Java class 代 表 保 险 箱 public class SaveBox 类 名 类 类 体 实 现 封 装 性 使 用 class SaveBox 代 表 保

More information

untitled

untitled 說 參 例 邏 邏 1. 說 2. 數 數 3. 8 4. 理念 李 龍老 立 1. 理 料 2. 理 料 3. 數 料 4. 流 邏 念 5. 良 6. 讀 行 行 7. 行 例 來 邏 1. 說 說 識 量 2. 說 理 類 3. 數 數 念 4. 令 5. 良 6. 流 邏 念 7. 說 邏 理 力 1. 2. 3. 4. 5. 列 念 1 參 1. ( Visual Basic 例 ) (1)

More information

CC213

CC213 : (Ken-Yi Lee), E-mail: feis.tw@gmail.com 177 [P179] (1) - [P181] [P182] (2) - for [P183] (3) - switch [P184] [P187] [P189] [P194] 178 [ ]; : : int var; : int var[3]; var 2293620 var[0] var[1] 2293620

More information

C

C C 2017 3 14 1. 2. 3. 4. 2/95 C 1. 3/95 C I 1 // talkback.c: 2 #include 3 #include 4 #define DENSITY 62.4 5 int main(void) 6 { 7 float weight, volume; 8 int size; 9 unsigned long letters;

More information

没有幻灯片标题

没有幻灯片标题 第 2 章 C 语言的基本数据类型与表达 式 2. 1 C 语言的语法基础 2. 2 C 语言的基本数据类型 2. 3 常量和变量 2. 4 运算符与表达式 2. 5 数据类型转换 用 第 2 章 C 语言的基本数据类型与表达 2.1 C 语言的语法基础 2. 1. 1 C 语言字符集 式 C 语言的基本符号可分 4 个类, 归纳如下 : (1) 英文字母 : 大小写各 26 个, 共计 52 个

More information

第3章 Java语言基础

第3章 Java语言基础 第 3 章 Java 语言基础 第 1/55 页 习题 3 3. 8. 9. 13. 18. 实验 : 1. 实验 4( 实 P11~12) 2. 实验任务 : 1 例 3.1( 教 P30) 2 变量赋值 ( 教 P29) 3 编写两个缓冲区对应同一个输入流对象, 并键盘输入整型 a 和双精度 b, 求和 第 2/55 页 习题 3 3. 实验任务 : 1 实验 5( 实 P12~13) 2 实验

More information

Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0,

Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0, http://debut.cis.nctu.edu.tw/~chi Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0, : POSITIVE_INFINITY NEGATIVE_INFINITY

More information

OOP with Java 通知 Project 4: 5 月 2 日晚 9 点

OOP with Java 通知 Project 4: 5 月 2 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 5 月 2 日晚 9 点 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double x) { d =

More information

2 WF 1 T I P WF WF WF WF WF WF WF WF 2.1 WF WF WF WF WF WF

2 WF 1 T I P WF WF WF WF WF WF WF WF 2.1 WF WF WF WF WF WF Chapter 2 WF 2.1 WF 2.2 2. XAML 2. 2 WF 1 T I P WF WF WF WF WF WF WF WF 2.1 WF WF WF WF WF WF WF WF WF WF EDI API WF Visual Studio Designer 1 2.1 WF Windows Workflow Foundation 2 WF 1 WF Domain-Specific

More information

第5章修改稿

第5章修改稿 (Programming Language), ok,, if then else,(), ()() 5.0 5.0.0, (Variable Declaration) var x : T x, T, x,,,, var x : T P = x, x' : T P P, () var x:t P,,, yz, var x : int x:=2. y := x+z = x, x' : int x' =2

More information

内 容 简 介 本 书 是 一 本 关 于 语 言 程 序 设 计 的 教 材, 涵 盖 了 语 言 的 基 本 语 法 和 编 程 技 术, 其 中 包 含 了 作 者 对 语 言 多 年 开 发 经 验 的 总 结, 目 的 是 让 初 学 的 读 者 感 受 到 语 言 的 魅 力, 并 掌

内 容 简 介 本 书 是 一 本 关 于 语 言 程 序 设 计 的 教 材, 涵 盖 了 语 言 的 基 本 语 法 和 编 程 技 术, 其 中 包 含 了 作 者 对 语 言 多 年 开 发 经 验 的 总 结, 目 的 是 让 初 学 的 读 者 感 受 到 语 言 的 魅 力, 并 掌 语 言 程 序 设 计 郑 莉 胡 家 威 编 著 清 华 大 学 逸 夫 图 书 馆 北 京 内 容 简 介 本 书 是 一 本 关 于 语 言 程 序 设 计 的 教 材, 涵 盖 了 语 言 的 基 本 语 法 和 编 程 技 术, 其 中 包 含 了 作 者 对 语 言 多 年 开 发 经 验 的 总 结, 目 的 是 让 初 学 的 读 者 感 受 到 语 言 的 魅 力, 并 掌 握 语

More information

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

KillTest 质量更高 服务更好 学习资料   半年免费更新服务 KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : 310-065Big5 Title : Sun Certified Programmer for the Java 2 Platform, SE 6.0 Version : Demo 1 / 14 1. 35. String #name = "Jane Doe"; 36. int

More information