You are on page 1of 26

Оператори и операции с основните типове

данни. Структура на програма на С/C++


Аритметични оператори:

+ ; - ; *; / ;%
( събиране;изваждане,умножение,деление,
деление по модул)

Ако един от операндите е double и


резултатът е double
Ако и двата операнда са int и делим: a / b,
резултатът ще е цялата част от делението
a % b дава остатъка
Примери:
 5 % 3 резултатът е 2
 0 % 3 резултатът е 0 (резултатът от

делението е 0, което е цяло число без


остатък)
 -10 % 3 резултатът е –1 (резултатът от

делението е –3 и остатъкът е –1)


Оператори за сравнение

> по-голямо
< по-малко
> = по-голямо или равно
< = по-малко или равно
= = равно
! = не равно
Логически оператори
Логическите оператори се използват за
комбиниране на резултатите от логически
условия.
Пример Име Резултат
a && b Логическо 'и' TRUE ако и a, и b са TRUE.

TRUE, ако или a е TRUE,


a || b Логическо 'или' или b е TRUE или и двете
са TRUE.

!a Отрицание TRUE ако a не е TRUE.


Логически оператори - пример
 За да проверим дали стойността на
променливата a е между 0 и 100
включително, използваме оператора “И”:
a >= 0 && a <=100
 За да проверим дали стойността на

променливата b е по-малка от 0 или по-


голяма от 1000, използваме оператора
“ИЛИ”:
b<0 || b>1000
Оператор за присвояване
Операторът за присвояване има следния вид:
<променлива>=<израз>;

Променливата е идентификатор,
дефиниран вече като променлива. Изразът
е от тип, съвместим с типа на
променливата.
Комбинирани оператори за
присвояване
Оператор
Употреба Резултат
+=
a += b a=a+b
-=
a -= b a=a-b
*=
a *=b a=a*b
/=
a /= b a=a/b
%=
a %= b a=a%b
Оператори за инкремент и декремент

Приме
р Название Действие

Пре- Увеличава a с единица и връща


++a инкремент увеличената стойност на a.
Пост- Връща стойността на a, а след
a++ инкремент това увеличава a с единица.
Пре- Намалява a с единица и връща
--a декремент намалената стойност на a.
a-- Пост- Връща стойността на a, а след
декремент това намалява a с единица.
Примери
 a = 10; //a e 10
b = a++; //a e 11, но b e 10
//Присвояването се извършва преди
инкрементирането

a = 10; //a e 10
b = ++a; //a e 11 и b e 11
 //Присвояването се извършва след
инкрементирането
Изрази:
Определение:
Всяка валидна за езика комбинация от
символи за операции, операнди и кръгли
скоби се нарича израз.

Пример:
(c / a) + (z * t) - (a + t)
(arr [i] - x1) * b
x1 > x2 && (x1 * 10) > = (c / 10)
Правила за изчисляване на израз-реда се
определя от приоритета на операциите в
израза и от скобите
1.( ), [ ]
2.Унарните оператори: +, -, ++, -- ,!
3.*, /, %
4.Бинарните оператори: + ,-
5.< ,< =, >, > =
6.= =, ! =
7.& &
8.||
9.? :
10.= , + = , - = , * = , / =,
Операция за условен израз:
Означава се с ?: Форматът й е:
операнд 1 ? операнд 2 : операнд 3

Изчислява се операнд 1 .Ако стойността му е


TRUE се изчислява операнд 2 и неговата
стойност е резултата от операцията.
Ако операнд 1 има стойност FALSE се
изчислява операнд 3 неговата стойност е
резултатът от операцията.
Операция за преобразуване на
типове
Формат :
(тип) операнд
float( x+ (y / 2))
Пример:
int i ;
i=7;
cout<<(double) i /2; //резултатът ще е 3.5
Оператор за размер на обект
Означава се с ключовата дума sizeof и форматът
й е: sizeof (операнд)
Пример:
char c;
double d;
cout<<sizeof (c);//1
cout<<sizeof (d);//8
Структура на програма на С/C++
 Особеност на програмите на С/C++ е, че всяка
програма се състои от програмни единици,
наречени функции, като винаги трябва да
присъства една (и само една функция), която се
дефинира като главна (main) функция.
 Общ вид на програма на С/C++:
Описание на заглавни (header) файлове
Главна (main) функция
Функция1
Функция2
………….
Структура на програма на С/C++
 Чрез главната функция програмата осъществява връзка с
