Não entendi muito bem a utilização do !, no caso ele serviria negar o valor da variável que ele acompanha? Exemplo se eu colocasse
int main(){
int x = 0;
while (!x){
}
}
Então a condição para o while seria de "x" ser 1? e ao ser diferente disse ele sairia do "while"?