一、下面是一个由*号组成的4行倒三角形图案。

要求:

1、输入倒三角形的行数,行数的取值3-21之间,对于非法的行数,要求抛出提示“非法行数!”;

2、在屏幕上打印这个指定了行数的倒三角形。

*******
*****
  ***
   *

static void Main(string[] args)
{ //1、每行需要填充的星号个数2*RowNum-1,
//2、假设有RowNum行,每行需要输出的元素总个数(包含空格占位符):2*RowNum-1
//3、从左边到右边开始填充的位置Position=RowNum - RowIndex
Console.WriteLine("请输入行数");
int RowNum=Convert.ToInt32( Console.ReadLine()); //总的行数
while (RowNum<3 ||RowNum>21) //判断输入是否合法
{
Console.WriteLine("总行数小于3或者大于21,请重新输入");
RowNum=Convert.ToInt32( Console.ReadLine());
}
int ToFillCounter;
for (int RowIndex = RowNum; RowIndex>0; RowIndex--) //控制行
{
ToFillCounter = 1;
for (int ColumnIndex = 0; ColumnIndex < 2*RowNum-1; ColumnIndex++)//控制列
{
if (RowNum - RowIndex <= ColumnIndex && ToFillCounter<=2*RowIndex-1)
{
Console.Write('*');
ToFillCounter++;
}
else
{
Console.Write(' ');
}
}
Console.WriteLine();
}
}

截图:

 

二、一个文本文件含有如下内容,分别表示姓名和成绩:

张三 90

李四 96

王五 78

赵六 82

提供用户一个控制台界面,允许用户输入要查询的姓名,输入姓名并且按回车以

后,打印出此人的成绩,如果不输入姓名直接按回车则显示所有人的姓名以及成

绩。(注意:不能使用数据库)

static void Main(string[] args)
{
String Path = @"D:\Data.txt"; if (!System.IO.File.Exists(Path))
{
Console.WriteLine("要读取的文件不存在");
return;
} Console.WriteLine("请输入要查询的名称");
//1、读取用户输入的指令。要嘛回车、要嘛姓名
string Request = Console.ReadLine();
//2、读取文件(打开文件、文件是否存在、按行读取)
using (StreamReader file = new StreamReader(Path, System.Text.Encoding.Unicode))
{
bool IsShowAllData = string.IsNullOrEmpty(Request.Trim());
if (IsShowAllData)
{
Console.WriteLine(file.ReadToEnd());
}
else
{ //3、按行查找文件中的内容
string LineReaded = string.Empty;
while (!file.EndOfStream)
{
LineReaded = file.ReadLine();
//4、找到了
if (LineReaded.Contains(Request))
{
Console.WriteLine(LineReaded);
return;
}
}
Console.WriteLine("没找到指定信息");//没找到输出提示信息
}
//5、关闭文件
file.Close();
}
}

结果截图:

 

三、说出TCP和UDP之间的区别,各有什么优缺点?

传输层的两大协议TCPUDP,到底用哪一个?这是所有基于网络通讯的应用程序在设计、开发时需要考虑的。

下面,我们先分别来看看TCP和UDP的优缺点,在后面,再来分析一下,什么时候该用TCP什么时候该用UDP

TCP的优点

  • 可靠,稳定

    TCP的可靠体现在TCP在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认、窗口、重传、拥塞控制机制,在数据传完后,还会断开连接用来节约系统资源。

TCP的缺点

  • 慢,效率低,占用系统资源高,易被攻击

    TCP在传递数据之前,要先建连接,这会消耗时间,而且在数据传递时,确认机制、重传机制、拥塞控制机制等都会消耗大量的时间,而且要在每台设备上维护所有的传输连接,事实上,每个连接都会占用系统的CPU、内存等硬件资源。

    而且,因为TCP有确认机制、三次握手机制,这些也导致TCP容易被人利用,实现DOS、DDOS、CC等攻击。

UDP的优点

  • 快,比TCP稍安全

    UDP没有TCP的握手、确认、窗口、重传、拥塞控制等机制,UDP是一个无状态的传输协议,所以它在传递数据时非常快。没有TCP的这些机制,UDP较TCP被攻击者利用的漏洞就要少一些。但UDP也是无法避免攻击的,比如:UDP Flood攻击……

UDP的缺点

  • 不可靠,不稳定

    因为UDP没有TCP那些可靠的机制,在数据传递时,如果网络质量不好,就会很容易丢包。

基于上面的优缺点,那么:

什么时候应该使用TCP

当对网络通讯质量有要求的时候,比如:整个数据要准确无误的传递给对方,这往往用于一些要求可靠的应用,比如HTTP、HTTPS、FTP等传输文件的协议,POP、SMTP等邮件传输的协议。

在日常生活中,常见使用TCP协议的应用如下:

  • 浏览器,用的HTTP
  • FlashFXP,用的FTP
  • Outlook,用的POP、SMTP
  • Putty,用的Telnet、SSH
  • QQ文件传输
  • …………

什么时候应该使用UDP

当对网络通讯质量要求不高的时候,要求网络通讯速度能尽量的快,这时就可以使用UDP。

