УПРАВЛЯВАЩИ ОПЕРАТОРИ Печат

УПРАВЛЯВАЩИ ОПЕРАТОРИ

3.1 БЛОК (СЪСЪТАВЕН ОПЕРАТОР) Блокът представлява фрагмент от програма, разположен между две фигурни скоби  { }.

3.2. ОПЕРАТОР IF

if  (условие )

оператор;

3.3. ОПЕРАТОР IF…ILSE

if     (условие )

оператор1;

else

оператор2;

3.4. ОПЕРАТОР SWITCH

switch  (израз)  {

case : оператор1; оператор2;…;

case : оператор1; оператор2;…;

………………………………………………………..

case : оператор1; оператор2;…;

[default: оператор1; оператор2;…]

}

3.5. ЦИКЛИ В  С++

3.5.1. Цикъл DO…WHILE

do

оператор;

while (условие);

3.5.2.  Цикъл WHILE

while (условие)

оператор;

3.5.3. Цикъл FOR

for (; ; ) {

оператор-1;

оператор-2;

…………

оператор-n;

}

3.5.4. Влагане на цикли

for (i= 0; i

for (i= 0; j

C[i][j]  =  A[i][j] + B[i][j];

3.6. ОПЕРАТОР BREAK

Операторът break предизвиква завършване на трите вида цикли и на оператора. Той предава управлението на първия оператор, намиращ се след затварящата скоба на оператора switch или на циклите do…while, while и for

3.7. ОПЕРАТОР  CONTINUE

Операторът continue може да бъде включен в телата на трите вида цикли. Той предизвиква начало на нова итерация, без да бъдат изпълнени операторите от тялото на цикъла, разположени след оператора continue.

3.8. ОПЕРАТОР GOTO

ФУНКЦИИ

1Дефиниция и декларация на функция.

Дефинициите на функциите се състоят от две части: заглавна част (прототип) и тяло.

[] []

{

тяло(множество оператори)

}

Пример:   inline int sum (int x, int y)

{

return x + y;

}

Активиране на функция:

sum (2, 3);

m = 3 + sum (2, 3);

Декларацията на функцията представлява нейната заглавна част и завършва с точка и запетая;

int sum (int x, int y);

sum (int x, int y);

2.Функции, които не връщат стойност. Завършване изпълнението на функциите. Оператор Return.

void in_out_num (int num) // Функция, която не връща стойност

{

cout << “Въведете числото \n”;

cin  >> num;

cout << “Въведеното число е “ <

}

Синтаксис на оператора return:

return [];

// Преобразуване на типа на върната стойност

int f ( float x )

{

float y;

y = x/2;

return y;

}

main ()

{

float z;

z = f(9);

cout << z;

}

3. Предаване на параметрите.

Взаимодействие на функциите с външната среда:

  • чрез върната стойност;
  • чрез предаване на параметри;
  • чрез външни глобални параметри.

Предаването на параметрите на функциите се осъществява по три начина:

  • предаване на параметри по стойност;
  • предаване на параметри чрез указатели;
  • предаване на параметри чрез псевдоними (по reference).

3.1.Предаване на параметри по стойност.

Предаването на параметрите по стойност се характеризира с това, че фактическите параметри, с които  се извиква функцията, се копират в стека и функцията работи с копията, а не с оригиналните параметри, с които е била извикана.

// Предаване на параметри по стойност

# include

// Дефиниция на функцията func1

void func1 ( int x)

{

x += 2;

cout   “x= “ << x  << ‘\n’;

}

// Дефиниция на функцията main

main ()

{

int b = 5;

func1 (b);

cout  << “b= “ << b << ‘\n’;

}

3.2.Предаване на параметри чрез указатели.

Предаването на параметри на дадена функция чрез указатели се регламентира от следните правила:

Формалните параметри на функцията се декларират  като указатели.

В тялото на функцията се използват съдържанията на указателите, които са нейни формални параметри.

При извикване на функцията, фактическите параметри, съответстващи на формалните параметри, които са указатели, трябва да бъдат адреси или указатели.

// Размяна на стойностите на две променливи чрез функцията swap

# include

// Дефиниция на функцията swap

void swap (int *x, int *y)  //  х и у са указатели към int

{

int buf;

buf = *x;

*x = *y;

*y = buf;

}

// Дефиниция на функцията main

void main ()

{

int p =2,  q=3;

swap (&p, &q); // Фактическите параметри са адресите на p  и q

cout << "p= " << p << " " << " q= " <

}

3.3 Предаване на параметри чрез псевдоними (по reference).

// Предаване на стойности чрез псевдоними

// Размяна на стойностите на 2 числа

# include

void swap (int &x, int &y)

{

int buf;

buf = x;

x = y;

y = buf;

}

Дефиниция на функцията main

void main ()

{

int p =2,  q=3;

swap (p, q);

cout << "p= " << p << " " << " q= " <

}

3.4 Предаване на параметри на функцията main.

Функцията main има три параметъра (третият не е задължителен), които обикновено се означават с имената: argc, argv и envp.

Параметърът argv е масив от указатели към char (масив от низове). Елементите на argv представляват параметрите, които се предават на функцията main.

Параметърът argc  е от тип int и съдържа броя на елементите на масив  argv.

Третият параметър envp е указател към char. Чрез него може да се предава средата или контекстът (environment), в която се изпълнява програмата.

Параметрите на функцията main се подават при стартиране на програмите.

Пример:

# include

void main (int argc, char *argv[] )

{

for (int i= 1; i< argc; i++)

cout << argv[i] << " ";

cout << '\n';

}

c:\>\pet\oos\task\prog\ par1 par2