教学思路C#之入门四 认识控制台,学习输入输出

本文介绍了C#中控制台的基本输入输出操作,包括Console.WriteLine和Console.Write的区别,以及如何使用Console.ReadLine方法读取用户的输入,并通过实例展示了如何结合变量和字符串拼接实现动态输出。
  学习了Main方法和数据类型后,今天我们就来学习控制台的输入和输出方法,实现简单的代码效果。
        在c语言中如果想打印一句话到控制台的话使用的是printf("这里写要显示在控制台上的话"),在c#语言中,我们的代码语言书写更加流畅,如果你有一点英语基础学习起来就跟方便了。
        首先让我们来学习一个类,Console控制台类,对于控制台的一些操作以及特性都可以在Console类的成员中找到,下面是关于控制台输出的代码:
InBlock.gif 1using System; 
InBlock.gif 2using System.Collections.Generic; 
InBlock.gif 3using System.Linq; 
InBlock.gif 4using System.Text; 
InBlock.gif 5 
InBlock.gif 6namespace 控制台练习 
InBlock.gif 7{ 
InBlock.gif 8        class 控制台输入输出 
InBlock.gif 9        { 
InBlock.gif10                static void Main(string[] args) 
InBlock.gif11                { 
InBlock.gif12                        //使用“”括起要显示在控制台上的语句,如提示语句。 
InBlock.gif13                        Console.WriteLine("我会显示在控制台上,而且输出后光标自动换行。"); 
InBlock.gif14                        Console.Write("如果用write方法输出,光标不会换行。"); 
InBlock.gif15                } 
InBlock.gif16        } 
InBlock.gif17}
请按住ctrl+F5执行如上代码,注意如果出现如下界面,请双击错误提示,定位到错误代码,根据修改提示进行修改,直到生成成功,能够运行。
 
比如我现在的错误提示表明,控制台练习下包含两个Main方法,如果出现这个问题,就目前的情况来看,你可以重新创建一个控制台程序。
显示效果:
 我会显示在控制台上,而且输出后光标自动换行。
如果用write方法输出,光标不会换行。请按任意键继续. . .
 执行后出现的“请按任意键继续…”为控制台自动显示,你会发现这句话和第二句在同一行显示。
下面我们使用变量来输出如上的效果:
 
效果我会显示在控制台上,而且输出后光标自动换行。
使用+号拼接字符串:如果用write方法输出,光标不会换行。请按任意键继续. . .
 
      这种使用变量的输出方式是今后学习的重点,特别是使用‘+’号字符串的连接,下面来写练习这样的效果:
请输入你的用户名:
请按任意键继续. . .
代码如下:
            string yhm = "请输入你的用户名:";
            Console.WriteLine(yhm);
       请同学们考虑一下,如果用户在你的程序的控制台下写下他的用户名为:毛驴,然后实现这样的效果:
习题一
请输入你的用户名:毛驴
你的用户名为毛驴
请按任意键继续. . .
 
      大家要想到的是,第二句的“你的用户名为”后面的“毛驴”是因为用户填写的不同而随着改变,这是就需要将用户所写在控制台上的内容读取下来,先存在一个变量里面,然后再把这个变量显示出来,是就是这个效果的思路,那么如何读取控制台的输入内容呢?C#就提供了一个ReadLine()的方法,用英语翻译一下就能记住“读一行”,当用户输入结束后,按一下Enter回车键这个方法便会读取的用户写的内容,接下来就应该考虑读完内容后要存在变量里,这个变量应该定义为什么类型的呢?用户写在了控制台上,无论写的是数字还是文字,都是一种文本的形式,所以我们应该定义一个string类型的变量来存放,现在大家试着写一下这段代码: 
