Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Compound and Grouping Conditions | Advanced Conditional Techniques
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
C Conditional Statements

bookCompound and Grouping Conditions

Sometimes a decision depends on more than one requirement. Instead of writing several separate if statements, you can combine conditions using logical operators:

  • && (AND) – both conditions must be true;
  • || (OR) – at least one condition must be true;
  • ! (NOT) – reverses the result.

Compound conditions help keep your logic compact and expressive.

main.c

main.c

copy
1234567891011121314
#include <stdio.h> int main() { int age = 20; int hasID = 1; // Means `true` if (age >= 18 && hasID) { printf("Access granted.\n"); } else { printf("Access denied.\n"); } return 0; }

Here both conditions must be satisfied for access to be allowed.

When compound conditions become long, grouping them with parentheses makes the logic easier to read and prevents mistakes in operator precedence.

main.c

main.c

copy
123
if ((score > 80 && passedExam) || isAdmin) { printf("Approved.\n"); }

Breaking it down into two parts:

  • (score > 80 && passedExam);
  • || isAdmin.

Either the student qualifies, or an admin overrides. Grouping shows the intention clearly.

question mark

Which of the following are logical operators you can use to combine or modify conditions in C?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 3. Capítulo 2

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Suggested prompts:

Can you give an example of how to use these logical operators in code?

What happens if I don't use parentheses in a complex condition?

Can you explain operator precedence with logical operators?

bookCompound and Grouping Conditions

Deslize para mostrar o menu

Sometimes a decision depends on more than one requirement. Instead of writing several separate if statements, you can combine conditions using logical operators:

  • && (AND) – both conditions must be true;
  • || (OR) – at least one condition must be true;
  • ! (NOT) – reverses the result.

Compound conditions help keep your logic compact and expressive.

main.c

main.c

copy
1234567891011121314
#include <stdio.h> int main() { int age = 20; int hasID = 1; // Means `true` if (age >= 18 && hasID) { printf("Access granted.\n"); } else { printf("Access denied.\n"); } return 0; }

Here both conditions must be satisfied for access to be allowed.

When compound conditions become long, grouping them with parentheses makes the logic easier to read and prevents mistakes in operator precedence.

main.c

main.c

copy
123
if ((score > 80 && passedExam) || isAdmin) { printf("Approved.\n"); }

Breaking it down into two parts:

  • (score > 80 && passedExam);
  • || isAdmin.

Either the student qualifies, or an admin overrides. Grouping shows the intention clearly.

question mark

Which of the following are logical operators you can use to combine or modify conditions in C?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 3. Capítulo 2
some-alt