从0开始学习C#第二天

今天有点小忙,一会儿抽出时间来学习。先要去见个客户,回来写个方案,下面继续学习。

今天的学习目标

zy10
1、理解掌握数据类型的隐式转换。
2、理解掌握数据类型的显式转换。
3、掌握字符串和数值间的转换方法。

short a=22222; //short[-32768--+32767] int 型包含short unshort[0--+65535]
            int n; //short 占2个字节16位 int 型4个字节32位
            n = a; //隐式转换 short型可以转换成int
            Console.WriteLine("n={0}",a);



zy11
1、通过一个程序体验一下流程控制。(不需要完全理解这个程序)
2、理解算法的概念。
3、理解程序的顺序结构。

//基姆拉尔森公式的BUG,每年的1月,2月被让为13月和14月
            int y, m, d;
            Console.WriteLine("请输入年月日");
            y = Convert.ToInt32(Console.ReadLine());
            m = Convert.ToInt32(Console.ReadLine());
            d = Convert.ToInt32(Console.ReadLine());
            if (m == 1 || m == 2) {
                m += 12;
                --y;
            }
            int week = (d + 2 * m + 3 * (m + 1) / 5 + y + y / 4 - y / 100 + y / 400 + 1) % 7;
            string weekstring = "";
            switch (week)
            {
                case 0:
                    weekstring = "星期天";
                    break;
                case 1:
                    weekstring = "星期一";
                    break;
                case 2:
                    weekstring = "星期二";
                    break;
                case 3:
                    weekstring = "星期三";
                    break;
                case 4:
                    weekstring = "星期四";
                    break;
                case 5:
                    weekstring = "星期五";
                    break;
                case 6:
                    weekstring = "星期六";
                    break;
            }
            Console.WriteLine(weekstring);
          }
//已知三角形的三条边a,b,c 求面积
            //海伦公式
            double a, b, c, p,s;
            Console.WriteLine("三角形的三条边");
            a = Convert.ToDouble(Console.ReadLine());
            b = Convert.ToDouble(Console.ReadLine());
            c = Convert.ToDouble(Console.ReadLine());
            p = (a + b + c) / 2;
            s = Math.Sqrt(p*(p-a)*(p-b)*(p-c));
            Console.WriteLine("三角形的面积为:{0}",s);



zy12
1、认识关系运算符,并理解掌握逻辑表达式。
2、认识三种逻辑运算符&& (且)   ||(或)    !(非)。
3、总结多种运算符的优先级。
4、掌握布尔变量的定义和使用。

//布尔值运算
            bool isFFFF;
            isFFFF = (4!=0);
            Console.WriteLine(isFFFF);
            isFFFF = false;
            Console.WriteLine(isFFFF);


zy13
1、认识选择结构,掌握最常用的if  else选择流程控制的程序编写方法。
2、掌握单分支if选择流程控制的程序编写方法。
3、掌握多分支if else if else ……选择流程控制的程序编写方法。
4、掌握嵌套选择结构流程控制的程序编写方法。
5、能够会用流程图设计选择结构。

  //求分支函数的值
            double a;
            a = Convert.ToDouble(Console.ReadLine());
            if (a > 0)
            {
                a++;
            }
            else {
                if (a == 0) { a = 0; }
                else
                {
                    a--;
                }
            }
            Console.WriteLine(a);


zy14
1、掌握多分支选择结构switch语句编程方法。
2、掌握switch语句编程的遍历过程。
3、掌握条件表达式?:选择结构。
4、通过深化练习,继续跟踪变量的变化过程。

//计算哪年的年月日是当年的第几天,原理:先计算当年的剩余天数,然后用365-剩余的天数
            int y, m, d;
            Console.WriteLine("请输入年月日");
            y = Convert.ToInt32(Console.ReadLine());
            m = Convert.ToInt32(Console.ReadLine());
            d = Convert.ToInt32(Console.ReadLine());
            int total = 365;//平年
            if (y % 4 == 0 && y % 100 != 0 || y % 400 == 0)  //total = (y % 4 == 0 && y % 100 != 0 || y % 400 == 0) ? (total - 29) : (total - 28);条件选择也一样
            {
                total = 366;
            }
            switch (m) {
                case 1: total -= 31; goto case 2;
                case 2:
                    if (y % 4 == 0 && y % 100 != 0 || y % 400 == 0)
                    {
                        total -= 29;
                    }
                    else {
                        total -= 28;
                    }
                    goto case 3;
                case 3: total -= 31;goto case 4;
                case 4: total -= 30;goto case 5;
                case 5: total -= 31;goto case 6;
                case 6: total -= 30;goto case 7;
                case 7: total -= 31;goto case 8;
                case 8: total -= 31;goto case 9;
                case 9: total -= 30;goto case 10;
                case 10: total -= 31;goto case 11;
                case 11: total -= 30; goto case 12;
                case 12: total -= 31; break;                        
            }
            
            Console.WriteLine("{0}年{1}月{2}日是第{3}天", y, m, d, total+d);



zy15
1、掌握循环结构的算法,并理解循环结构中的变量变化过程。
2、掌握while循环语句的编程过程。
3、理解什么是死循环。

 //计算1+100;
            double  sum;
            int i = 1;
            sum = 0;
            while (i <= 100) {
               sum += i;
               i++;
               
            }
            Console.WriteLine(sum);



