1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
/* Кодът е просто текст, и то не текст като на Word, където може да имаш размер на шрифта, цветове, ...
* Това е най-стария стандарт за текст: само запазва конкртние букви и нищо повече, всичко останало идва от програмата с която гледате кода.
*
* Компютрите не могат да работят с произволен "литературен" текст, твърде е сложно, затова пишем текст в строго определен формат, който е лесен за компютъра.
* Синтаксис е начина, тоест специфичкните правила, по които пишем код.
*/
// Коментар е, както името подсказва, част от кода в която се пише произволен текст с цел да помогне по някакъв начин на човека, който чете кода.
// В C++ имаме два начина да пишем коментари:
// или с //, като коменара започва след наклонените черти и продължава до края на реда
// или с /* текст */, като нашия коментар се намира по средата между тях (тоест, на мястото на "текст")
// /* може да започне навсякъде и */ може да завърши навсякъде, включително по средата на код, примерно:
// int a = 2 /* this is a comment */ + 5 /* this is a comment */
// В първа задача се нуждаем от начин да изкараме текст на конзолата.
// Точните механизми и начини, по които това се случва са твърде сложни и дълги, затова ще използваме библиотека:
// библиотека е някаква съвкупност от код, която ние просто използваме за дадена
// Тоест, вместо ръчно да имплементираме стотиците или хилядите редове код, нужни за вход и изход от конзолата, използваме библиотека, която предоставя
// някакъв удобен начин да извършим това.
//
// Как вкарваме библиотеки?
// Използваме синтаксиса "#include <ИМЕ>", защо точно така трябва да го пишем ще разберете в бъдеще, за сега единственото важно е, че така се прави, като
// ИМЕ замествате с името на съответната библиотека.
// Също един важен детайл, поне за сега, винаги пишете това нещо в началото на файла, тоест винаги вкарвайте библиотеки най-отгоре на файла.
//
// Библиотеката, която ще използваме за вход и изход в този курс се казва "iostream".
// Нека да я вкараме:
#include <iostream>
// Супер, обаче все още трябва да напишем кода за изкарване на текст.
// За разлика от други езици, в C++ трябва да предоставим начало на програмата, тоест когато пуснем компилираната програма, изпълнението на кода ще започне
// от това начало.
// Винаги началото е една функция наречена "main".
// Твърде общо казано, функциите предоставят начин да групираме код под някакво име.
// Може да си го представите като някаква кутия, в която има код, и винаги може да кажете "изпълни кода в тази кутия".
// В бъдеще ще си говорим за функции както трябва, затова за момента само това е нужно.
// Тази начална функция се пише така:
int main()
// Важно е да спомена, че в C++ "празните" знаци са от без значение, тоест спокойно може да я напишем като
// int main ()
// или пък
// int
// main
// ()
// имайки предвид, че зачитаме за празни знаци спейсове, нови редове и табове
// Това обаче не е съвсем изпълнено за "#include <ИМЕ>"
// След това имаме { }, отново не зачитаме празните знаци.
// С къдрави скоби обозначаваме "code block", тоест някакво парче код.
// Винаги (абе не е баш винаги, ама за момента да приемем това) в тях пишем нашия код.
// Тоест, всичко до момента е "общ" синтаксис, с който подготвяме всичко нужно да пишем код.
// Винаги след дефиницията на функция, "int main()", трябва директно да следва един блок.
// С "int main()" дефинираме "името" на функцията, а с блокът дефинираме кодът в тази функция.
{
// Най-често със всеки блок идентираме кода навътре, тоест в началото на всеки ред слагаме малко празно място.
// И без това програмата ще се компилира, но е общоприета конвенция сред програмистите.
// Всеки (пак, не е баш всеки, но ще видите по-подробно в бъдеще) ред код се завършва с ;
// Ок, супер, тук трябва да изкараме нашето съобщение на конзолата.
// За момента просто приете синтаксиса така както е, в бъдеще ще се изяснят някои подробности и ще разберете от къде идват тези имена и синтаксиси.
// За изкарване използваме синтаксиса "std::cout << НЕЩО", като std::cout директно идва от нашата библиотека iostream, а пък << е специален оператор, който
// в сутацията (на практика! отново, това е по-абстрактно и интуитивно обяснение, което малко пренебрегва реалността) казва "вкарай това от дясно в това от ляво".
// Един вид, вкарай НЕЩО в "std::cout", като std::cout e чудесията която се оправя с изкарването на текст в конзолата.
// Друго важно свойство е, че може да има няколко "<< НЕЩО" едно след друго, тоест "std::cout << НЕЩО1 << НЕЩО2 << НЕЩО3"
// Разбира се, това е еквивалентно на: "std::cout << НЕЩО1", "std::cout << НЕЩО2", "std::cout << НЕЩО3", тоест можем да ги напишем поотделно
// Ок, знаем че трябва да напишем "std::cout << НЕЩО", обаче как да вкараме нашето съобщение, а именно Hello World!, в код?
// В C++ синтаксиса за текст (с повече от една буква) е: "текст"
// Обаче на това му казваме низ (string на анлийски), главно защото низ може да бъде всяко съчетание от букви, докато текст е по-литературен термин.
// Готово, кодът който трябва да напишем е
// std::cout << "Hello, World!";
// единствената подробност е, че ние искаме това да бъде само на един ред, тоест не искаме да има нещо до него.
// Най-лесния начин да направим това е да вкараме специален знак (специална "буква"), която определя нов ред.
// Тоест, изписваме Hello, World! и отиваме на нов ред, така всичко следващо, което изпишем на екрана, ще е на нов ред.
// По принцип, най-често се използват буквите "\n" в низове, за да покажем нов ред, обаче това не е съвсем универсално (поне как точно работи)
// затова iostream ни предоставя нов обект (ново нещо), който предоставя правилния знак за нов ред, независимо от ОС.
// Той се казва "std::endl" и просто го "вкарваме" в std::cout както всяко друго нещо
std::cout << "Hello, World!" << std::endl;
}
|