When you first sign up for a Twitter account, you get the chance to upload a profile picture (which Twitter calls "avatar"), but you don't have to. Until you add an avatar, Twitter will show an egg over a variable background color, as shown on the screenshot. I'll show you how to add, or change, your profile picture.
Here are the best dimensions and format to use: regardless of the image format used in the picture or logo you upload (JPG, GIF, ...), Twitter will convert it to a PNG file. So it's best to directly upload a PNG photo to avoid problem during the conversion. The image you upload will become a square, so it's best to use a square image to begin with. Since the picture everyone sees is 200 by 200 pixels, that's a good dimension to use! 400 by 400 pixels is even better.
Right after you log into your Twitter account, you're redirected to the correct page - your "homepage", so to speak. From any other page on twitter.com, click on your avatar / the egg icon, and select "View profile" from the dropdown.
Once on your own Twitter feed, click on the Edit profile button on the right, right below your header photo. As soon as you do, your profile picture shows a camera icon with a plus sign, and the words "Add a profile photo". Click anywhere inside that picture, and select "Upload photo" in the menu. (Adding a header picture works the same way, but with different dimensions.)
Pick an image from your computer: Twitter automatically uploads it in the background, and shows a very basic graphic editor that lets you resize (crop, really), the portion of the photo you want to use as avatar. If you uploaded a 200 or 400 pixel square image, as mentioned earlier, the size is ready to go: click Apply to proceed. Within seconds, Twitter will show a "Your photo was published successfully" confirmation message. Click Save changes on the right, and the page updates itself to show your new avatar - you are done!