,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第2章,简单的C#程序设计,内容提要:,C#程序设计相关的基础知识,C#程序的基本结构、标识符的相关概念,C#程序的编译和执行,控制台的输入/输出操作,目的要求:,掌握C#程序设计相关的基础知识,理解常用的四个有关控制台输入、输出方法,重点难点:,Main()方法、using,WriteLine()和Write()方法中各种参数的含义,ReadLine()和Read()方法的区别,创建C#控制台应用程序,首先选择【文件】|【新建】|【项目】命令打开【新建项目】对话框。,2.1 C#程序结构,2.1.1 第一个C#程序,“新建项目”对话框,最后,单击【确定】按钮,关闭【新建项目】对话,框,让Visual Studio.NET为用户自动生成代码。,删除窗口中的代码,输入如下所示的代码。,using System;,class Welcome,static void Main(),Console.WriteLine(“欢迎使用C#”);,/运行后在窗口中显示的字符串,在编译程序时,将会打开一个输出窗口显示编译过程中所遇到的错误和警告等信息。,2.1.2 编译和执行程序,在Visual Studio.中,可以采用两种方式运行程序:一种是调试运行,通过使用【调试】|【启动】命令或工具栏的调试按钮 或者直接按下F5键;另一种是不进行调试而直接运行,使用【调试】|【开始执行】命令或Ctrl+F5键。,程序结果显示窗口,2.1.3 C#程序结构分析,1.命名空间,using System,语句表示导入,System,命名空间。Console.WriteLine(“欢迎使用C#”)这条语句中的Console是System命名空间中包含的系统类库中定义好的一个类,它代表系统控制台,即字符界面的输入和输出。,C#程序是用命名空间来组织代码,要访问某个命名空间中的类或对象,必须用如下语法:,命名空间,.,类名,由于Console类位于System命名空间中,所以在访问Console类时,完整的写法应该是:,System.Console,但是,在程序的第一行,使用了:,using System;,这条语句用using语句导入System命名空间,这样在程序中可以直接使用Sytem命名空间中的类或对象,所以直接写Console即可。,2.类,C#要求其程序中的每一个元素都要属于一个类。如:,class Welcome声明了一个类,类的名字叫Welcome。这个程序的功能就是依靠它来完成的。C#程序由大括号“”和“”构成,程序中每一对大括号“”构成一个块。,注意:,C#程序中的语句以“,;,”表示结束。,3Main()方法,程序的入口从下面的代码开始:,static void Main(),这行代码所定义的其实是类Welcome的一个静态方法,C#规定,名字为Main()的静态方法就是程序的入口。方法的执行从左括号“”开始,到右括号“”结束。,4注释,在C#语言中,提供了两种注释方法:,(1),每一行中“/”后面的内容作为注释内容,该方式,只对本行生效;,(2),需要多行注释的时候,在第一行之前使用“/*”,,在末尾一行之后使用“*/”,也就是说被“/*”与*/所包含,的内容都作为注释内容,。,通过上面的分析,可以看出C#程序的基本结构如下:,/*导入.NET系统类库提供的命名空间System*/,using System;,class Welcome /定义类,static void Main()/*程序的入口。其中static 表示Main(),方法是一个静态方法,void表示该方法,没有返回值*/,Cosole.WriteLine(欢迎使用C#);/输出 欢迎使用C#,注意:,C#,语言对大小写是敏感的,一个程序不允许出现两个甚至两个以上的,Main(),方法,C#,程序中的源代码被包含在“,”,与“,”,之间,必须一一对应,2.1.4 标识符,标识符(identifier)是一串字符,在程序中作为各种,标识,用来代表一个名字。,并不是任何一串字符都可以作为C#的标识符。,C#的标识符有如下规则:,(1)一个合法的C#标识符,是,以字母或者下划线开,头,、,其后可以跟任意个字母、数字或者下划线。,(2)C#的标识符严格区分大小写,即使两个标识符的,区别仅仅字母的大小写不同,也认为是两完全不,同的标识符。,(3)关键字也可以作为标识符,只要在关键字前加上,前缀。,直接使用关键字作为标识符是不允许的,比如:,uint lock,通过给关键字加“”前缀,它们就变成合法的标识符了。,uint operator,练习:,1.C#可执行程序的主入口点是(),Amain函数 BMain函数,CRun函数 DForm_Load函数,2以下说法中,正确的是(),AMain函数是由C#语言提供的标准函数,不需要用户编写,它的内容,B在C#程序中,要调用的函数必须在Main函数中定义,C在C#程序中,必须显式调用Main函数,它才起作用,D一个C#程序无论包含多少个函数,C#程序总是从Main,函数开始执行,3以下叙述中,正确的是(),AC#程序中的注释只能出现在语句的后面,BC#程序中,只有一种单行注释,CC#程序中,只有一种多行注释,D程序执行时,不会执行注释语句,4.利用Visual Studio.NET集成开发环境编写一个新的C#应用程,序,所做的第一件事是(),A新建一个窗体,B新建一个包含Main函数的文件,C新建一个项目,D新建一个资源文件,5以下有关注释语句的描述中,不正确的是(),AC#提供两种注释,即“/”和“/*/”,B注释语句可放在程序中的任何位置,C注释语句也可以被执行,只不过它没有输出结果,D程序中加入注释语句的主要目的是提高程序的可读性,2.2 输入/输出操作,控制台(console)输入/输出主要通过命名空间System中的类,Console,来实现,它提供了从控制台读写字符的基本功能。控制台,输入,主要通过Console类的,Read方法ReadLine方法,来实现的,控制台,输出,主要通过Console类的,Write和WriteLine方法,来实现的。,Console.WriteLine()方法,WriteLine()方法的作用是将信息输出到控制台,但是WriteLine方法在输出信息的后面添加一个回车换行符用来产生一个新行。,在WriteLine()方法中,可以采用“N,M:格式化字符串”的形式来格式化输出字符串,其中的参数含义如下:,花括号(“”)用来在输出字符串中插入变量。,N表示输出变量的序号,从0开始,如当N为0时,则对应,输出第1个变量的值,当N为5时,则对应输出第6个变量的,值,依次类推。,M:格式化字符串是可选项,其中M表示输出的变量所占的字符个数,当这个变量的值为负数时,输出的变量按照左对齐方式排列;如果这个变量的值为正数的时候,输出的变量按照右对齐方式排列。,:格式化字符串也是可选项,因为在向控制台输出时,常,常需要指定输出字符串的格式。通过使用标准数字格式字,符串,可以使用Xn的形式来指定结果字符串的格式,其中X指定数字的格式,n指定数字的精度,即有效数字的位,数。这里提供8个常用的格式字符。,1.货币格式,货币格式C或者c的作用是将数据转换成货币格式,在格式字符C或者c后面的数字表示转换后的货币格式数据的小数位数。,例如:,double k=1234.789;,Console.WriteLine(“0,8:c”,k);/结果是¥1,234.79,Console.WriteLine(“0,10:c4”,k);/结果是¥1,234.7890,2.整数数据类型格式,格式字符D或者d的作用是将数据转换成整数类型格式。,例如:,int k=1234;,Console.WriteLine(“0:D”,k);/结果是1234,Console.WriteLine(“0:d3”,k);/结果是1234,Console.WriteLine(“0:d5”,k);/结果是01234,3.科学计数法格式,格式字符E或者e的作用是将数据转换成科学计数法格式。,例如:int k=123000;,double f=1234.5578;,Console.WriteLine(“0:E”,k);/结果是1.230000E+005,Console.WriteLine(“0:e”,k);/结果是1.230000e+005,Console.WriteLine(“0:E”,f);/结果是1.234558E+003,Console.WriteLine(“0:e”,f);/结果是1.234558e+003,Console.WriteLine(“0:e4”,k);/结果是1.2300e+005,Console.WriteLine(“0:e4”,f);/结果是1.2346e+003,4.浮点数据类型格式,格式字符F或者f的作用是将数据转换成浮点数据类型格式。,例如:,int a=123000;,double b=1234.5578;,Console.WriteLine(“0,-8:f”,a);/结果是123000.00,Console.WriteLine(“0:f”,b);/结果是1234.56,Console.WriteLine(“0,-8:f4”,a);/结果是123000.0000,Console.WriteLine(“0:f3”,b);/结果是1234.558,Console.WriteLine(“0:f6”,b);/结果是1234.557800,5.通用格式,格式字符G或者g的作用是将数据转换成通用格式。,例如:,double k=1234.789;,int j=123456;,Console.WriteLine(“0:g”,j);/结果是123456,Console.WriteLine(“0:g”,k);/结果是1234.789,Console.WriteLine(“0:g4”,k);/结果是1235,Console.WriteLine(“0:g4”,j);/结果是1.235e+05,6.自然数据格式,格式字符N或者n的作用是将数据转换成自然数据格式。,例如:,double k=211122.12345;,int j=1234567;,Console.WriteLine(“0:N”,k);/结果是211,122.12,Console.WriteLine(“0:n”,j);/结果是1,234,567.00,Console.WriteLine(“0:n4”,k);/结果是211,122.1235,Console.WriteLine(“0:n4”,j);/结果是1,234,567.0000,7.十六进制数据格式,格式字符X或者x的作用是将数据转换成十六进制数据格,式,在格式字符X或者x后面的数字表示转换后的十六进制数,据的数据位数。,例如:,int j=123456;,Console.WriteLine(0:x,j);/结果是1e240,Console.WriteLine(0:x6,j);/结果是01e240,还可以不使用参数调用WriteLine()方法,这时将在控制台中产生一个新行。,例:利用Console.WriteLine()方法输出变量值。程序代码如下:,using System;,class Test,static void Main(),int i=12345;,double j=123.45678;,Console.WriteLine(i=0,8:D j=1,10:F3,i,j);,Console.WriteLine();,Console.WriteLine(i=0,-8:D j=1,-10:F3,i,j);,输出结果是:,2.2.2,Console.Write()方法,Write()方法和WriteLine()方法类似,都是将信息输出