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();
}
}
截图:
二、一个文本文件含有如下内容,分别表示姓名和成绩:
张三 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、什么时候该用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#笔试题(一)的更多相关文章
- 对Thoughtworks的有趣笔试题实践
记得2014年在网上看到Thoughtworks的一道笔试题,当时觉得挺有意思,但是没动手去写.这几天又在网上看到了,于是我抽了一点时间写了下,我把程序运行的结果跟网上的答案对了一下,应该是对的,但是 ...
- 从阿里巴巴笔试题看Java加载顺序
一.阿里巴巴笔试题: public class T implements Cloneable { public static int k = 0; public static T t1 = new T ...
- 我设计的ASP.NET笔试题,你会多少呢
本笔试题考查范围包括面向对象基础.HTML.CSS.JS.EF.jQuery.SQL.编码思想.算法等范围. 第1题:接口和抽象类有何区别? 第2题:静态方法和实例方法有何区别? 第3题:什么是多态? ...
- C#经典笔试题-获取字符串中相同的字符以及其个数
public Dictionary<char,int> GetStrSameAs(string str){ //将字符串转换成一个字符数组. char[] charArray=str.To ...
- flhs笔试题-回家上机实践
这是最近参加的一个公司的笔试题,回家上机写了下代码,希望对有需要的小伙伴有用,简单实现字符串和数组在指定位置的插入: package org.flhs; import com.google.commo ...
- 也许你需要点实用的-Web前端笔试题
之前发的一篇博客里没有附上答案,现在有空整理了下发出来,希望能帮助到正在找工作的你,还是那句话:技术只有自己真正理解了才是自己的东西,共勉. Web前端笔试题 Html+css 1.对WEB标准以及w ...
- [c#基础]关于try...catch最常见的笔试题
引言 在翻看之前总结的常见面试题中,关于try...catch异常处理的还是蛮多了,今天看到这个面试题,也就重新学习一下. try..catch语法 try-catch语句由一个try块后跟一个或多个 ...
- js作用域之常见笔试题,运行结果题
笔试题中经常有运行结果题,而大多体型都是围绕作用域展开,下面总结了几种相关的题: 外层的变量函数内部可以找到,函数内部的变量(局部变量)外层找不到. function aaa() { var a = ...
- 【Android】一道Android OpenGL笔试题
一道Android OpenGL笔试题 SkySeraph May. 5th 2016 Email:skyseraph00@163.com 更多精彩请直接访问SkySeraph个人站点:www.sky ...
- C/C++ 笔试题
/////转自http://blog.csdn.net/suxinpingtao51/article/details/8015147#userconsent# 微软亚洲技术中心的面试题!!! 1.进程 ...
随机推荐
- window删除文件时提示: 源文件名长度大于系统支持的长度
有时候删除windows中的目录的时候,会出现"源文件名长度大于系统支持的长度", 而导致不能删除, 作为一个程序猿, 怎么可以被这个折服呢, 原理: 利用 Java 递归删除文 ...
- SQL Server - select语句练习
创建表和输入数据 CREATE TABLE STUDENT(SNO VARCHAR(3) NOT NULL, SNAME VARCHAR(4) NOT NULL, SSEX VARCHAR(2 ...
- 8.Mybatis的延迟加载
在Mybatis中的延迟加载只有resultMap可以实现,ResultMap 可以实现高级映射(association,collection可以实现一对1和一对多的映射),他们具有延迟加载的功能,r ...
- 9.springMVC中的拦截器
springMVC中的拦截器大概大致可以分为以下几个步骤去学习: 1.自定义一个类实现HandlerInterceptor接口,这里要了解其中几个方法的作用 2.在springMVC的配置文件中添加拦 ...
- 生成prefix.pch文件
(借鉴网络资源)
- Oracle 11g AWR和ADDM性能报告
一.自动工作负载库(Automatic Workload Repository,AWR) 自动工作负载库(Automatic Workload Repository,AWR)是在Oracle公司提供的 ...
- 利用Maven建立java web项目
方法一:在IntelliJ IDEA中创建maven web项目 一.在新建项目对话框中,选择“Maven”类型,设置好jdk,勾选“create from archetype”,在列表中选择“mav ...
- 将asp.net页面弄成伪静态
在Web.config中写: <RewriterConfig> <Rules> <RewriterRule> <LookFor> ...
- JavaScript parseInt() toString()函数
parseInt(string, radix) string:必需.要被解析的字符串 radix:可选.表示要解析的数字的基数.该值介于 2 ~ 36 之间. 如果省略该参数或其值为 0,则数字将以 ...
- Daily Scrum 12.1
今日完成任务: 完成了对源代码结构的修改,删除冗余等:和其他小组讨论了关于整合的问题,向其他小组介绍自己小组使用的数据库等. 明日任务: 晏旭瑞 初步完成文档上传下载 孙思权 深入了解数据库中每个表, ...