10-26C#基础回顾、汇总(函数重点)
第一部分==进制转换
重点记忆:
1、任意进制转十进制
按权展开法
p代表进制数,a/b/c...m分别代表进制数p从右往左第1位--第(n-1)位的数
公式:a*p0+b*p1+c*p2+..........+m*P(n-1);
2、十进制转其他进制(二、八或十六进制)
公式:
十进制转二进制:除商取余法,十进制的数整数部分除以除数(2)取余数,余数按照倒序排列;
十进制转八进制:十进制的数先转成二进制,再以小数点为左右起点,3位一组,不足补0,按2---8对应关系转换;
十进制转十六进制:十进制的数先转成二进制,再以小数点位左右起点,4位一组,不足补0,按2----16对应关系转换;
第二部分==语言基础
一、了解程序的大体结构
1、文件后缀
.cs----源文件、程序代码
.sln----解决方案文件
函数的四要素:名称、输入、输出、加工
2、主函数 (在一个项目中,主函数有且仅有一个,既是程序的入口处,也是程序的结束点)
格式:static void Main(string[] args)
{
主函数内容(在这里编写程序)
}
3、输入语句
string s=Console.ReadLine();//读取一行数据,并赋值给s(所读取的数据都默认是字符串型)
4、输出语句
Console.WriteLine("要输出的内容");WriteLine输出后自动换行;
Console.Write("要输出的内容");
二、编写程序必须的语言---数据类型(两大类)
1、值类型
整形:byte、int、short、long
浮点型:float、double、decimal
布尔型:true、false
日期时间型:DateTime
字符型:char+单引号
枚举类型:
Enum E {.....}形式的用户定义类型
结构体类型:
Struct S {.....}形式的用户定义类型
2、引用类型
类类型:object——所有其他类型的最终基类
string——Unicode字符
Class C{.....]形式的用户定义类型
数组类型:一维、多维数组和集合ArrayList,int[]和int[,];
接口类型:
Interface I{.....}形式的用户定义类型
委托类型:
Delegate T.D(....)形式的用户类型
3、变量
1)、变量名:字母、数字、下划线、@、汉字;
2)、定义:数据类型 变量名[= 值]
例:string s="这是一个变量";
3)、使用:赋值、取值
4、常量
1)、分类:符号常量、字面常量
2)、符号常量 变量声明前加const
const int a=3;
3)、使用:不能赋值,只能取值
5、快捷键汇总
1)、语句结束+;(分号)
2)、注释一行://(左斜线)
3)、注释一段区域:/*........*/
4)、删除一行;shift+delete
5)、注释选中行:Ctrl+(K,C)
取消注释选中行:Ctrl+(K,U)
6)、Alt+ →提示,更改
7)、shift+Ctrl+Space 常用于在()中查看如何输入
三、数据类型的转换
分类:
1、自动转换(隐式转换)
2、强制转换(显示转换)
强制转换三种方式:
1)用()。()内是转换后的数据类型,只能转换同一大类
2)用convert.
3)用parse.解析,用于字符串型转相应值类型
四、运算符
分类:
1、数学运算符
2、关系运算符
3、逻辑运算符
4、赋值运算符
5、条件运算符(?:)
第三部分==语句
分类:
选择控制:if,else,switch,case
循环控制:while,do,for,foreach
跳转语句:break,continue(跳出本次循环,继续下面的循环)
异常处理:try,catch(捕获异常),finally
第四部分==类
第五部分==数组
第六部分==集合、特殊集合
集合不同于数组,是一组可变数量的元素的组合,集合能存放不同数据类型的值,不限定长度;而数组只能存放一种数据类型的值;
一、集合的基本操作:
1、定义集合:
ArrayList al=new ArrayList();
2、添加数据:
3、插入数据:
4、移除数据:
5、排序:代替冒泡排序,但是只能从小到大排列;
6、翻转:
7、查某个元素出现的位置放到n里面
某个数出现的最后位置:
8、统计元素个数:
9、清空集合
10、al[i]是直接访问集合中的第i个元素
二、特殊集合
1、Stack---堆集合
2、Queue---队列集合
3、HashTable---哈希表集合
第七部分==结构体
结构体实际是一个自定义的集合,里面可以包含各种类型的数据,用法同集合。
1、定义:
2、用法:
第八部分==枚举类型
第九部分==函数(重点)
一个较大的程序一般应分为若干个程序块,每一个模块用来实现一个特定的功能。所有的高级语言中都有子程序这个概念,用子程序实现模块的功能。在C#语言中,子程序的作用是由一个主程序和若干个函数构成。有主函数调用其他函数,其他函数也可以互相调用。同一个函数可以被一个或多个函数调用多次。
简单得理解函数,就是把主函数里面大片的程序代码分割到其他函数(即自建的函数)中,便于对主函数的应用,所有的程序在主函数中执行时,都需要从其他函数中调用函数。
在程序设计中,常将一些常用的功能模块编写成函数,放在函数库中供公共选用。要善于利用函数,以减少重复编写程序段 的工作量。
一、定义一个名为sum的简单函数,这里的参数叫做形参,并不是实际的参数。
Static void 函数名(数据类型 参数名)
{
函数体
return值;
}
在调用函数的时候,在Main函数中将实参传给函数体,函数体执行完后之后返回一个值到Main函数中,Main函数中定义一个变量来接收传递过来的值完成函数调用。
int a=函数名(实参)
二、函数调用
三、函数前面加注释
/// <summary>
/// 输入一个数字,返回它的和,这里写这个函数的功能
/// </summary>
/// <param name="m"></param>这里写m是做什么的
/// <returns></returns>这里写返回什么,也就是要求的数值
四、函数一个是传值另一个是传址
1、传值就是将实参的值传到所调用的函数里面操作,实参的值并没有发生变化。
2、传址就是将地址传到所调用的函数里面操作,实参的值也会跟着变化,传址的有数组和字符串string,字符串类型比较特殊;
五、结构形式:
修饰符(static/public/private)+ 返回值(有/无返回)+函数名(参数)---作用同主函数,但必须通过主函数的调用这个函数才能真正的起作用。
{
函数体(也就是程序代码,可以写任何程序)
}
函数下面就是主函数的执行:
ststic vioid Main(string[] args)----主函数在一个项目里有且仅有一个,即使程序的入口,也是程序的结束点;
{
主函数的调用
}
注:
1、修饰符有多种:static、public、private等
区别:它们之间可以访问的范围不同
static:是静态的,不能跨类使用,不用初始化;
public:可以在整个命名空间里公共使用,需要初始化;
private:只能在当前类里面使用,必须要初始化;
2、返回值
有返回值:多种数据类型int、string、double等
无返回值:void
3、函数名(有/无参数)如何加参数,参数类型有好多种
例:public void hanshu()/无参数
public string hanshu(int i,double b,string s)/有参数
4、()内不仅能传值,也能返回值---必须+out才能返回值,这是函数特有的
例:public int hanshu(int a,int b,out int s)//注意:这里写参数的顺序跟下面主函数调用时输出参数的顺序保持一致
//s是下面要输出的参数,要用out标识
5、在函数写完时,必须要用return返回,同开始学习时写入的程序必须要打印Console.WriteLine();
6、主函数调用部分:
1)需要返回什么样的数据类型,必须在前面转换成此数据类型
例:string s=hs.hanshu();//就是将这个名为hanshu的函数里面的数据转换成string类型,赋值给s;
2)解决函数中返回多个数值的问题,就是在()内加入要输出的参数+out,需要返回几个值就+几个out;
第十部分==递归
递归的特点就是自己调用自己,return是将数值返回到上一级执行。
10-26C#基础回顾、汇总(函数重点)的更多相关文章
- JS基础回顾_函数
函数 不要使用C风格的大括号 // log function return1() { return { name: 'oceans', } } function return2() { return ...
- Javascript基础回顾 之(二) 作用域
本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者 ...
- Javascript基础回顾 之(三) 面向对象
本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者 ...
- C#基础回顾:正则表达式
C#基础回顾:正则表达式 写在前面:本文根据笔者的学习体会结合相关书籍资料对正则表达式的语法和使用(C#)进行基本的介绍.适用于初学者. 摘要:正则表达式(Regular Expressions),相 ...
- 数论算法 剩余系相关 学习笔记 (基础回顾,(ex)CRT,(ex)lucas,(ex)BSGS,原根与指标入门,高次剩余,Miller_Rabin+Pollard_Rho)
注:转载本文须标明出处. 原文链接https://www.cnblogs.com/zhouzhendong/p/Number-theory.html 数论算法 剩余系相关 学习笔记 (基础回顾,(ex ...
- 沉淀,再出发:Java基础知识汇总
沉淀,再出发:Java基础知识汇总 一.前言 不管走得多远,基础知识是最重要的,这些知识就是建造一座座高楼大厦的基石和钢筋水泥.对于Java这门包含了编程方方面面的语言,有着太多的基础知识了,从最初的 ...
- ORACLE| ORACLE基础语法汇总
创 ORACLE| ORACLE基础语法汇总 2018-07-18 16:47:34 YvesHe 阅读数 9141更多 分类专栏: [数据库] 版权声明:本文为博主原创文章,遵循CC 4.0 B ...
- [C#] C# 基础回顾 - 匿名方法
C# 基础回顾 - 匿名方法 目录 简介 匿名方法的参数使用范围 委托示例 简介 在 C# 2.0 之前的版本中,我们创建委托的唯一形式 -- 命名方法. 而 C# 2.0 -- 引进了匿名方法,在 ...
- Javascript基础回顾 之(一) 类型
本来是要继续由浅入深表达式系列最后一篇的,但是最近团队突然就忙起来了,从来没有过的忙!不过喜欢表达式的朋友请放心,已经在写了:) 在工作当中发现大家对Javascript的一些基本原理普遍存在这里或者 ...
- JavaScript 基础回顾——对象
JavaScript是基于对象的解释性语言,全部数据都是对象.在 JavaScript 中并没有 class 的概念,但是可以通过对象和类的模拟来实现面向对象编程. 1.对象 在JavaScript中 ...
随机推荐
- Python运行的17个时新手常见错误小结
1)忘记在if , elif , else , for , while , class ,def 声明末尾添加 :(导致“SyntaxError :invalid syntax”) 该错误将发生在类似 ...
- c++中的函数对象
头文件wuyong.h: #pragma once #include<iostream> using namespace std; template<typename T> s ...
- 关于Javascript没有块级作用域和变量声明提升
Javascript是没有块级作用域的,在语句块中声明的变量将成为语句块所在代码片段的局部变量.例如: if(true){ var x=3; } console.log(x); 结果输出3. 再如: ...
- Mssql 跨域查询
有数据库test1和数据库test2.其中test1中有表 table1.table2:test2 中有表 table1.三个表的字段都为为:id.xingming.shijian.shuliang. ...
- tableau 常识积累
没怎么在业务系统中使用过,所以需要好好积累.看起来很简单的东西都需要慢慢来用.下了一份它的官方文档10.3版本的.公司网络限制,不能去它官网学习.只有下班时间了. 先说一个,有时候度量值它和HANA类 ...
- 【.Net】关于内存缓存的一点记录
引言 最近看了内存缓存的一些介绍和用法,在此做个简单记录. MemoryCache 类 MemoryCache 类是.Net 4.0推出的类库,主要是为了方便在Winform和Wpf中构建缓存框架的. ...
- 让您的Chrome浏览器允许本地环境支持Ajax
对于网站前端人员来说,我们在本地开发程序的时候如果用到Ajax的话,通常会使用Firefox来测试,因为Firefox的安全策略支持本地Ajax,IE系列和Chrome都不支持. 不过,经过笔者亲身体 ...
- 炫酷自定义翻转View--第三方开源--TagCloudView
下载地址:https://github.com/ChinaZeng/3dTagCloudAndroid 贴上Demo代码: <com.moxun.tagcloudlib.view.TagClou ...
- Java中print()、printf()、println()的区别?
区别: 1.printf主要是继承了C语言的printf的一些特性,可以进行格式化输出 2.print就是一般的标准输出,输入信息后不会换行 3.println输入信息会换行 参照JAVA API的定 ...
- Unity 5 官方打包管理工具 Asset Bundle Manager
http://blog.csdn.net/suifcd/article/details/51570003 Unity5在Asset bundle 打包管理上采用了全新的方式,不需要再对每个文件进行MD ...