C#的初学知识点_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > C#的初学知识点

C#的初学知识点

 2017/8/19 18:31:22  I丶Promise  程序员俱乐部  我要评论(0)
  • 摘要:初学C#初见Hello,World第一句源代码:Console.WriteLine("Hello,World");;认识.Net;编译工具:VisualStudio;主函数:Publicstaticvoidmain(string[]args);输出语句:Console.WriteLine("Hello,world");变量和数据类型数据类型:常见的C#数据类型:char.string.int.double变量:变量的语法:数据类型+空格+变量名+“;”;变量的赋值:变量名+“=”+数据+“
  • 标签:C#

初学C#


 初见Hello,World

第一句源代码:Console.WriteLine("Hello,World");;

认识.Net;

编译工具:Visual Studio

主函数:Public static void main(string[] args);

输出语句:Console.WriteLine("Hello,world");


 变量和数据类型

数据类型:常见的C#数据类型:char.string.int.double

变量:变量的语法:数据类型+空格+变量名+“;”;变量的赋值:变量名+“=”+数据+“;”

变量的命名:语法:数据类型+空格+名称

变量的使用技巧:变量的三要素:数据类型、变量名、变量值

数据的运算:double类型和int类型运算,返回类型为double

字符串运算:字符串运算的方式是拼接;拼接符号:“+”

输入语句:内容:Console.ReadLine();

类型转换:任何类型转换到string: 待转换的数据.ToString();

数字类型:整数用int,实数用double

11转义符“\”:··以反斜线"\"开头,后跟一个或几个字符

代码注释:单行注释,多行注释和文档注释

软件中的错误及调试:编译错误,运行错误和逻辑错误


 运算符和表达式

认识运算符:一目运算符、二目运算符、三目运算符

小括号:类型转换、改变运算顺序、函数调用

算术运算符:

变量名++(--):1.计算返回结果,与变量相同;2.将变量的值增加1

++(--)变量名:1.计算返回结果,变量值加1;2.将变量的值增加1

赋值运算符: =;+=;-=;/=;%=

逻辑运算符:true和false

三目运算符:判断条件?操作数1:操作数2

表达式:int a=1+2

运算符优先级:优先级越高的运算符,会优先得到执行

健康计算器:

class="code_img_closed" src="/Upload/Images/2017081918/0015B68B3C38AA5B.gif" alt="">
while(true)
            {
                //完成所有的提示工作并存入输入的变量;
                Console.WriteLine("请输入你的性别(男或女):");
                string input = Console.ReadLine();
                if (input == "" || input == "")
                {
                    Console.WriteLine("请输入你的身高(厘米):");
                    double height = double.Parse(Console.ReadLine());
                    Console.WriteLine("请输入你的体重(千克):");
                    double weight = double.Parse(Console.ReadLine());
                    //计算标准体重
                    double standarWeigtht = input == "" ? (height - 80) * 0.7 : (height - 70) * 0.6;
                    if (weight < standarWeigtht * 0.9)
                    {
                        Console.WriteLine("标准体重的范围是:" + 0.9 * standarWeigtht + "-----" + 1.1 * standarWeigtht + "之间~");
                        Console.WriteLine("很遗憾!您的体重偏瘦,请注意补充营养!");
                    }
                    else if (weight > 1.1 * standarWeigtht)
                    {
                        Console.WriteLine("标准体重的范围是:" + 0.9 * standarWeigtht + "-----" + 1.1 * standarWeigtht + "之间~");
                        Console.WriteLine("很遗憾!您的体重偏胖,请注意多多锻炼!");
                    }
                    else
                    {
                        Console.WriteLine("标准体重的范围是:" + 0.9 * standarWeigtht + "-----" + 1.1 * standarWeigtht + "之间~");
                        Console.WriteLine("恭喜您!您的身材很健康,请继续保持~");
                    }
                    Console.ReadLine();
                    break;
                }
                else
                {
                    Console.WriteLine("别开玩笑好嘛!请重新输入“男”或者“女”t");
                }
            }
        }
logs_code_collapse">健康计算器

 


流程控制

流程图:功能分析和代码书写分离;更加专注,便与解决复杂问题

if判断:代码格式:if(条件1){代码1}   else if  (条件2)  {代码2}   else  {代码N}

变量作用域:在大括号内,该变量有效,大括号外无效

