版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据结构与算法:02C#语言基本语法结构C#语言基本语法结构知识结构:图1知识结构1、数据类型第一种分类:简单数据类型:byte、short、int、long、float、double、char、bool组合数据类型:struct、enum、class、interface图2数据类型第二种分类:值类型:作为参数传递时,传递拷贝。包括:简单数据类型、struct类型、enum类型引用类型:作为参数传递时,传递地址。包括:class类型、数组例1:publicstructBook{publicdoublePrice;publicstringTitle;publicstringAuthor;}classProgram{staticvoidChangeBook(Bookbk){bk.Price=1.01;bk.Title="Spss";bk.Author="John";}staticvoidPrintBook(Bookbk){Console.WriteLine("BookInfor:\nPrice={0},Tile={1},Author={2}",bk.Price,bk.Title,bk.Author);}staticvoidMain(string[]args){Bookbk;//=newBook();bk.Price=10.01;bk.Title="MatLab";bk.Author="Tom";PrintBook(bk);ChangeBook(bk);PrintBook(bk);//BookInfor://Price=10.01,Tile=MatLab,Author=Tom//BookInfor://Price=10.01,Tile=MatLab,Author=Tom}}该例子说明“值类型”传递拷贝,不改变本身所存储的值。例2:publicclassBook{publicdoublePrice;publicstringTitle;publicstringAuthor;}classProgram{staticvoidChangeBook(Bookbk){bk.Price=1.01;bk.Title="Spss";bk.Author="John";}staticvoidPrintBook(Bookbk){Console.WriteLine("BookInfor:\nPrice={0},Tile={1},Author={2}",bk.Price,bk.Title,bk.Author);}staticvoidMain(string[]args){Bookbk=newBook();//错误Bookbk;bk.Price=10.01;bk.Title="MatLab";bk.Author="Tom";PrintBook(bk);//BookInfor://Price=10.01,Tile=MatLab,Author=TomChangeBook(bk);PrintBook(bk);//BookInfor://Price=1.01,Tile=Spss,Author=John}}例3:classProgram{staticvoidChangeArrayItem(int[]array){for(inti=array.Length-1;i>=0;i--){array[i]=array.Length-1-i;}}staticvoidPrintArrayItem(int[]arry){for(inti=0;i<arry.Length;i++){Console.Write("{0}",arry[i]);}Console.WriteLine();}staticvoidMain(string[]args){int[]arr=newint[3];for(inti=0;i<arr.Length;i++){arr[i]=i;}PrintArrayItem(arr);//012ChangeArrayItem(arr);PrintArrayItem(arr);//210}}例2,例3说明“引用类型”传递地址,要改变本身所存储的值。具体应用时,要注意“值类型”和“引用类型”的区别。2、变量与常量变量定义:变量类型变量名;常量定义:readonly在声明或构造函数中初始化const在声明时初始化例4:publicclassSimpleClass{publicintX;publicreadonlyintY=2;publicreadonlyintZ;publicconstdoublePi=3.1415926;publicconststringEtc="...";publicSimpleClass(){Z=3;}publicSimpleClass(intp1,intp2,intp3){X=p1;Y=p2;Z=p3;}}classProgram{staticvoidMain(string[]args){SimpleClasssp1=newSimpleClass();sp1.X=1;Console.WriteLine("sp1:x={0},y={1},z={2}",sp1.X,sp1.Y,sp1.Z);//sp1:x=1,y=2,z=3SimpleClasssp2=newSimpleClass(-1,-2,-3);Console.WriteLine("sp2:x={0},y={1},z={2}",sp2.X,sp2.Y,sp2.Z);//sp2:x=-1,y=-2,z=-3Console.WriteLine("PI={0}{1}",SimpleClass.Pi,SimpleClass.Etc);//PI=3.1415926...}}以上例子注意readonly与const定义常量以及使用该常量时的区别。3、运算符与表达式运算符:一元运算符
x++,y++二元运算符
x+y,x-y三元运算符
max=(x>y)?x:y;运算符:算术运算符
+、-、*、/、%关系运算符
>、>=、==、!=、<=、<逻辑运算符
!、&&、||表达式:由运算符和变量或常量组成的式子。4、基本语句4.1赋值语句变量名=表达式;4.2条件语句第一种:if(条件表达式){语句序列;}第二种:if(条件表达式){语句序列;}else{语句序列;}第三种:if(条件表达式1){语句序列1;}elseif(条件表达式2){语句序列2;}elseif(条件表达式N){语句序列N;}else{语句序列N+1;}4.3开关语句swith(表达式){case值1:语句序列1;break;case值2:语句序列2;break;case值N:语句序列N;break;default:语句序列N+1;break;}例5:classProgram{staticvoidMain(string[]args){Randomrdm=newRandom();inti=rdm.Next(1,5);Console.WriteLine(i);//1switch(i){case1:Console.WriteLine("Case1.");break;case2:Console.WriteLine("Case2.");break;case3:Console.WriteLine("Case3.");break;default:Console.WriteLine("DefaultCase.");break;}//Case1.i=rdm.Next(1,5);//1Console.WriteLine(i);switch(i){case1:case2:case3:Console.WriteLine("It's1,2or3.");break;default:Console.WriteLine("NotSureWhatitis.");break;}//It's1,2or3.}}以上例子注意switch语句的语法结构,特别是每个case语句都需要匹配break语句。4.4循环语句第一种:for(初始化循环计数器表达式;判断循环终止条件;递增或递减循环计数器表达式){语句序列;}第二种:while(条件表达式){语句序列;}第三种:do{语句序列}while(条件表达式);第四种:foreach(元素类型元素in集合){语句序列;//通常用于遍历集合中的每个元素}例6:classProgram{staticvoidMain(string[]args){inti;intsum=0;for(i=1;i<=10;i++){sum+=i;}Console.WriteLine(sum);//55sum=0;i=1;while(i<=10){sum+=i;i++;}Console.WriteLine(sum);//55sum=0;i=1;do{sum+=i;i++;}while(i<=10);Console.WriteLine(sum);//55}}例7:classProgram{staticvoidMain(string[]args){int[]arry=newint[]{1,3,5,7};foreach(intiinarry){Console.WriteLine(i);}//1//3//5//7}}4.5try…catch…finally语句try{语句序列;}catch(Exceptionex){语句序列;}finally{语句序列;}例8:在屏幕上输入一个整数,则屏幕上显示该整数颗“*”号。classProgram{staticvoidMain(string[]args){Console.WriteLine("请输入一个整数:");//请输入一个整数://abcstringsTemp=Console.ReadLine();try{intiCount=int.Parse(sTemp);for(inti=0;i<iCount;i++){Console.Write("*");}Console.WriteLine();}catch(Exceptionex){Console.WriteLine("错误原因为:"+ex.Message);//错误原因为:输入字符串的格式不正确。}finally{Console.WriteLine("结束.");//结束.}}}以上例子注意try…catch…finally语句的语法结构,该语句通常用来捕获并处理异常。4.6break、continue语句break语句:跳出最里面的封闭循环或switch语句中continue语句:将控制权传递给所在封闭循环的下一次迭代
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025施秉县中等职业技术学校工作人员招聘考试试题
- 2025江苏省吴中中等专业学校工作人员招聘考试试题
- 基坑支护桩间挂网喷砼施工技术方案
- AI运动心理干预系统在马拉松运动员意志力训练中的应用课题报告教学研究课题报告
- 2026年四川省绵阳市中考化学模拟预测试卷
- 吊顶龙骨安装施工方案
- 变电站断路器大修施工方案
- 2026年新材料行业石墨烯应用创新与产业升级报告
- 2026年智能家居能源管理系统报告及未来五至十年绿色建筑技术报告
- 大宗商品:铝铝锭超预期累库抑制国内铝价
- 2026广东东莞市松山湖社区卫生服务中心招聘纳入岗位管理编制外人员4人笔试备考试题及答案解析
- 2026西藏阿里地区普兰县审计局招聘审计协助人员的2人备考题库有答案详解
- 2026河南科高产业集团有限责任公司高级管理人员招聘7人笔试备考试题及答案解析
- 2026年中考历史考前冲刺:中国+世界(古代史|近代史|现代史) 小论文范文汇编
- 2026年广东省高三语文4月二模联考试卷附答案解析
- 2025版《CSCO前列腺癌诊疗指南》全文
- 2026年中级社会工作者《社会工作综合能力》考试押题密卷带答案详解(模拟题)
- 课堂碎嘴子的代价主题班会课件
- 《公路水运工程施工安全标准化指南》
- 焊接质量检测技术全套课件
- GB/T 32580.4-2026轨道交通地面装置高压交流开关设备及互感器第4部分:电压互感器
评论
0/150
提交评论