C基本语法实用_第1页
C基本语法实用_第2页
C基本语法实用_第3页
C基本语法实用_第4页
C基本语法实用_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

会计学1C基本语法实用技能目标学会正确使用C#标识符和关键字,掌握标识符的命名规则。正确使用C#数据类型,掌握各种数据类型的特性。理解C#各种运算符的意义并会运用。能正确书写变量的声明定义以及表达式,并充分理解语句的含义。第1页/共35页2.1工作场景导入【工作场景】已知某公园的形状大致是一个三角形,经实际估算三个边的长度分别大约是1000米、800米和900米,请估算三角形公园的面积。工作场景示例图如下图所示。【引导问题】根据工作场景中提供的三条边的长度,我们通过思考结合数学运算规则,很容易求出三角形公园的面积。如何通过C#语言编写程序让我们的计算机来完成这个计算呢?用一种语言编写程序实际上是将我们解决问题思考的过程通过这种语言的形式描述出来。以此我们引导如下问题:(1)C#语言是如何书写的?是否有一定的书写规则?(2)在实际的数学计算中,我们通常要定义一些未知数,那么在C#语言中又是如何定义这些未知数的?也就是变量的表示形式是什么?(3)数学计算过程中我们通常会遇到各种各样的数据类型,如整数、小数。在C#语言中又有怎样的数据类型?(4)数学计算过程中,我们利用数学公式来求解,那么在C#语言中又有怎样的“数学公式”,在C#中我们称之为表达式。C#中运算符有哪些,如何结合变量书写表达式?第2页/共35页2.2标识符与关键字

1.标识符标识符就是一种命名记号,为了能分清程序中的各个元素,程序员往往需要对一些元素进行命名。C#语言规定对元素进行命名必须遵照一定的规则。

2.标识符的命名规则C#语言中,标识符是以字母、下划线(_)或@开始的一个字符序列,后面可以跟字母、下划线、数字,另外C#语言区分大小写。若在程序中定义了不符合一定规则的变量,系统会自动报错。

3.关键字不是所有的符合标识符命名规则的名字都能为程序员随便使用。有些标识符具有专门的意义和用途,不能再由程序设计人员声明作为其他用途的标识符称为关键字也叫做保留字。

第3页/共35页2.3变量与数据类型变量代表了存储单元,每个变量都有一个类型。这决定了这个变量可以存储什么值。C#是类型安全的语言,C#编译器会保证存储在变量中的值总是恰当的类型。可以通过赋值语句的操作来改变变量的值。使用变量的一条重要原则是:变量必须先定义后使用。变量可以在定义时赋值,也可以在定义的时候不赋值。一个定义时被赋了值的变量相当于定义了一个初始值。第4页/共35页2.3.1变量的命名

变量为程序中的一元素,其命名规则和标识符的命名规则相同。错误的变量名:345abc//第一个字符必须是字母、下划线(_)或@Class//不可以使用C#语言关键字作为标识符w-d-m//“-”不属于字母、数字或者下划线正确的变量名:wdm_myVariableVAR

注意:C#对于大小写字母是敏感的,所以在声明以及使用变量的时候要注意这些,例如Variable、variable、VARIABLE是3个不同的变量。第5页/共35页2.3.2变量的声明变量的作用非常重要,变量代表一个特定的数据项或值。变量关系到数据的存储,它就像一个盒子,里面存放着各种不同的数据。

1.声明规则格式如下:

typenamevariablename;typename表示变量的类型,variableame表示变量名。2.对变量进行赋值格式如下:

variablename=value;

例如:

count=3;

若要修改变量的值,只需重新用赋值运算符将新的值赋给该变量,如将变量的值更改为10。

count=10;3.变量声明的同时进行初始化

C#中并不要求在声明变量的同时初始化变量(即为变量赋值),但是为变量赋值通常是程序员的良好习惯,例如:

floatd=2.14;该语句中float是一种数据类型,该语句声明一个浮点数类型变量d,并将值2.4赋给该变量。第6页/共35页2.3.3数据类型

按照不同的划分方法,可以按照以下两种方式划分数据类型:按内置和自定义划分,可划分为内置类型和构造类型。根据数据存储的位置,可以分为值类型和引用类型。第7页/共35页 2.3.3数据类型

————内置类型和构造类型

内置类型是C#提供的、无法再分解的一种具体类型。构造类型是在内置类型基础上构造出来的类型。划分示意图如下所示。第8页/共35页 2.3.3数据类型

————值类型和引用类型划分示意图如下所示。第9页/共35页

值类型变量

————简单类型值类型变量将其数据存储在堆栈中。值类型主要分为简单类型和结构类型。其中简单类型又可以分为:整型数据类型浮点数布尔类型字符类型第10页/共35页

简单类型

————整型数据类型C#语言中提供了8种整型数据类型:整数,包括int和uint。短整型,包括short和ushort。长整型,包括long和ulong。Byte型,包括byte和sbyte。数据类型前的“u”是“unsigned”的缩写,表示的是无符号类型,该数据类型的数据不能表示负数。整型数据的表示方法有以下几个。十进制整数,如:120,456,0。十六进制整数,以0x或0X开头,如:0x122表示十进制数290,0X12表示十进制数–18。无符号整数,可以用正整数表示无符号数,也可以在数字的后面加上U或u,如250U。长整数,可以在数字的后面加上L或l,如125L。第11页/共35页

