In your case you need just one interger value be saved and loaded.
In your scene load method, use these lines. Put your first game scene index instead of 2.
if (PlayerPrefs.GetInt ("current_level") == null)
{
PlayerPrefs.SetInt ("current_level", 2);//assuming level 0 is splash screen, level 1 is main menu and level 2 is first scene. Change as your need
}
Application.LoadLevel(PlayerPrefs.GetInt ("current_level"));
On every scene use the below method in an active object.
void OnApplicationQuit()
{
PlayerPrefs.SetInt ("current_level", Application.loadedLevel);
}
PlayerPrefs is not suggested in large scale data handling. Use binaryformatter, xmlserializer etc for that purposes. You will get more control over data.
If you are not using Application.Quit () for game exit then use it. Or you can put the line in OnApplicationQuit () to Start () on an active object in all scene. That way even if you don't quit the game, just going into the scene will be saved.
Switch to JS to see how to write JS function which is written in C#