第一单元1,11

好久没用异或都快忘了,就让我们一起来了解哈啥子事异或

说的这个,就不经意让我想起书上的几种交换值得方法了

我这儿说的交换的方法是,不使用第三个变量来交换,而是两个

实现条件是C

a=100,b=10;
第一种 缺点可能会如果超出范围溢出
a=a+b; a=110,b=10
b=a-b; b=100,a=110
a=a-b; a=-10,b=100
b=100,a=10;
第二种 缺点可能会如果超出范围溢出
a=a*b;a=1000,b=10
b=a/b;b=100,a=1000
a=a/b;a=10,b=100
第三种 最理想
例如:a=3,即11(2);b=4,即100(2)。
想将a和b的值互换,可以用以下赋值语句实现:
a=a∧b;
b=b∧a;
a=a∧b;
a=011(2)(∧)b=100(2)(a∧b的结果,a已变成7)
a=111(2)(∧)b=100(2)(b∧a的结果,b已变成3)
b=011(2)(∧)a=111(2)(a∧b的结果,a已变成4)
a=100(2)

a=10100001,   b=00000110

a=a^b; //a=10100111

b=b^a; //b=10100001

a=a^b; //a=00000110

其实如果简单理解“相同为0”不同为1

如何还想在深入点,我只能说,小伙,咱家能力有限

using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
using System.Threading.Tasks;

namespace 习题1._11
{
class Program
{
static void Main(string[] args)
{
string s_text, s_key, s_result = null;
char ch;
Console.WriteLine("请输入原字符串:");
s_text = Console.ReadLine().ToString();
Console.WriteLine("请输入密钥字符串");
s_key = Console.ReadLine().ToString();
if(s_text.Length!=s_key.Length)
{
Console.WriteLine("密钥字符串与原字符串长度必须相等");
return; //提前结束程序
}
for(int i=0;i<s_key.Length;i++)
{
ch = s_text[i];
s_result += (char)(ch ^ s_key[i]);             //同志们注意哈强制转换为char类型不然得到的结果不对
}

Console.WriteLine("加密后的字符串为:");
Console.WriteLine(s_result.ToString());
Console.ReadKey();
}
}
}

第二单元1,11

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Animal
{
class Animal
{
private bool m_sex;
private string m_sound;
public Animal()
{
m_sound = "How...";
m_sex = false;
}

//前面一定不能打括号()

public bool Sex //用于子类设置基类的变量
{
get { return m_sex; }
set { m_sex = value; }
}
public string Sound
{
get { return m_sound; }
set { m_sound = value; }
}

public virtual string Roan() //虚方法
{
return "Animal"+m_sound;
}
}
class Dog:Animal
{
public Dog()
{
Sex = true;
Sound = "Wow...";
}
public override string Roan() //重写方法
{
return "Dog:" + Sound;
}
}
class Cat : Animal
{
public Cat()
{
Sound = "Miaow...";
}
public override string Roan()
{

return "Cat:"+Sound;

}
}
class Cow : Animal
{
public Cow()
{
Sound = "Moo...";
}
public override string Roan()
{
return "Cow:" + Sound;
}
}
class Program
{
static void Main(string[] args)
{
Animal animal;
animal = new Dog();
Console.WriteLine( animal.Roan());
animal = new Cat();
Console.WriteLine(animal.Roan());
animal = new Cow();
Console.WriteLine(animal.Roan());
Console.Read();
}
}
}