简单类型

————浮点数浮点数是那些带有小数的数据,常用的浮点数类型有float(单精度)类型和double(双精度)类型,两者的差别在于取值范围和精度的不同。在对精度要求不高的计算中,我们可以采用单精度型,而采用双精度的结果将更为精确。还有一种类型为decimal类型,decimal类型主要是为了方便在金融和货币方面的计算。浮点数据的表示形式有以下几个。十进制数形式:由数字和小数点组成,且必须有小数点,如:0.123,1.23,123.0。科学计数法形式:如:123e3或123E3。float型的值:在数字后加f或F,如:1.23f。double型的值:在数字后加D或d,如:12.8d。decimal型的值:在数字后加M或m,如:99.2m。第12页/共35页

简单类型

———布尔类型和字符类型布尔类型在C#语言中最常用的判断条件就是判断某个变量的值的真假,这时的变量所属的类型即为布尔类型,在C#语言中,布尔类型只那个有两种取值,即true或false。例如:

boolflag=true;//定义bool型变量flag并将其初值赋为true字符类型字符包括数字字符(0-9)、英文字母(a-z,A-Z)、表达符号(%,@,#...)等。C#提供的字符类型按照国际上公认的标准,采用Unicode字符集。字符的定义方法如下:

charmyChar=‘C’;第13页/共35页

值类型变量

————结构类型结构是一种用关键字struct声明的自定义数据类型,可以包含构造函数,常数,字段,方法,属性,索引器,运算符和嵌套类型等。在一个结构类型中,我们可以定义C#的任何基本数据类型组合,在结构类型中还可以定义另外一种结构类型。在结构类型中定义基本数据类型组合,例如,定义结构类型People。structPeople{ publicstringname; publicintage; publicintheight; publicdoubleweight;}对结构类型中的成员进行赋值。Peoplep1;=”zhangsan”;p1.age=20;p1.height=180;p1.weight=65;其中Peoplep1;的含义是实例化一个People结构体类型,其名称为p1,定义后可以对其成员变量进行赋值,需要注意的是在对结构体类型成员变量赋值时,变量的值要和变量所定义的类型相一致。结构类型使用简单,并且很有用,但是要牢记:结构在堆栈中创建,是值类型,它适合于这样的情况,每当需要一种经常使用的类型,而且大多数情况下该类型只是一些数据时,使用结构性能较好。第14页/共35页引用类型引用类型的变量将其数据存储在堆中,把一个引用类型数据的变量赋给另一个引用类型数据的变量,只是在内存中创建对同一个位置的两个引用,改变其中任何一个变量的数值都会影响其他引用变量的数值。当值类型的变量按值存储信息时,变量包含值的实际信息。例如,当将345存储到变量x中后,x的值便是345。C#中的引用类型有:类数组代理接口第15页/共35页2.3.4常量常量顾明思义就是在使用过程中不会发生变化的变量。在声明和初始化时常量时,要在变量前加const关键字。常量声明的基本语法为:

[private/public/internal/protected]const [int/double/long/bool/string/...]VariableName=value;其中private、public、internal和protected为修饰符,我们也可以在声明变量类型前加这些修饰符,例如:

publicinta;private、public、internal和protected是用来修饰变量的访问级别的。声明变量时只能使用其中一个。第16页/共35页 2.3.4常量

————常量举例下面是一个声明常量的具体例子:

constdoublePI=3.1415926;或者

privateconstdoublePI=3.1415926;

将PI声明为一个固定值,我们可以在程序中使用PI,但是不能修改它的值。常量一旦被声明初始化后,它的值就不能再改变,否则系统就会自动报错。第17页/共35页2.3.5匿名类型在C#3.5中,可以不明确指定其数据的类型,而使用关键字var声明。

var关键字用来创建隐形局部变量,它指示编译器根据初始化语句右侧的表达式推断变量的类型。推断类型可以是内置类型、匿名类型、用户定义类型、.NETFramework类库中定义的类型或任何表达式。下面是几个常见的隐形局部变量。

vari=5;varstr=”helloworld”;vard=10.5;varmyary=newint[]{1,2,3,4,5};上面的变量都使用了var关键字定义,其效果类似于下面的代码。inti=5;stringstr=”helloworld”;doubled=10.5;int[]myary=newint[]{1,2,3,4,5};第18页/共35页2.3.6 C#中的类型转换数值类型之间的相互转换。字符的ASCII码和Unicode码。数值字符串和数值之间的转换。装箱和拆箱。第19页/共35页1.数值类型之间的相互转换数值类型包括byte,short,int,long,float,double等,根据这个排列顺序,各种类型的值依次可以向后自动进行转换。例如:bytea=1;shortb=a;intc=b;longd=c;floate=d;但若在赋值时未按照上面的一个排列顺序进行赋值,编译时编译器报错。intg=1;shorth=g;结果编译报错:无法将类型“int”隐式转换“short”。

