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.进程 ...
随机推荐
- MapGIS6.7安装图文教程(完美破解)
mapgis安装比较简单,主要注意在安装的时候,先打开软件狗,然后再进行软件安装,一般就不会照成其他安装失败的现象,有时候安装之前没有打开软件狗也安装成功了,也有这情况,不过软件使用也需要软件狗的支持 ...
- Servlet 利用Session实现不重复登录
import java.io.IOException;import java.io.PrintWriter;import java.util.ArrayList;import java.util.It ...
- POJ 1511 - Invitation Cards 邻接表 Dijkstra堆优化
昨天的题太水了,堆优化跑的不爽,今天换了一个题,1000000个点,1000000条边= = 试一试邻接表 写的过程中遇到了一些问题,由于习惯于把数据结构封装在 struct 里,结果 int [10 ...
- javascript 的 梯子
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8&qu ...
- 一些有意思的APP
1.简书:一个优雅的写作/阅读平台. 2.知乎:知识分享社区: 3.behance:设计者的圈子: 4.海词词典:电脑.手机同步查询的好帮手(电脑端快捷键:双击 Alt 弹出/关闭查询框,非常方便) ...
- each函数
- 云计算和大数据时代网络技术揭秘(十七)VOQ机制
VOQ机制 本章介绍的VOQ是一种新型的QoS机制,目的是为了解决著名的交换机HoL难题. 但VOQ强烈依赖于调度算法,例如,一个48口的交换机,每个端口都要维护48-1个FIFO缓存队列, 一共48 ...
- [VBS]脚本中的字典、动态数组、队列和堆栈
今天用VBS脚本写了几个程序,用到了字典(Dictionary).动态数组(ArrayList).队列(Queue)和堆栈(Stack).现在写篇Blog总结一下 :-) 1.编写环境 今天突发奇想下 ...
- 模拟Linux的shell
在学习了Linux的进程控制之后,学习了fork函数和exec函数族,通过这些个函数可以简单的实现一份shell,就是实现一份命令行解释器,当然是简单版的,实现功能如下 能执行普通的命令如ls ,ps ...
- js学习-自定义函数、对象的字面量、json对象学习小结
一.自定义对象的构造: var student=new Object(); //object是顶级对象,使用构造函数的方法创建一个对象,此处的意思是创建了一个学生的空对象 student.name=& ...