学习了Main方法和数据类型后,今天我们就来学习控制台的输入和输出方法,实现简单的代码效果。

        在c语言中如果想打印一句话到控制台的话使用的是printf("这里写要显示在控制台上的话"),在c#语言中,我们的代码语言书写更加流畅,如果你有一点英语基础学习起来就跟方便了。

        首先让我们来学习一个类,Console控制台类,对于控制台的一些操作以及特性都可以在Console类的成员中找到,下面是关于控制台输出的代码:

控制台输入python 控制台输入代码_用户名控制台输入python 控制台输入代码_控制台输入python_02控制台输出

1
using System;
 2
using System.Collections.Generic;
 3
using System.Linq;
 4
using System.Text;
 5

 6
namespace 控制台练习
 7
{
 8
    class 控制台输入输出
 9
    
{
10
        static void Main(string[] args)
11
        
{
12
            //使用“”括起要显示在控制台上的语句,如提示语句。
13
            Console.WriteLine("我会显示在控制台上,而且输出后光标自动换行。");
14
            Console.Write("如果用write方法输出,光标不会换行。");
15
        }
16
    }
17
}
18

控制台输入python 控制台输入代码_用户名_03

请按住ctrl+F5执行如上代码,注意如果出现如下界面,请双击错误提示,定位到错误代码,根据修改提示进行修改,直到生成成功,能够运行。

控制台输入python 控制台输入代码_string类_04

 

比如我现在的错误提示表明,控制台练习下包含两个Main方法,如果出现这个问题,就目前的情况来看,你可以重新创建一个控制台程序。

显示效果:

 我会显示在控制台上,而且输出后光标自动换行。
如果用write方法输出,光标不会换行。请按任意键继续. . .

 执行后出现的“请按任意键继续…”为控制台自动显示,你会发现这句话和第二句在同一行显示。

下面我们使用变量来输出如上的效果:

控制台输入python 控制台输入代码_用户名控制台输入python 控制台输入代码_控制台输入python_02使用变量输出

1  static void Main(string[] args)
 2         {
 3             //定义一个string类型的变量hhxs(换行显示)
 4             string hhxs = "我会显示在控制台上,而且输出后光标自动换行。";
 5 
 6             //输出变量hhxs的值:注意此时不应该给变量加双引号,否则将输出hhxs这四个字母,而不是变量在内存中存放的正真的值
 7             Console.WriteLine(hhxs);
 8 
 9             //定义一个string类型的变量bhhxs(不换行显示)
10             string bhhxs = "如果用write方法输出,光标不会换行。";
11 
12             //使用'+'符号,将输出字符串和变量bhhxs的值拼接在一起的效果。
13             Console.Write("使用+号拼接字符串:"+bhhxs);
14         }

效果我会显示在控制台上,而且输出后光标自动换行。

使用+号拼接字符串:如果用write方法输出,光标不会换行。请按任意键继续. . .

 

      这种使用变量的输出方式是今后学习的重点,特别是使用‘+’号字符串的连接,下面来写练习这样的效果:

请输入你的用户名:
请按任意键继续. . .

代码如下:

          

string yhm = "请输入你的用户名:";
            Console.WriteLine(yhm);

       请同学们考虑一下,如果用户在你的程序的控制台下写下他的用户名为:毛驴,然后实现这样的效果:

习题一

请输入你的用户名:毛驴
你的用户名为毛驴
请按任意键继续. . .

 

      大家要想到的是,第二句的“你的用户名为”后面的“毛驴”是因为用户填写的不同而随着改变,这是就需要将用户所写在控制台上的内容读取下来,先存在一个变量里面,然后再把这个变量显示出来,是就是这个效果的思路,那么如何读取控制台的输入内容呢?C#就提供了一个ReadLine()的方法,用英语翻译一下就能记住“读一行”,当用户输入结束后,按一下Enter回车键这个方法便会读取的用户写的内容,接下来就应该考虑读完内容后要存在变量里,这个变量应该定义为什么类型的呢?用户写在了控制台上,无论写的是数字还是文字,都是一种文本的形式,所以我们应该定义一个string类型的变量来存放,现在大家试着写一下这段代码: 

控制台输入python 控制台输入代码_用户名控制台输入python 控制台输入代码_控制台输入python_02Code

