(C++程序设计课件)第六章 C#基本语言
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
void setNum ( int v) {
num = v; }
int calSum( ) {
sum = 0; for ( int i=1;i<=num;i++)
sum+=i; return sum; } }
8
➢名字空间: ✓同一工程中的类定义缺省放在同一名字空间中,空间 名字与工程名字相同 ✓使用名字空间: using System; ✓使用某一名字空间时,必须添加相应组件引用 System名字空间和组件是自动添加的
9
10
11
1.3 预定义数据类型
数据类型 bool char byte sbyte short ushort int uint long ulong decimal float double object string
含义 8位 布尔型:true, false 16位 Unicode字符 8位 无符号整型 8位 有符号整型 16位 有符号整型 16位 无符号整型 32位 有符号整型 32位 无符号整型 64位 有符号整型 64位 无符号整型 128位 货币 32位 浮点数 64位 浮点数
}
不能通过编译: 若case后有语 句块,则必须包
含break;
19
char ch; int ab=c=0; …… switch (ch) {
case ‘a’: case ‘b’:
ab++; break; case ‘c’: c++; break; }
20
1.7 类的定义
类的定义格式:
继承,没有继 承类型,C#只
static void Main ( string [ ] args )
{
……
程序入口
}
7
class Class1 {
private int num; private int sum; static void Main(string[] args) {
num = 10; int result = calSum(); }
15
c#提供了ref和out关键字: ➢ref指定值类型参数按引用传递 ➢C#规定实参必须有初始值,否则出现编译错误,但out可以指定实 参无初始值,被调用的函数负责赋值。
void swap (rienftian,tian,trbe)f int b) {
int temp = a; a = b; b = a; }
13
string变量可以和另一数据类型的值连接生成更长的字符串:
string str1 = “He has ”; Consoel.WriteLine ( str1+2+“ books.” ); //He has 2 books. 利用System中的String类格式化字符串: decimal amount = (decimal) 100.00; string str = String.Format ( “{0:C}”, amount); // str为: ¥100.00
支持单继承
限定符 class 类名 : 基类 { …… ……
}
public class Time { ……
} public class StdTime : Time {
…… }
21
public class Time {
private int hour; private int minute; private int second; public Time(int h,int m, int s) {
14
1.4 值类型和引用类型
值类型:定义的变量包含该类型的值,预定义的各种数据类 型都是值类型。(变量和值绑在一起)
引用类型:定义的变量包含数值在内存中存储的地址,自定 义的类都是引用类型。
int i = 2; int j = i; j = 3;
i
2
j
23
注意:缺省情况下,值类型作为参数传递时是按值传递的, 引用类型作为参数传递时是按地址传递的。
int a = 10, b = 20; swap (ar,ebf)a; , ref b );
无法交换
16
void sum ( int up, out int v ) {
v = 0; for ( int i=1;i<=up;i++)
v+=i; } int up = 10; int result; sum ( up, out result );
17
1.5 控制台下的标准输入输出
System空间中的Console类提供输入、输出操作: Console.WriteLine(“Hello world!”); string str = Console.ReadLine(); string name = “John”; Console.WriteLine(“Welcome to you , {0} !”, name);
C++与C#
计算机学院
李虎
新主楼G910
电话:82338574
Email: tiger.li@cse.buaa.edu.cn
1
第六章 C百度文库基本语言
2
5
名字可以 改变
6
1.2 程序结构
➢C#的程序文件后缀为.cs
➢C#的基本单元:类(class),C#中没有全局变量、常量 和全局函数
➢一个可执行程序中有且只有一个类包含Main成员函数:
利用数据 类型定义 变量的方 式与C++
相同
字符串类
12
注意: ➢C#中隐式转换只允许从“窄类型”向“宽类型”转换 ➢显式类型转换与C语言相同
double d = 10.5; int i = d;
System中:Int64,Int32,Double等类可以将字符串分别 转换成64, 32的整型或浮点型: string str1=“12”, str2 =“16”,str3=“12.5”; int i = Int32.Parse(str1); long l = Int64.Parse(str2); double d = Double.Parse(str3);
输出后面 的第一个
变量
18
1.6 运算符和控制结构
C#继承了C++中的各种运算符和控制结构
与C++的区别:
switch的不可贯穿性:
char ch; int a=b=c=0; …… switch (ch) {
case ‘a’: a++; break;
case ‘b’: b++; break;
case ‘c’: c++; break;
num = v; }
int calSum( ) {
sum = 0; for ( int i=1;i<=num;i++)
sum+=i; return sum; } }
8
➢名字空间: ✓同一工程中的类定义缺省放在同一名字空间中,空间 名字与工程名字相同 ✓使用名字空间: using System; ✓使用某一名字空间时,必须添加相应组件引用 System名字空间和组件是自动添加的
9
10
11
1.3 预定义数据类型
数据类型 bool char byte sbyte short ushort int uint long ulong decimal float double object string
含义 8位 布尔型:true, false 16位 Unicode字符 8位 无符号整型 8位 有符号整型 16位 有符号整型 16位 无符号整型 32位 有符号整型 32位 无符号整型 64位 有符号整型 64位 无符号整型 128位 货币 32位 浮点数 64位 浮点数
}
不能通过编译: 若case后有语 句块,则必须包
含break;
19
char ch; int ab=c=0; …… switch (ch) {
case ‘a’: case ‘b’:
ab++; break; case ‘c’: c++; break; }
20
1.7 类的定义
类的定义格式:
继承,没有继 承类型,C#只
static void Main ( string [ ] args )
{
……
程序入口
}
7
class Class1 {
private int num; private int sum; static void Main(string[] args) {
num = 10; int result = calSum(); }
15
c#提供了ref和out关键字: ➢ref指定值类型参数按引用传递 ➢C#规定实参必须有初始值,否则出现编译错误,但out可以指定实 参无初始值,被调用的函数负责赋值。
void swap (rienftian,tian,trbe)f int b) {
int temp = a; a = b; b = a; }
13
string变量可以和另一数据类型的值连接生成更长的字符串:
string str1 = “He has ”; Consoel.WriteLine ( str1+2+“ books.” ); //He has 2 books. 利用System中的String类格式化字符串: decimal amount = (decimal) 100.00; string str = String.Format ( “{0:C}”, amount); // str为: ¥100.00
支持单继承
限定符 class 类名 : 基类 { …… ……
}
public class Time { ……
} public class StdTime : Time {
…… }
21
public class Time {
private int hour; private int minute; private int second; public Time(int h,int m, int s) {
14
1.4 值类型和引用类型
值类型:定义的变量包含该类型的值,预定义的各种数据类 型都是值类型。(变量和值绑在一起)
引用类型:定义的变量包含数值在内存中存储的地址,自定 义的类都是引用类型。
int i = 2; int j = i; j = 3;
i
2
j
23
注意:缺省情况下,值类型作为参数传递时是按值传递的, 引用类型作为参数传递时是按地址传递的。
int a = 10, b = 20; swap (ar,ebf)a; , ref b );
无法交换
16
void sum ( int up, out int v ) {
v = 0; for ( int i=1;i<=up;i++)
v+=i; } int up = 10; int result; sum ( up, out result );
17
1.5 控制台下的标准输入输出
System空间中的Console类提供输入、输出操作: Console.WriteLine(“Hello world!”); string str = Console.ReadLine(); string name = “John”; Console.WriteLine(“Welcome to you , {0} !”, name);
C++与C#
计算机学院
李虎
新主楼G910
电话:82338574
Email: tiger.li@cse.buaa.edu.cn
1
第六章 C百度文库基本语言
2
5
名字可以 改变
6
1.2 程序结构
➢C#的程序文件后缀为.cs
➢C#的基本单元:类(class),C#中没有全局变量、常量 和全局函数
➢一个可执行程序中有且只有一个类包含Main成员函数:
利用数据 类型定义 变量的方 式与C++
相同
字符串类
12
注意: ➢C#中隐式转换只允许从“窄类型”向“宽类型”转换 ➢显式类型转换与C语言相同
double d = 10.5; int i = d;
System中:Int64,Int32,Double等类可以将字符串分别 转换成64, 32的整型或浮点型: string str1=“12”, str2 =“16”,str3=“12.5”; int i = Int32.Parse(str1); long l = Int64.Parse(str2); double d = Double.Parse(str3);
输出后面 的第一个
变量
18
1.6 运算符和控制结构
C#继承了C++中的各种运算符和控制结构
与C++的区别:
switch的不可贯穿性:
char ch; int a=b=c=0; …… switch (ch) {
case ‘a’: a++; break;
case ‘b’: b++; break;
case ‘c’: c++; break;