概述数据类型与程序流程控制课件_第1页
概述数据类型与程序流程控制课件_第2页
概述数据类型与程序流程控制课件_第3页
概述数据类型与程序流程控制课件_第4页
概述数据类型与程序流程控制课件_第5页
已阅读5页,还剩159页未读 继续免费阅读

下载本文档

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

文档简介

第一部分C#程序设计基础第一部分C#程序设计基础1第1章概述第1章概述21..NET和.NET框架.NET平台微软首席执行官鲍尔默:“Microsoft.NET代表了一个集合、一个环境、一个可以作为平台支持下一代Internet的可编程框架。”这里可以理解为一种进行各种应用程序开发的集成开发和执行环境。1..NET和.NET框架.NET平台31..NET和.NET框架.NET平台.NET平台提供了多种核心的技术和服务,运用这些技术和服务能够简化基于Web的应用程序开发。1..NET和.NET框架.NET平台41..NET和.NET框架.NET平台可开发的主要项目类型控制台应用程序Windows窗体应用程序(单机或C/S程序)ASP.NET应用程序(B/S程序)Windows控件XMLWebService手持设备应用程序等

1..NET和.NET框架.NET平台可开发的主要项目类51..NET和.NET框架.NET框架.NET框架类库提供了一个可以由所有Web应用程序、Windows应用程序以及XMLWebService应用程序访问的类库公共语言运行库(CLR)负责管理和执行.NET框架类库开发的所有应用程序。在VisualStudio.NET中集成的所有编程语言编写的应用程序均需通过公共语言运行库才能运行。1..NET和.NET框架.NET框架61..NET和.NET框架Microsoft中间语言MSILVisualStudio.NET在编译应用程序时,会将其翻译为运行时环境通用语言——MSIL。当编译完成后,CLR将管理该程序的执行。1..NET和.NET框架Microsoft中间语言MS71..NET和.NET框架即时(JIT)编译当应用程序需要在某个系统上运行时,此功能可以将应用程序的MSIL代码翻译为该系统的机器语言。当.NET平台上的客户端设备启动某个基于.NET的应用程序时,该程序将会以客户端系统上的机器语言来运行。无论该程序是用什么语言开发的,它都可以完全地与其他基于.NET的应用程序和服务进行集成和交互。1..NET和.NET框架即时(JIT)编译8

类加载器JIT即时编译器执行类库

(中间码)RuntimeEngine机器码(目标码)编译器源代码文件EXE/DLL

(中间码文件).NET程序执行过程类加载器JIT即时执行类库

(中间码)RuntimeE92.C#C#是一种简单、现代、面向对象和类型安全的编程语言。C#由C和C++发展而来,是Microsoft专门为使用.NET平台而创建的。2.C#C#是一种简单、现代、面向对象和类型安全的编程语言102.C#C#特点简单现代性面向对象类型安全性2.C#C#特点11C#语言是完全面向对象的编程语言,是.NET平台的主流开发语言。C#语言是完全面向对象的编程语言,是.NET平台的主流开发语12VS.NET2008系统要求支持的操作系统:WindowsServer2003;WindowsVista;WindowsXP最低配置:1.6GHzCPU,384MB内存,1024x768显示分辨率,5400RPM硬盘

建议配置:2.2GHz或更快的CPU,1024MB或更大的内存,1280x1024显示分辨率,7200RPM或更快的硬盘