收益计算器:

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

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            /*
            int sum = 0;
            for (int i = 1; i <= 100;i++ ) 
            {
                sum += i;
            }
            Console.WriteLine(sum);
             */

            /*
            Console.WriteLine("请输入一个数:");
            int input = int.Parse(Console.ReadLine());
            switch(input)
            {
                case 1: Console.WriteLine("星期一");
                    break;
                case 2: Console.WriteLine("星期二");
                    break;
                case 3: Console.WriteLine("星期三");
                    break;
                case 4: Console.WriteLine("星期四");
                    break;
                case 5: Console.WriteLine("星期五");
                    break;
                case 6: Console.WriteLine("星期六");
                    break;
                case 7: Console.WriteLine("星期日");
                    break;
                default:
                    Console.WriteLine("错误显示");
                    break;

            }
             */


            Console.WriteLine("请输入您的存款金额(万):");
            double input = double.Parse(Console.ReadLine());
            Console.WriteLine("请输入您要存款的时间(年):");
            int input2 = int.Parse(Console.ReadLine());
            if (input2 <= 0)
            {
                Console.WriteLine("请重新输入时间:");
            }
            if (input2 == 1)
            {

                if (input <= 0)
                {
                    Console.WriteLine("请重新输入金额!");
                }
                else if (input > 0 && input < 50)
                {
                    double money1 = input * 0.04 * 1;
                    Console.WriteLine("恭喜你,存款成功,1年后到期," + "您的利息为:" + money1 + "(万元)");
                }
                else
                {
                    double money2 = 1.1 * input * 0.04 * 1;
                    Console.WriteLine("恭喜你,存款成功,1年后到期," + "您的利息为:" + money2 + "(万元)");
                }

            }



            if (input2 >= 2 && input2 <= 5)
            {
                int time = (int)input2;

                if (input <= 0)
                {
                    Console.WriteLine("请重新输入金额!");
                }
                else if (input > 0 && input < 50)
                {
                    double money1 = input * 0.048 * time;
                    Console.WriteLine("恭喜你,存款成功," + input + "年后到期," + "您的利息为:" + money1 + "(万元)");
                }
                else
                {
                    double money2 = 1.1 * input * 0.048 * time;
                    Console.WriteLine("恭喜你,存款成功," + input + "年后到期," + "您的利息为:" + money2 + "(万元)");
                }

            }




            if (input2 > 5)
            {
                int time = (int)input2;

                if (input <= 0)
                {
                    Console.WriteLine("请重新输入金额!");
                }
                else if (input > 0 && input < 50)
                {
                    double money1 = input * 0.052 * time;
                    Console.WriteLine("恭喜你,存款成功," + input + "年后到期," + "您的利息为:" + money1 + "(万元)");
                }
                else
                {
                    double money2 = 1.1 * input * 0.052 * time;
                    Console.WriteLine("恭喜你,存款成功," + input + "年后到期," + "您的利息为:" + money2 + "(万元)");
                }

            }
            Console.ReadLine();
        }
    }
}
收益计算器

Switch选择:代码格式:switch()  {case 1:break;  case 2:break;}

While循环:代码格式:while(循环条件){循环体}  //循环体可以是任意功能,任意数量的代码

do While循环:先执行一次循环体

for循环:代码格式:for(表达1;表达式2;表达式3)  { 循环体}

查找问题:简单查找:在样本中,依次寻找目标数据


 数组与集合

数组:数据类型 【】 变量名 =new 数据类型【长度】

数组的定长性:长度固定不变

数组的遍历:从数组的第一项开始,依次取完数组的所有项

交换排序:

 for (int i = 0; i < arr.Length; i++)
            {
                for (int j = i + 1; j < arr.Length; j++)
                {
                    if (arr[i] > arr[j])
                    {
                        int temp = arr[i];
                        arr[i] = arr[j];
                        arr[j] = temp;
                    }
                }
            }

            for (int i = 0; i < arr.Length; i++)
            {
                Console.Write(arr[i]);
                if (i < arr.Length) { Console.Write(","); }
            }
交换排序

数组分析器:

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

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("请输入数组的长度:");
            int len = int.Parse(Console.ReadLine());
            int[] arr = new int[len];
            for (int i = 0; i < arr.Length; i++)
            {
                Console.WriteLine("请输入第" + (i + 1) + "项的值");
                arr[i] = int.Parse(Console.ReadLine());

            }
            Console.WriteLine("数组所有项的值为:");
            for (int i = 0; i < arr.Length; i++)
            {
                Console.Write(arr[i]);
                if (i < arr.Length) { Console.Write(","); }
            }
            Console.WriteLine("\n");
            Console.WriteLine("数组从小到大排序后是:");
            for (int i = 0; i < arr.Length; i++)
            {
                for (int j = i + 1; j < arr.Length; j++)
                {
                    if (arr[i] > arr[j])
                    {
                        int temp = arr[i];
                        arr[i] = arr[j];
                        arr[j] = temp;
                    }
                }
            }

            for (int i = 0; i < arr.Length; i++)
            {
                Console.Write(arr[i]);
                if (i < arr.Length) { Console.Write(","); }
            }


            //求是否为奇数
            Console.WriteLine("\n");
            Console.WriteLine("数组里的奇数有:");
            for (int i = 0; i < arr.Length; i++)
            {
                if (arr[i] % 2 != 0)
                {
                    Console.Write(arr[i]);
                    if (i < arr.Length) { Console.Write(","); }
                }
            }

            Console.WriteLine("\n");
            Console.WriteLine("数组里的质数有");
            for (int i = 0; i < arr.Length; i++)
            {
                int n = arr[i];
                bool isFind = false;

                for (int j = 2; j < n; j++)
                {

                    if (n % j == 0)
                    {
                        isFind = true;
                        break;

                    }

                }
                if (isFind == true)
                {
                    //bushizhishu
                }
                else
                {
                    Console.Write(n);
                    if (i < arr.Length) { Console.Write(","); }
                }
            }


            Console.ReadLine();



        }
    }
}
数组分析器

