Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Chu tr×nh do-while
Kh¸ c ví i c¸ c to¸ n tö while vµ for, viÖ c kiÓ m tra ®iÒ u kiÖ n kÕ t thó c ®Æ t ë ®Ç u chu tr× nh, trong chu tr× nh do while viÖ c kiÓ m tra ®iÒ u kiÖ n kÕ t thó c ®Æ t cuè i chu tr× nh. Nh vË y th©n cñ a chu tr× nh bao giê cò ng ®î c thù c hiÖ n Ý t nhÊ t mé t lÇ n. Chu tr× nh do while cã d¹ ng sau: do LÖ nh hoÆ c khè i lÖ nh; while (biÓ u thø c); LÖ nh hoÆ c khè i lÖ nh lµ th©n cñ a chu tr× nh cã thÓ lµ mé t lÖ nh riª ng lÎ hoÆ c lµ mé t khè i lÖ nh. Ho¹ t ®é ng cñ a chu tr× nh nh sau: M¸ y thù c hiÖ n c¸ c lÖ nh trong th©n chu tr× nh. Khi thù c hiÖ n xong tÊ t c¶ c¸ c lÖ nh trong th©n cñ a chu tr× nh, m¸ y sÏ x¸ c ®Þ nh gi¸ trÞ cñ a biÓ u thø c sau tõ kho¸ while rå i quyÕ t ®Þ nh thù c hiÖ n nh sau: NÕ u biÓ u thø c ®ó ng (kh¸ c 0) m¸ y sÏ thù c hiÖ n lÆ p l¹ i khè i lÖ nh cñ a chu tr× nh lÇ n thø hai rå i thù c hiÖ n kiÓ m tra l¹ i biÓ u thø c nh trª n. NÕ u biÓ u thø c sai (b»ng 0) m¸ y sÏ kÕ t thó c chu tr× nh vµ chuyÓ n tí i thù c hiÖ n lÖ nh ®ø ng sau to¸ n tö while.
Chó ý: Nh÷ ng ®iÒ u lu ý ví i to¸ n tö while ë trª n hoµn toµn ®ó ng ví i do while. VÝ dô: §o¹ n chng tr× nh x¸ c ®Þ nh phÇ n tö ©m ®Ç u tiª n trong c¸ c phÇ n tö cñ a m¶ng x. #include " stdio.h" float x[5], c; main() { int i=0; printf(" \n nhap gia tri cho ma tran x "); for (i=0; i< =4; ++i) { printf(" \n x[%d]=", i); scanf(" %f", & c); y[i]=c; } do ++i; while (x[i]> =0 & & i< =4); if (i< =4) printf(" \n Phan tu am dau tien = x[%d]=%8.2f", i, x[i]); else printf(" \n Mang khong cã phan tu am "); }
5.5. C©u lÖ nh break: C©u lÖ nh break cho phÐ p ra khá i c¸ c chu tr× nh ví i c¸ c to¸ n tö for, while vµ switch. Khi cã nhiÒ u chu tr× nh lå ng nhau, c©u lÖ nh break sÏ ®a m¸ y ra khá i chu tr× nh bª n trong nhÊ t chø a nã kh«ng cÇ n ®iÒ u kiÖ n g×. Mä i c©u lÖ nh break cã thÓ thay b»ng c©u lÖ nh goto ví i nh·n thÝ ch hî p. VÝ dô: BiÕ t sè nguyª n dng n sÏ lµ sè nguyª n tè nÕ u nã kh«ng chia hÕ t cho c¸ c sè nguyª n trong kho¶ng tõ 2 ®Õ n c¨ n bË c hai cñ a n. ViÕ t ®o¹ n chng tr× nh ®ä c vµo sè nguyª n dng n, xem n cã lµ sè nguyª n tè. # include " stdio.h" # include " math.h" unsigned int n; main() { int i, nt=1; printf(" \n cho n="); scanf(" %d", & n); for (i=2; i< =sqrt(n); ++i) if ((n % i)==0) { nt=0; break; } if (nt) printf(" \n %d la so nguyen to", n); else printf(" \n %d khong la so nguyen to", n); }
5.6. C©u lÖ nh continue: Tr¸ i ví i c©u lÖ nh break, lÖ nh continue dï ng ®Ó b¾ t ®Ç u mé t vß ng mí i cñ a chu tr× nh chø a nã. Trong while vµ do while, lÖ nh continue chuyÓ n ®iÒ u khiÓ n vÒ thù c hiÖ n ngay phÇ n kiÓ m tra, cß n trong for ®iÒ u khiÓ n ®î c chuyÓ n vÒ bí c khë i ®Ç u l¹ i (tø c lµ bí c: tÝ nh biÓ u thø c 3, sau ®ã quay l¹ i bí c 2 ®Ó b¾ t ®Ç u mé t vß ng mí i cñ a chu tr× nh).
Chó ý: LÖ nh continue chØ ¸ p dô ng cho chu tr× nh chø kh«ng ¸ p dô ng cho switch.
VÝ dô: ViÕ t chng tr× nh ®Ó tõ mé t nhË p mé t ma trË n a sau ®ã: TÝ nh tæ ng c¸ c phÇ n tö dng cñ a a. X¸ c ®Þ nh sè phÇ n tö dng cñ a a. T× m cù c ®¹ i trong c¸ c phÇ n tö dng cñ a a. #include " stdio.h" float a[3[4]; main() { int i, j, soptd=0; float tongduong=0, cucdai=0, phu; for (i=0; i< 3; ++i) for (j=0; i< 4; ++j) { printf(" \n a[%d][%d]=", i, j); scanf(" %f", & phu); a[i][j]=phu; if (a[i][j]< =0) continue; tongduong+=a[i][j]; if (cucdai< a[i][j]) cucdai=a[i][j]; ++soptd; printf(" \n So phan tu duong la: %d", soptd); printf(" \n Tong cac phan tu duong la: %8.2f", tongduong); printf(" \n Cuc dai phan tu duong la: %8.2f", cucdai); }
|