C#笔记01——注释、进制、基本数据类型、量和输入输出函数
一、注释
1.单行注释
使用方法:行首加 ” //“;
VS2019中的快捷键(以后如果不特加说明都是VS2019): 注释(CTRL+E,C); 取消注释(CTRL+E,U);
2.多行注释
使用方法:在需要注释的行用 “/* */” 包裹;
注:多行注释不能嵌套使用!
二、进制
1.二进制(0-1)0b/BIN、八进制(0-7)0/OCT、十进制(0-9)DEC、十六进制(0-9 A-F)0x/HEX

2.进制之间的转换
1> 十进制转其他进制(连除倒取余)
直到商为0为止;
2> 其他进制转十进制(按权求和)
eg:0b 11011
1*24+1*23+0*22+1*21+1*20 = 27
0x5C
5*161+12*160 = 92;
O 65
6*81+5*80 = 53;
3> 二进制转换十六进制(需要用到8421法则--在后面有补充)
四位一分割,然后转换为10进制(8421分割)再对应即可
eg: 0b 111000101 转十六进制
0001 | 1100 | 0101
1 8+4 4+1
1 12 5
1 C 5
0x 3CB 转 二进制 8421
3 |C |B
3 12 11
2+1 8+4 8+2+1
0010 1100 1011
补充:8421法则:
二进制的4位对应十六进制的1位,二进制的4位分别对应8421
23 22 21 20
8 4 2 1
对数用8421这几个数进行拼凑,每个数只能用一次,用到的数在下面写1,没有用到的就写0,最后列出来即可;
例如十六进制的3是2+1;那么2和1 下面就是1,8和4下面就是0,写出来就是0011;
三、基本数据类型
数据类型的存在就是为了让我们能够更好的管理数据,系统内存,防止内存空间的浪费或者造成数据丢失。
系统开辟空间以字节(Byte)为单位
1T = 1024G = 1024*1024M = 1024*1024*1024KB = 1024*1024*1024*1024B
1Byte = 8bit

补充:
对于有符号最高位代表符号位,0为正,1为负;
求字节数:sizeof;字符使用单引号引起,只能存放一个字符;字符串要用双引号引起;
四、常量和变量
常量:在程序运行期间不可以改变的量
变量:在程序运行期间可以改变的量, 变量的实质就是开辟存储空间
1 变量的定义:
1> 隐式定义 必须赋初始值
var num = 10;
var 它可以自动的根据所赋的值分配字节,所以必须要赋初始值
2> 显式定义
语法: 数据类型 变量名 [ = 数值; ]
int scores; //开辟一个空间 scores = 10;//存储数据 int MyAge = 20; //开辟完空间之后直接存数据 float cores = 98.7F // C#默认小数类型为double,要将小数定义为float类型需要在数值后面加F/f decimal price = 100.3M // demical 类型数据后面都需要加M/m
补充:
变量名命名规则:
1.见名知意;
2.驼峰命名,第一个单词首字母小写,后面的单词首字符都大写;
3.只能以数字、字母下划线和@组成,但是不能以数字开头;
4.如果有@符号, @符号必须放在最前面;
5.变量必须先定义后使用;
6.变量名不可以重复定义;
五、运算符
1.赋值运算符 ’=‘,将’=‘右边的赋值给左边;
2.算数运算符 ‘+,-,*,/,%,++(自增),--(自减)’
"/" 想要得到小数,除号两边的数至少要有一个为小数;否则进行地板式除法,小数后面的数直接会被舍掉;
"%" 取余,求余结果的正负号只和'%'符号左边的数有关和右边的无关;
int num1 = 1, num2 = 2; // num1 % num2 = 1 int num1 = -1, num2 = 2; //num1 % num2 = -1 int num1 = -1, num2 = -2; //num1 % num2 = -1 int num1 = 1, num2 = -2; //num1 % num2 = 1
"++" "++"在前:先自增再打印, "++"在后:先打印再自增
int num1 = 1; int num2 = num1++; // 等同于: int num2 = num1; num1 += 1; Console.WriteLine("num1 = {0}, num2 = {1}", num1, num2); // num1 = 2, num2 = 1
int num3 = num1++ + ++num1;
Console.WriteLine("num3 = {0}", num3);
// num3 = 4; '+'号左边先使用1,然后num1自增为2; '+'号右边num1先自增为3然后使用,最后结果为4;
补充:
类型转换:
1> 低类型向高类型转换: 自动转换
short num = 20; int num1 = num; char num2 = '0'; int num3 = num2; // char类型是一个特殊的整型;
2> 高类型向低类型转换:需要强制转换--在数值前加'(数据类型)'
int num5 = (int)10.6; // 会直接将小数点后面的数全部省去,地板式擦除;num5 实际的值为10 char num4 = (char)num3;
表达式
不能独立运行(程序最小只能以语句执行, 语句的结尾必须有分号),是由常量变量和运算符组成的式子; 单独的变量和常量也是一个表达式.
六、基本输入和输出
输出:
1> 连接输出
2> 格式化 / 用占位符输出
语法: Console.WriteLine("{数字:格式字符}[,{数字:格式字符}....]", 参数0[,参数1...);
{数字:格式字符} 表示占位符,数字表示最后输出参数几, 格式字符表示最后输出形式, 例如小数输出想要时限制位数: {0:f2} 注意: '{}' 里的冒号前后不能有空格!
!!! 要注意大括号里面的数值要对应后面的参数位置!(也即是说假设大括号里面最大的数值为n,那么参数的个数最少为n+1) -- 下标必须从0开始.

int num1 = 20, num2 = 30; float num3 = 24.7546346f; // 换行输出 Console.WriteLine(); // 不换行输出 Console.Write(); // 连接输出 Console.WriteLine(" " + num1 + num2); // 前面有"" ,后面的'+' 表示为连接, 如果没有或者" " 在后面则 '+' 表示运算; // 占位符输出 Console.WriteLine("num1 = {0}, num2 = {1}, ", num1, num2); // 使用占位符打印,{num}为占位符, ',' 最后输出的时候占位符会替换',' 后面的参数. Console.WriteLine("num3 = {0:f2}", num3); // num3 = 24.75
输入
函数: Console.ReadLine() 注:这个只能接受String类型
想要转换需要用到 类型.Parse() 或者 Convert.To类型 函数
string str1 = Console.ReadLine(); // 出入字符串类型的数据 // 字符串转型--1 类型.Parse 只能将字符串类型的进行转换 int num = int.Parse(str1); // 2 Convert.To类型 函数 可以将任何类型转换成任何类型 Convert.ToInt32(234.3f); Convert.ToDouble(233);
函数 Console.Read() 只能接受一个字符,而且会输出它对应的十进制

浙公网安备 33010602011771号