C#编程基础讲师:老赵QQ:285014478Tel:13301264071zhaojy@itcast.cn基础班的要求•上课的坐姿•上课的提问打字•上课的电话和快递快递留刘丽老师的电话•笔记根据我的笔记画一张图片•课堂随手记•默认作业(将当天上课我写的代码写三遍)概念:.net与c#•.net/dotnet:一般指.NetFramework框架.一种平台,一种技术.•C#(sharp):一种编程语言,可以开发基于.net平台的应用.•(*)Java即是一种平台又是一种编程语言.net都能干什么(S)•桌面应用程序Winform(.net开发的桌面应用程序叫Winform应用程序)•Internet应用程序ASP.NET(.net开发的internet应用程序叫ASP.NET应用程序)•手机开发wp8(.net可以做手机开发,Wp8,目前在中国刚刚起步,也许这是一个机会)Wp8已经来袭,要善于抓住机会,敢于尝试.----掌握分寸•Unity3D游戏开发或者虚拟现实(大家的机遇).NET两种交互模式(s)•C/S:客户机(Client)/服务器模式(Server)如:qq(C/S是Client/Server的缩写。客户端需要安装专用的客户端软件。)•B/S:浏览器(Browser)/服务器模式(Server)(B/S是Brower/Server的缩写,客户机上只要安装一个浏览器)关于B/S和C/S的区别在下面备注中有IDE介绍(S)•IDE(IntegratedDevelopment,集成开发环境)•VisualStudio2010简介:–一套完整的开发工具集–用于开发桌面应用程序、ASP.NETWeb应用程序、XML、WebService、移动应用程序–为快速开发提供强大支持(.net的IDE就是vs2010、vs2012、vs2013)IDE及.Net的版本(*了解).Net1.1.Net2.0.Net3.x.Net4.xVisualStudio2003VisualStudio2005VisualStudio2008VisualStudio2010向下兼容.Net1.0VisualStudio2002举例:word的版本问题MSDN介绍(我们的百科全书,帮助)神器MSDN的全称是MicrosoftDeveloperNetwork。这是微软公司面向软件开发者的一种信息服务。MSDN实际上是一个以VisualStudio和Windows平台为核心整合的开发虚拟社区,包括技术文档、在线电子教程、网络虚拟实验室、微软产品下载(几乎全部的操作系统、服务器程序、应用程序和开发程序的正式版和测试版,还包括各种驱动程序开发包和软件开发包)、Blog、BBS、MSDNWebCast、与CMP合作的MSDN杂志等等一系列服务。点击查看msdn百科这里要介绍一下,vs的帮助在安装包中的ProductDocumentation这个文件夹下,安装好vs10后点击vst的管理文档,点击本地安装找到那个文件夹下的HelpContentSetup.msha这个文件安装即可VisualStudio介绍1•安装setup.exeinstall.exeautorun•启动•创建解决方案/项目•认识vs的各部分(菜单/快捷键/工具栏/窗口)•看下一张ppt的图片认识vs的各个部分其他部分是什么意思代码中各个部分的意义•引用命名空间:•项目名或命名空间名:•Program类:•Main函数:深入了解VS•.Sln:解决方案文件•.csproj:项目文件•.cs:类文件•解决方案文件和项目文件以及类文件之间的关系?先学习两行最基本的代码•先学习两句话:(演示)Console.WriteLine(Hello,World!);Console.ReadKey();OK,代码写完了,怎么样运行这个由两行代码编写的程序呢?运行代码和编译代码(生成解决方案)•运行代码我们有两种方式•1、F5•2、点击•但是我们在运行之前习惯性的点击快捷键F6,那么F6可以给我带来什么效果呢?VS中的各种设置设置行号工具--》选项--》文本编辑器--》C#--行号设置字体创建多个项目启动项目设置项目的加载与卸载VS中的常用快捷键•Ctrl+K+D:快速对齐代码•Ctrl+Z:撤销•Ctrl+S:保存(一定要经常保存!)•Ctrl+J:快速弹出智能提示•Shift+End、Shift+Home•Ctrl+K+C:注释所选代码•Ctrl+K+U:取消对所选代码的注释•F1:转到帮助文档•折叠冗余代码:#Region和#EndRegionExercise:请实现如上效果编写代码中需要注意的问题•写代码切忌括号错误!!!•代码中所有的标点都是英文半角的标点。•c#代码中每行代码以分号结束程序猿的专业和职业道德•不写注释是流氓•名字瞎起是扯淡c#中的注释符(S)•三种注释方式•第一种:单行注释以//开头,后面的就是注释内容–//单行注释•第二种:多行注释以/*开头*/结束之间的是注释内容–/**/多行注释•第三种:文档注释在方法或类的上一行输入///就会产生–///–///文档注释–///–我们要专业,我们要有职业道德。变量1我们在计算机中存储数据和客人住旅馆很类似.我们住旅馆一般要做以下事情:1、开房间(单人间、双人间、总统套间)2、入住变量2•要在计算机中存一个数字50,需要两句话.•inta;//开一个能放数字的空间•a=50;//把50放进去.•声明变量的语法格式:–数据类型变量名;•赋值:变量名=值;•可以a=3.14;吗????变量3计算机中各式各样的数据33.14100thequickbrownfoxjumpsoverthelazydog张三李四True2011-3-6char非数值数值整型……decimaldouble非整型String数据类型int还有很多的数据类型(自己查)C#中常用的数据(S)•int:(整数)1,250,520•double:(小数)3.1415926,1.4142135623731•char:(字符)‘A’‘b’‘a’‘钱'•string:(字符串)“老赵”,“HelloWorld”a•decimal:(金钱小数)存储金钱5.62m–decimald=5.55m;–decimald1=5;(错误)double和decimal都是小数但是精度不同(看神器)float;-----------自己查资料变量的声明方法(S)•A)数据类型变量名称;–intage;–变量的赋值age=18;•B)定义时赋值,数据类型变量名称=值;–intage=18;•C)如果一次要声明多个相同类型的变量可用逗号分隔.–stringzsName,lsName;•变量一定要先声明,再赋值,才能使用.•练习:定义一个int类型变量存95,显示出来•想一想下面代码的输出结果是?•doublenum=36.6;Console.WriteLine(“num”);变量的命名(S)•命名规则:–1必须以“字母”_或@符号开头.--不要以数字开头–2后面可以跟任意“字母”、数字、下划线.–注意:•1)你起的变量名不要与c#系统中的关键字重复.•2)在c#中,大小写是敏感的.•3)同一个变量名不允许重复定义(先这么认为,不严谨)•定义变量时,变量名要有意义•C#变量命名编码规范——Camel命名法:–首个单词的首字母小写,其余单词的首字母大写。•Pascal命名命名规范:每一个单词第一字母都大写•如果使用到英文单词的缩写,全部用大写!变量的命名规则下面的变量名称哪些正确?principalcost_pricemarks_3$lastnamecity123ratediscount%zipcodeCityint赋值运算符和赋值表达式(S)•赋值运算符=•intnum=9;num=num+1;这里的=号是赋值运算符,不是数学义意上的相等.•变量可以重复赋值,一旦给一个变量赋了新值,那么变量中的老值就不复存在了.•右边代码的输出结果:•intnum=10;num=20;•Console.WriteLine(”num“);演示:•定义一个变量存储客户的姓名,然后在屏幕上显示:”你好,某某”.–某某代表变量中客户的姓名–+号可以连接两个字符串,这里的“+”号表示连接的意思关于占位符{0},挖坑填坑,(演示后做练习)练习:•有个叫卡卡西的人在旅店登记的时候前台让他填一张表,这张表的里的内容要存到电脑上,有姓名、年龄、邮箱、家庭住址,工资.之后把这些信息显示出来•我叫卡卡西,我住在火影村,我今年30了我的邮箱是kakaxi@qq.com,我的工资2000.•2.定义一个变量存储一个人的年龄(18),然后发现这个人的年龄不是18岁,要把这个人的年龄修改成81岁(本题体会变量可以被重复多次赋值),最后把这个人的年龄输出到屏幕上?变量练习•3.定义四个变量,分别存储一个人的姓名、性别(Gender)、年龄、电话(TelephoneNumber)。然后打印在屏幕上(我叫X,我今年X岁了,我是X生,我的电话是XX)(电话号用什么类型,如:010-12345)•4.在屏幕上显示我家在…今年..岁了,我的姓名是..•请定义变量存储上面的值,并显示在屏幕上.•5.定义两个变量如:number1,number2分别赋值为10和5,写程序交换两个变量的值(两种方法都掌握)字符串类型•再学习一句话:Console.ReadLine();用于接收用户的输入.要定义一个字符串变量来接收变存储用户输入的值.Console.WriteLine();Console.ReadKey();•1.练习:问用户喜欢吃什么水果(fruits),假如用户输入”苹果”,则显示”哈哈,这么巧,我也喜欢吃苹果”•2.练习:请用户输入姓名性别年龄,当用户按下某个键子后在屏幕上显示:您好:XX您的年龄是XX是个X生字符串中的转义•能在字符串中输出双引号吗?–在屏幕上显示:c#中的字符串用””号包含起来•\+一个字符,组成转译字符.一般用于表示特殊符号•@字在字符串前面表示不转译•常用的转译符:\n\b\\\t\”练习:自己查“神器”看看还有什么转义符算术运算符及算术表达式•算术运算符:+-*/%(取余数取模)•算术表达式:由算术运算符连接起来的式子.如:1+1a-b(变量ab前面已声明并赋初值)•演示:某学生三门课成绩为,语文:90数学:80英语:67,编程求总分和平均分.•优先级:先乘除,后加减,有括号先算括号里的,相同级别的从左至右运算inta=((1+5)+3)*2•小括号可以无限制的套用,但一定要成对出现.练习•练习1:定义两个数分别为100和20,打印出两个数的和。•练习2:计算半径为5的圆的面积和周长并打印出来.(pi为3.14)面积:pi*r*r;Perimeter(周长)•练习3:某商店T恤(T-shirt)的价格为35元/件,裤子(trousers)的价格为120元/条.小明在该店买了3件T恤和2条裤子,请计算并显示小明应该付多少钱?•打8.8折后呢?算术运算符-自动类型转换•下面代码的输出结果是什么?inta=10,b=3;intm=a%b;doubleq=a/b;Console.WriteLine(m);Console.WriteLine(q);凭借自己的能力大家观察一下.要有一双善于发现的眼睛,凭借自己的猜想和动手.这样的记忆才是最深刻的。忠告:多练才是王道清明时节雨纷纷,狠敲代码有大奔中秋佳节倍思亲,狂敲代码拿年薪类型自动转换规则(S)参与运算(算术运算和赋值运算)的操作数和结果类型必须一致.当不一致时,满足下面条件时,系统自动完成类型转换(隐式转换)两种类型兼容例如:int和double兼容(都是数字类型)目标类型大于源类型例如:doubleint对于表达式如果一个操作数为double型,则整个表达式可提升为double型比如前面打8.8折的练习题.求10/3商(Remainder)要想得到3.333的处理.强制类型转换•如上题