در شرط حلقه هر عبارتی که نتیجهش از نوع bool باشه میتونه قرار بگیره. برای تولید عبارتهای پیچیدهتر از || (یای منطقی) && (و ی منطقی) و ! (نقیض منطقی) استفاده میشه.
معمولاً حلقهی for برای شمارشهای مشخص به کار برده میشه. مثلاً تعداد اعضای یک آرایه، تعداد حروف یک رشته، ...
در بقیه موارد معمولاً از حلقهی while استفاده میشه. استفاده از تساوی (==) برای شرط حلقه هم معمولاً در while هست نه در for ولی به هر حال میشه مثال زد:
فرض کنیم میخوایم از شروع یه فهرست اعداد زوجاش رو چاپ کنیم تا برسیم به اولین عدد فرد.
int i = 0;
int array[100] = {...};
int *ptr = array;
for(int i=*ptr%2; i==0; ptr++)
  cout<<*ptr<<' '; 
هیچ پژوهش انسانی نمیتواند ادعای علمی بودن داشته باشد، مگر اینکه از برهان ریاضی برخوردار باشد (لئوناردو داوینچی)