How do Bitcoin exchanges fill orders? If the order book looks like the following…

A)  Ask: 2 bitcoin at $100

B)  Bid: 2 bitcoin at $100


A trade will be done from A to B.

But what happens in the following situation:

C)  Ask: 1 bitcoin $100

D)  Bid: 2 bitcoin $100 


Do bitcoin exchanges partially fill orders?

Does one of the following occur:


Nothing the orders need to be the same quantity. 
Does the trade occur for one bitcoin.
If the trade does occur, what happens if the bid is cancelled? Is the trade for 1 bitcoin still valid.


Also, what happens in this situation:

E)  Ask:2 bitcoin $90

F)  Bid: 2 bitcoin $100


Does the Bid pay $100 or $90?

Thank You for your help
Q1: Yes, orders will be partially filled. Some exchanges offer advanced orders that can only be completed wholly, but that's not the default.

Q2: The deciding price is the one that entered the book first. So if first a $90 ask is placed and then a $100 bid is placed, the trade will be executed at $90.