集合:不定长,占用内存多,遍历速度慢

数组能实现的所有功能,集合都能实现

foreach循环:只能用于遍历数组或集合

集合管理器:

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

namespace 集合管理器
{
    class Program
    {
        static void Main(string[] args)
        {
            List<int> numbers = new List<int>();
            while (true)
            {

                Console.WriteLine("集合中现有内容如下:");
                Console.WriteLine("==============================================");



                //显示集合
                if (numbers.Count == 0)
                {
                    Console.WriteLine("集合中没有元素");
                }
                else //集合的遍历
                {
                    foreach (int item in numbers)
                    {
                        Console.Write(item+"\t");
                    }
                    Console.WriteLine();//循环结束后让光标换行
                }
                Console.WriteLine("==============================================");




                Console.WriteLine("1.添加数据");
                Console.WriteLine("2.删除数据");
                Console.WriteLine("3.修改数据");
                Console.WriteLine("4.升序排序");
                Console.WriteLine("0.退出程序");
                Console.WriteLine("请选择(0-4):");
                int num = int.Parse(Console.ReadLine());
                if(num==0)
                {
                    break;
                }
                else if(num==1)
                {
                    Console.WriteLine("请输入要添加的数字:");  //添加数据
                    int input=int.Parse(Console.ReadLine());
                    numbers.Add(input);
                }
                else if(num==2)
                {
                    //删除数据
                    Console.WriteLine("请输入要删除的元素(相同元素只会删除第一个):");
                    int input=int.Parse(Console.ReadLine());
                    numbers.Remove(input);

                }
                else if(num==3)
                {
                    //修改数据
                    if(numbers.Count==0)
                    {
                        Console.Write("集合中没有任何数据可以修,按回车键继续。。。");
                        Console.ReadLine();
                    }
                    else{
                        int maxIndex=numbers.Count-1;
                    Console.WriteLine("请输入你要修改的元素下标(0-"+maxIndex+"):");
                    int input1=int.Parse(Console.ReadLine());
                        if(input1<0||input1>maxIndex)
                        {
                            Console.WriteLine("输入错误,下标超出范围,按回车键继续...");
                            Console.ReadLine();
                        }
                        else
                        {
                            Console.WriteLine("请输入新的数据:");
                            int input2=int.Parse(Console.ReadLine());
                            numbers[input1]=input2;
                        }
                    
                    }
                }
                else if(num==4)
                {
                    //升序排序
                    for (int i = 0; i<numbers.Count-1; i++)
                    {
                        for (int j = i+1; j < numbers.Count;j++ )
                        {
                            if(numbers[i]>numbers[j])
                            {
                                int temp = numbers[i];
                                numbers[i] = numbers[j];
                                numbers[j] = temp;
                            }
                           
                        }
                        
                    }
                }
                else
                {
                    Console.WriteLine("请重新选择!");
                }



                Console.Clear();//清屏
            }



        }
    }
}
集合管理器

 


 函数

认识函数:具有独立功能,并能通过名称重复使用的代码

作用域:一个变量,仅在他所定义的大括号中有效

标识符:变量名,函数名,类名,接口名,委托名,其他

声明带参数的函数:声明带参数的函数:static void 函数名(参数列表){//注释内容}

调用带参数的函数:函数编写时,参数为形参;函数调用 时,

参数为实参;实参的数量和类型必须和形参完全对应

声明带返回值的函数:static 返回类型 函数名(形参列表){//函数体}

如果一个函数不需要返回,那么它的返回类型就会void

当代码运行到return语句时,立即结束函数

返回return关键字后面的值,变量或表达式的结果

调用带返回值的函数:函数名(实参列表)

返回类型与函数声明的返回类型一致

函数签名:是一个函数的函数名、参数列表、返回类型的统称

根据它实现函数调用;根据它实现函数体

文档注释:符号:///;通常写到函数体外,用于描述函数体外的代码

函数重载(overload):是指多个函数可以使用同一个函数名,只要他们的参数列表不同

函数的相互调用:在任意一个函数中,都可以调用其他的函数

只要代码运行到调用函数的语句,就回去执行调用的函数体

递归函数:是指一个函数,直接或者间接的调用自身

递归必须有终止条件,否则,将会出现无限递归


 

发表评论
用户名: 匿名