• 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.兔子生兔子。

    穷举法:把所有的情况都走一遍,根据条件筛选。


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

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

    二维数组:
    定义:
    数据类型[,] 数组名 = new 数组类型[行数,列数] [{初始化}];
    赋值:
    数组名[行下标,列下标] = 值;
    取值:
    数组名[行下标,列下标];

    两个应用:二分法查找,冒泡排序。
    二分法查找思想:前提是数组有序,每次找中间的值对比,否满足条件就扔一半。
    使用最大下标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 结构体类型[长度];
    数组名[下标].子变量

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

  • 相关阅读:
    编写一个函数,接受三个string参数,s,oldVal和newVal。使用迭代器及insert和erase函数将s中所有oldVal替换为newVal。测试你的程序,用他替换通用的简写形式,如,将“tho”,将“”“”
    输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
    oracle中 connect by prior 递归算法
    Java实现3DES加密--及ANSI X9.8 Format标准 PIN PAN获取PIN BlOCK
    XML预览
    Javascript跳转页面和打开新窗口等方法
    Eclipse读取含有extjs的项目文件时卡死或者编写ExtJS时卡
    Oracle-更新字段-一张表的字段更新另一张的表的字段
    Oracle-表被锁住
    03_Ext_Viewport_Window_Dialog
  • 原文地址:https://www.cnblogs.com/happinesshappy/p/4425883.html
Copyright © 2020-2023  润新知