1            Console.Write("请输入你的用户名:");
2             //读取后的内容存放在name变量里
3             string name = Console.ReadLine();
4             //然后将name变量输出出来,这样就达到了输出结果随用户的填写内容而改变
5             Console.WriteLine("你的用户名为"+name);

         现在大家应该牢牢记住的是第3行代码,即将用户写的内容用ReadLine()方法读取后存放在string类型的变量里,需要你们突破习惯思维的是,如果用户输入的数字,读取这个数字后也应该存放在string类型的变量里,原因是这个数字是以文本的形式写出来的。

现在请大家继续写代码实现如下效果:

习题二

请输入你的用户名:大灰狼
你的年龄是:28
你的用户名为大灰狼;你的年龄为28
请按任意键继续. . .

控制台输入python 控制台输入代码_用户名控制台输入python 控制台输入代码_控制台输入python_02习题二答案

1            Console.Write("请输入你的用户名:");
2             string name = Console.ReadLine();
3 
4             Console.Write("你的年龄是:");
5             string age = Console.ReadLine();
6 
7             //将要显示的提示语句和变量的值用+号拼接起来。
8             Console.WriteLine("你的用户名为"+name+";你的年龄为"+age);

      根据教学中发现学生们常见的错误一:

1            Console.Write("请输入你的用户名:");
2             Console.Write("你的年龄是:");
3             string name = Console.ReadLine();
4             string age = Console.ReadLine();
5

         出现这种错误的学生请记住,就是你提示一句是,用户应该就填写姓名了,这时就应该马上去读取用户名,所以不应该全部提示出两句话后再去读取用户所填写的内容。

        错误二:

         不知道如何显示出变量合并显示的结果,如name变量后不知道加‘+’与后面的年龄提示进行连接。

        习题二的第8行代码还可以使用占位符{n}的格式来书写:

 //在要输出变量值的位置使用占位符{n}来占位,然后用','号来增加变量
            //n从0开始计数,如果要输出3个变量,那么最后一个n的值应该为2
            Console.WriteLine("你的用户名为{0};你的年龄为{1}" , name, age);

          如果是要输出一个变量的name,写法为      Console.WriteLine("你的用户名为{0}" , name); 即每增加输出一个变量,就应该增加一个占位符,同时增加一个变量,变量间用‘,’隔开。

        请大家实现习题三的效果:

 

习题三

请输入你的名字:大灰狼
你的年龄是:花样年华
你的性别是:雄性
一只正值花样年华的雄性大灰狼,正在等待他的爱人。
请按任意键继续. . .

 结果显示请同学们采用占位符的方式。

控制台输入python 控制台输入代码_用户名控制台输入python 控制台输入代码_控制台输入python_02习题三答案

1             Console.Write("请输入你的名字:");
2             string name = Console.ReadLine();
3             Console.Write("你的年龄是:");
4             string age = Console.ReadLine();
5             Console.Write("你的性别是:");
6             string sex= Console.ReadLine();
7             Console.WriteLine("一只正值{0}的{1}{2},正在等待他的爱人。",age,sex, name);
8

          对于输入的读取除了ReadLine()方法外,还有Read()方法,但是这种方法的使用较少,而且用法与ReadLine不一致,建议同学们不要使用,而且暂时不需掌握,本节课的学习到此结束,下节课我们来实现加法的运算,这时就需要用到数据类型的转换,这将是下节课的学习重点。

控制台输入python 控制台输入代码_用户名控制台输入python 控制台输入代码_控制台输入python_02Code

1             string a = "aa";
2             string b = a;
3             string c = string.Copy(a);
4             Console.WriteLine(a ==b);
5             Console.WriteLine(a == c);
6             Console.WriteLine((object)a == (object)b);
7             Console.WriteLine((object)a == (object)c);

答案是True  True  True  False,这道题6、7行涉及到了数据类型底层的知识,不需要现在知道,这道题是让一个变量等于另一个变量有两种方法,进过第二行和第三行的执行,现在变量b和c的值都是“aa”,第4、5行判断他们的值是否相等,答案是相等的。

控制台输入python 控制台输入代码_用户名控制台输入python 控制台输入代码_控制台输入python_02运算符

1       static void Main(string[] args)
 2         {
 3             int a = 0;
 4             int a1;
 5             a1 = a++;
 6             //相当于 a1=a;a=a+1;
 7             int b = 0;
 8             int b1;
 9             b1 = ++b;
10             //相当于 b=b+1;b1=b;
11             Console.WriteLine(a);
12             Console.WriteLine(a1);
13             Console.WriteLine(b);
14             Console.WriteLine(b1);
15         }

答案是1,0,1,1