C#编程基础 (2)_第1页
C#编程基础 (2)_第2页
C#编程基础 (2)_第3页
C#编程基础 (2)_第4页
C#编程基础 (2)_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、北京传智播客教育 C#C#编程基础编程基础讲师:杨中科讲师:杨中科.Net开发环境(*了解).Net FrameworkC#VB.NetF#开发工具:Visual StudioC SharpIronPython使用.Net开发的程序必须运行在安装了.Net的机器上。 .Net的各个版本;.Net向下兼容的实现。第一个C#程序 创建第一个控制台程序并且调试运行。 为什么要从控制台程序开始?不要把精力放到表现层,而是把精力放到写代码上。无论控制台还是Winform还是ASP.Net最难的是写代码,而不是拖控件。 唯一需要学的三条控制台指令:Console.WriteLine:打印输出、Consol

2、e.ReadLine:从控制台读入一行、Console.ReadKey:控制台暂停。至于Console.是什么意思不用管。1+1=2的例子 占位符是个什么玩意儿?0的个数必须和参数的个数一样,是一一对应的关系。序号从0开始在后面学习String.Format的时候还会用到这个类。VS开发环境介绍 解决方案管理器:解决方案、工程、文件 拖动视图、关闭/打开视图、重置窗口布局 C#源文件一般以cs结尾。即使没有VS也能用记事本打开 C#程序的入口是Main函数,在Main中写代码就行,暂时不用关心其他部分是什么意思 错误列表。见到编译错误不用慌。错误排除演示。常见错误:结尾没有分号,大小写错误。

3、显示代码行号。工具选项文本编辑器C#显示行号 修改文本编辑器字体。VS开发环境介绍2 设置启动项目,将当前项目自动设置为启动项目,如果运行结果很奇怪,看看是不是没有设置启动项目。 一个解决方案包含多个项目,同时只能打开一个解决方案;在解决方案上点击右键属性启动项目,“当前选定内容”是把当前编辑器所在的项目为启动项目,但启动项目就是右键设定启动项目设置的,多启动项目可以让多个项目同时启动,适合于开发客户端、服务器的程序C#语法 从上到下一条条的依次执行。过去的就让他过去吧,不会返回头执行:int i1=3;int i2=5;int i3=i1+i2;i1=9;。 大小写敏感。String和str

4、ing 都行是另外一个问题。 函数参数用()包围。错误:string s2 = Console.ReadLine; Console.WriteLine=3,区分方法和属性,看图标颜色。 两句代码之间用分号(;)分割(易错:全角问题) 注释:单行注释、多行注释。批量注释、反注释。用VisualStudio的批量反注释:快捷键、工具栏图标两种方式。变量把变量看成放数据的容器。定义变量的方式:类型 变量名; int i3;变量只是容器,必须放进去值才有意义,否则就是一个“杯具”。string s1=null和string s1不一样。变量的类型:不同类型的容器放不同的东西。不能在int类型的变量中放

5、字符串。变量不能放和变量类型不兼容的数据。变量的名字不能重名(不严格) /int i3 = 33;/定义一个变量i3,赋值为33 i3 = 33;/为已有变量i3赋值为33 变量只能声明一次,但是可以多次使用。 int i1=5;int i1=6;不可以。但是int i1=5;i1=6;是 可以的。问题 int i=10;Console.WriteLine(i); Console.WriteLine(i);常用基本数据类型string、int 、char 、bool long等。bool的取值:true、的表示范围。long有多long为什么输出要用转义符,因为编译器默认是遇

6、到开始字符串,再遇到是结束字符串,但是如果遇到前面有的就不把它当成有字符串起始意义的。表示不要把后的当成字符串的开始或者结尾为什么要有转义符,就是要在程序中输出回车等特殊的字符,不能直接在字符串中打回车,所以必须转移。n回车。string:ab、abnb、c:a.txt、c:a.txt(推荐)。表示字符串中的不当成转义符。还可以定义多行文本。一命偿一命中是告诉编译器不要把这个当成字符串的结束。是不把当成转义符。不是万能的,不能解决字符串中有双引号的问题,如果有双引号还是用转义符a是char,“a”是string。string s = Console.ReadLine();难点:问题:Strin

