版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
项目1C#基础任务1VisualStudio环境搭建任务2变量与基本数据类型任务3运算符与表达式任务4用户输入与转义符任务5类型转换与常量任务6流程控制任务7数组任务8函数任务9面向对象——类任务1VisualStudio环境搭建一、开发环境准备①下载VisualStudio2022(社区版免费)②安装时勾选".NET桌面开发"工作负载③新建项目→选择"控制台应用"④项目命名HelloWorld,框架选.NET6+⑤按F5启动调试,Ctrl+F5不调试运行二、解决方案结构.sln解决方案文件(管理多项目).csproj项目文件(引用与配置)Program.cs主程序代码文件Program.cs结构usingSystem;namespaceHelloWorld{classProgram{staticvoidMain(string[]args){/*我的第一个C#程序*/
Console.WriteLine("HelloWorld!");Console.ReadKey();}}}2代码结构说明:①usingSystem;引入命名空间②namespaceHelloWorld命名空间③classProgram类④staticvoidMain()主函数(程序入口)⑤Console.WriteLine()输出到控制台任务1关键技术点三种注释//单行注释/*多行注释*////XML文档注释作用解释代码、调试时临时禁用代码。显示行号工具→选项→文本编辑器→C#→勾选"行号"作用快速定位代码行,调试与协作必备。Console常用方法WriteLine()输出并换行Write()输出不换行ReadLine()读取一行输入ReadKey()等待按键再关闭窗口3任务2变量与基本数据类型变量概念变量是内存中的命名存储空间,用于存储程序运行时可变化的数据。使用三步①声明:intage;②赋值:age=18;③使用:Console.WriteLine(age);命名规范·字母/下划线开头,不含特殊符号·区分大小写(Age与age不同)·见名知意:userAge优于a类型说明示例int整数intage=18;double双精度小数doublepi=3.14;string字符串stringname="Tom";bool布尔值boolisPass=true;char单个字符chargrade='A';4任务2变量的概念与语法变量声明语法:数据类型变量名=值;①数据类型:指定变量存储什么类型的数据②变量名:标识符,见名知意③=赋值号:把右边的值赋给左边变量④分号;语句结束示例代码intage=20;//整型doublescore=95.5;//浮点型stringname="张三";//字符串boolisPass=true;//布尔型chargrade='A';//字符型Console.WriteLine(name);5任务2命名规范与常用数据类型驼峰命名法(camelCase)首单词首字母小写,其余单词首字母大写。示例:userName,studentAge,myCar帕斯卡命名法(PascalCase)每个单词首字母都大写。示例:UserName,StudentAge,MyCar常用数据类型int整型(-21亿~21亿)double双精度浮点decimal高精度货币string字符串bool布尔(true/false)char单个字符float单精度浮点6任务3算术与赋值运算符算术运算符:+-*/加减乘除%取余(模)++--自增自减赋值运算符:=+=-=*=/=如a+=3等价a=a+3示例代码inta=10,b=3;Console.WriteLine(a+b);//13Console.WriteLine(a-b);//7Console.WriteLine(a*b);//30Console.WriteLine(a/b);//3(整数除)Console.WriteLine(a%b);//1(取余)a+=5;//a=157任务3比较与逻辑运算符比较运算符(返回bool):==!=><>=<=逻辑运算符:&&逻辑与(并且)||逻辑或(或者)!逻辑非(取反)短路特性:&&左侧false时右侧不执行;||左侧true时右侧不执行。示例代码intage=20;boolisAdult=age>=18;Console.WriteLine(isAdult);//Trueintscore=85;boolpass=score>=60&&age>=18;Console.WriteLine(pass);//Trueboolfail=!pass;8任务3三目运算符与占位符三目运算符:条件?值1:值2条件为true返回值1,否则返回值2。占位符:用{0},{1}预留位置,按顺序填充变量。口诀:先挖坑,再填萝卜。示例代码inta=10,b=3;//三目:求最大值intmax=a>b?a:b;Console.WriteLine(max);//10//占位符输出Console.WriteLine("a={0},b={1}",a,b);//输出:a=10,b=39任务3技术点——优先级与短路运算符优先级①括号()最高②乘除取余*/%③加减+-④关系><>=<=⑤相等==!=⑥逻辑与&&⑦逻辑或||建议:不确定时用括号明确顺序短路求值&&左边为false,右边不再计算||左边为true,右边不再计算if(age>0&&100/age<10)安全自增自减i++先用再加(后缀)++i先加再用(前缀)inti=5;inta=i++;//a=5,i=610任务4用户输入与转义符读取用户输入:stringinput=Console.ReadLine();ReadLine()等待用户输入并按回车,返回字符串。输入数字需转换:int.Parse(input)输出格式化:Console.WriteLine($"姓名:{name}年龄:{age}");$前缀实现字符串插值,{}内嵌入变量。常用转义符:\n换行\t制表符\"双引号\\反斜杠@开头:逐字字符串,忽略转义符示例代码Console.WriteLine("请输入姓名:");stringname=Console.ReadLine();Console.WriteLine("你好,"+name);//转义符示例Console.WriteLine("第一行\n第二行");Console.WriteLine("姓名\t年龄");//@逐字字符串(路径)stringpath=@"C:\data\test.txt";11任务4案例——简易加法器//用户输入两个数求和Console.Write("请输入第一个数:");strings1=Console.ReadLine();doublen1=double.Parse(s1);Console.Write("请输入第二个数:");strings2=Console.ReadLine();doublen2=double.Parse(s2);doublesum=n1+n2;Console.WriteLine($"结果:{n1}+{n2}={sum}");Console.WriteLine("换行测试\n第二行");运行示例请输入第一个数:12.5请输入第二个数:7.5结果:12.5+7.5=20换行测试第二行技术要点ReadLine()返回string,需Parse转数值$"..."插值字符串比+拼接更清晰12任务5类型转换隐式转换(自动)小类型转大类型,编译器自动完成,无数据丢失。示例:int→double,int→float显式转换(强制)大类型转小类型,需手动指定,可能丢失数据。语法:(目标类型)变量示例代码inti=100;doubled=i;//隐式转换:int→doubledoublepi=3.14159;intx=(int)pi;//显式转换:3.14→3(丢失小数)13任务5辅助类转换与常量Convert类静态方法ToInt32()、ToDouble()跨类型转换。TryParse安全转换,格式错误不崩溃,适合用户输入。ToString其他类型转字符串。示例代码const常量constdoublePI=3.14159;//声明时必须初始化,不可修改intn=Convert.ToInt32("123");//字符串→整数intm;boolok=int.TryParse("456",outm);//安全转换14任务5案例——圆面积计算//计算圆面积constdoublePI=3.1415926;Console.Write("请输入半径:");stringinput=Console.ReadLine();doubler=double.Parse(input);doublearea=PI*r*r;doublegirth=2*PI*r;Console.WriteLine($"半径:{r}");Console.WriteLine($"面积:{area:F2}");Console.WriteLine($"周长:{girth:F2}");intrInt=(int)r;Console.WriteLine("半径取整:"+rInt);技术要点constPI声明为常量,不可改:F2格式化为两位小数(int)r显式转换截断小数Convert类Convert.ToInt32("123")字符串转整数Convert.ToDouble("3.14")更安全15任务6流程控制——分支结构if条件为true执行,false跳过。if(条件){语句;}场景:单一判断,如检查网络。if-else二选一,至少执行一条。if(c){...}else{...}场景:登录成功/失败。if-elseif多区间判断,首个成立即停。if(c1){...}elseif(c2){...}场景:分数段S/A/B/C。switch-case离散值匹配,case后须break。switch(n){case1:...;break;}场景:菜单选项、枚举。16任务6if分支结构三种if形式:①if:条件true时执行②if-else:二选一③if-elseif-else:多条件区间判断选择建议:简单二选一→if-else分数段等区间→if-elseif-else示例:成绩等级判断intscore=85;if(score>=90)Console.WriteLine("S");elseif(score>=80)Console.WriteLine("A");elseif(score>=70)Console.WriteLine("B");elseConsole.WriteLine("C");//输出:A17任务6switch-case语句适用场景:判断离散值(整数、字符串、枚举),比if-elseif更清晰。注意:①case后必须是常量②每个case通常需break③default处理所有未匹配情况(可选)示例:星期判断intday=3;switch(day){case1:Console.WriteLine("周一");break;case2:Console.WriteLine("周二");break;case3:Console.WriteLine("周三");break;default:Console.WriteLine("其他");break;}//输出:周三18任务6流程控制——循环结构for已知次数,三段式。for(i=0;i<n;i++){...}while次数不定,先判后执。while(条件){...}do-while至少执行一次。do{...}while(条件);foreach遍历集合,无需索引。foreach(vin集合){...}break:立即结束整个循环continue:跳过本次,进入下一次迭代19任务6for循环适用场景:已知循环次数的场景。语法三段:for(初始;条件;增量)①初始:声明循环变量②条件:成立则继续循环③增量:改变循环变量示例:打印1到5for(inti=1;i<=5;i++){Console.WriteLine(i);}//输出://1234520任务6while与do-while循环while循环(先判断后执行)条件不成立时一次都不执行。示例:计算1到100的和。inti=1,sum=0;while(i<=100){sum+=i;i++;}//sum=5050do-while(先执行后判断)至少执行一次。示例:直到输入正确密码。stringpwd;do{pwd=Console.ReadLine();}while(pwd!="123");21任务6foreach与break/continueforeach:遍历集合/数组,无需索引,避免越界。foreach(元素类型变量in集合)break:立刻结束整个循环continue:跳过本次,进入下一次示例:遍历数组int[]nums={10,20,30};foreach(intninnums){Console.WriteLine(n);}//break示例:找到即停foreach(intninnums){if(n==20)break;}22任务7数组的概念与声明示例代码//①声明长度3,默认值0int[]a=newint[3];//②显式初始化int[]b=newint[3]{1,2,3};//③简化写法int[]c={1,2,3,4,5};//访问元素Console.WriteLine(c[0]);//1Console.WriteLine(c.Length);//523数组概念相同类型元素组成的固定长度集合,索引从0开始。一维数组声明int[]a=newint[5];//长度5int[]b={1,2,3,4,5};//直接初始化访问元素a[0]=10;//第1个元素intx=b[2];//x=3遍历for需索引;foreach只取值。任务7数组的属性、方法与遍历常用成员Length获取总长度GetLength(n)多维第n维Array.Sort()排序Array.IndexOf()查找索引遍历方式①for循环:需要索引时用②foreach:仅访问元素时用示例代码int[]nums={3,1,4,1,5};Array.Sort(nums);//排序:1,1,3,4,5foreach(intninnums)Console.Write(n+"");24任务7值类型与引用类型值类型直接存储数据,保存在栈(Stack)。赋值时复制数据本身。包含:int、double、bool、char、struct、enum。超出作用域自动释放,默认值如int=0。引用类型存储引用(地址),数据在堆(Heap)。赋值时复制地址,多个变量指向同一数据。包含:class、string、数组、接口、委托。默认值null,由垃圾回收器管理。25任务7案例——求最大最小值//数组求最大最小值与平均值int[]scores={85,92,78,96,88};intmax=scores[0];intmin=scores[0];intsum=0;foreach(intsinscores){if(s>max)max=s;if(s<min)min=s;sum+=s;}Console.WriteLine("最高:"+max);Console.WriteLine("最低:"+min);Console.WriteLine("平均:"+sum/scores.Length);运行结果最高:96最低:78平均:87技术要点Length获取数组长度foreach遍历不修改元素sum/length注意整数除法26任务8函数的结构与调用函数结构:访问修饰符返回类型方法名(参数列表)①访问修饰符:public/private②返回类型:void表示无返回值③方法名:帕斯卡命名法④参数列表:可选,逗号分隔⑤return:返回值并结束函数示例:两数求和//定义函数intAdd(inta,intb){returna+b;}//调用函数intresult=Add(3,5);Console.WriteLine(result);//827任务8技术点——参数与重载方式说明值传递默认方式,传递副本,方法内修改不影响外部变量ref传引用,方法内修改影响外部;实参必须先初始化out输出参数,实参无需初始化,方法内必须赋值默认参数方法声明时给默认值,调用时可省略该参数函数重载:同一类中多个同名函数,参数类型/数量/顺序不同即可,与返回值无关。如Add(int,int)与Add(double,double)。28任务8递归递归:函数在方法体内调
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026腰痛病考试试卷及答案
- 脚轮制作工复测竞赛考核试卷含答案
- 冷藏工安全风险水平考核试卷含答案
- 塑料玩具制作工安全教育竞赛考核试卷含答案
- 品牌资产评价师安全应急模拟考核试卷含答案
- 水泥混凝土制品养护工标准化评优考核试卷含答案
- 模具工岗中应急测评考核试卷含答案
- 酵母制备工岗前评优考核试卷含答案
- 意匠纹版工岗前技能掌握考核试卷含答案
- 己二酸装置操作工岗前理论考核试卷含答案
- 2026秋川教版(新教材)小学信息技术四年级上册(全册)教学设计(附目录p124)
- 2026-2030中国羧甲基纤维素市场供需调查及竞争格局研究报告
- 7.1 集体生活成就我课件(共27张)+内嵌视频
- 铁路集团综合管理岗社会招聘笔试参考题库 含答案
- 2026年河北工人技师考评(环境噪声监测工)自测试题及答案
- 宠物毛发护理技巧
- DB32-T 5388-2026 电动车充电基础设施建设技术规程 第2部分:电动汽车
- 2026年人工智能赋能机械设计的新路径
- 2026年新疆新业国有资产经营集团有限责任公司校园招聘笔试备考题库及答案解析
- 寺庙消防安全培训
- 福建金投集团招聘笔试题目
评论
0/150
提交评论