Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Cấu trúc lựa chọn: switch.
Cú phá p củ a lệ nh switch hơ i đ ặ c biệ t mộ t chú t. Mụ c đ í ch củ a nó là kiể m tra mộ t và i giá trị hằ ng cho mộ t biể u thứ c, tư ơ ng tự vớ i nhữ ng gì chú ng ta là m ở đ ầ u bà i nà y khi liê n kế t mộ t và i lệ nh if và else if vớ i nhau. Dạ ng thứ c củ a nó như sau: switch ( expression ) { Nó hoạ t đ ộ ng theo cá ch sau: switch tí nh biể u thứ c và kiể m tra xem nó có bằ ng constant1 hay khô ng, nế u đ ú ng thì nó thự c hiệ n block of instructions 1 cho đ ế n khi tì m thấ y từ khoá break, sau đ ó nhả y đ ế n phầ n cuố i củ a cấ u trú c lự a chọ n switch. Hai đ oạ n mã sau là tư ơ ng đ ư ơ ng:
Tô i đ ã nó i ở trê n rằ ng cấ u trú c củ a lệ nh switch hơ i đ ặ c biệ t. Chú ý sự tồ n tạ i củ a lệ nh break ở cuố i mỗ i khố i lệ nh. Đ iề u nà y là cầ n thiế t vì nế u khô ng thì sau khi thự c hiệ n block of instructions 1 chư ơ ng trì nh sẽ khô ng nhả y đ ế n cuố i củ a lệ nh switch mà sẽ thự c hiệ n cá c khố i lệ nh tiế p theo cho đ ế n khi nó tì m thấ y lệ nh break đ ầ u tiê n. Đ iề u nà y khiế n cho việ c đ ặ t cặ p ngoặ c nhọ n { } trong mỗ i trư ờ ng hợ p là khô ng cầ n thiế t và có thể đ ư ợ c dù ng khi bạ n muố n thự c hiệ n mộ t khố i lệ nh cho nhiề u trư ờ ng hợ p khá c nhau, ví dụ:
Chú ý rằ ng lệ nh switch chỉ có thể đ ư ợ c dù ng đ ể so sá nh mộ t biể u thứ c vớ i cá c hằ ng. Vì vậ y chú ng ta khô ng thể đ ặ t cá c biế n ( case (n*2): ) hay cá c khoả ng ( case (1..3): ) vì chú ng khô ng phả i là cá c hằ ng hợ p lệ. style=" BORDER-RIGHT: medium none; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 3pt solid" > Nế u bạ n cầ n kiể m tra cá c khoả ng hay nhiề u giá trị khô ng phả i là hằ ng số hã y kế t hợ p cá c lệ nh if và else if Bà i 5: Hà m (I) Hà m là mộ t khố i lệ nh đ ư ợ c thự c hiệ n khi nó đ ư ợ c gọ i từ mộ t đ iể m khá c củ a chư ơ ng trì nh. Dạ ng thứ c củ a nó như sau: type name (argument1, argument2,...) statement trong đ ó: Dư ớ i đ â y là ví dụ đ ầ u tiê n về hà m:
Đ ể có thể hiể u đ ư ợ c đ oạ n mã nà y, trư ớ c hế t hã y nhớ lạ i nhữ ng đ iề u đ ã nó i ở bà i đ ầ u tiê n: mộ t chư ơ ng trì nh C++ luô n bắ t đ ầ u thự c hiệ n từ hà m main . Vì vậ y chú ng ta bắ t đ ầ u từ đ â y. Chú ng ta có thể thấ y hà m main bắ t đ ầ u bằ ng việ c khai bá o biế n z kiể u int . Ngay sau đ ó là mộ t lờ i gọ i tớ i hà m addition . Nế u đ ể ý chú ng ta sẽ thấ y sự tư ơ ng tự giữ a cấ u trú c củ a lờ i gọ i hà m vớ i khai bá o củ a hà m: Cá c tham số có vai trò thậ t rõ rà ng. Bê n trong hà m main chú ng ta gọ i hà m addition và truyề n hai giá trị: 5 và 3 tư ơ ng ứ ng vớ i hai tham số int a và int b đ ư ợ c khai bá o cho hà m addition . Và o thờ i đ iể m hà m đ ư ợ c gọ i từ main , quyề n đ iề u khiể n đ ư ợ c chuyể n sang cho hà m addition . Giá trị củ a c hai tham số ( 5 và 3 ) đ ư ợ c copy sang hai biế n cụ c bộ int a và int b bê n trong hà m. Dò ng lệ nh sau: return (r); kế t thú c hà m addition , và trả lạ i quyề n đ iề u khiể n cho hà m nà o đ ã gọ i nó ( main ) và tiế p tụ c chư ơ ng trì nh ở cá i đ iể m mà nó bị ngắ t bở i lờ i gọ i đ ế n addition . Như ng thê m và o đ ó, giá trị đ ư ợ c dù ng vớ i lệ nh return ( r ) chí nh là giá trị đ ư ợ c trả về củ a hà m.\ Giá trị trả về bở i mộ t hà m chí nh là giá trị củ a hà m khi nó đ ư ợ c tí nh toá n. Vì vậ y biế n z sẽ có có giá trị đ ư ợ c trả về bở i addition (5, 3) , đ ó là 8 .
Đ â y là mộ t ví dụ khá c về hà m:
Trong trư ờ ng hợ p nà y chú ng ta tạ o ra hà m subtraction . Chứ c nă ng củ a hà m nà y là lấ y hiệ u củ a hai tham số rồ i trả về kế t quả. Tuy nhiê n, nế u phâ n tí ch hà m main cá c bạ n sẽ thấ y chư ơ ng trì nh đ ã và i lầ n gọ i đ ế n hà m subtraction . Tô i đ ã sử dụ ng và i cá ch gọ i khá c nhau đ ể cá c bạ n thấ y cá c cá ch khá c nhau mà mộ t hà m có thể đ ư ợ c gọ i. Đ ể có hiể u cặ n kẽ ví dụ nà y bạ n cầ n nhớ rằ ng mộ t lờ i gọ i đ ế n mộ t hà m có thể hoà n toà n đ ư ợ c thay thế bở i giá trị củ a nó. Ví dụ trong lệ nh gọ i hà m đ ầ u tiê n: z = subtraction (7, 2); Nế u chú ng ta thay lờ i gọ i hà m bằ ng giá trị củ a nó (đ ó là 5 ), chú ng ta sẽ có: z = 5; Tư ơ ng tự như vậ y cout < < " The second result is " < < subtraction (7, 2); cũ ng cho kế t quả giố ng như hai dò ng lệ nh trê n như ng trong trư ờ ng hợ p nà y chú ng ta gọ i hà m subtraction trự c tiế p như là mộ t tham số củ a cout. Chú ng ta cũ ng có thể viế t: cout < < " The second result is " < < 5; vì 5 là kế t quả củ a subtraction (7, 2) . Cò n vớ i lệ nh cout < < " The third result is " < < subtraction (x, y); Đ iề u mớ i mẻ duy nhấ t ở đ â y là cá c tham số củ a subtraction là cá c biế n thay vì cá c hằ ng. Đ iề u nà y là hoà n toà n hợ p lệ. Trong trư ờ ng hợ p nà y giá trị đ ư ợ c truyề n cho hà m subtraction là giá trị củ a x and y . Trư ờ ng hợ p thứ tư cũ ng hoà n toà n tư ơ ng tự. Thay vì viế t z = 4 + subtraction (x, y); chú ng ta có thể viế t: z = subtraction (x, y) + 4; cũ ng hoà n toà n cho kế t quả tư ơ ng đ ư ơ ng. Chú ý rằ ng dấ u chấ m phẩ y đ ư ợ c đ ặ t ở cuố i biể u thứ c chứ khô ng cầ n thiế t phả i đ ặ t ngay sau lờ i gọ i hà m.
|