zoukankan      html  css  js  c++  java
  • 2017.2.17学习C#的第一天,我眼中的C#是什么样的?

    今天是学习C#的第一天,感谢凯哥带我走上了学习C#的正路(昨天资料发下来自己看了下,云里雾里,没咋看懂)。

    一 什么是C#(第一天学习)

    首先感谢凯哥让我了解了C#的起源,发展。从最初的C到C++再到现在的C++++(也就是C#),它与JAVA的恩恩怨怨,微软和JAVA的恩恩怨怨(具体是啥我也没怎么记住,还是凯哥说的对,度娘上有详细的解释,我就不复制粘贴了)。但是有一点我记得很清楚,C#中的#就是sharp的意思,sharp是锋利,敏捷的意思,因此在我眼中,C#就是锋利,敏捷的编程语言!让我更效率的让电脑明白我的意图,更效率的编写程序。

    二 入门(控制台应用程序编写)

    如何进入编写控制台应用程序我就不多写了,没有什么技术含量(有几个要点需要注意一下1.模型选择.net framework 4.0,避免出现模型过低或过高的情况。2.名称一定要改好,避免出现程序过多造成的混乱情况)。

    (一)

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 
     6 namespace 测试3
     7 {
     8     class Program
     9     {
    10         static void Main(string[] args)
    11         {
    12         }
    13     }
    14 }

    这是一个新建的控制台应用程序编写初始状态。

    有如下几个要点:

    1.namespace 是程序的命名空间,测试2就是程序名称。
    2.class Program 代表程序的类。(这组数据是Program类)

    3.static void Main(string[] args)表示这个程序应用的哪个方法。(大概意思就是这个程序运用了string[] args的方法)

    4.将鼠标移动到行数右侧的大括号{}时,会显示出括号范围,数据编写都在运用了哪种方法的范围括号内。

    (二)

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 
     6 namespace 第一天上午学习
     7 {
     8     class Program
     9     {
    10         static void Main(string[] args)
    11         {
    12             Console.WriteLine("键盘敲烂");//显示键盘敲烂
    13             Console.WriteLine("月薪过万");//显示月薪过万
    14             Console.ReadLine();//等待回车
    15             Console.WriteLine("键盘落灰");//第一个回车后显示键盘落灰
    16             Console.ReadLine();//等待回车
    17             Console.WriteLine("回家要饭");//第二个回车后显示回家要饭
    18             Console.ReadLine();//防闪退光标
    19             }
    20         }
    21    
    22 }

    这是一个最简单的控制台应用程序的纯输出程序编写。

    启动该控制台应用输出程序后显示如下:

    开始分析:

    1,当程序启动后,控制台应用程序上显示“键盘敲烂(换行)月薪过万”,Console.WriteLine("");代码是一个纯输出型代码,作用就是在控制台应用程序中显示分号""内的内容,如果内容换成123456,那么在控制台应用程序中显示123456,但是该代码默认输出文字后自动换行,Comsole.Write("");代码与之作用相同,但是该代码不会自动默认换行(注意区别)。

    2,程序第15,17行代码也有输出文字,为什么程序运行后没有显示。这是代码Console.ReadLine("");发生作用,该代码是一个输入代码,单独出现的作用:(1)击回车后,默认换行。(2)第18行代码中作用是防止程序运行时闪退(程序运行完成,按回车后退出,防止直接退出)。

    3.当该程序点击两次回车后,显示如下:

    4,再次点击回车后,程序运行完毕,退出。

    5,每行代码后双下划线//为绿色字体,双下划线//作用是代码做一个注释,只会在代码中显示,并不会在程序运行中出现,防止代码过多引起视觉混乱,帮助理顺编写代码思路,方便构筑框架。

    6,特别注意:代码构成均为英文输入,无论是代码还是字符。如果非英文输入,代码会在错误处用红色波浪线标识,如图所示:

    该代码Console后面的点错误运用中文输入法的。,括号错误运用中文括号(),引号错误运用中文引用中文引号,分号错误运用中文分号。

    正确应为:

    (三)输入型代码:

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 
     6 namespace 测试
     7 {
     8     class Program
     9     {
    10         static void Main(string[] args)
    11         {
    12             Console.WriteLine("请输入姓名:");//显示请输入姓名:
    13             String a = (Console.ReadLine());//定义变量a,将a赋值为输入内容
    14             a = a + ",你好!";//将a再次赋值
    15             Console.WriteLine(a);//输出a
    16             Console.ReadLine();//防闪退
    17         }
    18     }
    19 }

    开始分析:

    1,第12行代码,不解释,输出代码。

    2,英文字符“”内为字符串,可以将其看成一个完整的字符串,这个字符串里面可以有许多单个字符,但在这里它被默认为一个字符串,无论里面有多少字符。

    3,着重分析第13行代码,这个代码由两部分组成,首先是String a ,这是一个定义代码,意思是定义变量a(原本a是一个变量,它可以是字母a,也可以是字符a,可以是任何东西,没有明确定义,不要将a想成是字母),使a被定义。再分析a=,(为什么是a=,而不是等号,这里牵扯到代码的合并简写,第13行完整写出应该是Sting a ;  a=Console.ReadLine(); ,合并简写体现C#代码编写的效率,敏捷),a=的意思就是将等号后面的内容赋值给a,是a由常量变成定量,那么String a =的意思就是定义常量a,使其变成定量a,后将=后面的值赋予a。Console.ReadLine()意思就是用户输入的内容。13行代码可分析为定义变量a,将用户要输入的内容赋值给变量a,使其变成常量。在这里就变成定义a为输入的内容,我输入什么,计算机就默认把我输入的内容赋值给a。

    4,第14行代码,可能觉得不对,原本已经被定义的变量a居然再次被定义,这不会造成程序混乱吗?这里需要简单分析一下:第12行中,常量a被定义且赋值,该代码已经运行完毕后,运行第13行代码,第13行代码意思就是将a再次赋值,程序不会倒退回去在运行12行代码,故而不会造成程序死机。+在这里不是加减乘除的加号,而是将加号前后两部分内容粘贴在一起的意思(在这里可以看成阿呆+你好,即为阿呆你好)。如果觉得不理解,可看如下程序,与前程序输出结果一致:

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 
     6 namespace 测试
     7 {
     8     class Program
     9     {
    10         static void Main(string[] args)
    11         {
    12             Console.WriteLine("请输入姓名:");//显示请输入姓名:
    13             String a, b ;
    14             a = (Console.ReadLine());//赋值a
    15             b = a + ",你好!";//赋值b
    16             Console.WriteLine(b);//输出b
    17             Console.ReadLine();//防闪退
    18         }
    19     }
    20 }

     原程序存在部分合并简写,两个程序输出结果相同,如下图:

    (四)本次作业分析

    练习题1:
    “请输入您的姓名:”同一行出现光标,等待用户输入
    “请输入您的性别:”光标,等待用户输入
    “请输入您的年龄:”同上
    “请输入您的身高:”同上
    “请输入您的体重:”同上
    “--------------------华丽的分割线-----------------------”
    xxx你好!您的性别是“男”,您的年龄是“18”,您的身高是“180”,您的体重是“180”。

    练习题2:
    您的身高和体重的和是“360”。

    本次将练习题1.2放在一起:

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 
     6 namespace 作业第一题
     7 {
     8     class Program
     9     {
    10         static void Main(string[] args)
    11         {
    12             Console.Write("请输入您的名字:");
    13             String name = (Console.ReadLine());//名字
    14             
    15             Console.Write("请输入您的性别:");
    16             String gender = (Console.ReadLine());//性别
    17 
    18             Console.Write("请输入您的年龄:");
    19             String age = (Console.ReadLine());//年龄
    20 
    21             Console.Write("请输入您的身高:");
    22             String height = (Console.ReadLine());//身高
    23 
    24             Console.Write("请输入您的体重:");
    25             String weight = (Console.ReadLine());//体重
    26 
    27             Console.ReadLine();//等待光标
    28 
    29             Console.WriteLine("--------------------华丽的分割线-----------------------");
    30 
    31             Console.ReadLine();//等待光标
    32            
    33             String end1 = name + "您好!您的性别是" + "" + gender +""  + ", " + "您的年龄是" + "" + age + "" + "," + "您的身高是" + "" + height +"" + "," + "您的体重是" + "" + weight+"”。";//定义end1
    34 
    35             Console.WriteLine(end1);//输出end1
    36 
    37             int height1 = int.Parse(height);
    38 
    39             int weight2 = int.Parse(weight);//字符串转变整数
    40 
    41             String end2 = "您的身高和体重的和是" + (height1 + weight2);//身高体重和定义end2
    42 
    43             Console.WriteLine(end2);//输出end2
    44 
    45             Console.ReadLine();//防闪退
    46 
    47         }
    48     }
    49 }

    这是程序运行结果:

    本次分析代码33行与41行,37和39行,其余代码均在前面有详细叙述,就不多说了。

    先分析37和39行代码,这里出现了新的代码int,这个代码的意思就是定义整数,(例如int a = 5; 这个意思就是将整数5赋值给a,使a变成整数5,。如果是string a = "5"; ,那么它的意思不使定义a为整数5,而是定义为字符串5),33和39行代码的意思就是将字符串转变成整数数字(例如字符串5转变成整数5)。如果我输入的身高和体重不是字符串数字,那会出现什么情况?

    下图所示:

    在这里可以看出如果不是数字字符,程序运行到一般就开始报错,这一点需要注意。

    第33行与第41行最主要的区别就是+的运用方式不同 ,33行为字符串,则系统默认为前后字符串相粘贴。二41行已经定义为整数数字,计算机会默认为加减乘除运算。

     这就是我在2017.02.17这一天学到的所有内容,感谢指导老师凯锅,在我学习C#第一天后,我眼中的C#。

  • 相关阅读:
    CodeForces Gym 100935G Board Game DFS
    CodeForces 493D Vasya and Chess 简单博弈
    CodeForces Gym 100935D Enormous Carpet 快速幂取模
    CodeForces Gym 100935E Pairs
    CodeForces Gym 100935C OCR (水
    CodeForces Gym 100935B Weird Cryptography
    HDU-敌兵布阵
    HDU-Minimum Inversion Number(最小逆序数)
    七月馒头
    非常可乐
  • 原文地址:https://www.cnblogs.com/zhangxin4477/p/6412983.html
Copyright © 2011-2022 走看看