Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






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 ifelse if vớ i nhau. Dạ ng thứ c củ a nó như sau:

switch ( expression ) {
case
constant1 :
block of instructions 1
break;
case
constant2 :
block of instructions 2
break;
.
.
.
default:
default block of instructions
}

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.
Cò n nế u khô ng, switch sẽ kiể m tra xem biể u thứ c có bằ ng constant2 hay khô ng. Nế u đ ú ng nó sẽ thự c hiệ n block of instructions 2 cho đ ế n khi tì m thấ y từ khoá break.
Cuố i cù ng, nế u giá trị biể u thứ c khô ng bằ ng bấ t kì hằ ng nà o đ ư ợ c chỉ đ ị nh ở trê n (bạ n có thể chỉ đ ị nh bao nhiê u câ u lệ nh case tuỳ thí ch), chư ơ ng trì nh sẽ thự c hiệ n cá c lệ nh trong phầ n default: nế u nó tồ n tạ i vì phầ n nà y khô ng bắ t buộ c phả i có.

Hai đ oạ n mã sau là tư ơ ng đ ư ơ ng:

ví dụ switch if-else tư ơ ng đ ư ơ ng
switch (x) { case 1: cout < < " x is 1"; break; case 2: cout < < " x is 2"; break; default: cout < < " value of x unknown"; } if (x == 1) { cout < < " x is 1"; }else if (x == 2) { cout < < " x is 2"; }else { cout < < " value of x unknown"; }

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ụ:

switch (x) { case 1: case 2: case 3: cout < < " x is 1, 2 or 3"; break; default: cout < < " x is not 1, 2 nor 3"; }

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 ifelse 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 đ ó:
type là kiể u dữ liệ u đ ư ợ c trả về củ a hà m
name là tê n gọ i củ a hà m.
arguments là cá c tham số (có nhiề u bao nhiê u cũ ng đ ư ợ c tuỳ theo nhu cầ u). Mộ t tham số bao gồ m tê n kiể u dữ liệ u sau đ ó là tê n củ a tham số giố ng như khi khai bá o biế n (ví dụ int x) và đ ó ng vai trò bê n trong hà m như bấ t kì biế n nà o khá c. Chú ng dù ng đ ể truyề n tham số cho hà m khi nó đ ư ợ c gọ i. Cá c tham số khá c nhau đ ư ợ c ngă n cá ch bở i cá c dấ u phẩ y.
statement là thâ n củ a hà m. Nó có thể là mộ t lệ nh đ ơ n hay mộ t khố i lệ nh.

Dư ớ i đ â y là ví dụ đ ầ u tiê n về hà m:

// function example #include < iostream.h> int addition (int a, int b){ int r; r=a+b; return (r); } int main (){ int z; z = addition (5, 3); cout < < " The result is " < < z; return 0; } The result is 8

Đ ể 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 3 tư ơ ng ứ ng vớ i hai tham số int a 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 3 ) đ ư ợ c copy sang hai biế n cụ c bộ int a 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 .

 

Phạ m vi hoạ t đ ộ ng củ a cá c biế n [nhắ c lạ i] Bạ n cầ n nhớ rằ ng phạ m vi hoạ t đ ộ ng củ a cá c biế n khai bá o trong mộ t hà m hay bấ t kì mộ t khố i lệ nh nà o khá c chỉ là hà m đ ó hay khố i lệ nh đ ó và khô ng thể sử dụ ng bê n ngoà i chú ng. Ví dụ, trong chư ơ ng trì nh ví dụ trê n, bạ n khô ng thể sử dụ ng trự c tiế p cá c biế n a, b hay r trong hà m main vì chú ng là cá c biế n cụ c bộ củ a hà m addition. Thê m và o đ ó bạ n cũ ng khô ng thể sử dụ ng biế n z trự c tiế p bê n trong hà m addition vì nó là m biế n cụ c bộ củ a hà m main. Tuy nhiê n bạ n có thể khai bá o cá c biế n toà n cụ c đ ể có thể sử dụ ng chú ng ở bấ t kì đ â u, bê n trong hay bê n ngoà i bấ t kì hà m nà o. Đ ể là m việ c nà y bạ n cầ n khai bá o chú ng bê n ngoà i mọ i hà m hay cá c khố i lệ nh, có nghĩ a là ngay trong thâ n chư ơ ng trì nh.

Đ â y là mộ t ví dụ khá c về hà m:

// function example #include < iostream.h> int subtraction (int a, int b){ int r; r=a-b; return (r); } int main (){ int x=5, y=3, z; z = subtraction (7, 2); cout < < " The first result is " < < z < < '\n'; cout < < " The second result is " < < subtraction (7, 2) < < '\n'; cout < < " The third result is " < < subtraction (x, y) < < '\n'; z= 4 + subtraction (x, y); cout < < " The fourth result is " < < z < < '\n'; return 0; } The first result is 5 The second result is 5 The third result is 2 The fourth result is 6

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);
cout < < " The first result is " < < z;

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;
cout < < " The first result is " < < z;

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;

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 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.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.