Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -----------------------------------------------
- -------------------Обяснение-------------------
- -----------------------------------------------
- Така..Започваме от кодът..C++.. Има типове данни в този език.Нека ги изредим:
- int - 4B - цяло число, примери: 3,4,5,6
- double - 8B - реален тип - Тоест числата са следните: 2.3, 4.1, 5.7
- float - 8B - реален тип също, но тук излизат изцяло, тоест: 2.349391934, 4.1812381 и така нататък.
- char - 1B - най-често масиви, символи. пример: char a = 'a';
- string - текст - пример: string a = "This is an example text";
- bool - 1B, булев тип - Има две стойности true и false. Пример: bool isTrue = true;
- ВАЖНО: Всички тези имена int, double, float, char, string са запазени имена. Не могат да бъдат имена на променливи.
- Също, променливите не могат да започват с цифри или символи.Могат да съдържат, но не могат да започват с тях.
- Операции с тях:
- Входни:
- C++:
- cin >> <името на променливата>;
- cin.getline(<името на променливата>);
- getline(cin, <името на променливата>);
- C:
- scanf(<името на променливата>);
- Има, но не са нужни всъщност.
- Изходни:
- C++:
- cout << <името на променливата> или текст, или символ;
- C:
- printf("Test");
- Сега, това нека го обясня. Може да е сложно, но по принцип е доста полезно.Добре, ще го оставим.Той за сега не е нужен.
- Оператори:
- << - извеждащ оператор - извежда на екрана.
- >> - въвеждащ оператор - Въвежда в променливата Или нека дам примери и да обясня с думи;
- cin >> a;
- въвежда се стойност в променливата с име a;
- cout << а;
- извежда се стойността от променливата а. Толкова.Простичко и ясно.
- endl - Задава край на реда и прехвърля на нов ред.Пример: cout << a << endl << b;
- Тогава, ще изведе променливата а на единият ред, а променливата b на другият(новият ред).
- Аритметични оператори: + - / * %
- 1 + 1 = 2;
- 1 - 1 = 0;
- 1 / 1 = 1;
- 1 * 1 = 1;
- 1 % 1 = 0;
- Това последното изчислява остатък. 1 / 1 е равно на 1 и няма остатък. След като няма връща 0, ако има остатък връща 1.
- Логически оператори:
- && - и - Пример: 1 == 1 && 2 == 2 - Превежда се така: 1 е равно на 1 И 2 е равно на 2. Използват се при проверките много.
- || - или - Пример: 1 == 1 || 2 == 2 - Същият начин, но 1 е равно на 1 или 2 е равно на 2.
- ! - отрицание - Пример: По-горе си зададохме променлива isTrue от тип bool.
- Сега ако го напиша така: cout << isTrue << !isTrue, то на екранът ще излезе първо true, а после false.
- Отрицанието на истината е лъжата. И обратно, ако задам !!isTrue, ще изведе true.Можете и 100 удивителни
- да сложите тука отзаде и пак ще се смятат.
- = - присвояване - Пример: Присвоявате стойност на променлива. Тоест, ако напиша така: isTrue = false; ,то тогава
- променливата isTrue ще приеме стойността false.
- == - равенство(равно на) - Не мисля че има смисъл да ги обяснявам тези двете. Те са ясно написани.
- != - различно(не е равно на)
- // - едноредов коментар - част от кода, която не се чете или показва от програмата.Пример: //this is hello world text
- /* */ - Многоредов коментар - Може да се пише на няколко реда. Отварящият таг е /* , а затварящият е */. Всичко между
- тях е коментар.
- Библиотеки:
- Въвеждат се в програмата чрез запазена дума include.Пример: #include <[името на библиотеката]> -> #include <iostream>
- iostream - входно-изходна библиотека.Всички тези операции cout/cin са там.За scanf/printf е нужна stdio/stdio.h .
- Библиотеките са доста, могат да се търсят из интернет.Нямам намерение да ги изреждам всичките, но ето едни от редовните,
- които ще се използват:
- #include <math.h> - математически функции, cos, sin, tg, cotg, round и други.
- #include <iostream> - входно-изходни операции.
- #include <fstream> - входно-изходни операции за файлове
- #include <stdio.h> - стандартна библиотека за C.
- #include <string> - Текстова обработка на символен низ(текст).има готини функции, които няма да се разглеждат сега, но
- по-нататък, някои от които са доста полезни.
- И спирам до тук.
- Using namespace std:
- Какво е това? Това е, как да се изразя..Нещо, което можете да си спестите, не е толкова важно, но ако не ви мързи да си
- пишете std::cout всеки път, то по-добре си го пишете. Тоест, това автоматично замества всички тези ..Кво ли го обяснявам.
- Просто го пишете.Полезно е.
- Добре.След като разбрахме всичко това, нека да решиме няколко примера.А да..Библиотеки и using namespace std;
- Така.Това е примерна задача и примерно оформление на код.Искам да виждам кодът и да бъде ясен.Нещо подобно:
- Пространства между редовете, място за коментари, които описват всеки ред какво прави(е не всеки де, този, който е нужен)
- Разстояние между операторите и функциите.(По-пригледно изглежда)
- А ето как не трябва да изглежда една програма -> Защо?
- Супер наблъскано е и трудно се разчита.Трудно се разбира кое къде започва и къде свършва. Сега ще покажа и двата примера.
- Вие си преценете начинът на писане на код.
- Лично мое мнение е, че десният код е по-хубаво подреден.Това е важно, когато си програмист. Все пак затова пишеш кодът.
- Да улесниш себе си.Нека продължим с примерите.
- Започваме от примерна задача:
- Задача 1: Да се напише програма на C++, която извежда на екрана Hello World.
- Задача 2: Да се изведе на екрана всеки тип данни чрез променливи.
- Задача 3: Използвай всички работи от текстовият файл, които не си използвал без логически оператори.
- -----------------------------------------------
- ---------------Код на програмата---------------
- -----------------------------------------------
- #include <iostream>
- #include <string>
- using namespace std;
- int main() {
- // Декларираме променлива a от тип цяло число
- // и задаваме стойност 1 на променливата
- int a = 1;
- // Декларираме променлива b от реален тип
- // и задаваме стойност 2.34 на променливата
- double b = 2.34;
- // Декларираме променлива c от реален тип с
- // повече запетаи
- // и задаваме стойност 2.93493 на променливата
- float c = 2.93493;
- // Декларираме променлива d от символен тип
- // и задаваме стойност D на променливата
- char d = 'D';
- // Декларираме променлива str като символен низ(текст)
- // и задаваме стойност "This is sample text"
- // на променливата
- string str = "This is sample text";
- // Деклрарираме променлива от тип bool или булев тип
- // и задаваме стойност true на променливата
- bool isTrue = true;
- // Извеждаме променливите една по една на екрана
- cout << "a = " << a << endl << "b = " << b;
- /* Можете и всяка на отделен ред, това не е от
- никакво значение.Важното е да се изведат на
- екрана.А ето и пример за многоредов коментар.
- */
- // Извеждаме стойността на променливата c на
- // екрана
- cout << "c = " << c << endl;
- // Извеждаме стойността на променливата d на
- // екрана
- cout << "d = " << d << endl;
- // Извеждаме стойността на променливата str на
- // екрана
- cout << "str = " << str << endl;
- // Добре, нека започнем с въвеждането на данни
- // Пишем примерен текст за потребителя, за да
- // разбере за нашето намерение, че искаме той
- // да въведете от клавиатурата информация
- cout << "Enter a number: ";
- // Използваме операцията cin, за да въведем
- // информацията в променливата a.
- cin >> a;
- // И извеждаме на екрана стойността на a;
- cout << "a = " << a << endl;
- // Готино нали? Нека направим същото за
- // останалите променливи
- cout << "Enter a real number: ";
- // Въвеждаме информация за променливата b
- cin >> b;
- // Извеждаме новата стойност на променливата b
- // Същото важи и за float, не мисля да повтарям
- // този ред
- cout << "b = " << b << endl;
- // Информация за променливата c
- cout << "Enter only one character: ";
- // Въвеждаме информация за променливата c
- cin >> d;
- // Извеждаме новата стойност на c на екрана
- cout << "d = " << d << endl;
- // Информация за символният низ(текстът)
- cout << "Enter text: ";
- // Сега тук, има два варианта и ще ги покажа
- // и двата.Единият е да се вземе само първата
- // дума, защото cin не приема интервали(space)
- // А другият вариант е да го вземем с интервал
- // Все пак е текст нали? Много ясно, че трябва
- // да има интервали.
- // |----------------------------------------|
- // getline(cin, <името на променливата>)
- //
- // Тази функция е вградена в string и взема
- // целият текст, който е въведен. Ще го видим
- // следмалко.
- // |----------------------------------------|
- // Също да спомена. getline е за string
- // докато cin.getline е за char.
- cin.sync();
- cin.clear();
- // Нека вметна защо използвам тези две
- // функции и какво правят.
- // От преди имаме входни данни чрез cin
- // И ние изведнъж сменяме метода на вход
- // Входният поток трябва да се изчисти и
- // да се върне по начална стойност, празен
- // очакващ вход.
- // clear - чисти потокът
- // sync - синхронизира го с началната му
- // стойност
- // входен поток - всичко, което се въвежда от
- // cin в нашият случай
- // Как да разберете кога да ги използвате?
- // Когато не ви даде да въвеждате.Ето пример!
- getline(cin, str);
- // Извеждаме новата стойност на str на екрана
- cout << "str = " << str << endl;
- // Нека минем към аритметични операции.
- //Умножение
- cout << "2 * 2 = " << 2 * 2 << endl;
- // Деление
- cout << "4 / 2 = " << 4 / 2 << endl;
- // Събиране
- cout << "2 + 1 = " << 2 + 1 << endl;
- // Изваждане
- // Може и с променливи.
- // a - 1 или a - b
- // Използването на променливи
- // важи за всички аритметични операции
- cout << "2 - 1 = " << 2 - 1 << endl;
- // Деление с остатък
- cout << "7 % 2 = " << 5 % 2 << endl;
- // Нека не се занимаваме и с C в момента, защото
- // информацията е предостатъчно много и е нужно
- // време, за да се осмисли и усвои както трябва
- // тоест да се разбере.
- //
- // Нека сега разгледаме променливата от булев тип
- // isTrue. Нека я изведем на екрана и да видим нейната
- // стойност
- // При true връща единица, а при false връща 0
- cout << "isTrue = " << isTrue << endl;
- // Отрицанието на isTrue е false, тоест 0
- cout << "!isTrue = " << !isTrue;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement