C#基础.docx
- 文档编号:3655645
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:35
- 大小:199.04KB
C#基础.docx
《C#基础.docx》由会员分享,可在线阅读,更多相关《C#基础.docx(35页珍藏版)》请在冰豆网上搜索。
C#基础
目录
第一章基础概念1
第一讲C#基本概念
第二讲熟悉VS窗口界面和简单编程
第三讲变量
第四讲值连符连接符占位符
第五讲变量交换
第六讲转义字符和算术运算符
第七讲数据类型的转换
第八讲复合运算符
第九讲第六种数据类型—bool
第十讲逻辑运算符
第二章分支结构
第十一讲If
第十二讲If-else
第十三讲If-else-if
第十四讲switch-case
第三章循环结构
第十五讲While
第十六讲do-while
第十七讲调试
第十八讲for
第十九讲break、contimue跳转语句
第四章基础概念2
第二十讲常量/枚举
第二十一讲结构
第二十二讲数组
第二十三讲冒泡排序
第五章方法
第二十四讲方法
第二十五讲参数
第二十六讲返回值
第二十七讲方法重载
第二十八讲三个高级参数
第二十九讲方法的综合练习
第一章顺序结构
第一讲基本概念
1、概念:
.net与C#
1).net/dotnet:
一般指.netFramwork框架,一种平台,一种技术。
2)C#(sharp):
一种编程语言,可以开发基于.net平台的应用。
3)(*)java即使一种技术,又是一种语言。
2、.net都能干什么
1)开发桌面应用程序Winform(在桌面上不用输入网址就可打开的程序,比如QQ就是Winform)
2)Internet应用程序ASP.net(比如网站就是ASP.net)
3)手机开发比如微软给诺基亚开发的WP7系统
3、两种模式
C/S客户机(Client)/服务器模式(Server)
B/S浏览器(Browser)/服务器模式(Server)
4、IDE
(IntegratedDevelopment,集成开发环境)写程序的一款应用软件。
VisualStudio(简称VS,开发C#所用的一款软件)微软开发的一套完整的开发工具集,目前最新版本2010版本。
用于开发桌面应用程序、ASP应用程序、XML、WebService.移动应用程序。
5、msdn
微软软件的说明书,单独购买,是一个一visualstudio和windows平台为核心整合的开发虚拟社区,包括技术文档、在线电子教程、网络虚拟实验室、微软产品下载等一系列服务。
第二讲熟悉VS窗口界面和简单编程
用C#做开发,需要用到一款软件,叫visualstudio,这款软件是微软公司推出的用于开发C#的软件平台。
安装这款软件需要的时间长一些,耐心等待。
另外这款软件在网上有免费的。
打开visualstudio后,几个常用的功能如下:
1、新建一个文件:
文件-新建-项目选VisualC#/.NETFramework4/控制台应用程序/填写名称、位置、解决方案名称/确定
2、解决方案中可包含多个项目,项目可包含多个文件,文件中是我们写的程序。
在文件中,命名空间(namespace)可以包括类(class),类可以包括方法(main),方法中是我们写的程序(类中也可以写程序)
3、重置开发环境:
可以使我们的开发工具恢复默认状态(工具导入导出设置)
4、Main方法是程序的入口方法,当我们执行一个程序时,程序会首先找到Main方法,从Main的第一句程序开始执行,当Main方法执行完成后,程序就结束了。
所以我们初学者写程序就写在Main方法中。
5、两句话区分大小写,要在英文半月模式下输入符号,以“”表示一句话,并以;结束。
Console.WriterLine("要写的内容");向屏幕输出
Console.Writer("要写的内容");区别是不换行
Console.ReadKey(没有“”号);当程序读取到ReadKey位置时,程序会停在这里,等待用户键入一个见键以继续执行程序,一继续执行就关掉程序了。
注:
输入CW然后按Tab系统会自动显示出Console.WriterLine("");
6、打开程序:
点启动调试按钮,打开程序
7、程序生成在项目文件夹,所以双击项目文件夹打开程序位置,项目文件夹里有个bin/Debug里面有exe结尾的应用程序就是我们所写的程序。
8、修改程序:
在main里修改了程序语言,打开程序后并不会显示修改。
要点生成—生成解决方案才会修改成功
9、自动报错点生成时如果有错误会自动报告错误
10、设置字体及行号显示
工具/选项/字体颜色
工具/选项/文本编辑器/所有语言/行号打勾
11、打开程序
12、创建多个项目文件/新建/项目控制台控制程序解决方案为添加到解决方案想运行哪个项目要在右键菜单里点设为启动项
13、项目卸载与重新加载
当点生成解决方案时,程序会自动生成所有的项目,这样会影响工作速度,所以把不正在运行的项目暂时卸载,便互不影响了。
项目名点右键卸载项目(其实该项目还存在磁盘里)右键重新加载项目
14、C#中的注释符
(对我们写的程序进行解释,注释是给人看的以防自己忘记是什么意思,或者团队开发时以防别人看不懂)有三种注释
第一种单行注释以//开头只能写在同一行,换行需再加//注释要在注释的语言附近写,有了//程序在运行时就不会在进行//后面语句的语法检查。
第二种多行注释以/*开始*/结束,之间的都为注释,程序生成时不再运行。
也可用工具栏里的快捷图标
第三种文档注释用于对类和方法进行注释,在类或方法前面连续输入3个///就为文档注释(错开第一行)
15、常用健介绍Home/End/PageDown/Pageup/shift/
Ctrl+Home/Ctrl+end
Ctrl+C/Ctrl+V/Ctrl+P打印/Ctrl+F查找/Ctrl+Z撤销
16、删除键有两个Backspace删除光标前面的字
Delet删除光标后面的字
17、插入覆盖模式用Insert键转换模式
18、下面的一对指示可以折叠一段代码
#region#endregion
MSIL微软编译器
第三讲变量
1、变量代表着一块内存空间,我们可以通过变量名称向内存存/取数据。
有了变量就不需要我们记忆复杂的内存地址了。
2、向内存存储一个数据,首先要向内存申请一块内存空间,向内存申请一块内存空间的语法是:
数据类型变量
数字(整数)在C#中的数据类型是int,比如申请一个整数的内存空间语法是intnumber;
3、给变量赋值
a=1000(=赋值号含义是把1000这个整数放入变量为a的内存空间里)操作方法:
在方法里写
Intnumber;
Number=1000
Console.writeLine(number);括号里不加引号,表示向屏幕输出number代表的这个数字;加引号表示原封不动的向屏幕输出括号里的数字
Console.readkey();
4、不同类型的变量赋值
Double小数
Char字符型只能存储一个字符表示方法‘A’要求单引号
String字符串就是把0个或多个字符串起来要求用双引号
Decimal财务(和double的区别是精确度不一样double只能精确到16位数decimal可以精确到28位数)
(在C#中赋值直接输小数,系统自动定义为double类型。
所以在用decimal赋值时在小数后加M使系统识别为decimal类型。
如:
Decimalmoney)
Money=12.4m
(5种类型一定要熟记)
intnumber;
number=11111
Console,WriteLine(number)
Doublepai;
Pai=3.14
charsex;
sex=’男’
stingjpname;
jpname=“”;
jpname=”油炸丸子”;
decimalmoney;
money=1000.25m;
5、变量声明的3种方法
1)先声明,再赋值inta;a=3
2)定义变量时直接赋值inta=3;
3)一次声明多个变量,多个同类型变量名称间用,隔开最后以;结束例如
Stringzsname,lsname;
IntzsAge=18,lsAge=20;
6、变量的命名规则
1)必须以“字母”_或@开头(不能以数字开头)
2)后面可以跟任意“字母”、数字、下划线
注意:
你起的变量名不能与C#系统中的关键字重复。
C#中蓝色字为关键字系统里已经有了规定的意义
在C#中大小写是敏感的
同一个变量名不允许重复定义
7、C#变量命名编码规范
Camel命名法:
首个单词的首字母小写,其余单词的首字母大写。
如studentNamezsAge
Pascal命名规范:
每个单词第一字母都大写如SoftwareName
(这是国际规范,具体还要看公司要求)
8、变量可以重复赋值,一旦给一个变量赋了新值,那么变量中的老值就不复存在了。
如a=a+10a为10输出变量会显示20
9、“+”在C#中有两种意义1)是数学中的加法运算2)是连接的意思注:
两边的数据类型为数字类型int,则+表示数学上的加法;若两边为字符类型string,则+表示连接的意义
第四讲值连符连接符占位符
1、值连
+号值连符号前后不能为空
我叫金三顺,今年25岁了,我的工资是7789元。
2、占位符的使用
{}大括号
3、逗号
Console.writeline括号里的参数永远只输出逗号前的参数,逗号后的参数只作为占位符的替换
4、在main方法中不能重复的声明变量,但可以重复的给变量赋值。
一旦给一个变量赋了新值,那么变量中的老值就不复存在了。
如:
intA=23:
IntA=34错
IntA=23
A=34对
变量学习心得
输出屏幕直接用常量也能输出这句话,而引入变量,目的就是数据在有频繁变动的情况,不用去括号里改这样方便不易出错
如果一句话里引用了变量,则要用连字符连接常量和变量,不然输出的话都是常量。
如果不想用连字符,也可以用占位符代替。
第五讲变量交换
1、交换变量
IntA=5;IntB=10;Inttemp;
Temp=AA=BB=temp
2、学习一句话
Console.Writeline(“请问你叫什么名字”)
Stringname=Console.Readline()
Console.Writeline(“你好,name”)
第六讲转义字符和算术运算符
1、转义字符
当我们在字符串中需要输入一些特殊字符时,比如,半角引号、换行、退格就需要输入转义字符。
转义字符属于一个字符,可以赋予Char类型。
\+
@在字符串前面表示不转义
\n换行
\b相当于backspace删除前一个字符
\t相当于tab表示多个空格并对齐
\\表示一个\
2、算术运算符
有5个算术运算符+—*/%
他们是二元运算符,要求两个参与操作的数必须相同。
并且经过运算后的结果数类型也要相同
在算术表达中,如要改变优先级一律用小括号,但要成对可以无限制的使用
(1)Decimalchinese=90;
Decimalenglish=87;
Decimalsum=chinese+english;
Decimalpingjun=sum/2;
Console.WriteLine(pingjun);
Console.ReadKey();
(2)inta=10,b=3;
intmod=a%b
intqud=a/b
Console.WriteLine(mod);
Console.WriteLine(qud);
Console.ReadKey();
第七讲数据类型的转换
1、数据类型的自动转换规则
参与运算的操作数与结果数类型必须一致,当不一致时满足下列条件,系统完成自动转换。
(1)两种类型兼容,如int和double类型。
(2)目标类型大于源类型如double大于int
(3)不丢失精度如decimal不能转double
2、数据类型的强制转换
当需要丢失精度时,系统是不会帮我们自动转换的,需要程序员自己写代码完成转换。
转换语法为:
(数据转换名)待转换值
Doublepi=3.14;
Inti=(int)pi;
(1)两种类型兼容,如int和double类型。
下面两种情况是错误的,因为强制类型转换要求待转换的类型和目标类型都必须为数字。
Stringinput=(int)Console.ReadLine();
Inta=(int)”33”
3、字符串转数字类型Convert
Console.writeline(请输入你的年龄);
Stringage=console.readline();
Intd=convert.Toint32(age);
Intyear=2014-d
Console.writeline(你是{0}年出生的,year);
第八讲复合运算符
1、自加自减
符号++、--分前加和后加,age++是后加,++age是前加。
称为一元表达式,只要有一个操作数就可以参与运算,自动加一。
如
Intage=18
Age=age+1
可以写成
Intage=18;
Age++;
则输出19
前加和后加的区别
Intage=18;
Intsum=Age++—10;
Console.writeLine(sum)
Intage=18;
Intsum=++Age—10;
Console.writeLine(sum)
2、复合运算符
+=—=*=%=
3、能够改变变量值的符号
=
++
——
4、关系运算符
><大于小于
==是否等于
!
=是否不等于
>=<=大于等于小于等于
关系表达式由以上运算符连接的式子为关系表达式
第九讲第六种数据类型Bool
表示一句话的对错,一个条件的成立与不成立。
只有两个值,ture和false后面跟一个表达式如:
IntzsAge=18;
IntlsAge=20;
BoorisRight=zsAge>lsAge;
Console.writeLine(“isRight”);
输出结果是false
要同类型的才能比较string只能进行==!
=的比较
第十讲逻辑运算符
1、&&||!
&&逻辑和boolisRight=表达式1&&表达式2
连接的两个表达式,要能够求解成bool类型,一般情况都是关系表达式。
整个逻辑和运算是结果也是bool类型。
当两个表达式全为true结果为true,有一个为false结果为false
张三年龄大于18岁并且体重超过100斤。
2、||逻辑或
当两个表达式全为true结果为true,有一个为true结果为true两个都为false则结果为fasle
规定身高超过1米,体重超过100斤要买票
3、!
逻辑非(取非)一元表达式
!
(bool类型的表达式)
作用:
如果bool类型的表达式为true,加!
号后则整个式子结果为false.
如果bool类型的表达式为false,加!
号后则整个式子结果为true.
doublezsGao=1.2;
doublezsZhong=90;
boolisright=zsGao>=1||zsZhong<=100;
Console.WriteLine(!
isright);
Console.ReadKey();
例题:
闰年的判断(符合下列条件之一为闰年)
年份能够被400整除
年份能够被4整除但不能被100整除
让用户输入一个年份,如果是闰年则输出ture,
如果不是则输出false
4、逻辑与和逻辑或短路问题
Inta=10
Intb=5
Boolresult=++a>50&&++b>1;
Console.readline(“{0}{1}”,a,b);
结果b=5
当进行逻辑与运算时,当第一个表达式为false的时候,第二个表达式不再进行运算。
当进行逻辑或运算时,当第一个表达式为true的时候,第二个表达式不再进行运算。
第二章分支结构
第十一讲If结构
顺序结构:
如main中一次由上到下执行
分支结构(判断结构):
如if结构,根据我们的条件是否成立,来决定某段程序是否执行。
If结构的基本语法:
If(条件)
{语句1}
执行过程:
首先判断条件的结果,如果条件为true,则执行语句。
如果条件为false,则跳过语句一,执行后面的语句。
注意:
1)if后面的条件要能计算成bool类型的值,
2默认情况下,if语句只能带一句话,即和if语句有关系的语句只有语句1.
如果有多话,则用{}括起来,组成一个语句块。
以后写if程序如果只有一句也要用{}括,以便方便维护。
例题:
(1)让用户输入年龄,如果输入的年龄大于18岁,则给用户显示你已成年
(2)如果张三的语文成绩大于90并且音乐成绩大于80,或者语文成绩等于100并且音乐成绩大于70,则奖励100元
(3)让用户输入用户名和密码,如果用户名为admin,密码为mypass,则提示登录成功。
第十二讲If-else
If(条件)
{语句块1}
Else{语句块2}
执行过程:
如果条件为true,则执行if带的语句块1,并且跳过else带的语句块2
如果条件为false,则跳过if带的语句块1,执行else带的语句块2.
例题:
(1)盖茨买了一筐鸡蛋,如果坏蛋少于5个,他就吃掉,否则他就去退货。
(2)要求用户输入两个数ab,如果a能被b整除或者a加b大于100,则输出a,否则输出b
(3)对学员的结业考试成绩评测(考虑用if好还是用if-else好)
成绩>=90:
A
90>成绩>=80:
B
80>成绩>=70:
C
70>成绩>=60:
D
成绩<60:
E
(用switch计算)
if(80>chengji>=70)是错误的!
关系运算符的优先级是相同的,所以程序会从左至右的计算语句。
80>chengji是bool类型,计算结果为true.True和70之间没法比较。
第十三讲If-else-if
Ctrl+K+F自动排版
Else只和离他最近的if配对
1、提示用户输入密码,如果密码是888888则提示正确,否则要求再输入一次,如果密码是888888则提示正确,否则提示错误,程序结束。
2、提示用户输入用户名,然后再提示输入密码,如果用户名是admin并且密码是888888则提示正确,否则如果用户名不是admin提示用户名不存在,如果用户名是admin则提示密码错误。
3、提示用户输入年龄,如果大于等于18,则告知用户可以查看,如果小于10岁则告知不允许查看如果大于10并且小于18则提示用户是否继续查看(yesno)如果输入的是yes则提示用户请查看否则提示退出请放弃查看
第十四讲switch-case
李四的年终奖工作评定如果定为A级则工资涨500元如果定为B级则工资涨200元如果定为C级工资不变如果定为D级工资将200元如果定为E级工资降500
(标志定义一个bool类型,boolflag=false;)
Switch(表达式)
{
Case值1:
语句块1
break;
Case值2:
语句块2
break;
default:
语句块2
break;
}
请用户输入年份、月份,输出该月的天数。
第三章循环结构
第十五讲While
(While先判断后执行;Do-while先执行后判断)
While循环的语法:
While(循环条件)
{
循环体
}
执行过程:
1、先判断循环条件,如果条件为true则转向2
2、执行循环体,循环体执行完后,转向1
3、跳出循环,循环结束。
注意:
在循环体中,一定要有那么一句话,改变循环条件中的某个变量的值,使循环条件终止。
***例题:
1)输入班级人数,然后依次输入学员成绩,计算班级学员的平均成绩和总成绩
Console.WriteLine("请输入班级人数");
intpopular=Convert.ToInt32(Console.ReadLine());
inti=0;
intchengji=0;
intsum=0;
intpingjun=0;
while(i { Console.WriteLine("请输入第{0}位学员成绩",i+1); chengji=Convert.ToInt32(Console.ReadLine()); sum=sum+chengji; i++; pingjun=sum/popular; } Console.WriteLine("{0}\\{1}",sum,pingjun); Console.ReadKey(); 2)老师问学生,这道题你会做了吗? 如果学生答”会了(y)”则可以放学如果学生不会做(n)则老师再讲一遍,再问学生是否会做了 直到学生会为止才可以放学 直到学生会或老师给他讲10遍还不会,都要放学 Console.WriteLine("这道题你会做了吗? ? y/n"); stringanswer=Console.ReadLine(); inti=0; while(answer=="n"&&i<10) { Console.WriteLine("我再给你讲一遍); Console.WriteLine("这道题你会做了吗? ? y/n"); answer=Console.ReadLine(); i++; } Console.WriteLine("可以放学了? "); Console.ReadKey(); 3)2006年培养学员80000人,每年增长25%请问按此增长速度,到哪一年培训学员人数将达到20万人? doublesum=80000; intyear=1996; while(sum<=200000) { sum=sum*1.25; year++; } Console.WriteLine(year); Console.ReadKey(); 第十六讲循环结构do-while 语法: do {循环体} While(条件) 执行过程: 1、先执行循环体,执行完循环体转向2 2、判断条件是否成立、如果条件为true,则转向1如果条件为fasle,则转向3 3、跳出循环,循环结束。 假如循环条件一开始就不成立,对于while循环一次都不会执行对于do-while循环体会执行一次 所以,do-while的循环体一般至少会被执行一次 ***例题: 1)明天小兰就要登台演出了,老师说再把明天的舞蹈表演一遍,如果满意,小兰就可以回家了。 否则就需要再练习一遍,直到老师满意为止。 方法一: Console.WriteLine("小兰把明天的舞蹈练习一遍给我看"); Co
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 基础