zoukankan      html  css  js  c++  java
  • C#笔试题(一)

    一、下面是一个由*号组成的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();
                }
            }

    截图:

    image

     

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

    张三 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();
                }
            }

    结果截图:

    image

     

    三、说出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

  • 相关阅读:
    阿里的蚂蚁雄兵,已经俨然一个帝国
    Redmine数据库备份及搬家
    Redmine插件及使用
    高效代码审查的十个经验
    Redmine管理项目3-调整用户显示格式
    Redmine管理项目2-邮件通知
    Redmine管理项目1-自定义属性
    Excel VLOOKUP函数的使用方法
    一键安装Redmine
    Jdon框架开发指南
  • 原文地址:https://www.cnblogs.com/kissazi2/p/3328437.html
Copyright © 2011-2022 走看看