zoukankan      html  css  js  c++  java
  • c#总结

    数据类型--变量与常量--运算符与表达式--语句(if,for)--数组--函数--结构体

    一、数据类型:
    (一)内建类型
    整型(int short long byte uint ushort ulong sbyte),浮点(double float decimal),布尔(bool),字符(char)

    对于整型和浮点型都有个ToString("格式化字符串"):
    #——任意一个数字。有的话就显示,没有就不显示。
    0——必须有一个数字,没有的话就补零。
    .——小数点
    ,——千位分隔。

    (二)常用的类
    Math DateTime string
    Math:
    Math.Ceiling(double ):大于当前小数的最小整数。
    Math.Floor(double):小于当前小数的最大整数。
    Math.Round(double):四舍五入
    DateTime:
    Year,Month,Day,Hour,Minute,Second,MilliSecond,DayOfWeek,DayOfYear
    AddYears(n),AddMonths(),AddDays().........
    ToString("格式化字符串"):格式显示。
    yyyy,yy——年份。MM,M——月份。dd,d——天。hh,h——时。mm,m——分。ss,s——秒。ms——毫秒

    (三)自定义类型
    struct

    二、变量与常量:
    (一)变量就是装数据容器。——U盘
    定义:
    数据类型 变量名[ = 值],变量名[ = 值],....;
    int a,b; int a = 5,b;
    变量的命名规则:
    1.变量名只能由字母、数字、下划线组成
    2.只能字母,下划线开头
    3.不能与关键词重复。
    赋值:
    变量名=值;——注意:变量类型与等号右边的值类型相一致。不一致就需要进行类型转换。
    类型转换:
    1.自动转换:一般来说自动转换,只要不存在丢数据的可能性,计算就会自动转化。例如:double a = 3+5.0;
    2.强制转换:只要存在丢数据的可能性,计算机就不给自动转化,需要手动强制转化。
    Convert.Toxxx(); Convert.ToInt32();
    double a = 3.14;
    int b = (int)a;
    取值:直接写变量名。
    (二)常量:常量也是装数据的容器,但在运算过程中常量不能放在单等的左边。——一次性光盘
    分类:字面常量,符号常量。
    定义:const int PI = 3.14;
    注意:常量在定义的时候必须要赋值。
    取值:直接使用常量取值。

    三、运算符:
    算术,关系,逻辑,其它
    (一)算术——7
    + - * / % ++ --
    整数除整数还是整数。
    (二)关系——6
    == != > >= < <=
    (三)逻辑——3
    && || !
    (四)其它
    1.复合运算符:+= -= *= /= %=
    2.赋值: =
    3.条件运算符:表达式1?表达式2:表达式3

    四、语句:顺序、分支、循环
    (一)分支——if
    if(表达式)
    {
    }

    if(表达式)
    {
    }
    else
    {
    }

    if(表达式)
    {
    }
    else if(表达式)
    {
    }
    ...
    else
    {
    }

    if(表达式)
    {
    if(表达式)
    {
    }
    else
    {
    }
    }
    else
    {
    ...
    }

    例子:
    1.判断闰年,平年
    2.一元二次方程根的情况
    3.男女体重与身高
    4.判断日期是否正确。


    (二)循环
    for(初始条件;循环条件;变量改变)
    {
    循环体
    }
    循环的四要素:

    循环的嵌套:打印星号。

    两类问题:迭代法,穷举法。

    迭代法: 按照某种规律通过循环迭代求解。
    求100以内数的和,求阶乘。
    1.5个小孩子求年龄
    2.棋盘上放粮食
    3.折纸与珠峰的高度。
    4.落球问题。
    5.猴子吃桃子
    6.兔子生兔子。

    穷举法:把所有的情况都走一遍,根据条件筛选。
    求100以内与7相关的数。
    1.买东西。
    2.百鸡百钱,百马百石。
    3.侦察兵
    4.求等式。


    五、数组:
    思想:解决大量同类数据存储和操作的问题。
    特点:连续,同一类数据。
    分类:一维数组,二维数组,多维数组。

    一维数组:
    定义:
    数据类型[] 数组名 = new 数据类型[数组的长度] [{初始化}];
    赋值:
    数组名[下标] = 值;
    可以与循环结合起来。
    取值:
    数组名[下标];
    可以与循环结合起来。

    例子:
    1.球员打分
    2.选班长
    3.36选7
    3.青歌赛。

    二维数组:
    定义:
    数据类型[,] 数组名 = new 数组类型[行数,列数] [{初始化}];
    赋值:
    数组名[行下标,列下标] = 值;
    取值:
    数组名[行下标,列下标];
    例子:
    1.学生成绩。
    2.推箱子。

    两个应用:二分法查找,冒泡排序。
    二分法查找思想:前提是数组有序,每次找中间的值对比,否满足条件就扔一半。
    使用最大下标max、最小下标min,中间值下标mid,控制查找的范围。 mid = (max+min)/2; max = mid+1; min = mid-1;
    如果一直查到min>max就结束了,说明没有找到。

    冒泡排序的思想:相邻两个数进行依次对比,互换。
    两层循环,外层循环趟数,内层循环每趟的次数。
    趟数:n-1
    次数:n-i
    for(int i=1;i<=n-1;i++)
    {
    for(int j=1;j<=n-i;j++)
    {
    if(a[j] > a[j-1])
    {
    互换。
    }
    }
    }

    六、函数:
    什么是函数:能够完成某个独立功能模块就可称之为函数。
    为什么要用函数:结构清晰,分工开发,代码重用。
    四要素:函数名,形参,返回类型,函数体。
    定义语法:
    返回类型 函数名(形参列表)
    {
    函数体
    }
    调用:
    函数名(实参列表);
    数据类型 变量名 = 函数名(实参列表);

    函数的传值与传址的问题。
    1.内建类型,日期时间都是默认传值。 ——ref
    2.数组,字符串默认都是传址。

    函数的返回值。——return 值或变量;要保持return后面的类型与函数的返回类型要一致。

    递归。自己调自己。
    语法思想:
    返回类型 函数名(参数)
    {
    1.结束递归的判断。
    2.递归运算:函数名(参数);
    }

    七、结构体:
    为什么要用结构体?自己定义的复合类型,更好地模拟生活中的各种对象。

    定义
    struct 结构体名
    {
    public 类型 子变量名;
    public 类型 子变量名;
    ....
    }

    使用:
    结构体名 结构体变量 = new 结构体名();
    结构体变量.子变量 = 值;
    结构体变量.子变量;

    结构体数组:
    结构体类型[] 数组名 = new 结构体类型[长度];
    数组名[下标].子变量

    如何使用循环来操作结构体数组。

    例子:学生成绩统计。对战的小游戏。

  • 相关阅读:
    Leetcode 538. Convert BST to Greater Tree
    Leetcode 530. Minimum Absolute Difference in BST
    Leetcode 501. Find Mode in Binary Search Tree
    Leetcode 437. Path Sum III
    Leetcode 404. Sum of Left Leaves
    Leetcode 257. Binary Tree Paths
    Leetcode 235. Lowest Common Ancestor of a Binary Search Tree
    Leetcode 226. Invert Binary Tree
    Leetcode 112. Path Sum
    Leetcode 111. Minimum Depth of Binary Tree
  • 原文地址:https://www.cnblogs.com/w297613932/p/4205866.html
Copyright © 2011-2022 走看看