do-whileの所を教えてください。

#include <stdio.h>
int main(void)
{
int num = 0;
int sum = 0;
printf("計算したい数字を入力(0で終了)\n");
do{
scanf("%d", &num);  
sum += num;      
}while(num);              
printf("合計は%dです\n",sum);
return 0;
}


�@scanfして数字をnumへ
�Asumに加算する
�Bくり返しの条件はnumが0以外の時

while(num != 0)なら、0以外ならくり返し(=0入力で終了) と分かるのですが、
while(num) がなぜ0のとき終了できるのか分かりません。どういうことでしょうか(´;ω;`)