《C程序设计基础PPT课件》由会员分享,可在线阅读,更多相关《C程序设计基础PPT课件(36页珍藏版)》请在金锄头文库上搜索。
1、 FMMU 第二章:第二章:C#程序设计基础程序设计基础 FMMU 2.1.1 C#的字符集的字符集字符是构成程序设计语言的最小语法单位。C#的基本字符集包括:数字、大小写英文字母和一些特殊字符C#中所有字符都是使用Unicode编码表示,每个字符都由两个字节(16位二进制数)来表示,编码范围为065535,所以Unicode字符集最多可以表示65536个字符。基本上能够包含世界上大多数语言的字符集。中文字符集也已经成为Unicode字符集的一个子集。 FMMU 2.1.2 C#语言的词汇集语言的词汇集C#的词汇集主要包括关键字、标识符和文字常量等1关键字:又称保留字,是对程序设计语言编译器具
2、有特殊意义的预定义保留标识符,编译器扫描源程序时,将对关键字做出专门的解释2标识符:给程序中处理的数据对象(如变量、常量、函数、数据类型等)取的名字。 组成标识符的字符为字母、数字和下划线; 标识符中第一个字符必须是字母或下划线; 用户在程序中自定义的标识符一般不允许使用表2-1所示的关键字。 如需要使用关键字作为自定义标识符,则标识符用字符“”引导。 C#语言的标识符构成中,要区分字符的大小写形式。 FMMU 2.2 C#语言的基本数据类型语言的基本数据类型数据类型决定了该数据的取值范围和可参加的运算。C#语言支持的数据类型分为两个大类:值类型和引用类型。值类值类型型简简单单类类型型数数值值
3、类类型型整整型型数数据据类类型型实实型型数数据据类类型型字符数据字符数据类类型型布布尔尔数据数据类类型型枚枚举举数据数据类类型型结结构数据构数据类类型型引用引用类类型型数数组类组类型型类类类类型型代理代理类类型型接口接口类类型型 FMMU 2.2.1 C#中的常量与变量中的常量与变量C#程序中处理的数据分为:常量与变量常量:程序运行过程中,其值不能被改变。分为: 数、字符、字符串和布尔常量变量:程序运行过程中,其值能够被改变,用标识符来命名;C#语言是一种强类型语言,规定程序中的变量在使用之前必须加以定义。程序中每一变量都应有确定的数据类型一个程序中一个变量只属于一个类型,不能先后定义为两个或
4、多个不同类型变量定义一般形式: 数据类型名 变量名列表; FMMU 2.2.2 整型数据类型整型数据类型C#C#类类型型 .NET.NET类类型型 占用字占用字节节取取值值范范围围sbytesbyteSByteSByte1 1-128-128127bytebyteByteByte1 10 0255shortshortInt16Int162 2-32768-3276832767ushortushortUint16Uint162 20 065535intintInt32Int324 4-2,147,483,648-2,147,483,6482,147,483,647uintuintUint32Ui
5、nt324 40 04,294,967,295longlongInt64Int648 8-9,223,372,036,854,775,808-9,223,372,036,854,775,8089,223,372,036,854,775,807ulongulongUint64Uint648 80 018,446,744,073,709,551,615 FMMU 2.2.2 整型数据类型整型数据类型C#语言中可以使用一条语句定义一个或者若干个同类型的整型变量 int myInt1,myInt2;/定义两个整型变量myInt1和myInt2 ulong myULong1;/定义了一个无符号长整型变量
6、myULong1定义整型变量的同时对其进行初始化:sbyte mySbyte = 125;;int myInt1 = -65536, myInt2 = 12135;byte myByte = -200; /无符号字节变量赋负值初始化数据ushort myUShort = 2147483647; /初始化数据超过无符号短整型数据表示范围int myInt = 3.1415926; /为整型变量赋实型初始化数据X FMMU 2.2.3 实型数据类型实型数据类型单精度实型(也称为浮点型)、双精度实型、十进制小数型C#C#类类型型.NET.NET类类型型占用字占用字节节取取值值范范围围floatflo
7、atSingleSingle4 4约约1.510-453.41038doubledoubleDoubleDouble8 8约约510-3241.710308decimaldecimalDecimalDecimal1616约约1.010-287.91028实型常量表示:实数形式和指数形式实数形式:由数字和小数点组成,例如:888.88,0.88等。指数形式数据:由数字0 9、小数点和表示阶码的标志E(或e)组成: 整数部分.小数部分E指数部分例如:123e5表示123105,123e-5表示12310-5。 FMMU 2.2.3 实型数据类型实型数据类型C#语言默认实型数据常量为双精度实型(do
8、uble类型)数据在为单精度实型变量赋初始化值时需要在数据常量后使用后缀F(或f)在为十进制小数型变量赋初始化值时需要在数据常量后使用后缀M(或m)下面是一些正确的实型变量初始化示例:float myFloat1 = 123f, myFloat2 = -12.52F;double myDouble1 = 1.5E-3D, myDouble2 = 123.53;decimal myDecimal1 = 234M, myDecimal = 324.6728m;下面是一些错误的实型变量初始化示例:float myFloat1 = 123; /初始化单精度变量的数据常量后没有后缀F(或f)decima
9、l myDecimal1 = 324.6728; /数据常量没有使用后缀M(或m)float myFloat2 = 1.5E-3D; /数据常量错误使用后缀DX FMMU 2.2.4 字符数据类型字符数据类型C#C#类类型型.NET.NET类类型型 占用字占用字节节取取值值范范围围charcharCharChar2 21616位位Unicode字符字符C#中字符数据常量分为:普通字符和转义字符普通字符:由单引号括起来的一个可打印字符,如a、?、A等。转义字符:由反斜杠开头的字符序列,此时反斜杠字符后面的字符或字符序列不表示自己本身的含义而转变为表示另外的特定意义。转义转义字符字符意意 义义功能
10、解功能解释释00NULLNULL字符串字符串结结束符束符bb退格退格把光把光标标向左移向左移动动一个字符一个字符nn换换行行把光把光标标移到下一行的开始移到下一行的开始反斜杠反斜杠引用反斜杠字符引用反斜杠字符双引号双引号在字符串中引用双引号在字符串中引用双引号单单引号引号在字符串中引用在字符串中引用单单引号引号aa响响铃铃报报警响警响铃铃ff换页换页(打印机)(打印机)换换到下一到下一页页tt水平制表水平制表把光把光标标移到下一个制表位置移到下一个制表位置xhhhhxhhhh1 1到到4位十六位十六进进制数所表示的字符制数所表示的字符uxxxxuxxxx4 4位十六位十六进进制数所表示的字符制
11、数所表示的字符 FMMU 2.2.4 字符数据类型字符数据类型对字符型变量的初始化值只能是单个的字符常量,若使用字符串数据初始化字符变量,编译系统会指出不能将字符串转换为字符的错误。char myChar1 = A;char myChar2 = x41;char myChar3 = u0041;char myChar1 = A+1; /A+1是整型数据常量,不能自动转换为字符char myChar2 = “a”; /“a”是字符串常量,不能转换为字符char myChar3 = u041; /在u后面十六进制数据不足4位X FMMU 2.2.5 布尔数据类型布尔数据类型布尔数据类型:表示条件成
12、立与否,即“真”或“假”布尔数据类型占用一个字节的存储区域。布尔数据类型变量只有两种取值: true:表示条件成立,即逻辑“真”的概念; false:表示条件不成立,即逻辑“假”的概念;bool myBool; /定义了一个布尔型变量myBoolbool myBool1, myBool2; /同时定义了两个布尔型变量myBool1和 myBool2。定义变量时进行初始化: bool myBool = true; bool myBool1 = true, myBool2; / myBool2的初始值为false FMMU 2.3 基本运算符基本运算符优优先先级级运算符运算符1 1x.yx.y,
13、f(x)f(x), axax, x+x+, x-x-, newnew, typeoftypeof, checkedchecked,uncheckedunchecked,-2 2+ +,- -,! !, ,+x+x,-x-x,(T)x(T)x,TrueTrue,FalseFalse,& &,sizeofsizeof3 3* *,/ /,% %4 4+ +, -5 56 6 ,=,isis,asas7 7=,!=!=8 8& &9 9 1010| |1111&1212|1313? :? :1414= =,+=+=,-=-=,* *= =,/=/=,%=%=,&=&=,|=|=,=,=,?表达式:运
14、算符和圆括号将运算对象连接起来的、 符合C#语言语法规则的式子。 FMMU 2.3.1 赋值运算符赋值运算符赋值运算符:=作用:将一个数据或是一个表达式的值赋给一个变量;赋值表达式:赋值号把一个变量和一个表达式连起来的式子。赋值表达式的一般形式如下: varible = expression赋值运算符左边的数据对象只能是变量一般是表达式(包括单个的常量、变量或方法(函数)调用) FMMU 2.3.1 赋值运算符赋值运算符注意:1)赋值表达式可作为其他表达式的组成成分d = (a = 200) + c * d; 功能:表达式(a = 200) + c * d的值赋值给变量d (a = 200)作
15、为整个表达式中的一个成分参与运算2)赋值运算两边数据对象类型不一致时 数据类型兼容,则自动转换数据类型 数据类型不兼容,则编译系统会报错 C#中进行强数据类型检查int a;long d;d = a = 100;double a = 123.5;float b = 100.4f;b = a + b;X FMMU 2.3 2 算术运算符算术运算符单目运算符:正号“+”和负号“-”。双目运算符:“+”、“-”、“*”、“/”和“%”(求模)。1 )两个整数相除时,得到的结果仍然是整数 7/5结果是1、-7/5结果是-1 除法结果采用截取法取整,即直接将小数部分去掉 8/5结果是1 -8/5结果是-
16、12)求模运算就是求余数 运算结果的符号与第一个(左边)运算对象相同 7%5结果是2-7%5结果是-2 7%-5结果是2 -7%-5结果是-2 运算对象既可以是整型数据,也可以是实型数据 6.5%2.1结果是0.2 6.5%-2.1结果是0.2 -6.5%2.1结果是-0.2 -6.5%-2.1结果是-0.2 FMMU 2.3 2 算术运算符算术运算符2.3 2 算术运算符 static void Main(string args) int a=10,b = 20, c, d, e; float x = 10.1f, y = 0.00001f, z1,z2; c = a + b; d = a
17、/ b; e = a % b; z1 = x + y; z2 = y % 5; Console.WriteLine(c=0,d=1,e=2, c, d, e); Console.WriteLine(z1=0,z2=1, z1, z2); Console.ReadLine(); c=30,d=0,e=10z1=10.10001,z2=1E-05 FMMU 2.3.3 复合赋值运算符复合赋值运算符复合赋值运算符:赋值运算符“=”前面加上其它运算符构成 的一种运算符,又称为“自反运算符”+=、-=、*=、/=、%=、=、&=、=、|= OP= 等同于 = OP ()a+=5 相当于a=a+5/省略了
18、括住第二个操作数的括号x*=y+1 相当于x=x*(y+1)/不能省略括住第二个操作数的括号x%=y-5 相当于x=x%(y-5)/不能省略括住第二个操作数的括号 static void Main(string args) double a = 10.5, b = 30.8; int x = 100, y = 5; a += b; x %= y + 1; Console.WriteLine(a=0,x=1, a, x); Console.ReadLine(); a=41.3,x=4 FMMU 2.3.4 自增自减运算符自增运算符”+”和自减运算符”-”是单目运算符功能:将运算对象的值增加或减少
19、一个该对象的单位值前缀形式:自增、自减运算符出现在变量的左侧,+i、 -i。 操作方式:“先增值后引用”后缀形式:自增、自减运算符出现在变量的右侧 i+、 i-。操作方式:“先引用后增值” FMMU 2.3.4 自增自减运算符 static void Main(string args) int a = 10, b; double c = 5.5, d; b = +a; Console.WriteLine(a=0,b=1, a, b); d = c+; Console.WriteLine(c=0,d=1, c, d); Console.ReadLine(); 前缀形式:先增值后引用a=11,b=
20、11后缀形式:先引用后增值c=6.5,d=5.5 FMMU 2.3 5 sizeof运算符运算符 功能:返回所测试的对象需要占用的存储单元字节数 使用形式: sizeof()被测试的数据类型名,必须是数值型数据类型的名字static void Main(string args) Console.WriteLine(字符数据对象:0, sizeof(char); Console.WriteLine(字节数据对象:0, sizeof(sbyte); Console.WriteLine(无符号字节数据对象:0, sizeof(byte); Console.WriteLine(短整型数据对象:0, s
21、izeof(short); Console.WriteLine(无符号短整型数据对象:0, sizeof(ushort); Console.WriteLine(整型数据对象:0, sizeof(int); Console.WriteLine(无符号整型数据对象:0, sizeof(uint); Console.WriteLine(长整型数据对象:0, sizeof(long); Console.WriteLine(无符号长整型数据对象:0, sizeof(ulong); Console.WriteLine(单精度实型数据对象:0, sizeof(float); Console.WriteLin
22、e(双精度实型数据对象:0, sizeof(double); Console.WriteLine(十进制小数型数据对象:0, sizeof(decimal); Console.ReadLine();字符数据对象:2字节数据对象:1无符号字节数据对象:1短整型数据对象:2无符号短整型数据对象:2整型数据对象:4无符号整型数据对象:4长整型数据对象:8无符号长整型数据对象:8单精度实型数据对象:4双精度实型数据对象:8十进制小数型数据对象:16 FMMU 2.4 C#中的数据类型转换中的数据类型转换隐式类型转换:系统自动转换原则:向表达数据能力更强的数据类型方向转换。序号被转换类型可以转换的类型1
23、char ushort,int,uint,long,ulong,float,double,decimal2sbyteshort,int,long,float,double,decimal3byteshort, int,uint,long,ulong,float,double,decimal4shortint,long,float,double,decimal5ushortint,uint,long,ulong,float,double,decimal6intlong,float,double,decimal7uintlong,ulong,float,double,decimal8longflo
24、at,double,decimal9ulongfloat,double,decimal10floatdouble FMMU 2.4.2 数据的显式转换数据的显式转换显式转换:强制类型转换。一般形式是: (typeName)()期望转换成的数据类型名字被转换的变量或表达式 FMMU 2.4.2 数据的显式转换数据的显式转换功能:本次运算中强迫表达式的值转换成指定的数据类型参加运算例如:float x=2.5;int a=10, m;m=a+(int)x; 实型变量x的值在强制转换为整型与变量a相加计算后x的值为2.5强制类型转换是对从变量中取出的值进行转换,变量本身的值不改变 FMMU 2.4.
25、2 数据的显式转换数据的显式转换 n=a+(int)(x+1.8) 被转换对象是表达式,则需用括号将整个被转换对象括住对表达式的计算机结果强制类型转换表达式中各个变量的值不变 FMMU 2.4.2 数据的显式转换数据的显式转换 static void Main(string args) double x = 100.5; int i = 3, j; Console.WriteLine(x=0, x); j = (int)x % i; Console.WriteLine(j=0,x=1, j, x); Console.ReadLine(); x=100.5j=1,x=100.5 FMMU 2.5
26、.12.5.1控制台应用程序中数据输入输出方法控制台应用程序中数据输入输出方法控制台应用程序中数据输入输出方法控制台应用程序中数据输入输出方法1.格式化输出方法Write和WriteLineSystem.Console.Write(输出数据项列表);System.Console.WriteLine(输出数据项列表);区别:1)Write方法不能没有输出数据项,WriteLine方法可以没有输出数据项;2)Write方法输出指定数据项后不会换行,WriteLine方法会自动换行; WriteLine方法输出的数据项数为0时,表示仅进行换行操作 FMMU 2.5.12.5.1控制台应用程序中数据输
27、入输出方法控制台应用程序中数据输入输出方法控制台应用程序中数据输入输出方法控制台应用程序中数据输入输出方法格式化输出的形式: Console.WriteLine(“格式控制字符串”, 输出数据项列表);构成:普通字符和格式控制项原样输出,即在指定位置输出指定字符(或字符串)一对花括号括起来,每个格式控制项对应一个输出数据项列表中的数据 p, m:n m表示指定的数据项输出时所占的宽度p表示格式对应的输出数据项序号,序号从0开始编号n表示格式化字符格式化字符格式化字符意义描述f 或 F指定用小数形式输出实型数据e 或 E指定用指数形式输出实型数据g 或 G指定由系统选择小数形式或指数形式输出实型
28、数据p 或 P指定用百分数形式输出指定数据n 或 N指定用逗号分隔的形式输出指定数据c 或 C指定用本地货币形式输出指定数据d 或 D指定用十进制形式输出整型数据x 或 X指定用十六进制形式输出整型数据 FMMU 2.5.12.5.1控制台应用程序中数据输入输出方法控制台应用程序中数据输入输出方法控制台应用程序中数据输入输出方法控制台应用程序中数据输入输出方法int myInt1 = 12340, myInt2 = 56789;Console.Write(myInt1);Console.Write(myInt2);Console.WriteLine();Console.WriteLine(my
29、Int1=0,3, myInt2=1,8, myInt1, myInt2);Console.WriteLine(myInt1=0,7:d, myInt2=1,7:x, myInt1, myInt2); FMMU 2.5.12.5.1控制台应用程序中数据输入输出方法控制台应用程序中数据输入输出方法控制台应用程序中数据输入输出方法控制台应用程序中数据输入输出方法 double myDouble = 12345.6789; /系统默认实型常数为双精度型 float myFloat = 12345.6789f; /单精度实型常数用f后缀表示Console.WriteLine(myDouble=0,10
30、:f3, myFloat=1,10:f3, myDouble, myFloat);Console.WriteLine(myDouble=0,10:e3, myDouble=1,10:p2,myDouble ,myDouble);Console.WriteLine(myDouble=0,10:n2, myDouble=1,10:g2, myDouble, myDouble); FMMU 2.5.12.5.1控制台应用程序中数据输入输出方法控制台应用程序中数据输入输出方法控制台应用程序中数据输入输出方法控制台应用程序中数据输入输出方法2.单个字符输入方法Read完整调用形式为:System.Con
31、sole.Read();程序前面使用using System;后的调用形式为:Console.Read();功能:从键盘上接收一个字符,返回该字符对应整数表示的代码 应该将其强制转换后再赋值给相应的字符数据对象: char myChar = (char)Console.Read(); FMMU 2.5.12.5.1控制台应用程序中数据输入输出方法控制台应用程序中数据输入输出方法控制台应用程序中数据输入输出方法控制台应用程序中数据输入输出方法3.字符串输入方法ReadLine功能:从键盘上接收一个字符串如果需要输入数据值,则要将输入的数字字符串转换成为相应数据转换方式: .Parse(数字字符串
32、);输入整型数据的方法:int myInt = int.Parse(Console.ReadLine();输入实型数据的方法:double myDouble= double.Parse(Console.ReadLine(); FMMU 2.5.12.5.1控制台应用程序中数据输入输出方法控制台应用程序中数据输入输出方法控制台应用程序中数据输入输出方法控制台应用程序中数据输入输出方法static void Main(string args) Console.Write(请输入一个字符串: ); string myString = Console.ReadLine(); Console.Write
33、Line(输入的字符串是:0,myString); Console.Write(请输第1个实数: ); double myDouble1 = double.Parse(Console.ReadLine(); Console.Write(请输第2个实数: ); double myDouble2 = double.Parse(Console.ReadLine(); Console.WriteLine(两个实数之和是:0, myDouble1 + myDouble2); Console.ReadLine(); FMMU 2.5.2 2.5.2 窗体程序中数据常用输入输出方法窗体程序中数据常用输入输出
34、方法窗体程序中数据常用输入输出方法窗体程序中数据常用输入输出方法Windows窗体应用程序中输入:TextBox文本框控件输出: 1)Label标签控件; 2) TextBox文本框控件:程序运行过程中动态修改文本框控件Text 属性决定Label控件和TextBox控件显示的内容Text 属性的数据类型为字符串数据到字符串的转换方法:ToString() 基本形式为: .ToString();double myNum = 123.456;string myNumString = myNum.ToString(); /myNumString的值为123.456 FMMU 2.5.2 2.5.2
35、 窗体程序中数据常用输入输出方法窗体程序中数据常用输入输出方法窗体程序中数据常用输入输出方法窗体程序中数据常用输入输出方法private void btnAdd_Click(object sender, EventArgs e) double myNum1, myNum2, mySum; /从文本框获取第一个实数 myNum1 = double.Parse(txtNumber1.Text); /从文本框获取第二个实数 myNum2 = double.Parse(txtNumber2.Text); mySum = myNum1 + myNum2; /用ToString方法将实数mySum转换为对应的字符串 label3.Text = 两个数的和是: + mySum.ToString (); FMMU 谢谢 谢!谢!