As an American visiting Montreal I've never had a problem with the locals not speaking English. It's quite funny actually that when I walk into a shop and answer a greeting with "bonjour" they quite often respond with "can I help you?" Not in a snobby way, just in a "I know French isn't your first language" sort of way. I had no idea my French was so bad!