zy16
1、掌握do-while循环语句的编程过程。并知道do-while和while的区别。
2、掌握for循环语句的编程过程。
3、掌握break语句和continue语句的用法。并知两者用法上的区别。
4、通过一个程序练习,学习掌握循环嵌套。

//求1+2+3+...i<2013
            int i = 0;
            int sum=0;
            do
            {
                i++;
                sum =sum+i;
            } while (sum< 2005);

            Console.WriteLine(i);



zy17
1、掌握枚举类型的定义和使用。
2、掌握结构体的定义和使用。

enum WeekDays { Sunday, Monday,Tuesday,Wednesday,Thuresday,Friday,Saturday };

namespace first_
{
    class first
    {
        static void Main(string[] args)
        {
            //用for 语句的阶层n!=1!+2!+3!....N!            
            //百元买百鸡 每只公鸡5,每只母鸡3,3只小鸡1元。问100元买100只鸡,几个公,几只母,几只小?
            //练习一下勾股定理:a*a+b*b=c*c 
            //enum枚举 在类的外面,或者在函数的外面定义
            WeekDays today;
            today = WeekDays.Saturday;
            if (today == WeekDays.Saturday || today == WeekDays.Sunday) { Console.WriteLine("I love weekday"); }
                     

        }
    }
}
//enum枚举 在类的外面,或者在函数的外面定义
            WeekDays today;
            today = (WeekDays)3;
            Console.WriteLine(today);
            WeekDays today1;
            today1 = WeekDays.Friday;
            Console.WriteLine((int)today1);
            //用for 语句来做一下枚举类型的循环 可以参与运算
            WeekDays today2;
            for (today2 = WeekDays.Sunday; today2 <= WeekDays.Saturday; today2++) { Console.WriteLine(today2); }
struct student
{//结构体
    public int number;
    public string name;
    public string sex;
}

namespace first_
{
    class first
    {
        static void Main(string[] args)
        {
            student root;
            root.number = 001;
            root.name = "root";
            root.sex = "男";
            student pro;
            pro.number = 002;
            pro.name = "pro";
            pro.sex = "女";
            Console.WriteLine("姓名:" + root.name);
            Console.WriteLine("性别:" + root.sex);
            Console.WriteLine("姓名:" + pro.name);
            Console.WriteLine("性别:" + pro.sex);
                     

        }
    }
}



zy18
1、掌握一维数组的定义和使用。
2、掌握Length属性的用法。
3、掌握foreach循环语句在数组中的使用。

//一维数组
            int []scors = { 123, 111, 134, 123, 111 };
            int i = 0;
            int sum1 = 0;
            for (i = 0; i < scors.Length; i++) 
            { 
                Console.WriteLine(scors[i]);
                sum1 += scors[i];
            
            }
            Console.WriteLine(sum1);   
  //一维数组foreach 的使用
            string[] fridname = { "1","2","3","4", "5" };
            foreach (string name in fridname)
            {
                Console.WriteLine(name);
            }



zy19
1、掌握二维数组的定义和使用,由此推到多维数组。
2、掌握二维数组的for循环及foreach循环。
3、掌握可变数组的定义和使用。
4、掌握foreach循环语句在可变数组中的使用。

//多维数组
           int [,]Matrix=new int[3,3]{{1,2,3},{4,5,6},{7,8,9}};
           int sum = 0;
            for (int i=0;i<3;i++)
            {
                for (int j=0;j<3;j++)
                {
                    Console.WriteLine(Matrix[i,j]+"");
                    sum+=Matrix[i,j];
                }

            }
            Console.WriteLine("sum={0}",sum);
 //多维数组foreach
           int [,]Matrix=new int[3,3]{{1,2,3},{4,5,6},{7,8,9}};
           int sum = 0;
           foreach (int nmuber in Matrix) {
               sum += nmuber;
               Console.WriteLine(nmuber);
           }
           Console.WriteLine("sum={0}", sum);
//可变数组
            int[][] aArray = new int[2][]; int[][] aArray = new int[2][]{new int [3]{1,2,3},new int [4]{4,5,6,7}};
            aArray[0]=new int [3]{1,2,3};
            aArray[1] = new int[4] { 4, 5, 6 ,7};
            foreach (int  element in aArray[0])
            {
                Console.Write(element);
            }
            foreach (int  element in aArray[1])
            {
                Console.Write(element);
            }



zy20
1、理解函数的概念,并知道使用函数的好处。
2、掌握如何定义和使用函数,并知道函数是如何运行的。
3、掌握返回语句return的用法。

static string Weekdata(int y, int m, int d) 
        { 
        if (m==1||m==2)
        {
            m += 12;
            y--;
          }
        int week = (d + 2 * m + 3 * (m + 1) / 5 + y + y / 4 - y / 100 + y / 400 + 1) % 7;
        string weekstring = "";
        switch (week)
        {
            case 0:
                weekstring = "星期天";
                break;
            case 1:
                weekstring = "星期一";
                break;
            case 2:
                weekstring = "星期二";
                break;
            case 3:
                weekstring = "星期三";
                break;
            case 4:
                weekstring = "星期四";
                break;
            case 5:
                weekstring = "星期五";
                break;
            case 6:
                weekstring = "星期六";
                break;
        }
        return weekstring; //返回结果
        }


        static void Main(string[] args)
        {
            string weekday = Weekdata(2013,10,29);
            Console.WriteLine(weekday);
        }
原文地址:https://www.cnblogs.com/develop/p/3385313.html