C#阶段小结

 

一、数据类型:

(一)内建类型:

整型(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,Day Of Week, Day Of Year
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

{

 ...

}

第一题:判断闰年平年

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class 闰平年
    {
        static void Main(string[] agre)
        {
            Console.Write("请输入一个年份:");
            string a = Console.ReadLine();
            int year = Convert.ToInt32(a);

            if (year % 400 == 0)
            {
                Console.WriteLine(year + "年是闰年");
            }
            else if (year % 4 == 0 && year % 100 != 0)
            {
                Console.WriteLine(year + "年是闰年");
               
            }
            else
            {
                Console.WriteLine(year + "年是平年");
            }
        }
    }
}


第二题:判断一元二次方程根的情况

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            //输入
            Console.Write("分别输入a,b,c三个数");
            string a1 = Console.ReadLine();
            string b1 = Console.ReadLine();
            string c1 = Console.ReadLine();
            int a = Convert.ToInt32(a1);
            int b = Convert.ToInt32(b1);
            int c = Convert.ToInt32(c1);

            if (a == 0)
            {
                Console.WriteLine("不是一元二次方程");
            }
            else
            {
                int d = b * b - 4 * a * c;
                if (d < 0)
                {
                    Console.WriteLine("一元二次方程无实根");
                }
                else if (d == 0)
                {
                    Console.WriteLine("一元二次方程有两个相同实根");
                }
                else
                {
                    Console.WriteLine("一元二次方程有两个不同实");
                }
            }

        }
    }
}

第三题:判断男女的身高体重是否正常

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class 体重
    {
        static void Main(string[] agre)
        {
            Console.Write("请输入你的性别(男,女):");
            string sex = Console.ReadLine();
            Console.Write("请输入你的身高(cm):");
            string h = Console.ReadLine();
            int high = Convert.ToInt32(h);
            Console.Write("请输入你的体重(KG):");
            string m = Console.ReadLine();
            int t = Convert.ToInt32(m);

            if (sex == "")
            {
                if (t > high - 100 + 3) 
                {
                    Console.WriteLine("你的体重偏胖。");
                }
                else if (t < high - 100 - 3)
                {
                    Console.WriteLine("你的体重偏瘦。");
                }
                else if (t >=high - 100 -3&& t<= high -100 +3)
                {
                    Console.WriteLine("你的体重正常");
                }
            }
            else if (sex == "")
            {
                if (t > high - 110 + 3)
                {
                    Console.WriteLine("你的体重偏胖。");
                }
                else if (t < high - 110 - 3)
                {
                    Console.WriteLine("你的体重偏瘦。");
                }
                else
                {
                    Console.WriteLine("你的体重正常");
                }
            }
            else
            {
                Console.WriteLine("输入的不正确,请核实。");
            }
        }
    }
}

第四题:输入一个日期判断是否正确

 static void Main(string[] args)
        {
            int year = 0, month = 0, day = 0;
            //输入
            Console.Write("请输入年:");
            year = Convert.ToInt32(Console.ReadLine());
            Console.Write("请输入月:");
            month = Convert.ToInt32(Console.ReadLine());
            Console.Write("请输入日:");
            day = Convert.ToInt32(Console.ReadLine());

            //判断运算输出
            //判断年份是否正确
            if(year < 0 || year>9999)
            {
                Console.WriteLine("年输入不正确");
            }
            else
            {
                Console.WriteLine("年正确");
            }

            //判断月份是否正确
            if (month < 1 || month > 12)
            {
                Console.WriteLine("月输入不正确");
            }
            else
            {
                Console.WriteLine("月正确");
            }

            //判断天是否正确
            if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)
            {
                if(day < 1 || day>31)
                {
                    Console.WriteLine("天输入错误,大月份最多是31天");
                }
                else
                {
                    Console.WriteLine("天正确");
                }
            }
            else if (month == 4 || month == 6 || month == 9 || month == 11)
            {
                if (day < 1 || day > 30)
                {
                    Console.WriteLine("天输入错误,小月份最多是30天");
                }
                else
                {
                    Console.WriteLine("天正确");
                }
            }
            else if(month == 2)
            {
                //闰年与平年的判断
                if(year%400==0 || year%4==0&&year%100!=0)
                {
                    //闰年
                    if (day < 1 || day > 29)
                    {
                        Console.WriteLine("天输入错误,闰年2月份最多是29天");
                    }
                    else
                    {
                        Console.WriteLine("天正确");
                    }
                }
                else
                {
                    //平年
                    if (day < 1 || day > 28)
                    {
                        Console.WriteLine("天输入错误,平年2月份最多是28天");
                    }
                    else
                    {
                        Console.WriteLine("天正确");
                    }
                }
            }
        }
    }
}

 

(二)循环

for(初始条件;循环条件;变量改变)

{  

循环体

}

循环的四要素:

循环的嵌套:打印星号。

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

迭代法: 按照某种规律通过循环迭代求解。

 

第一题:求100以内所有数的和。

 

 

 

C#阶段小结

 

C#阶段小结

 

 

 

第二题:求阶乘!(6的阶乘)

 

C#阶段小结

 

 

 

C#阶段小结

 

 

 

