I'm on Jenny Craig, which uses the exchange system for counting food and building menus. The exchange system was developed by the American Diabetes Association, and is what Weight Watchers was originally built upon.
In the JC exchange system there are 6 categories of food: starch, meat/protein, fat, milk, fruit, vegetable. Any one serving in a category is approximately equivalent nutritionally and calorically with any other serving in that category. For the vegetable exchange, "one serving" contains no more than 5g carbohydrate, 2g protein, 0g fat, and about 25 calories. (This encompasses all NON-STARCHY vegetables; things like potatoes, peas, corn, winter squash are counted as starch exchanges.) This works out to 1 cup of raw vegetables OR 1/2 cup of cooked. Vegetables break down and lose water when they cook, so that's why the volume differs -- you may start out with a cup of mushrooms, but cooking them is going to reduce that to 1/2 cup more or less. The calories are the same, they just don't take up as much room.
For the fruit exchange, one serving has no more than 15g carbohydrate and 60 calories. Because the sugar, water, and fiber content of different fruit varies, the serving sizes aren't as uniform. If you're dealing with cut-up fruit (or fruit that is "loose" like berries), JC uses 1 cup for raw/fresh and 1/2 cup for cooked or canned. When dealing with smaller fruits where you'd eat an entire one at a sitting -- apples, oranges, bananas, etc. -- 1 SMALL fruit that weighs 3 to 4 oz would constitute a serving.
This web site has exchange lists that are very similar to the ones used by JC, so you might find it helpful:
http://www.24hourfitness.com/html/24_5/food/exchange/