(精品)C_编程语法基础.ppt
C#语法基础语法基础 1教学目标教学目标了解了解C#中的基本数据类型中的基本数据类型理解值类型和引用类型以及装箱和取消装箱的概念理解值类型和引用类型以及装箱和取消装箱的概念掌握掌握C#中变量、常量和数组的使用方法中变量、常量和数组的使用方法了解了解C#中的操作符中的操作符掌握常用的流程控制语句掌握常用的流程控制语句2相关理论知识相关理论知识基本数据类型基本数据类型整型整型浮点型浮点型布尔型布尔型字符型字符型3基本数据类型基本数据类型别名别名类型类型描述描述 sbyte System.SByte 8位有符号的整数,位有符号的整数,-128到到127之间之间 short System.Int16 16位有符号的整数,位有符号的整数,-32768到到32767之间之间 int System.Int32 32位有符号的整数,位有符号的整数,-231到到231-1之间之间 long System.Int64 64位有符号的整数,位有符号的整数,-263到到263-1之间之间 byte System.Byte 8位无符号的整数,位无符号的整数,0到到255之间之间 ushort System.Uint16 16位无符号的整数,位无符号的整数,0到到65535之间之间 uint System.Uint32 32位无符号的整型,位无符号的整型,0到到232-1之间之间 ulong System.Uint64 64位无符号的整数,位无符号的整数,0到到264-1之间之间 float System.Single 32位单精度浮点数位单精度浮点数 double System.Double 64位双精度浮点数位双精度浮点数 decimal System.Decimal 128位高精度十进制数标识法位高精度十进制数标识法 bool System.Boolean true或者或者false char System.Char 标识一个标识一个16位的字符位的字符(Unicode字符串)字符串)stringSystem.StringUnicode字符串字符串4变量的声明变量的声明变量必须先声明后使用变量必须先声明后使用,即给变量指定一个名称和一种类,即给变量指定一个名称和一种类型。型。声明变量的语法:声明变量的语法:例如:例如:int i;int是数据类型,是数据类型,i是变量名。是变量名。5变量命名变量命名在声明变量时,需要遵循一定的在声明变量时,需要遵循一定的命名规则命名规则,C#中的命名规中的命名规则与则与C中的基本相同。中的基本相同。变量名的第一个字符必须是字母或者下划线变量名的第一个字符必须是字母或者下划线变量名只能由字母、数字和下划线组成,而不能包含空格、标点符变量名只能由字母、数字和下划线组成,而不能包含空格、标点符号、运算符等其它符号号、运算符等其它符号变量名不能与变量名不能与C#中的关键字名称相同中的关键字名称相同6使用关键字作为变量名使用关键字作为变量名C#可以使用与关键字冲突的变量名称,方法是为此标识符可以使用与关键字冲突的变量名称,方法是为此标识符添加添加符号作为前缀。符号作为前缀。符号并不是标识符的一部分符号并不是标识符的一部分。例如:。例如:string string;7变量的初始化变量的初始化在在C#中中,使使用用变变量量前前,要要求求必必须须先先对对其其进进行行初初始始化化操操作作!(为变量赋值)(为变量赋值)自动初始化自动初始化类级变量(字段)类级变量(字段)显式初始化显式初始化方法内的局部变量方法内的局部变量8变量的初始化变量的初始化类级变量类级变量(字段)可以不用事先赋值,而使用缺省值(字段)可以不用事先赋值,而使用缺省值各种数据类型的各种数据类型的缺省值缺省值:数值类型的缺省值为数值类型的缺省值为0或或0.0bool类型的缺省值为类型的缺省值为falsechar的缺省为的缺省为x0000string类型的缺省值为类型的缺省值为null9变量必须被初始化变量必须被初始化方法的局部变量必须被初始化方法的局部变量必须被初始化后,才可以在程序中的其他后,才可以在程序中的其他地方引用地方引用Public void Test()int i;int j=i*10;/编译时会报错编译时会报错10使用变量示例使用变量示例 /先声明,后赋值先声明,后赋值 int i;int j;i=10;j=10;/声明的同时赋值,且一次可以声明多个变量声明的同时赋值,且一次可以声明多个变量 int x=10,y=5;/使用使用连等连等的形式为变量赋值的形式为变量赋值 int a,b;a=b=10;11常量常量在声明和初始化变量时,添加在声明和初始化变量时,添加const关键字关键字语法:语法:const =;例如:例如:const double PI=3.14;12运算符运算符一元运算符一元运算符二元运算符二元运算符三元运算符三元运算符13运算符种类运算符种类类别类别 运算符运算符 算术运算符+/%逻辑运算符&|&|!字符串链接运算符+赋值运算符=比较运算符=!=条件运算符(三元运算符)?:14运算符简化操作运算符简化操作运算符的简化操作运算符的简化操作 等价于等价于 x+,+x x=x+1 x-,-x x=x-1 x+=y x=x+y x=y x=xy 15三元运算符三元运算符三元运算符需要三元运算符需要3个操作数。第一个操作数必须为个操作数。第一个操作数必须为bool值或值或表达式,如果为表达式,如果为true,运算结果为第二个操作数的值;否则,运算结果为第二个操作数的值;否则,运算结果为第三个操作数的值。格式如下:运算结果为第三个操作数的值。格式如下:condition是要计算的是要计算的bool类型表达式类型表达式true_value是是condition为为true时返回的值时返回的值false_value是是condition为为fasle时返回的值时返回的值condition?true_value:false_value16数组数组数组是一组具有数组是一组具有相同数据类型相同数据类型的值。的值。这些值存储在相邻的内存位置,因此访问和操纵这些值更这些值存储在相邻的内存位置,因此访问和操纵这些值更为简便。为简便。数组从零开始建立索引,数组从零开始建立索引,C#中的数组属于中的数组属于引用类型引用类型。17使用数组使用数组数组的声明:数组的声明:在类型和数组变量名称之间插入一对中括号,例如:在类型和数组变量名称之间插入一对中括号,例如:int i;在使用数组前需要对其进行初始化,例如:在使用数组前需要对其进行初始化,例如:int i=2,3,4;int i=new int3;/C#编辑器默认对其进行初始化编辑器默认对其进行初始化,全为全为0int i=new int32,3,4;int i;i=1,2,3;/编译报错编译报错 18数组的索引数组的索引数组的各个元素是数组的各个元素是通过索引来访问通过索引来访问的,的,0为指向数组中的第为指向数组中的第一个元素一个元素。C#支持一维数组、多维数组和交错数组(数组的数组):支持一维数组、多维数组和交错数组(数组的数组):一维数组:一维数组:int i=new int10;多维数组:多维数组:int,i=new int2,4;交错数组:交错数组:int i=new int43;19循环控制语句循环控制语句C#提供了提供了4种循环语句:种循环语句:while循环循环dowhile循环循环for循环循环foreach循环循环20whie循环循环while循环中只要提供的表达式值为循环中只要提供的表达式值为true,就会不,就会不断重复执行一条语句或一个语句块。格式如下:断重复执行一条语句或一个语句块。格式如下:condition为循环条件,为循环条件,statement为迭代表达式。为迭代表达式。由于条件是在循环语句执行前进行的,所以由于条件是在循环语句执行前进行的,所以while循环执行的次数可以为循环执行的次数可以为0次,也可以是许多次。次,也可以是许多次。while(condition)statement;21do while循环循环dowhile与与while基本类似,不同点在于其条件测试要在基本类似,不同点在于其条件测试要在每次循环体执行后才进行,即使条件表达式值为每次循环体执行后才进行,即使条件表达式值为falsedo循环体中的语句也至少会执行一次循环体中的语句也至少会执行一次dostatement;while(condition);22for循环循环一般来说,如果已知循环的次数,则采用一般来说,如果已知循环的次数,则采用for循环循环 for循环格式如下:循环格式如下:for(initializer;condition;iterator)statement;initializer为初始化表达式为初始化表达式condition为条件表达式为条件表达式iterator为控制语句,需要计算的表达式为控制语句,需要计算的表达式statement为迭代表达式,即需要执行的操作为迭代表达式,即需要执行的操作23foreach 循环循环foreach循环一般用于遍历整个集合或数组循环一般用于遍历整个集合或数组foreach循环可以迭代集合中的每一项。如果需要重复循环可以迭代集合中的每一项。如果需要重复某个集合(例如数组)中的每个条目,那么将会是比较某个集合(例如数组)中的每个条目,那么将会是比较好的选择。好的选择。foreach(元素类型元素类型 变量名变量名 in 集合或者数组名集合或者数组名)/语句语句24if条件语句条件语句if语句用于测试某个表达式,若该表达式的值为语句用于测试某个表达式,若该表达式的值为true,则执,则执行一条或多条语句。格式如下:行一条或多条语句。格式如下:if(condition)statement;25if条件语句条件语句当在当在C#中如果需要多种条件的判断,则使用:中如果需要多种条件的判断,则使用:if(condition)statement;else if(condition)statement;elsestatement;26switch语句语句switch语句用于多分支选择。格式如下:语句用于多分支选择。格式如下:switch(条件表达式条件表达式)case 结果结果1:执行操作语句执行操作语句;break;case 结果结果2:执行操作语句执行操作语句;break;case 结果结果3:执行操作语句执行操作语句;break;default:执行操作语句执行操作语句;break;27continue 和和 break循环中的循环中的 continue 和和 breakfor()continue;for()break;跳出循环结构跳出循环结构跳到下次循环跳到下次循环28return语句语句return语句用于语句用于在方法调用中退出在方法调用中退出,把控制权交还给方法的,把控制权交还给方法的调用者,如果方法又返回类型,调用者,如果方法又返回类型,return语句必须返回这个类语句必须返回这个类型的值,如果没有返回类型,则应使用没有表达式的型的值,如果没有返回类型,则应使用没有表达式的return语句。语句。return;return 表达式;表达式;29总结总结C#中的基本数据类型中的基本数据类型值类型和引用类型以及装箱和取消装箱的概念值类型和引用类型以及装箱和取消装箱的概念C#中变量、常量和数组的使用方法中变量、常量和数组的使用方法C#中的操作符中的操作符常用的流程控制语句常用的流程控制语句30作业作业1.1.某某市市不不同同车车牌牌的的出出租租车车3 3公公里里的的起起步步价价和和计计费费分分别别为为:夏夏利利7 7元元,3 3公公里里以以外外,2.12.1元元/公公里里;富富康康8 8元元,3 3公公里里以以外外,2.42.4元元/公公里里;桑桑塔塔那那9 9元元,3 3公公里里以以外外,2.72.7元元/公公里里。编编程程:从键盘输入乘车的车型及行车公里数,输出应付车资。从键盘输入乘车的车型及行车公里数,输出应付车资。2.2.打打印印出出所所有有的的“水水仙仙花花数数”、所所谓谓“水水仙仙花花数数。是是指指一一个个3 3位位数数,其其各各位位数数字字立立方方和和等等于于该该数数本本身身。例例如如,153153是是一一水水仙花数,因为仙花数,因为153=1153=13 3+5+53 3+3+33 3。3.3.关于百钱买百鸡问题的程序。关于百钱买百鸡问题的程序。某人有某人有100100元钱,欲买元钱,欲买100100只鸡。公鸡只鸡。公鸡5 5元一只,母鸡元一只,母鸡3 3元一只,元一只,小鸡一元小鸡一元3 3只,问可买到公鸡、母鸡和小鸡各多少只?只,问可买到公鸡、母鸡和小鸡各多少只?4 求出求出11000之间的所有能被之间的所有能被7整除的数,并整除的数,并以每行以每行输出输出5个的个的形式显示出来形式显示出来。31