C#学习笔记本Day01
根据Bilibili学习视频记录,每天更新记录。
C#和.NET框架
微软平台编程
(1)编程语言使用Visual Basic C C++
(2)20诗集90年代末 Win32API MFC COM(组件对象模型)
(3)2002发布第一个。NET框架(多平台、行业标准、安全性)
.NET框架
编程工具产生编译的代码,可以通过以下两种方法被公共语言运行库(CLR)执行
(1) 直接被公共语言库执行
(2) 编译的代码使用基类库(BCL),被公共语言运行库(CLR)
BCL(Base Class Library基类库)
- 通用基础类——文件操作,字符串操作…
- 集合类——列表、字典…
- 线程和同步类——多线程程序
- XML类——创建、读取以及操作XML文档
BCL包括什么
编译过程
编译工具产生程序集、程序集包括CIL,可以在CLR中执行
- 编译过程解析:
.Net源文件包括C# VB 等…
编译器产生程序集(dll文件或者exe)
程序集中包括CIL(公共中间语言)
本机代码是所在系统可以直接识别运行的代码
CLR概览
托管代码是.Net框架编写的代码,需要在CLR的环境下运行非托管代码不在CLR控制之下,如Win32 C/C++ DLL 成为非托管代码
进入C#编程
HelloWorld
基于VS2019
源代码gitee地址
运行效果图
计算机使用基本知识
常用的快捷键
HOME/END/:定位行开始/结束
pg up/down:定位页面的开始和结束,相当于翻页功能
shift键:全选光标开始到结束的代码
shift+home键:选择整行
ctrl+home/end键:文档开始/结束
Write( )和WriteLine( )函数
源代码gitee地址
运行效果图
格式化输出
变量和表达式
[外链图片转存失败,源站可能有防盗在这里插入!链机制,建描述]议将图片上6)(https://gitee.com/czy_stu/c_-sharp_-demo.git)]
Math中一些数学运算
Math.PI 表示 π \pi π
Math.POW(n,m) 表示 n m n^m nm
Math.Exp(m) 表示 e m e^m em
Math.Log(n,m)表示 log n m \log_{n}m lognm
流程控制
分支:有条件的执行代码
循环:重复执行相同的代码
布尔运算
-
处理布尔运算
! 逻辑非
& 逻辑与
| 逻辑或
^ 逻辑异或 -
布尔赋值运算符
&= v a r 1 & = v a r 2 var1\&= var2 var1&=var2结果等于 v a r 1 & v a r 2 var1\&var2 var1&var2运算结果
|= v a r 1 ∣ = v a r 2 var1|= var2 var1∣=var2结果等于 v a r 1 ∣ v a r 2 var1|var2 var1∣var2运算结果
^= v a r 1 ^ = v a r 2 \hat{var1} = var2 var1^=var2结果等于 v a r 1 ^ v a r 2 \hat{var1}var2 var1^var2运算结果
goto语句
在程序中我们可以给代码加上标签,这样就可以使用goto
语句直接调到标签的地方去执行
goto语句的语法
goto <labelName>;
标签定义
<labelName>:
完整代码:
/*
* 1.goto语句控制代码跳转到指定的标签
*/
Console.WriteLine("未使用goto语句");
int a = 0;
a++;
Console.WriteLine(a);
Console.WriteLine("使用goto语句");
int b= 0;
goto mylabel;
b++;
mylabel: Console.WriteLine(b);
三元运算符
/*2.三元运算符
* 练习题
* 编写一段程序,运行时候向用户提问“你考了多少分?(0-100)” ,
* 接受输入后判断其等级并显示出来。等级判断标准如下:
* 等级={优{90-100}; 良 {80-89}; 中{60-79}; 差{0-59}}*/
int a;
a =Convert.ToInt32(Console.ReadLine());
string judge = a>90 ? "优" : (a>80 ? "良" : (a>60 ? "中" : "差"));
Console.WriteLine(judge);
switch case:用法
/*3.swith用法
* 定义一个int类型存储游戏状态
* 使用switch判断游0代表开始界面 1战斗中 2暂停 3游戏胜利 4游戏失败
* 戏状态,并输出游戏状态
*/
int status = Convert.ToInt32(Console.ReadLine());
switch(status){
case 0:
Console.WriteLine("开始界面");
break;
case 1:
Console.WriteLine("战斗中");
break;
case 2:
Console.WriteLine("游戏胜利");
break;
case 3:
Console.WriteLine("游戏失败");
break;
case 4:
Console.WriteLine("暂停");
break;
}