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): ...
随机推荐
- 记录一些常用的python库、软件或者网址
1.数据收集 BeautifulSoup.scrapy.selenium.requests 2.数据分析 pandas.numpy.pyDD.spacy 3.数据可视化 matplotlib.seab ...
- 创建WebApi
一.创建 Web 项目 使用vs创建项目,选择“ASP.NET Core Web 应用程序”模板,将项目命名为 TodoApi,然后单击“确定”. 在“新建 ASP.NET Core Web 应用程序 ...
- 暑期集训20190730 取模(mod)
[题目描述] 给定一个长度为n的非负整数序列a,你需要支持以下操作: 1:给定l,r,输出a[l]+a[l+1]+…+a[r]. 2:给定l,r,x,将a[l],a[l+1],…,a[r]对x取模. ...
- Weed:线段树
观察复杂度,是log级别以下回答询问的. O(1)?逗我kx呢? 自然而然地想到线段树. 学长讲的原题啊考场上还不会打. 线段树上的每个节点都表示一个操作区间. 线段树上维护的权值有3个:这个子区间一 ...
- python机器学习——感知器
最近在看机器学习相关的书籍,顺便把每天阅读的部分写出来和大家分享,共同学习探讨一起进步!作为机器学习的第一篇博客,我准备从感知器开始,之后会慢慢更新其他内容. 在实现感知器算法前,我们需要先了解一下神 ...
- ASP.NET Core 3.0 gRPC 拦截器
目录 ASP.NET Core 3.0 使用gRPC ASP.NET Core 3.0 gRPC 双向流 ASP.NET Core 3.0 gRPC 拦截器 一. 前言 前面两篇文章给大家介绍了使用g ...
- 如何让elemengUI中的表格组件相同内容的单元格自动合并
1. 前言 这两天在工作中遇到这样一个需求:将某个Excel中的数据在页面上以表格形式展示出来,并且尽量保持数据层级与Excel中一致.在原始Excel文件中,对每一行相同的数据都进行了合并,使得数据 ...
- vue+element UI + axios封装文件上传及进度条组件
1.前言 之前在做项目的时候,需要实现一个文件上传组件并且需要有文件上传进度条,现将之前的实现过程简单记录一下,希望可以帮助到有需要的人. 项目用的是Vue框架,UI库使用的是element UI,前 ...
- python学习之【第九篇】:Python中的变量作用域
1.前言 Python 中,程序的变量并不是在哪个位置都可以访问的,访问权限决定于这个变量是在哪里赋值的. 2.变量作用域 变量的作用域决定了在哪一部分程序可以访问哪个特定的变量名称.Python的作 ...
- re模块的基本使用
目录 re模块 常用元字符 特殊构造 贪婪模式 非贪婪模式 re的常用函数 re模块补充 关于re模块必须知道的知识点 re模块 re模块 , 即正则表达式 , 本身是一种小型的.高度专业化的编程语言 ...