операционната система на компютъра и с другите
функции в програмата. Останалите (незадължителни)
функции може да бъдат неограничен брой. При работа на
програмата е възможно предаване на информация между
функциите.
 Освен функциите дефинирани от самия програмист, може
да се използват и стандартни функции, които са
дефинирани в някой от заглавните файлове, които играят
ролята на библиотечни модули. Когато се използва
функция от дадена библиотека в една програма, трябва
да се включи заглавния файл на библиотеката. Това се
прави с помощта на директивата #include:
 #include <име на файла>
Структура на програма на С/C++
 Функциите, които съставя самият програмист се именуват от
него с подходящи имена, напомнящи предназначението на
функцията като се използват само валидни идентификатори.
Общият синтаксис на една функция в С/C++ е:

тип име_на_функцията (списък_на_формалните_параметри)


{
дефиниции на вътрешни (локални) променливи;
…………………
оператори;
…………………
}
Структура на програма на С/C++
 Формалните параметри в списъка се отделят със
запетая. Те не са задължителни, но кръглите скоби са
задължителни дори и да няма параметри, както често
се случва с главната функция main. Чрез параметрите
става предаването на стойности в началото на
използването на функцията. Самите формални
параметри се описват със съблюдаване на общите
правила за описване на променливи. Действията,
които трябва да извърши функцията се описват с
валидните оператори на езика. Всеки оператор
завършва с точка и запетая (;). Групата от оператори,
които изграждат тялото на функцията се заграждат в
големи скоби { } и се наричат блок от оператори.
Оператори за вход/изход (I / O) в
С++
В С++ конструкциите за въвеждане и
извеждане са:
 cin >> израз за въвеждане
 cout << израз за извеждане

Те работят с т.нар. потоци, които спадат към


класовете. Удобството е, че тези оператори
сами преценяват какъв тип форматиране да
се използва. За да се използват в програмите
трябва да се включи файла iostream с
директивата #include
Оператори за вход/изход (I / O) в
С++
Например, следващият фрагмент въвежда
две целочислени променливи:
int i, j;
cin >> i >> j;
Следващият оператор извежда “This is a
test 10 20 “
cout << “This is a test “ << 10 << ‘ ‘ << 4 *
5;
Съставяне на прости програми

#include <iostream> // включва заглавен файл


using namespace std;
int main () // главна функция
{ // начало на главния блок от оператори
cout << " This is a program.\n ";// извеждане на низ
return 0;
} // край на главния блок
Съставяне на прости програми
Първият ред от програмата предизвиква прочитането на файла
iostream от страна на компилатора и неговото включване в
програмата. Този файл съдържа информация, касаеща cout.
Третият ред поставя началото на функцията main (). Както беше
споменато, всички програми на С/С++ трябва да имат функция
main (). Това е мястото, откъдето започва изпълнението на
програмата. Int определя, че main () връща целочислена
стойност.
Чрез реда return 0;
main() връща стойност 0. В този случай тази стойност се връща
на извикващия процес (обикновено операционната система).
Стойност 0, връщана от main (), показва, че програмата е
завършила своето изпълнение нормално. Всяка друга стойност е
сигнал за грешка.
x  y 3x  7
1. Преобразувайте математическите формули във валиден С++ израз: ;
7 z2

Отг. (x+y)/7 (3*x+7)/(z+2)

Kакво ще се изведе на екрана след изпълнението на следния


програмен код?
char a, b, c;
a = 'b';
b = 'c';
c = a;
cout << a << b << c << 'c';
Отг. bcbc
Kакво ще се изведе на екрана след изпълнението на
следния програмен код?
int number;
number = (1/3) * 3;
cout << "(1/3) * 3 =" << number;
Отг. (1/3) * 3 =0
Каква стойност ще има променливата f ?
double f, c = 20;
f = (9/5) * c + 32.0;
Отг. 52
Каква стойност ще има променливата f ?
double f, c = 20;
f = (9.0/5) * c + 32.0;
Отг. 68
Какво ще се изведе на екрана?
int n = 4, k = 2;
cout << ++n << endl;//5
cout << n << endl;//5
cout << n++ << endl;//5
cout << n << endl;//6
cout << -n << endl;//-6
cout << n + k << endl;//8
cout << n << endl;//6
cout << k << endl;//2
cout << " n * n = “<<endl;//n * n =
cout << n * n << endl;//36
cout << 'n' << endl;//n

You might also like