7、g str=Console.ReadLine();Console.WriteLine(str);用户输入anb,输出什么?转义符只针对在代码中直接写出的字符串,对于程序中读取出来没有这个问题。n是给编译器看的。把“河蟹”翻译成“和谐”简单的类型转换:Convert.ToString()、ToString()、Convert.ToInt32() 。即可用中间变量,也可以不用。int i = Convert.ToInt32(Console.ReadLine();变量的命名命名规则:第一个字符必须是字母或者下划线(_),其后的字符可以是任意个数字、字母、下划线。不能全部使用C#的关键字,比如clas

8、s、namespace、new、void等。判断方式:VS中亮蓝色的就是关键字。这也是类、函数等的命名规则。还可以使用中文变量名(类名、函数名),不推荐。潜规则:C#中建议变量的开头用小写。专业的程序员一定要注意大小写的问题!和“命名规则”不一样不是强制性的规定 变量在声明后才能使用变量的声明:int i;int x,y;int i=3;变量使用之前必须赋值。运算符、表达式 +、-、*(乘)、/(除)、%(求余) +可以用作字符串连接,其他不可以。 +(自增)、-(自减) (*)运算符优先级:i1+i2*i3、(i1+i2)*i3。不要变态,括号是王道。 变量可以和字面量混合运算。 练习:让用

9、户输入两个数,打印出两个数的和。赋值赋值运算符=,让左边变量的值等于右边的计算结果。这就能解释令人不解的i=i+1;(*)+=、-=、*=、/=。i2=i1+;i2=+i1;(了解)。-同理。习题:int a=10;a+;a=a+a;Console.WriteLine(0,a);执行结果是什么?int i=10;int j=i;i=5;j=?int x=10;x+y=80;Console.WriteLine(y); x + y = 80; /左边的必须是变量!不能是常量,不能是表达式习题(重点,难点):交换两个变量的值。易错!布尔运算相等判断:=,不要和=混淆。WriteLine(0,i=1)

10、;WriteLine(0,i=1);的区别。Console.WriteLine(0,i=1);/C#中赋值表达式也有值,它的值表示为赋值后变量的值不等判断:!=大小比较:、=取反:!组合运算:&(并且)、|(或者)。 & 并且:只有两边都为true的时候,表达式的值才为true,否则是false; |或者:两边只要有一个为true的时候,表达式的值就是true,否则是false; &、|是短路运算,试验。ifif(i1)if(i1)elseif(i100)else if(i100|i100&j10)if(i0&j0)|(i0&j10); Cons

11、ole.WriteLine(是);课上练习学编程不是看书,不是听老师讲,而是自己动手写。作业1:提示用户输入密码,如果密码是“888888”则提示正确,否则提示错误。作业2:提示用户输入密码,如果密码是“888888”则提示正确,否则要求再输入一次,如果密码是“888888”则提示正确,否则提示错误。作业3:提示用户输入用户名,然后再提示输入密码,如果用户名是“admin”并且密码是“888888”,则提示正确,否则提示错误,如果用户名不是admin还提示用户用户名不存在。注意:变量命名要用有意义的变量名,不要x、y、z。switch case类似于if.else.else if.else,但

12、是是离散值的判断。switch一般都可以用if重写,但是if不一定能用switch重写不要忘了break。C#中的break不写是不行的,除了合并case的情况switch(i)case 1:/break;case 2:/break;switch(i)case 1:/break;case 2:/break;default:break;case中的值必须是常量,不能是变量、表达式。switch(i)case a:/break;switch(i)case 1:case 2:/break;被判定的值进入满足条件的分支执行while循环while(i100) /打印i i+;只要while后小括号中的

13、表达式为true,就不断执行大括号中的代码while(不是终点) 跑do /打印i i+;while(i100)先做如果满足则再来一次,直至while表达式为false。至少被执行一次。(*)易错while(i0);练习1:用while计算1到100之间整数的和;(有更好的数学解法)练习2:要求用户输入用户名和密码,只要不是admin、888888就一直提示要求重新输入。练习3:不断要求用户输入一个数字,然后打印这个数字的二倍,当用户输入q的时候程序退出(return)。练习4:不断要求用户输入一个数字(假定用户输入的都是正整数),当用户输入end的时候显示刚才输入的数字中的最大值。设一个变量

14、int max,初始值为0,用户每输入一次就把用户输入的和max比较一下,如果输入的比max大,则让max等于用户输入。陷阱:判断end是在之前还是之后。循环的中断break:立即终止整个循环。continue:立即终止当前循环步骤,进行下一次循环步骤。练习1:用 while continue实现计算1到100之间的除了能被7整除之外所有整数的和。练习2:用while break实现要求用户输入用户名和密码,只要不是admin、888888就一直提示要求重新输入。returnfor循环for(code1;code2;code3)。code1:循环的初始化代码,只在循环开始之前运行一次;code

15、2,bool类型的表达式,每次循环完成前都判断一下是否为true,只有为true才会进行本次循环;code3在每次循环之后执行一次。for的三段都可以省略,但是不能丢了“;”。break、continue同样可以应用于for。for和while代码之间都可以互相转换,究竟用哪种方式则取决于一些惯用用法和个人习惯,不用记,代码写多了自然就有感觉for(int i=0;i0;i-)for中终止条件注意是还是=。只要想好了想要的最后一个数是什么、第一个数是什么即可用 for实现计算1到100之间所有整数的和。用 for实现计算200到300之间所有整数的和。枚举确定数量、确定值的几个取值:东西南北、

16、男女、上中下。enum Gendermale,femaleenum QQStatusonline,offline,hidden枚举的用法,QQStatus status = QQStatus.online;和用字符串比起来,用枚举的好处就是限定了变量的取值范围,程序处理起来更方便。数组保存多个值。几乎任意类型都可以声明数组。int nums = 5,3,8int nums = new int3int nums = new int35,3,8/个数和声明数必须一致int nums = new int55,3,8/错误使用索引器访问指定编号位置的元素,访问数组元素:nums0、nums1。索引从0开始。取到的元素的类型就是数组元素的类型。还可以对数组元素进行赋值练习1:从一个整数数组中取出最大的整数练习2:计算一个整数数组的所有元素的和。练习6:将一个字符串数组的元素的顺序进行反转。3,a,8

温馨提示

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

评论

0/150

提交评论