* Процесорът изпълнява машинни инструкции, които са:
161 40000 45 100 127 11280
* Асемблер - език от ниско ниво:
mov 40000, %eax
sub 100, %eax
jg 11280
mov int_rate, %eax
sub 100, %eax
jg int_error
* Програмни езици от високо ниво:
if (int_rate > 100) message_box("Interest rate error");
* Специална компютърна програма, наречена компилатор, превежда
описанието на по-високо ниво (език за програмиране) в машинни
инструкции за конкретен процесор (машинен език).
* Компилаторите следват строги конвенции (правила) по отношение на
използването на езика за програмиране. Когато компилатор чете
инструкции за програмиране (изрази, операции и оператори) на език
за програмиране, той ще ги преведе в машинен код, само ако входът
следва езиковите конвенции точно.
* Строгите правила предотвратяват по-катастрофални грешки, които
биха могли да възникнат, ако компилаторът трябва "да гадае".
* Има много (стотици) езици за програмиране (List
of programming languages).
* Различията в езиците за програмиране понякога са незначителни,
но в други случаи са съществени.
if (int_rate > 100) message_box("Interest rate error");
if int_rate > 100 then System.Console.Write("Interest rate error") end if
** История на езика С++.
* Езикът С се създава и развива заедно с операционната система
UNIX. Първата версия е създадена през 1973 г. от Денис
Ричи. Езикът се развива интензивно и през 1977 г. UNIX е
пренаписана на С. Стандартна версия на езика е установена през
1989 година.
* Езикът С++ е създаден от Бьорн
Страуструп 1983 г., като към езика С са добавени нови
елементи. Всъщност възниква нов обектно-ориентиран език, който
веднага получава много широко разпространение. Стандартизацията на
езика завършва през 1998 година, като книгата на Страуструп e
всъщност този стандарт.
* 2003 - Стандарти, разработени за нови версии на C++ (The C++ Standards
Committee).
* 2011-09-11: Нов C++ стандарт - C++11,
2013-05-24: CD
за новия стандарт.
* 2013-05-24: The CD
for the new C++14 standard is released.
** Компилатори и среди за програмиране на С и С++
* Unix ОС (Ubuntu и др.), Мас:
- GCC е GNU компилатор, който
поддържа най-новите версии (стандарти) на езиците C, C++;
- текстов редактор
* Системи (среди) за програмиране за MS Windows -
обикновено се състоят от текстов редактор, компилатор, библиотеки
и система за проверка на програмите (debug). За С/С++
по-известните среди за програмиране са:
- MS Visual C++ -
продукт на Майкрософт, не поддържа С++ стандарт;
- Dev C++ - поддържа С++
стандарт, няма help за езика и удобен дебъгер;
- Code::Blocks -
The open source, cross platform, free C++ IDE.
След година |
Сума (баланс) |
0 |
$10,000.00 |
1 |
$10,500.00 |
2 |
$11,025.00 |
3 |
// coins1.cpp
#include <iostream> using namespace std; int main() { int pennies = 8; int dimes = 4; /* променлива dimes, константа 4 */ int quarters = 3; double total = pennies * 0.01 + dimes * 0.10 + quarters * 0.25; /* обща стойност на монетите */ cout << "Total value = " << total << "\n"; return 0; }
* Типът "цяло число" (int) задава цели
числа без дробна част. Включва нулaта и отрицателни числа.
Използва се за съхранение на стойности на цели числа (например
брой монети)
* Числата от тип "плаваща запетая" (double) имат десетичната
точка (в стандарта на US).
* Записване на числа с плаваща запетая: 1.2; 0.001; -0.12;
1E-2; 13.01E2; -2.9e-2; и т.н.
* Променливите са места в паметта, която могат съхраняват
стойности от даден тип.
* Правила за именуване (символични имена, идентификатори):
- Имената трябва да
започват с буква.
- Оставащи символи са
букви, цифри или долна черта (underscore, _), без интервали или
специални символи.
- Не може да се
използват запазените думи (като int, return и
др.)
- В имената на
променливите се отличават малки и главни букви (case-sensitive),
например Area и area са различни имена.
- За да се
избегне всякаква възможност за объркване, никога няма да се
използват главни букви в имената на променливите.
* Всяка променлива има:
- Тип, напр. int
или double.
- Име, напр. dimes.
- Стойност, напр.
4.
* В оператора за дефиниране на променлива
int dimes = 4;
типът на променливата е int, името е dimes и
стойността е 4.
* За действие умножение се използва * (не точка или х).
* Оператор за изход, обекта "екран" (cout):
cout << "Total value =
";
/* извежда низ */
cout <<
total; /* извежда
стойност на променлива */
cout <<
"\n"; /* специален символ за край на ред */
* Коментар - не се обработва от
компилатора:
/* коментар
между
знаците за начало и край на коментар */
// коментар
-
до края на реда.
// coins2.cpp
#include <iostream> using namespace std; int main() { cout << "How many pennies do you have? "; int pennies; cin >> pennies; cout << "How many nickels do you have? "; int nickels; cin >> nickels;
cout << "How many dimes do you have? "; int dimes; cin >> dimes; cout << "How many quarters do you have? "; int quarters; cin >> quarters; double total = pennies * 0.01 + nickels * 0.05 + dimes * 0.10 + quarters * 0.25; /* total value of the coins */ cout << "Total value = " << total << "\n"; return 0; }