博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#笔试题(一)
阅读量:5846 次
发布时间:2019-06-18

本文共 3762 字,大约阅读时间需要 12 分钟。

一、下面是一个由*号组成的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之间的区别,各有什么优缺点?

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

下面,我们先分别来看看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之间的区别,各有什么优缺点? 》转载自

转载于:https://www.cnblogs.com/kissazi2/p/3328437.html

你可能感兴趣的文章
PHP实现文件下载
查看>>
开博纪念
查看>>
用游标备份单个或所有db
查看>>
Python之string
查看>>
图解用Apache + Mod_Python 部署python web应用
查看>>
nginx 400 Bad Request
查看>>
Hibernate笔记——(ONE TO ONE)一对一
查看>>
我的友情链接
查看>>
留在时光中的永恒记忆——父亲(下)
查看>>
图像处理之霍夫变换(直线检测算法)
查看>>
Preconditions的简单学习
查看>>
WES 7 下如何处理蓝牙模块驱动安装失败的问题
查看>>
Linux0.11内核--系统中断处理程序int 0x80实现原理
查看>>
我的友情链接
查看>>
IOS Core Animation Advanced Techniques的学习笔记(三)
查看>>
Win8系统下使用应用商店窗口提示“无法使用内置管理员账户打开应用商店
查看>>
生产环境中mysql主从同步/完整/增量备份
查看>>
我的友情链接
查看>>
C#链接SQLServer实现插入和查询数据源代码
查看>>
告诉你C盘中的每一个文件夹都是干什么的!
查看>>