在WindowsVista上运行的配置要求:2.4GHzCPU,768MB内存VS.NET2008系统要求支持的操作系统:Windows13VS.NET2012系统要求支持的操作系统:Windows7SP1(x86和x64)Windows8(x86和x64)WindowsServer2008R2SP1(x64)WindowsServer2012(x64)硬件要求:1.6GHz或更快的处理器1GBRAM(如果在虚拟机上运行,则为1.5GB)10GB的可用硬盘空间5400RPM硬盘驱动器以1024x768或更高的显示分辨率运行的支持DirectX9的视频卡VS.NET2012系统要求支持的操作系统:14第2章数据类型与表达式第3章程序流程控制第4章面向对象程序设计基础第5章常用数据类型的使用第2章数据类型与表达式15C#程序结构第一部分各章节的学习以创建控制台程序为主提示:控制台应用程序(consolapplications)是C#可以创建的几种类型的项目中最基本的类型之一。控制台应用程序的文本输出是在控制台窗口中显示的。在WindowsNT/2000/XP/Windows7/Windows8下,该控制台窗口称为命令提示符。C#程序结构第一部分各章节的学习以创建控制台程序为主16创建控制台应用程序的步骤打开VS.2012文件新建项目在“新建项目”窗体中创建程序,如下图创建控制台应用程序的步骤17概述数据类型与程序流程控制课件18创建控制台应用程序的步骤创建新程序后,VS.2012会出现如下图的界面创建控制台应用程序的步骤19创建控制台应用程序的步骤将默认生成的程序改为//AfirstprograminC#usingSystem;namespace_0201Hello{classProgram{staticvoidMain(string[]args){Console.WriteLine("HelloWorld!");Console.ReadLine();}}}创建控制台应用程序的步骤//Afirstprogram20注释单行注释://多行注释:/**/注释21usingSystem;using关键字可以引用Microsoft.NET框架类库中的现有资源。通常,在程序文件的开头使用using提示:C#的优势之一就是使程序员能使用由.NET架构提供的丰富的命名空间(namespace)。这些命名空间包含了程序员预先存储的代码,命名空间将这些代码按相关类别分组。Console就是命名空间System中的代码。usingSystem;22System命名空间System命名空间提供了对构建应用程序所需的所有系统功能的访问System命名空间23类(class)在C#或其他任何面向对象语言的编程过程中,都需要编写类,并用类来创建对象。类(class)24Main方法(函数)Main方法用来描述类的行为,它指示编译器从该处开始执行应用程序。每个C#应用程序都必须在组成程序的某一个类中包含Main方法。Main方法(函数)25语句语句就是C#应用程序中执行操作的指令。语句之间用分号分隔,编译器通过分号来区分它们。语句26代码格式代码格式也是编程的组成要素,它有助于良好而清晰的组织代码。推荐使用约定的格式以改进代码的结构,并能够提高代码的可读性。缩进区分大小写空白区注释代码格式27控制台应用程序的输入输出Console类位于System命名空间下,该类可以将数值、字符数组以及对象集自动转换为格式化或未格式化的字符串,然后将该字符串输出。控制台应用程序的输入输出Console类位于System命名28控制台应用程序的输入输出WriteLine方法将各种值类型数据或对象转换为字符串输出。booleanflag=false;intage=18;stringstr=“abc”;

Console.Write(flag);Console.WriteLine(18);Console.WriteLine(str);

控制台应用程序的输入输出WriteLine方法将各种值类型数29控制台应用程序的输入输出ReadLine方法用于从标准输入流读取一行字符。该方法在用户按下回车键之前不会返回,直到用户按下回车键为止。stringstr=“abc”;

str=Console.ReadLine();

intprice;

price=Convert.ToDecimal(Console.ReadLine());

控制台应用程序的输入输出ReadLine方法用于从标准输入流30第2章数据类型与表达式C#基本数据类型变量和常量类型转换运算符和表达式第2章数据类型与表达式C#基本数据类型31

1.C#基本数据类型C#中的数据类型值类型简单类型:整数类型;浮点数类型;字符类型:decimal类型;布尔类型枚举类型结构类型引用类型类类型接口类型委托类型数组类型指针类型(仅用于安全代码中)1.C#基本数据类型C#中的数据类型值类型简单类型:整数32数值类型

byte——8位无符号整数;sbyte——8位有符号整数;short——16位有符号整数;ushort——16位无符号整数;int——32位有符号整数;uint——32位无符号整数;long——64位有符号整数;ulong——64位无符号整数;数值类型byte——8位无符号整数;33数值类型

float——32位单精度浮点数;double——64位双精度浮点数;

decimal——128位高精度十进制数;数值类型float——32位单精度浮点数;34字符类型

char——单字符(2字节)

string——字符串字符类型char——单字符(2字节)35布尔类型

boolean——布尔类型(true和false)