第20页/共35页2.字符的ASCII码和Unicode码有些时候我们需要得到一个英文字符的ASCII码或者一个汉字的Unicode码,我们需要将英文字符型数据强制转换成合适的数值型就可以得到相应的ASCII码;反之,如果将一个合适的数值型数据强制转换成字符型数据,就可以得到相应的字符。例如:charch='a';shortii=65;Console.WriteLine("TheASCIIcodeof\'"+ch+"\'is:"+(short)ch+"\n");运行结果:TheASCIIcodeof'a'is:97ASCIIis65,thecharis:A

第21页/共35页3.数值字符串和数值之间的转换数值转换成字符串:所有数值型的voidToString()方法都能将数据转换为数值字符串。如123.ToSting()就将得到字符串“123”。数值型字符串转换成数值:利用staticParse()函数。这个函数就是用来将字符串转换为相应数值的。例如:

floatf=float.Parse("543.21");

其结果f的值为543.21F,其它的数值类型也可以使用同样的方法进行转换,第22页/共35页4.装箱和拆箱装箱和拆箱机制使得在C#类型系统中,任何值类型、引用类型和object(对象)类型之间进行转换,我们称这种转换为绑定连接。装箱转换是指将一个值类型隐式转换成一个object类型,或者把这个值类型转换成一个被该值类型应用的接口类型(interface-type)。拆箱转换是指将一个对象类型显式的转换成一个值类型,或者是将一个接口类型显式的转换成一个执行该接口的值类型。第23页/共35页2.4表达式C#中的表达式是由运算符、变量以及标点符号依据一定的规则组合创建起来的。运算符的范围非常广泛,简单的复杂的都有。下面主要讲解以下内容。赋值运算符算术运算符其他运算符运算符的优先级第24页/共35页2.4.1赋值运算符1.简单赋值运算符 基本语法为:

a=value;

例如将12赋给变量a,可以使用下面的代码:a=12;a=b=123;

该语句表示将值123放到变量b中,然后b的值将被放到变量a中。a与b的值都均为123。2.复合赋值运算符 基本语法为:

aoper=value;//这里的“oper”为某个数学运算符这种语法形式与如下语法形式的作用等同:

a=aopervalue;第25页/共35页2.4.2算术运算符C#中的算术运算符有以下5种。+:加法运算符。-:减法运算符。*:乘法运算符。/:除法运算符。%:取余运算符。第26页/共35页2.4.2算术运算符

————加减运算符C#中的加减运算符用来执行加减运算,运算符格式如下:NewVal=val1+val2;NewVal=val1–val2;两条语句中都使用到了两个运算符,分别为“+”和“=”,“-”和“=”。第一条加法语句表示val1和val2相加,得到的结果被放到NewVal中;这种运算执行完毕后,val1和val2的值保持不变。NewVal中原来的值将被相加得到的结果所覆盖。第二条减法语句和加法语句执行顺序一样,val1减去val2,并将得到的结果放到NewVal中。同样,val1和val2的值也将保持不变,NewVal中原来的值将被相减得到的结果所覆盖。第27页/共35页2.4.2算术运算符

————乘除运算符与取余运算符乘法运算符是星号(*),除法的运算符是(/),格式如下:

NewVal=val1*val2; NewVal=val1/val2;乘法运算符、除法运算符只适用于整数以及实数之间的操作;而且在使用除法运算符的时候,默认的返回值的类型与精度最高的操作数类型相同。比如,5/2的结果是2,而5.0/2的结果是2.5。如果两个整数类型的变量相除又不能整除的话,返回的结果是不大于被除数的最大整数。取余运算(又称求模运算)符用来求除法的余数,在C#语言中,取余运算既适用于整数类型,也同样适用于浮点型。如7%3的结果为1,7%1.5的结果为1。第28页/共35页2.4.2算术运算符

————其他运算符关系运算符 关系运算符实现“真”、“假”的逻辑判断,关系运算符实现两个值的比较。条件运算符 条件运算符中有三个操作数,故也称之为三目运算符。根据条件的计算,如果条件为真,就返回前一个值,如果条件为假,则返回后面一个值,其语法如下:

Condition?true_value:false_value

如:b?x:y形式的条件表达式首先计算条件b。如果b为true,则计算x,并且它作为运算结果。否则计算y,并且它作为运算结果。条件表达式从不同时计算x和y。第29页/共35页2.4.4运算符的优先级常用运算符的优先级第30页/共35页2.5回到工作场景项目分析与算法流程设计本项目的算法很简单,但为了掌握项目开发的全过程,专门列出供参考。1.声明五个float类型变量a、b、c、s和S分别用来存储三角形的三边长、中间变量和面积。2.获得控制台输入的三个数,分别赋值给变量a、b和c。3.根据三角形的面积计算公式得到计算表达式。area=sqrt(s*(s–a)*(s–b)*(s–c))s=(a+b+c)/2;其中sqrt(x)表示x的平方根。4.将变量area作为运算结果转换为字符串类型然后输出。第31页/共35页编写代码首先选择菜单栏“文件→新建→项目

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论