InBlock.gif Console.Write("请输入你的用户名:"); 
InBlock.gif                         //读取后的内容存放在name变量里 
InBlock.gif                         string name = Console.ReadLine(); 
InBlock.gif                        //然后将name变量输出出来,这样就达到了输出结果随用户的填写内容而改变 
InBlock.gif                        Console.WriteLine("你的用户名为"+name);
 
         现在大家应该牢牢记住的是第3行代码,即将用户写的内容用ReadLine()方法读取后存放在string类型的变量里,需要你们突破习惯思维的是,如果用户输入的数字,读取这个数字后也应该存放在string类型的变量里,原因是这个数字是以文本的形式写出来的。
现在请大家继续写代码实现如下效果:
习题二
请输入你的用户名:大灰狼
你的年龄是:28
你的用户名为大灰狼;你的年龄为28
请按任意键继续. . .
InBlock.gif            Console.Write("请输入你的用户名:"); 
InBlock.gif                         string name = Console.ReadLine(); 
InBlock.gif    
InBlock.gif                         Console.Write("你的年龄是:"); 
InBlock.gif                        string age = Console.ReadLine(); 
InBlock.gif 
InBlock.gif                        //将要显示的提示语句和变量的值用+号拼接起来。 
InBlock.gif                        Console.WriteLine("你的用户名为"+name+";你的年龄为"+age);
InBlock.gif根据教学中发现学生们常见的错误一: 
InBlock.gif                     Console.Write("请输入你的用户名:"); 
InBlock.gif                     Console.Write("你的年龄是:"); 
InBlock.gif                        string name = Console.ReadLine(); 
InBlock.gif                        string age = Console.ReadLine();
        
 
出现这种错误的学生请记住,就是你提示一句是,用户应该就填写姓名了,这时就应该马上去读取用户名,所以不应该全部提示出两句话后再去读取用户所填写的内容。
        错误二:
         不知道如何显示出变量合并显示的结果,如name变量后不知道加‘+’与后面的年龄提示进行连接。
        习题二的第8行代码还可以使用占位符{n}的格式来书写:
   
InBlock.gif//在要输出变量值的位置使用占位符{n}来占位,然后用','号来增加变量 
InBlock.gif                        //n从0开始计数,如果要输出3个变量,那么最后一个n的值应该为2 
InBlock.gif                        Console.WriteLine("你的用户名为{0};你的年龄为{1}" , name, age); 
          如果是要输出一个变量的name,写法为      Console.WriteLine("你的用户名为{0}" , name); 即每增加输出一个变量,就应该增加一个占位符,同时增加一个变量,变量间用‘,’隔开。
        请大家实现习题三的效果:
 
习题三
请输入你的名字:大灰狼
你的年龄是:花样年华
你的性别是:雄性
一只正值花样年华的雄性大灰狼,正在等待他的爱人。
请按任意键继续. . .
 结果显示请同学们采用占位符的方式。
          对于输入的读取除了ReadLine()方法外,还有Read()方法,但是这种方法的使用较少,而且用法与ReadLine不一致,建议同学们不要使用,而且暂时不需掌握,本节课的学习到此结束,下节课我们来实现加法的运算,这时就需要用到数据类型的转换,这将是下节课的学习重点。
答案是True  True  True  False,这道题6、7行涉及到了数据类型底层的知识,不需要现在知道,这道题是让一个变量等于另一个变量有两种方法,进过第二行和第三行的执行,现在变量b和c的值都是“aa”,第4、5行判断他们的值是否相等,答案是相等的。
InBlock.gif int a = 0; 
InBlock.gif                     int a1; 
InBlock.gif                     a1 = a++; 
InBlock.gif                     //相当于 a1=a;a=a+1; 
InBlock.gif                     int b = 0; 
InBlock.gif                     int b1; 
InBlock.gif                     b1 = ++b; 
InBlock.gif                     //相当于 b=b+1;b1=b; 
InBlock.gif                     Console.WriteLine(a); 
InBlock.gif                     Console.WriteLine(a1); 
InBlock.gif                     Console.WriteLine(b); 
InBlock.gif                     Console.WriteLine(b1);
答案是1,0,1,1
本文转自叶子文文博客51CTO博客,原文链接http://blog.51cto.com/leafwf/185711如需转载请自行联系原作者

叶子文文
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值