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 = ;
var 它可以自动的根据所赋的值分配字节,所以必须要赋初始值
2> 显式定义
语法: 数据类型 变量名 [ = 数值; ]
int scores; //开辟一个空间
scores = ;//存储数据
int MyAge = ; //开辟完空间之后直接存数据 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 = , num2 = ; // num1 % num2 = 1
int num1 = -, num2 = ; //num1 % num2 = -1
int num1 = -, num2 = -; //num1 % num2 = -1
int num1 = , num2 = -; //num1 % num2 = 1
"++" "++"在前:先自增再打印, "++"在后:先打印再自增
int num1 = ;
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 = ;
int num1 = num;
char num2 = '';
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 = , num2 = ;
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();
函数 Console.Read() 只能接受一个字符,而且会输出它对应的十进制
C#笔记01——注释、进制、基本数据类型、量和输入输出函数的更多相关文章
- 进制转换&数据类型(1)
一: 进制转换 在计算机中, 数据都是以0和1来表示的 进制: 进位制 十进制: 数字由0~9这10个数字来表示, 逢10进1位 0 1 2 3 4 5 6 7 8 9 10 二进制: 数字由0和1这 ...
- JavaSE学习笔记01注释、标识符与基本类型
1. HelloWorld 编写代码 public class Hello{ public static void main(String[] args){ System.out.println(&q ...
- Java进制转换, 数据类型, 运算符
1:进制转换 转换规则: 先把数据的每一位上的系数乘以对应基数的次幂(低位从零开始),然后相加即可 十进制到其他进制 规则:除基取余,直到商为0,最后将余数反转 十进制到二进制: 除2取余,直到商为0 ...
- 【JAVA随摘笔记一】进制转换
// 十进制转其它进制(二进制,八进制,十六进制) ; System.out.println(Integer.toBinaryString(k));// 转二进制 10001 System.out.p ...
- 【代码笔记】iOS-16进制颜色与UIColor互转
一,效果图 二,工程目录. 三,代码 RootViewController.m - (void)viewDidLoad { [super viewDidLoad]; // Do any additio ...
- 基础笔记1(进制,浮点,递归,floor,round和ceil)
1,进制默认是十进制 0开头 8进制 0x 16进制 0b 2进制 2,long 的范围是19位数字.int范围是21亿左右,short 是三万二千左右. 超过int范围的long类型 ...
- python3笔记二:进制转换与原码反码补码
一:学习内容 进制:二进制.八进制.十进制.十六进制 进制转换 原码.反码.补码 二:进制 二进制 1.二进制:只有0和1,逢2进1 2.举例:0+0=0.0+1=1.1+1=10 3.过程剖析:二进 ...
- 《c程序设计语言》读书笔记-十六位进制数转十进制
#include <stdio.h> #include <stdio.h> int htoi(char s[]); main() { char s1[] = "10& ...
- 【前端学习笔记01】JavaScript源生判断数据类型的方法
原始类型(值类型):Undefined.Null.Number.String.Boolean: 对象类型(引用类型):Object: typeof 可以识别标准类型,null外(返回Object): ...
随机推荐
- JVM(8) 线程安全与锁优化
面向过程编程:程序编写以算法为核心,程序员会把数据和过程分别作为独立的部分来考虑,数据代表问题空间的客体,程序代码则用于处理这些数据.这种思维方式直接站在计算机的角度去抽象问题和解决问题,称为面向过程 ...
- vueclass
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- iOS 应用签名原理&重签名
在苹果的日常开发中,真机测试与打包等很多流程都会牵扯到各种证书,CertificateSigningRequest,p12等.但是很多相应的开发者并不理解iOS App应用签名的原理和流程.今天着重讲 ...
- Mycat分布式数据库架构解决方案--Mycat实现读写分离
echo编辑整理,欢迎转载,转载请声明文章来源.欢迎添加echo微信(微信号:t2421499075)交流学习. 百战不败,依不自称常胜,百败不颓,依能奋力前行.--这才是真正的堪称强大!!! 安装完 ...
- 宋宝华:关于Ftrace的一个完整案例
本文系转载,著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 作者: 宋宝华 来源: 微信公众号linux阅码场(id: linuxdev) Ftrace简介 Ftrace是Lin ...
- 《Effective Java》 读书笔记(三) 使用私有构造方法或枚举实现单例类
1.单例类到现在为止算是比较熟悉的一种设计模式了,最开始写单例模式是在C#里面,想要自己实现一个单例类,代码如下: public class Instance { private static rea ...
- 查找一个卷对应的osd
1.首先找到卷的id: 2.使用rados命令找到卷上面的对象数据: 3.通过ceph osd map命令可以查询到对象对应的pgid及pg对应的osd:
- 一些 bypass WAF 技巧
也是之前讲课写的,现在搬运过来 --- WAF所处的位置 * 云WAF * 硬件WAF * 软件WAF * 代码级WAF WAF的绕过 1 架构层 1 对于云WAF,寻找真实ip ...
- raw文件转mha文件
raw格式 在体数据(volume)中,经常会遇到raw文件,raw文件就是其实就是所有体素组成的文件,raw文件必须还有一些描信息才能用(因为得知道数据的size,type,spacing等),就像 ...
- 关于一个 websocket 多节点分布式问题的头条面试题
原文链接,欢迎讨论: [Q023]websocket 服务多节点部署时会有什么问题,怎么解决 你来说说 websocket 有什么用 双向通信,服务器端可以主动 push,给客户端发送通知 那webs ...