布尔类型适用于逻辑运算,一般用于流程控制。布尔类型数据不可以用0或非0替代true和false。布尔类型boolean——布尔类型(true和f36数值类型常使用的数据类型包括string,int和decimal

如果数据用于计算,则必须是数值(通常是int或decimal)如果数据不用于计算,则应选择string类型

float,double通常用于科学应用程序

decimal通常用于商业应用程序中,作为任何小数的数据类型数据类型的选择数值类型常使用的数据类型包括string,int和dec37数值类型数据类型的选择示例stringdecimaldecimalstringint数值类型数据类型的选择示例stringdecimaldeci382.变量和常量——变量变量声明;示例:stringnameString=“software”;示例:intcounterInt;变量赋值变量的命名规则变量名的第一个字符可以是字母或下划线其后字符可以是字母、数字或下划线不可以使用关键字区分大小写2.变量和常量——变量变量声明;39变量的命名约定变量名(或常量名)必须有意义变量名含有变量的数据类型(可选,在VS中,将鼠标指针停留在变量上一会儿,即可出现数据类型的提示)Camelcase:以小写字母开始,然后使每个后继单词的首字母大写,如phoneNumberPascalcase:每个单词的首字母均大写,如PhoneNumber2.变量和常量——变量变量的命名约定2.变量和常量——变量402.变量和常量——常量(1)直接常量:整型常量(八进制、十进制、十六进制);实型常量;字符常量(转义符号);字符串常量。2.变量和常量——常量(1)直接常量:整型常量(八进制412.变量和常量——常量(1)直接常量:C#语言的整型常量默认为int类型;C#语言的浮点型常量默认为double类型。示例:inti=3;longl=3L;doubled=3.14;floatf=3.14f;2.变量和常量——常量(1)直接常量:C#语言的整型常42对于数值常量,通过附加一个类型声明字符,可以声明数值常量的数据类型。如果没有给数值常量附加类型声明字符,则任何整数都会被假定为int类型,任何小数都会被假定为double类型2.变量和常量——常量(1)直接常量:对于数值常量,通过附加一个类型声明字符,可以声明数值常量的数43(2)符号常量:使用const关键字声明示例:conststringCOMPANYNAME=“CNC”;示例:constdecimalSALESTAXRATE=0.08m;符号常量的优势代码更易阅读若需修改常量值,仅需修改一次常量声明语句即可,不必在全部代码中修改对常量的每一处引用2.变量和常量——常量(2)符号常量:使用const关键字声明2.变量和常量443.类型转换(1)隐式转换(自动转换)(2)

显示转换

(强制类型转换)(3)

使用方法(函数)实现数据类型的转换(4)拆箱与装箱3.类型转换(1)隐式转换(自动转换)(2)显示转换453.类型转换(1)隐式转换(自动转换)允许数值范围小的类型向数值范围大的类型转换;允许无符号数向有符号数转换。3.类型转换(1)隐式转换(自动转换)允许数值范围小的类46格式:(数据类型名称)(表达式)(2)显示转换(强制类型转换)示例:

intx=500;

shortz=(short)x;//z值为5003.类型转换格式:(数据类型名称)(表达式)(2)显示转换(强制类型转47Parse方法

——将特定格式的字符串转换为数值.格式:

数值类型名称.Parse(字符串型表达式)示例:

intm=int.Parse("1234");decimalx=decimal.Parse(“3.14”);3.类型转换(3)使用方法实现数据类型的转换Parse方法格式:数值类型名称.Parse(字符串型48

格式:变量名称.ToString();示例:

intm=234;stringstr1=m.ToString();

ToString方法

——将其他类型的变量转换为字符串。格式:变量名称.ToString();示例:ToStri49System.Convert类

——将一个基本数据类型转换为另一个基本数据类型。Convert类拥有针对每种数据类型的以To开始的方法。3.类型转换(3)使用方法实现数据类型的转换System.Convert类3.类型转换(3)使用方法实503.类型转换3.类型转换513.类型转换3.类型转换52System.Convert类 3.类型转换(3)使用方法实现数据类型的转换示例:

decimalprice;stringstr=“23.43”;price=Convert.ToDecimal(str);System.Convert类 3.类型转换(3)使用方534.运算符和表达式4.运算符和表达式545.结构类型结构是将多个相关的数据字段合并在一起而创建的一种新的结构。

[public|private]struct结构名

{public数据类型字段名;

public数据类型字段名;

……};5.结构类型结构是将多个相关的数据字段合并在一起而创建的一555.结构类型示例

publicstructProduct{publicstringdescription;publicstringID;publicintquantity;publicdecimalprice;}5.结构类型示例publicstructProdu565.结构类型结构声明不能放入方法内部。通常应把struct块与类声明一起放在文件顶部,也可以将struct块放到类的内部或外部 。5.结构类型结构声明不能放入方法内部。通常应把struct575.结构类型示例publicstructOrderItem{publicstringsize;publicstringdrink;publicintquantity;publicdecimalprice;}OrderItemdrinkOrder;5.结构类型示例publicstructOrderIt586.枚举枚举类型用于声明一组命名的常数。每种枚举类型均有一种基础类型,此基础类型可以是除char类型以外的任何整型。enumWeekDay{Sun,Mon,Tue,Wed,Thu,Fri,Sat};WeekDaytheDay;枚举元素的默认基础类型为int。默认情况下,第一个枚举元素值为0,后面的每个枚举元素的值一次递增1。6.枚举枚举类型用于声明一组命名的常数。每种枚举类型均有一59例2-2:编程,输入年利率(例如2.5%)和存款总数(例如30000元),计算一年后的本息合计并输出。输出本息之和deposit输入年利率rate和存款本金capitaldeposit=capital*(1+rate)例2-2:编程,输入年利率(例如2.5%)和存款总数(例如360staticvoidMain(string[]args){decimalrate,capital,depoist;

Console.Write("请输入年利率:");rate=Convert.ToDecimal(Console.ReadLine());Console.Write("请输入本金:");capital=Convert.ToDecimal(Console.ReadLine());depoist=capital*(1+rate);Console.Write("一年后本利之和:");Console.WriteLine(depoist);Console.ReadLine();}staticvoidMain(string[]args61第3章程序流程控制顺序结构选择结构循环结构第3章程序流程控制顺序结构623.1选择结构简介条件S1S2TF选择结构3.1选择结构简介条件S1S2TF选择结构633.1.1单分支选择结构

if(条件表达式)

语句1;[else

语句2;]3.1.1单分支选择结构if(条件表达式)643.1.2多分支选择结构

if~elseif语句

switch语句3.1.2多分支选择结构if~elseif语句65(1)if~elseif语句if(条件表达式1)

语句1;elseif(条件表达式2)

语句2;:elseif

语句n;else

语句n+1;条件1=0≠0语句1条件2=0≠0语句2条件3=0≠0语句3语句4(1)if~elseif语句if(条件表达式1)条件166例3-1:体型判断。按“体指数”对肥胖程度进行划分:

体指数t=体重w/(身高h)2

(w单位为公斤,h单位为米)当t<18时,为低体重;当t介于18和25之间时,为正常体重;当t介于25和27之间时,为超重体重;当t>=27时,为肥胖。编程从键盘输入你的身高h和体重w,根据给定公式计算体指数t,然后判断你的体重属于何种类型。例3-1:体型判断。按“体指数”对肥胖程度进行划分:

67t<18?真假t<25?t<27?真真假假输入身高h和体重w计算体指数t显示”低体重”显示”正常”显示”超重”显示”肥胖”t<18?真假t<25?t<27?真真假假输入身高h和体重w68decimalh,w,t;Console.Write("Pleaseenterh:");h=Convert.ToDecimal(Console.ReadLine());Console.Write("Pleaseenterw:");w=Convert.ToDecimal(Console.ReadLine());t=w/(h*h);Console.WriteLine(t);if(t<18)Console.WriteLine("低体重");elseif(t<25)Console.WriteLine("正常体重");elseif(t<27)Console.WriteLine("超重体重");elseConsole.WriteLine("肥胖体重");Console.ReadLine();decimalh,w,t;69

switch(变量或表达式) { casec1:

语句1;break; casec2:

语句2;break; : casecn:

语句n;break; [default:语句n+1;break;] }(2)switch语句整型字符类型字符串等 switch(变量或表达式)(2)switch语句整型70执行流程图(设:变量或表达式的值为e)e==c1语句1e==c2语句2e==c3语句3语句4==0≠0≠0≠0==0==0执行流程图(设:变量或表达式的值为e)e==c1语71switch语句的注意事项:Switch不能将控制从一个case标签贯穿到另一个case标签(不能省略break)如果一个case子句为空,可以从这个case跳到下一个case。switch语句的注意事项:72例3-3:根据输入的百分制成绩,输出相应等级。intscore;Console.Write("请输入成绩:");score=Convert.ToInt32(Console.ReadLine());switch(score/10){case10:case9:Console.Write("A");break;case8:Console.Write("B");break;case7:Console.Write("C");break;case6:Console.Write("D");break;case5:case4:case3:case2:case1:case0:Console.Write("E");break;default:Console.Write("ERROR");break;}

例3-3:根据输入的百分制成绩,输出相应等级。733.2循环结构程序设计条件语句TF循环结构3.2循环结构程序设计条件语句TF循环结构743.2.1for循环语句for(表达式1;表达式2;表达式3)语句;循环体例:

s=0;p=1;for(i=1;i<=5;i++){s+=i;p*=i;} 3.2.1for循环语句for(表达式1;表达式275for循环执行流程图计算表达式1计算表达式2执行循环体计算表达式3falsetruefor循环执行流程图计算表达式1计算表达式2执行循环体计763.2.2while循环语句1.一般格式2.执行流程图

while(表达式)语句;表达式循环体falsetrue循环体3.2.2while循环语句1.一般格式2.执行流程图773.2.3do~while循环语句

1.一般格式do {语句;}while(表达式);

2.执行流程图循环体表达式true

false3.2.3do~while循环语句1.一般格式78例3-2:编程求

sumsum+n假(0)真(非0)记录累加数据的变量n初始化

记录累加和变量sum初始化未处理完全部数据的累加?n增1计数输出累加和例3-2:编程求sumsum+n假(0)真(非079for(i=1;i<=100;i++)sum+=i;i=1;while(i<=100){sum+=i;i++;}i=1;do{sum+=i;i++;}while(i<=100);for(i=1;i<=100;i++)i=803.2.4跳转语句goto语句break语句continue语句3.2.4跳转语句goto语句81演讲完毕,谢谢观看!演讲完毕,谢谢观看!82第一部分C#程序设计基础第一部分C#程序设计基础83第1章概述第1章概述841..NET和.NET框架.NET平台微软首席执行官鲍尔默:“Microsoft.NET代表了一个集合、一个环境、一个可以作为平台支持下一代Internet的可编程框架。”这里可以理解为一种进行各种应用程序开发的集成开发和执行环境。1..NET和.NET框架.NET平台851..NET和.NET框架.NET平台.NET平台提供了多种核心的技术和服务,运用这些技术和服务能够简化基于Web的应用程序开发。1..NET和.NET框架.NET平台861..NET和.NET框架.NET平台可开发的主要项目类型控制台应用程序Windows窗体应用程序(单机或C/S程序)ASP.NET应用程序(B/S程序)Windows控件XMLWebService手持设备应用程序等

1..NET和.NET框架.NET平台可开发的主要项目类871..NET和.NET框架.NET框架.NET框架类库提供了一个可以由所有Web应用程序、Windows应用程序以及XMLWebService应用程序访问的类库公共语言运行库(CLR)负责管理和执行.NET框架类库开发的所有应用程序。在VisualStudio.NET中集成的所有编程语言编写的应用程序均需通过公共语言运行库才能运行。1..NET和.NET框架.NET框架881..NET和.NET框架Microsoft中间语言MSILVisualStudio.NET在编译应用程序时,会将其翻译为运行时环境通用语言——MSIL。当编译完成后,CLR将管理该程序的执行。1..NET和.NET框架Microsoft中间语言MS891..NET和.NET框架即时(JIT)编译当应用程序需要在某个系统上运行时,此功能可以将应用程序的MSIL代码翻译为该系统的机器语言。当.NET平台上的客户端设备启动某个基于.NET的应用程序时,该程序将会以客户端系统上的机器语言来运行。无论该程序是用什么语言开发的,它都可以完全地与其他基于.NET的应用程序和服务进行集成和交互。1..NET和.NET框架即时(JIT)编译90

类加载器JIT即时编译器执行类库

(中间码)RuntimeEngine机器码(目标码)编译器源代码文件EXE/DLL

(中间码文件).NET程序执行过程类加载器JIT即时执行类库

(中间码)RuntimeE912.C#C#是一种简单、现代、面向对象和类型安全的编程语言。C#由C和C++发展而来,是Microsoft专门为使用.NET平台而创建的。2.C#C#是一种简单、现代、面向对象和类型安全的编程语言922.C#C#特点简单现代性面向对象类型安全性2.C#C#特点93C#语言是完全面向对象的编程语言,是.NET平台的主流开发语言。C#语言是完全面向对象的编程语言,是.NET平台的主流开发语94VS.NET2008系统要求支持的操作系统:WindowsServer2003;WindowsVista;WindowsXP最低配置:1.6GHzCPU,384MB内存,1024x768显示分辨率,5400RPM硬盘

建议配置:2.2GHz或更快的CPU,1024MB或更大的内存,1280x1024显示分辨率,7200RPM或更快的硬盘

在WindowsVista上运行的配置要求:2.4GHzCPU,768MB内存VS.NET2008系统要求支持的操作系统:Windows95VS.NET2012系统要求支持的操作系统:Windows7SP1(x86和x64)Windows8(x86和x64)WindowsServer2008R2SP1(x64)WindowsServer2012(x64)硬件要求:1.6GHz或更快的处理器1GBRAM(如果在虚拟机上运行,则为1.5GB)10GB的可用硬盘空间5400RPM硬盘驱动器以1024x768或更高的显示分辨率运行的支持DirectX9的视频卡VS.NET2012系统要求支持的操作系统:96第2章数据类型与表达式第3章程序流程控制第4章面向对象程序设计基础第5章常用数据类型的使用第2章数据类型与表达式97C#程序结构第一部分各章节的学习以创建控制台程序为主提示:控制台应用程序(consolapplications)是C#可以创建的几种类型的项目中最基本的类型之一。控制台应用程序的文本输出是在控制台窗口中显示的。在WindowsNT/2000/XP/Windows7/Windows8下,该控制台窗口称为命令提示符。C#程序结构第一部分各章节的学习以创建控制台程序为主98创建控制台应用程序的步骤打开VS.2012文件新建项目在“新建项目”窗体中创建程序,如下图创建控制台应用程序的步骤99概述数据类型与程序流程控制课件100创建控制台应用程序的步骤创建新程序后,VS.2012会出现如下图的界面创建控制台应用程序的步骤101创建控制台应用程序的步骤将默认生成的程序改为//AfirstprograminC#usingSystem;namespace_0201Hello{classProgram{staticvoidMain(string[]args){Console.WriteLine("HelloWorld!");Console.ReadLine();}}}创建控制台应用程序的步骤//Afirstprogram102注释单行注释://多行注释:/**/注释103usingSystem;using关键字可以引用Microsoft.NET框架类库中的现有资源。通常,在程序文件的开头使用using提示:C#的优势之一就是使程序员能使用由.NET架构提供的丰富的命名空间(namespace)。这些命名空间包含了程序员预先存储的代码,命名空间将这些代码按相关类别分组。Console就是命名空间System中的代码。usingSystem;104System命名空间System命名空间提供了对构建应用程序所需的所有系统功能的访问System命名空间105类(class)在C#或其他任何面向对象语言的编程过程中,都需要编写类,并用类来创建对象。类(class)106Main方法(函数)Main方法用来描述类的行为,它指示编译器从该处开始执行应用程序。每个C#应用程序都必须在组成程序的某一个类中包含Main方法。Main方法(函数)107语句语句就是C#应用程序中执行操作的指令。语句之间用分号分隔,编译器通过分号来区分它们。语句108代码格式代码格式也是编程的组成要素,它有助于良好而清晰的组织代码。推荐使用约定的格式以改进代码的结构,并能够提高代码的可读性。缩进区分大小写空白区注释代码格式109控制台应用程序的输入输出Console类位于System命名空间下,该类可以将数值、字符数组以及对象集自动转换为格式化或未格式化的字符串,然后将该字符串输出。控制台应用程序的输入输出Console类位于System命名110控制台应用程序的输入输出WriteLine方法将各种值类型数据或对象转换为字符串输出。booleanflag=false;intage=18;stringstr=“abc”;

Console.Write(flag);Console.WriteLine(18);Console.WriteLine(str);

控制台应用程序的输入输出WriteLine方法将各种值类型数111控制台应用程序的输入输出ReadLine方法用于从标准输入流读取一行字符。该方法在用户按下回车键之前不会返回,直到用户按下回车键为止。stringstr=“abc”;

str=Console.ReadLine();

intprice;

price=Convert.ToDecimal(Console.ReadLine());

控制台应用程序的输入输出ReadLine方法用于从标准输入流112第2章数据类型与表达式C#基本数据类型变量和常量类型转换运算符和表达式第2章数据类型与表达式C#基本数据类型113

1.C#基本数据类型C#中的数据类型值类型简单类型:整数类型;浮点数类型;字符类型:decimal类型;布尔类型枚举类型结构类型引用类型类类型接口类型委托类型数组类型指针类型(仅用于安全代码中)1.C#基本数据类型C#中的数据类型值类型简单类型:整数114数值类型

byte——8位无符号整数;sbyte——8位有符号整数;short——16位有符号整数;ushort——16位无符号整数;int——32位有符号整数;uint——32位无符号整数;long——64位有符号整数;ulong——64位无符号整数;数值类型byte——8位无符号整数;115数值类型

float——32位单精度浮点数;double——64位双精度浮点数;

decimal——128位高精度十进制数;数值类型float——32位单精度浮点数;116字符类型

char——单字符(2字节)

string——字符串字符类型char——单字符(2字节)117布尔类型

boolean——布尔类型(true和false)

布尔类型适用于逻辑运算,一般用于流程控制。布尔类型数据不可以用0或非0替代true和false。布尔类型boolean——布尔类型(true和f118数值类型常使用的数据类型包括string,int和decimal

如果数据用于计算,则必须是数值(通常是int或decimal)如果数据不用于计算,则应选择string类型

float,double通常用于科学应用程序

decimal通常用于商业应用程序中,作为任何小数的数据类型数据类型的选择数值类型常使用的数据类型包括string,int和dec119数值类型数据类型的选择示例stringdecimaldecimalstringint数值类型数据类型的选择示例stringdecimaldeci1202.变量和常量——变量变量声明;示例:stringnameString=“software”;示例:intcounterInt;变量赋值变量的命名规则变量名的第一个字符可以是字母或下划线其后字符可以是字母、数字或下划线不可以使用关键字区分大小写2.变量和常量——变量变量声明;121变量的命名约定变量名(或常量名)必须有意义变量名含有变量的数据类型(可选,在VS中,将鼠标指针停留在变量上一会儿,即可出现数据类型的提示)Camelcase:以小写字母开始,然后使每个后继单词的首字母大写,如phoneNumberPascalcase:每个单词的首字母均大写,如PhoneNumber2.变量和常量——变量变量的命名约定2.变量和常量——变量1222.变量和常量——常量(1)直接常量:整型常量(八进制、十进制、十六进制);实型常量;字符常量(转义符号);字符串常量。2.变量和常量——常量(1)直接常量:整型常量(八进制1232.变量和常量——常量(1)直接常量:C#语言的整型常量默认为int类型;C#语言的浮点型常量默认为double类型。示例:inti=3;longl=3L;doubled=3.14;floatf=3.14f;2.变量和常量——常量(1)直接常量:C#语言的整型常124对于数值常量,通过附加一个类型声明字符,可以声明数值常量的数据类型。如果没有给数值常量附加类型声明字符,则任何整数都会被假定为int类型,任何小数都会被假定为double类型2.变量和常量——常量(1)直接常量:对于数值常量,通过附加一个类型声明字符,可以声明数值常量的数125(2)符号常量:使用const关键字声明示例:conststringCOMPANYNAME=“CNC”;示例:constdecimalSALESTAXRATE=0.08m;符号常量的优势代码更易阅读若需修改常量值,仅需修改一次常量声明语句即可,不必在全部代码中修改对常量的每一处引用2.变量和常量——常量(2)符号常量:使用const关键字声明2.变量和常量1263.类型转换(1)隐式转换(自动转换)(2)

显示转换

(强制类型转换)(3)

使用方法(函数)实现数据类型的转换(4)拆箱与装箱3.类型转换(1)隐式转换(自动转换)(2)显示转换1273.类型转换(1)隐式转换(自动转换)允许数值范围小的类型向数值范围大的类型转换;允许无符号数向有符号数转换。3.类型转换(1)隐式转换(自动转换)允许数值范围小的类128格式:(数据类型名称)(表达式)(2)显示转换(强制类型转换)示例:

intx=500;

shortz=(short)x;//z值为5003.类型转换格式:(数据类型名称)(表达式)(2)显示转换(强制类型转129Parse方法

——将特定格式的字符串转换为数值.格式:

数值类型名称.Parse(字符串型表达式)示例:

intm=int.Parse("1234");decimalx=decimal.Parse(“3.14”);3.类型转换(3)使用方法实现数据类型的转换Parse方法格式:数值类型名称.Parse(字符串型130

格式:变量名称.ToString();示例:

intm=234;stringstr1=m.ToString();

ToString方法

——将其他类型的变量转换为字符串。格式:变量名称.ToString();示例:ToStri131System.Convert类

——将一个基本数据类型转换为另一个基本数据类型。Convert类拥有针对每种数据类型的以To开始的方法。3.类型转换(3)使用方法实现数据类型的转换System.Convert类3.类型转换(3)使用方法实1323.类型转换3.类型转换1333.类型转换3.类型转换134System.Convert类 3.类型转换(3)使用方法实现数据类型的转换示例:

decimalprice;stringstr=“23.43”;price=Convert.ToDecimal(str);System.Convert类 3.类型转换(3)使用方1354.运算符和表达式4.运算符和表达式1365.结构类型结构是将多个相关的数据字段合并在一起而创建的一种新的结构。

[public|private]struct结构名

{public数据类型字段名;

public数据类型字段名;

……};5.结构类型结构是将多个相关的数据字段合并在一起而创建的一1375.结构类型示例

publicstructProduct{publicstringdescription;publicstringID;publicintquantity;publicdecimalprice;}5.结构类型示例publicstructProdu1385.结构类型结构声明不能放入方法内部。通常应把struct块与类声明一起放在文件顶部,也可以将struct块放到类的内部或外部 。5.结构类型结构声明不能放入方法内部。通常应把struct1395.结构类型示例publicstructOrderItem{publicstringsize;publicstringdrink;publicintquantity;publicdecimalprice;}OrderItemdrinkOrder;5.结构类型示例publicstructOrderIt1406.枚举枚举类型用于声明一组命名的常数。每种枚举类型均有一种基础类型,此基础类型可以是除char类型以外的任何整型。enumWeekDay{Sun,Mon,Tue,Wed,Thu,Fri,Sat};WeekDaytheDay;枚举元素的默认基础类型为int。默认情况下,第一个枚举元素值为0,后面的每个枚举元素的值一次递增1。6.枚举枚举类型用于声明一组命名的常数。每种枚举类型均有一141例2-2:编程,输入年利率(例如2.5%)和存款总数(例如30000元),计算一年后的本息合计并输出。输出本息之和deposit输入年利率rate和存款本金capitaldeposit=capital*(1+rate)例2-2:编程,输入年利率(例如2.5%)和存款总数(例如3142staticvoidMain(string[]args){decimalrate,capital,depoist;

Console.Write("请输入年利率:");rate=Convert.ToDecimal(Console.ReadLine());Console.Write("请输入本金:");capital=Convert.ToDecimal(Console.ReadLine());depoist=capital*(1+rate);Console.Write("一年后本利之和:");Console.WriteLine(depoist);Console.ReadLine();}staticvoidMain(string[]args143第3章程序流程控制顺序结构选择结构循环结构第3章程序流程控制顺序结构1443.1选择结构简介条件S1S2TF选择结构3.1选择结构简介条件S1S2TF选择结构1453.1.1单分支选择结构

if(条件表达式)

语句1;[else

语句2;]3.1.1单分支选择结构if(条件表达式)1463.1.2多分支选择结构

if~elseif语句

switch语句3.1.2多分支选择结构if~elseif语句147(1)if~elseif语句if(条件表达式1)

语句1;elseif(条件表达式2)

语句2;:elseif

语句n;else

语句n+1;条件1=0≠0语句1条件2=0≠0语句2条件3=0≠0语句3语句4(1)if~elseif语句if(条件表达式1)条件1148例3-1:体型判断。按“体指数”对肥胖程度进行划分:

体指数t=体重w/(身高h)2

(w单位为公斤,h单位为米)当t<18时,为低体重;当t介于18和25之间时,为正常体重;当t介于25和27之间时,为超重体重;当t>=27时,为肥胖。编程从键盘输入你的身高h和体重w,根据给定公式计算体指数t,然后判断你的体重属于何种类型。例3-1:体型判断。按“体指数”对肥胖程度进行划分:

149t<18?真假t<25?t<27?真真假假输入身高h和体重w计算体指数t显示”低体重”显示”正常”显示”超重”显示”肥胖”t<18?真假t<25?t<27?真真假假输入身高h和体重w150decimalh,w,t;Console.Write("Pleaseenterh:");h=Convert.ToDecimal(Console.ReadLine());Console.Write("Pleaseenterw:");w=Convert.ToDecimal(Console.ReadLine());t=w/(h*h);Console.WriteLine(t);if(t<18)Console.WriteLine("低体重");elseif(t

温馨提示

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

评论

0/150

提交评论