Selection structures in programming languages allow altering the default sequential execution of statements. The if-else statement conditionally executes one of two blocks of code depending on a condition. The ?: operator assigns a variable the value of one expression if the condition is true, or another expression if false. The switch statement allows executing different code blocks based on an integer expression's value. Loops like for and while repeatedly execute a block of code as long as a condition remains true, with for providing initialization and update statements.