I just get my new canon 70d camera. I want to use it for recording online tutorial and publish it in YouTube. how can I flip from camera to screen recording and vise verse while recording? are there some programs for doing that?
You have two main options I can see, first one is to take a look at Open Broadcaster Software Project. This project is free and open source and is targeted at individuals trying to stream primarily, but it does have good support for both a video capture device and a screen capture. I believe it is possible to configure a shortcut key for swapping sources and it does support local recording.
For this option, you will also need a way to capture the video from the camera. You can either use a webcam hack to pull the preview video from EOS Utility using some third party drivers (Covered in more detail here) or you can purchase an HDMI input device, such as a Matrox MXO2 or BlackMagic Intensity (not free or even particularly cheap, but necessary if you want to make use of the HDMI out of your camera.
Alternately, you can just use standard screen recording software and record the video independently. You can then edit them together after the fact. To avoid sync problems, you can start by showing the camera the screen and opening and closing a window to sync to later. This is the cheapest option as it can be done without any additional investment using entirely free tools. It is also the highest quality option as non-real time encoding and hardware assisted encoding (such as on the camera) does a far higher quality job than software based real time encoding. It also allows you to be the most selective about when you switch sources and preserves feeds of both sources in case you want to make changes later on.
Not that I know of (does not mean its not out there), this would be very easy to do in Post production and since you have to pull the video of the camera card to upload it anyway just drop it in in post and keep the camera audio playing over it.