.C#认证考试试题汇编:第一单元:1,11 第二单元:1,11的更多相关文章

  1. Linux rhcsa认证考试试题模拟

    声明: 此套试题是2017年rhcsa考试题库,本题库需配合相对应的机器操作,实验环境在我的网盘下载 考试环境: server.group8.example.com 172.24.8.254/24 s ...

  2. HTML5 +Java基础 大一结业认证考试试题 - 云南农业职业技术学院 - 互联网技术学院 - 美和易思校企合作专业

     第1题 [单选题][0.33分][概念理解] 关于java中的逻辑运算符,下列说法正确的是 逻辑运算符||.&&.!都是用于连接两个关系表达式</p> 当&&am ...

  3. CCF CSP认证考试试题

    1. 201803-1 跳一跳 试题编号: 201803-1 试题名称: 跳一跳 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 近来,跳一跳这款小游戏风靡全国,受到不少玩家的 ...

  4. Java高级大一结业认证考试试题 - 云南农业职业技术学院 - 互联网技术学院 - 美和易思校企合作专业

     第1题 .关于XML的文档结构描述错误的是 一个基本的XML文档通常由序言和文档元素两部分组成 XML文档中的序言可以包括XML声明.处理指令和注释 XML文档中的元素以树形结构排列 XML文档的声 ...

  5. 第二单元电梯调度作业 By Wazaki

    figure:first-child { margin-top: -20px; } #write ol, #write ul { position: relative; } img { max-wid ...

  6. 软件设计师.NET认证考试测试卷(试题及答案)

    软件设计师.NET认证考试测试卷 注意事项:用蓝.黑色钢笔答题.保持卷面整洁. 得分 阅卷人 一.单项选择(40分,每小题1分) 1.以下标识符中不全是关键字的是(D  ) A.case for in ...

  7. 网友RHCE认证考试经历

    2014年7月,为大力推广RedHat Enterprise Linux7操作系统,红帽将基RHCE认证由RHEL6转换到RHEL7上. 面对新的软件功能.新认证课程内容,初期认证学员的考试通过率一直 ...

  8. PMP认证考试的最新趋势及10大特征(针对改版后)

    我们都知道,今年PMP认证考试的教材已经改版了,最新版的内容是有不少的改动的,我们在了解PMP考试的时候,也要了解PMP考试的最新趋势,以便拿出应对的方法. 一.情景题更接地气 虽然PMP考试中继续保 ...

  9. Java 初级软件工程师 认证考试试卷1

    Java 初级软件工程师 认证考试试卷   笔试(A卷)   考试时间150分钟 总分 100分     姓    名_______________________ 身份证号_____________ ...

随机推荐

  1. 后台如何通过Request取得多个含有相同name的控件的值?

    在Asp.net开发中,所有html控件的值都是可以在服务器端用后台代码的Request[name]来获取其值的.但如果有多个相同name的Html控件提交到后台,怎么分别取各个控件的值呢?而多数情况 ...

  2. Python时间calender模块介绍

    获取某月日历 Calendar模块有很广泛的方法用来处理年历和月历,例如打印某月的月历: #!/usr/bin/python # -*- coding: UTF-8 -*- import calend ...

  3. Fiddler模拟发送post请求

    fiddler在进行接口测试时,会模拟post请求,发送不同的请求参数,返回不同的结果,今天我们就来分享一下,怎么用Fiddler工具模拟post请求: 打开Fiddler工具,在右侧点击“compo ...

  4. java多线程开发,Executors、FutureTask、Callable

    java多线程如何应用呢,几乎学java的同学都知道Thread类和Runable接口.继承Thread类或者实现Runable接口,调用thread的start方法即可启动线程. 然后是线程池,就是 ...

  5. 游戏反编译工具dnSpy

    dnSpy使用的工具下载地址为: https://github.com/cnxy/dnSpy/archive/v4.0.0.zip 或 dnSpy官方下载地址: https://github.com/ ...

  6. [转].NET Core dotnet 命令大全

    本文转自:http://www.cnblogs.com/linezero/p/dotnet.html https://docs.microsoft.com/en-us/dotnet/articles/ ...

  7. 任意表格(table)实现拖动列(column)改变列大小

    直接上代码吧,原理可以看我上一篇博文.本实现基于jquery,完美实现拖动改变表格的列大小功能,只需将代码放置在你页面的底部即可(jquery必须先引入). $(function () { var i ...

  8. influxdb 的安装(centos)

    安装命令: # for 64-bit systems wget http://s3.amazonaws.com/influxdb/influxdb-latest-1.x86_64.rpm sudo r ...

  9. jQuery源码分析系列 : 整体架构

    query这么多年了分析都写烂了,老早以前就拜读过, 不过这几年都是做移动端,一直御用zepto, 最近抽出点时间把jquery又给扫一遍 我也不会照本宣科的翻译源码,结合自己的实际经验一起拜读吧! ...

  10. JavaEE之JavaWeb核心之Servlet

    Servlet简介: Servlet 运行在服务端的Java小程序,是sun公司提供一套规范(接口),用来处理客户端请求.响应给浏览器的动态资源.但servlet的实质就是java代码,通过java的 ...