2017.2.17学习C#的第一天,我眼中的C#是什么样的?
Posted 张鑫4477
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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#。
以上是关于2017.2.17学习C#的第一天,我眼中的C#是什么样的?的主要内容,如果未能解决你的问题,请参考以下文章