比如,日常生活中,常见使用UDP协议的应用如下:

  • QQ语音
  • QQ视频
  • TFTP
  • ……

以上《说出TCP和UDP之间的区别,各有什么优缺点? 》转载自http://www.ctowhy.com/132.html

C#笔试题(一)的更多相关文章

  1. 对Thoughtworks的有趣笔试题实践

    记得2014年在网上看到Thoughtworks的一道笔试题,当时觉得挺有意思,但是没动手去写.这几天又在网上看到了,于是我抽了一点时间写了下,我把程序运行的结果跟网上的答案对了一下,应该是对的,但是 ...

  2. 从阿里巴巴笔试题看Java加载顺序

    一.阿里巴巴笔试题: public class T implements Cloneable { public static int k = 0; public static T t1 = new T ...

  3. 我设计的ASP.NET笔试题,你会多少呢

    本笔试题考查范围包括面向对象基础.HTML.CSS.JS.EF.jQuery.SQL.编码思想.算法等范围. 第1题:接口和抽象类有何区别? 第2题:静态方法和实例方法有何区别? 第3题:什么是多态? ...

  4. C#经典笔试题-获取字符串中相同的字符以及其个数

    public Dictionary<char,int> GetStrSameAs(string str){ //将字符串转换成一个字符数组. char[] charArray=str.To ...

  5. flhs笔试题-回家上机实践

    这是最近参加的一个公司的笔试题,回家上机写了下代码,希望对有需要的小伙伴有用,简单实现字符串和数组在指定位置的插入: package org.flhs; import com.google.commo ...

  6. 也许你需要点实用的-Web前端笔试题

    之前发的一篇博客里没有附上答案,现在有空整理了下发出来,希望能帮助到正在找工作的你,还是那句话:技术只有自己真正理解了才是自己的东西,共勉. Web前端笔试题 Html+css 1.对WEB标准以及w ...

  7. [c#基础]关于try...catch最常见的笔试题

    引言 在翻看之前总结的常见面试题中,关于try...catch异常处理的还是蛮多了,今天看到这个面试题,也就重新学习一下. try..catch语法 try-catch语句由一个try块后跟一个或多个 ...

  8. js作用域之常见笔试题,运行结果题

    笔试题中经常有运行结果题,而大多体型都是围绕作用域展开,下面总结了几种相关的题: 外层的变量函数内部可以找到,函数内部的变量(局部变量)外层找不到. function aaa() { var a = ...

  9. 【Android】一道Android OpenGL笔试题

    一道Android OpenGL笔试题 SkySeraph May. 5th 2016 Email:skyseraph00@163.com 更多精彩请直接访问SkySeraph个人站点:www.sky ...

  10. C/C++ 笔试题

    /////转自http://blog.csdn.net/suxinpingtao51/article/details/8015147#userconsent# 微软亚洲技术中心的面试题!!! 1.进程 ...

随机推荐

  1. Nginx编译参数大全 configure参数中文详解

    ./configure --help--help 显示本提示信息--prefix=PATH 设定安装目录--sbin-path=PATH 设定程序文件目录--conf-path=PATH 设定配置文件 ...

  2. Linux_06------Linux的磁盘管理

    进制编码 * 3.格式化交换分区 * 4.启用交换分区 * * 1.2. * fdisk /dev/sdb * p * t * 6(分区编号) * L(查看编码列表),找到SWAP交换分区标号 * 8 ...

  3. JQuery mobile 实例 api

    http://www.w3school.com.cn/jquerymobile/jquerymobile_examples.asp

  4. 在Linux下使用RAID--使用mdadm工具创建软件Raid 0(1)

    在Linux下使用RAID--使用mdadm工具创建软件Raid 0(1) RAID即廉价磁盘冗余阵列,其高可用性和可靠性适用于大规模环境中,相比正常使用,数据更需要被保护.RAID是一些磁盘的集合, ...

  5. Error -27780: [GENERAL_MSG_CAT_SSL_ERROR]connect to host "124.202.213.70" failed: [10054] Connection reset by peer [MsgId: MERR-27780]

    解决方案一: 备注: 此方案如果请求响应时间太长,勾选"WinInet replay instead of Sockets(Windows only)"将会导致如下错误:

  6. DIOCP之EchoServer分析

    constructor TfrmMain.Create(AOwner: TComponent);begin inherited Create(AOwner); sfLogger.setAppender ...

  7. asp.net GDI+ 使用PathGradienBrush类实现彩色渐变

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...

  8. 循序渐进Python3(一)-- 初识Python

    一.Python起源                

  9. C# 根据包含文件的路径和文件的名称的字符串获取文件名称的几种方法

    C# 截取带路径的文件名字,扩展名,等等 的几种方法 C#对磁盘IO操作的时候,经常会用到这些,路径,文件,文件名字,文件扩展名. 之前,经常用切割字符串来实现, 可是经常会弄错. 尤其是启始位置,多 ...

  10. mysql事务处理用法与实例详解

    来源:转载  MySQL的事务支持不是绑定在MySQL服务器本身,而是与存储引擎相关1.MyISAM:不支持事务,用于只读程序提高性能 2.InnoDB:支持ACID事务.行级锁.并发 3.Berke ...