第三题:求年龄。(有6个小孩子排在一起,问第一个多大年龄,她说:比第二个小2岁,问第二个多大年龄,她说:比第三个小2岁,以此类推,问第六个多大年龄,她说:自己16岁,问第一个小孩子几岁?

 

C#阶段小结

 

C#阶段小结

 

第四题:一张纸的厚度是:0.15mm,假设这张纸足够大可以无限次对折,问:折26次的高度是多少?

 

C#阶段小结

 

 

 

C#阶段小结

 

第五题:棋盘放粮食(请在第一个格子放1粒粮食,第二个格子放2粒,第三个格子放四粒,以此类推,每个格子放的粮食都是前一个格子里粮食的2倍,直到放到第64个格子,请问第64个格子需要多少粮食?假如1粒粮食重量0.02克,那么棋盘64个格子的粮食一共重多少千克?

 

C#阶段小结

 

C#阶段小结

 

第六题:公园里有一只猴子和一堆桃子,猴子每天吃掉桃子数量的一半,把剩下的一半数量中扔掉一个坏的,到了第七天,猴子睁开眼发现只剩下一个桃子了,问公园原来有多少桃子?

 

C#阶段小结

 

C#阶段小结

 

 

 

第七题:落球问题(一个球从10米高度落下,每次弹起2/3的高度。问第五次弹起后的高度是多少?)

 

C#阶段小结

 

C#阶段小结

 

第八题:兔子小兔子的问题(一对新生兔,到三个月开始生一对小兔,以后每个月都会生一对小兔,小兔不断长大也会生小兔。假设兔子不死,每次只能生一对(公母),问第24个月末有多少只兔子?)

 

C#阶段小结

 

 

 

C#阶段小结

 

二、穷举法: 用循环把各种可能的情况都给走一遍,然后用if条件把满足要求的结果给筛选出来。

 

第一题:找出100以内的与7有关的数。

 

C#阶段小结

 

 

 

C#阶段小结

 

第二题:有三种硬币若干:1分,2分,5分。要组合1毛5,有哪些组合方式?

 

C#阶段小结C#阶段小结

 

第三题:买东西。小张过元旦发了100元的购物券,他要买香皂(5元),牙刷(2元),洗发水(20元)。要想把100元正好花完,如何买这三样东西?

 

C#阶段小结

 

C#阶段小结

 

第四题:百鸡百钱。有100文钱,要买100只鸡回家。公鸡2文钱一只,母鸡1文钱一只,小鸡半文钱一只。如何买?

 

C#阶段小结

 

C#阶段小结

 

第五题:百马百石。有100石粮食,母匹大马驮2石,每匹中马驮1石,每两匹小马驹一起驮1石。要用100匹马驮完100石粮食,如何按排?

 

C#阶段小结

 

C#阶段小结

 

第六题:某侦察队接到一项紧急任务,要求在A、B、C、D、E、F六个队员中尽可能多地挑若干人,但有以下限制条件:
A和B两人中至少去一人;                                 a+b>=1
A和D不能一起去;                                          a+d<=1
A、E和F三人中要派两人去;                             a+e+f==2
B和C都去或都不去;                  注释:             b+c!=1
C和D两人中去一个;                                        c+d==1
若D不去,则E也不去。                                   d+e==0||d==1
问应当让哪几个人去?

 

C#阶段小结

 

C#阶段小结

 

第七题:123()45()67()8()9=100;要求在()里面填写+或-使等式成立。

 

C#阶段小结

 

 

 

C#阶段小结

 

 

五、数组:

思想:解决大量同类数据存储和操作的问题。

特点:连续,同一类数据。

分类:一维数组,二维数组,多维数组。

 

一维数组:

定义: 数据类型[] 数组名 = new 数据类型[数组的长度] [{初始化}];

         赋值: 数组名[下标] = 值;

         可以与循环结合起来。

         取值: 数组名[下标];

         可以与循环结合起来。

 

第一题:做一个教练为6位球员打分的程序。并在此基础上显示球员总分和平均分,最高分和最低分,以及球员的代号。

 

class Class2
    {
        static void Main(string[] args)
        {
            int[] a = new int[6];
            Console.WriteLine("********球员训练记录********");

            for (int i=0;i<a.Length;i++)
            {
                Console.Write("请输入第"+(i+1)+"个球员的成绩:");
                a[i] =Convert.ToInt32( Console.ReadLine());
            }

            for (int m = 0; m < a.Length; m++)
            {
                Console.WriteLine(""+(m+1)+"个球员的成绩是"+a[m]+"");
            }

            int sum = 0;
            double ave = 0; 
            for (int n = 0; n < a.Length;n++ )
            {
                sum = sum + a[n];

            }
            ave = 1.0 * sum / a.Length;
            Console.WriteLine("球员总成绩是"+sum+",平均成绩是"+ave+"");

            int max = 0,min=200;
            int maxSub = -1, minSub = -1;
            for (int b = 0; b < a.Length;b++ )
            {
                max = max > a[b] ? max : a[b];
                maxSub = b;
            }
            for (int c = 0; c < a.Length; c++)
            {
                if(min>a[c])
                {
                    min=a[c];
                    minSub=c;
                }
            }
            Console.WriteLine((maxSub+1)+"球员中最高成绩是" + max + ","+(minSub+1)+"最差成绩是"+min+"");


        }
    }
}

 

 

 

 

 

 

 

C#阶段小结

上一篇:FormWindowState.Maximized的陷阱


下一篇:分布式数据库的数据备份/恢复,这些你一定要了解