Depends on the school whether you have to declare a major. For example at the main state school for engineering in North Carolina, you can be admitted as undeclared. But, if you want to then go into a more competitive major such as engineering, you need to matriculate with a certain GPA level of your first semester or first year. Plus, you may not be eligible to take the engineering classes if you aren't an engineering major. So it's better to be admitted to the major itself if you know what you want to do. This is just for this one school, I don't know how it is at others. For context, in talking with friends it seems the average high school unweighted GPA was probably about 3.6-3.7 with pretty good SAT scores to make sure you are admitted to the engineering program, especially in the math portion. Obviously at a better school like MIT the requirements are much higher.