THE BELL

Є ті, хто прочитали цю новину раніше вас.
Підпишіться, щоб отримувати статті свіжими.
Email
ім'я
Прізвище
Як ви хочете читати The Bell
без спаму

1. Введення

Програмування потребує нових універсальних алгоритмічних моделях, а апаратні засоби реалізують алгоритми не тільки в іншій формі, але і на базі іншої алгоритмічної моделі - автоматної. Запозичення технології зі сфери розробки апаратних засобів ключова ідея автоматного програмування. Одна-ко синтез цифрових пристроїв відрізняється від програмування. Але, запозичуючи модель, з одного боку, її не бажано істотно змінювати, а, з іншого боку, не можна не враховувати вже існуючу теорію і практику програмування.

Далі ми розглянемо SWITCH-технологію проектування автоматних про-грам, в якій з подібними процесами стикаєшся часто-густо. З одного боку, вона так змінила модель кінцевого автомата, що фактично вивела її за рамки теорії автоматів. А, з іншого боку, вводить в програмування поняття, які важко сприймаються програмістами, а, часом, просто є зайвими, тому що існують більш звичні аналоги з теорії програм і практики програмування.

За основу обговорення проблем автоматного програмування візьмемо недавню лекцію Шалит А.А. і його «програмні» статті до визначення парадигми автоматного програмування.

Мова програмування C ++

Останнє оновлення: 28.08.2017

Мова програмування С ++ являє високорівнева компільований мова програмування загального призначення зі статичної типізацією, який підходить для створення самих різних додатків. На сьогоднішній день С ++ є одним з найпопулярніших і поширених мов.

Своїм корінням він йде в мову Сі, який був розроблений в 1969-1973 роках в компанії Bell Labs програмістом Деннісом Рітчі (Dennis Ritchie). На початку 1980-х років данський програміст Бйорн Страуструп (Bjarne Stroustrup), який в той час працював в компанії Bell Labs, розробив С ++ як розширення до мови Сі. Фактично спочатку C ++ просто доповнював мову Сі деякими можливостями об'єктно-орієнтованого програмування. І тому сам Страуструп спочатку називав його як "C with classes" ( "Сі з класами").

Згодом новий мова стала набирати популярність. У нього були додані нові можливості, які робили його не просто доповненням до Сі, а зовсім новою мовою програмування. У підсумку "Сі з класами" був перейменований в С ++. І з тих по обидві мови стали розвиватися незалежно один від одного.

С ++ є потужним мовою, успадкувавши від Сі багаті можливості по роботі з пам'яттю. Тому нерідко С ++ знаходить своє застосування в системному програмуванні, зокрема, при створенні операційних систем, драйверів, різних утиліт, антивірусів і т.д. До слова сказати, ОС Windows здебільшого написана на С ++. Але тільки системним програмуванням застосування даного мови не обмежується. С ++ можна використовувати в програмах будь-якого рівня, де важливі швидкість роботи і продуктивність. Нерідко він застосовується для створення графічних додатків, різних прикладних програм. Також особливо часто його використовують для створення ігор з багатою насиченою візуалізацією. Крім того, останнім часом набирає хід мобільний напрямок, де С ++ теж знайшов своє застосування. І навіть в веб-розробці також можна використовувати С ++ для створення веб-додатків або якихось допоміжних сервісів, які обслуговують веб-додатки. Загалом С ++ - мову широкого користування, на якому можна створювати практично будь-які види програм.

С ++ є компільовані мовою, а це значить, що компілятор транслює вихідний код на С ++ в виконуваний файл, який містить набір машинних інструкцій. Але різні платформи мають свої особливості, тому скомпільовані програми можна просто перенести з однієї платформи на іншу і там вже запустити. Однак на рівні вихідного коду програми на С ++ по більшою мірою володіють переносимість, якщо не використовуються якісь специфічні для поточної ос функції. А наявність компіляторів, бібліотек та інструментів розробки майже під всі поширені платформи дозволяє компілювати один і той же вихідний код на С ++ в додатки під ці платформи.

На відміну від Сі мову C ++ дозволяє писати програми в об'єктно-орієнтованому стилі, представляючи програму як сукупність взаємодіючих між собою класів і об'єктів. Що спрощує створення великих додатків.

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

У 1979-80 роках Бйорн Страуструп розробив розширення до мови Сі - "Сі з класами". У 1983 мова була перейменований в С ++.

У 1985 році була випущена перша комерційна версія мови С ++, а також перше видання книги "Мови програмування C ++", яка представляла перший опис цієї мови при відсутності офіційного стандарту.

У 1989 була випущена нова версія мови C ++ 2.0, яка включала ряд нових можливостей. Після цього мова розвивалася відносно повільно аж до 2011 року. Але при цьому в 1998 році була зроблена перша спроба по стандартизації мови організацією ISO (International Organiztion for Standartization). Перший стандарт отримав назву ISO / IEC 14882: 1998 або скорочено С ++ 98. Надалі в 2003 була видана нова версія стандарту C ++ 03.

У 2011 році був виданий новий стандарт C ++ 11, який містив безліч додатків і збагачував мову С ++ великим числом нових функціональних можливостей. Після цього в 2014 році було випущено невеликий додаток до стандарту, відоме також як C ++ 14. І ще один ключовий реліз мови намічений на 2017.

Компілятори та середовища розробки

Для розробки програм на С ++ необхідний компілятор - він транслює вихідний код на мові С ++ в виконуваний файл, який потім можна запускати. Але зараз є дуже багато різних компіляторів. Вони можуть відрізнятися по різних аспектів, зокрема, щодо реалізації стандартів. Базовий список компіляторів для З ++ можна подивитися в вікіпедії. Рекомендується для розробки вибирати ті компілятори, які розвиваються і реалізують всі останні стандарти. Так, протягом усього керівництва переважно буде використовуватися вільно розповсюджуваний компілятор g ++, розроблений в рамках проекту GNU.

Також для створення програм можна використовувати інтегровані середовища розробки IDE, такі як Visual Studio, Netbeans, Eclipse, Qt і т.д.

Стандартна бібліотека C / C ++ включає ряд функцій для читання і запису на консолі (клавіатура і монітор). Ці функції читають і пишуть дані як простий потік символів.

Поняття потоку (stream), використане в програмуванні, тісно пов'язане зі звичайним, побутовим розумінням цього слова. Потік введення можна порівняти з трубою, по якій вода (інформація) надходить в басейн (пам'ять комп'ютера), потік виведення - з трубою, через яку вода виходить з басейну. Важливою особливістю цієї труби є те, що в кожен момент часу дані можуть рухатися тільки в одному напрямку. Навіть якщо одна і та ж труба використовується для введення і виведення, це не може відбуватися одночасно: для перемикання напрямку потоку його потрібно зупинити, виконати якісь дії і лише потім направити потік у зворотному напрямку. Іншою особливістю потоку є те, що він майже ніколи не вичерпується. Іноді він висихає, але цей період не може бути довгим, якщо система функціонує нормально.

Функція стандартного виведення printf ()

Функція printf () є функцією стандартного виводу. За допомогою цієї функції можна вивести на екран монітора рядок символів, число, значення змінної ...

Функція printf () має прототип в файлі stdio.h
int printf (char * керуюча рядок, ...);

У разі успіху функція printf () повертає число виведених символів.

Керуюча рядок містить два типи інформації: символи, які безпосередньо виводяться на екран, і специфікатор формату, що визначають, як виводити аргументи.

Функція printf () це функція форматированного виведення. Це означає, що в параметрах функції необхідно вказати формат даних, які будуть виводитися. Формат даних вказується специфікаторами формату. Специфікатор формату починається з символу% за яким слід код формату.

Специфікатори формату:

% з символ
% d ціле десяткове число
% i ціле десяткове число
% e десяткове число у вигляді x.xx e + xx
% E десяткове число у вигляді x.xx E + xx
% f
% F десяткове число з плаваючою комою xx.xxxx
% g % F або% e, що коротше
% G % F або% E, що коротше
% o вісімкове число
% s рядок символів
% u беззнаковое десяткове число
% x шістнадцяткове число
% X шістнадцяткове число
%% символ%
% p покажчик
% n покажчик

Крім того, до командам формату можуть бути застосовані модифікатори l і h.

% ld друк long int
% hu друк short unsigned
% Lf друк long double

У специфікаторами формату, після символу% може бути вказана точність (число цифр після коми). Точність задається наступним чином:% .n<код формата>. Де n - число цифр після коми, а<код формата> - один з кодів наведених вище.

Наприклад, якщо у нас є змінна x \u003d 10.3563 типу float і ми хочемо вивести її значення з точністю до 3-х цифр після коми, то ми повинні написати:

printf ( "Змінна x \u003d% .3f", x);

результат:
Мінлива x \u003d 10.356

Ви також можете вказати мінімальну ширину поля відведеного для друку. Якщо рядок або число більше зазначеної ширини поля, то рядок або число друкується повністю.

Наприклад, якщо ви напишіть:

printf ( "% 5d", 20);

то результат буде таким:
20

Зверніть увагу на те, що число 20 надрукувати не з самого початку рядка. Якщо ви хочете щоб невикористані місця поля заповнювалися нулями, то потрібно поставити перед шириною поля символ 0.

наприклад:

printf ( "% 05d", 20);

результат:
00020

Крім специфікаторів формату даних в керуючої рядку можуть перебувати керуючі символи:

\\ b BS, забій
\\ f Нова сторінка, переклад сторінки
\\ n Новий рядок, новий рядок
\\ r повернення каретки
\\ t горизонтальна табуляція
\\ v вертикальна табуляція
\" лапки
\" апостроф
\\ Зворотна коса риска
\0 Нульовий символ, нульовий байт
\\ a сигнал
\\ N вісімкова константа
\\ xN шістнадцяткова константа
\? Знак питання

Частіше за все ви будете використовувати символ \\ n. За допомогою цього керуючого символу ви зможете переходити на новий рядок. Подивіться приклади програм і ви все зрозумієте.

Приклади програм.

/ * Приклад 1 * /
#include

void main (void)
{
int a, b, c; // Оголошення змінних a, b, c
a \u003d 5;
b \u003d 6;
c \u003d 9;
printf ( "a \u003d% d, b \u003d% d, c \u003d% d", a, b, c);
}

Результат роботи програми:
a \u003d 5, b \u003d 6, c \u003d 9

/ * Приклад 2 * /
#include

void main (void)
{
float x, y, z;

X \u003d 10.5;
y \u003d 130.67;
z \u003d 54;

Printf ( "Координати об'єкта: x:%. 2f, y:%. 2f, z:%. 2f", x, y, z);
}

Результат роботи програми:
Координати об'єкта: x: 10.50, y: 130.67, z: 54.00

/ * Приклад 3 * /
#include

void main ()
{
int x;

X \u003d 5;
printf ( "x \u003d% d", x * 2);
}

Результат роботи програми:
x \u003d 10

/ * Приклад 4 * /
#include

void main (void)
{
printf ( "\\" Текст в лапках \\ "");
printf ( "\\ nСодержаніе кисню: 100 %%");
}

Результат роботи програми:
"Текст в лапках"
Вміст кисню: 100%

/ * Приклад 5 * /
#include

void main (void)
{
int a;

A \u003d 11; // 11 в десяткового одно b в шістнадцятковій
printf ( "a-dec \u003d% d, a-hex \u003d% X", a, a);
}

Результат роботи програми:
a-dec \u003d 11, a-hex \u003d b

/ * Приклад 6 * /
#include

void main (void)
{
char ch1, ch2, ch3;

Ch1 \u003d "A";
ch2 \u003d "B";
ch3 \u003d "C";

Printf ( "% c% c% c", ch1, ch2, ch3);
}

Результат роботи програми:
ABC

/ * Приклад 7 * /
#include

void main (void)
{
char * str \u003d "Моя рядок.";

Printf ( "Це% s", str);
}

Результат роботи програми:
Це Моя рядок.

/ * Приклад 8 * /
#include

void main (void)
{
printf ( "Привіт! \\ n"); // Після друку буде перехід на новий рядок - \\ n
printf ( "Мене звуть Павло."); // Це буде надруковано на новому рядку
}

Результат роботи програми:
Доброго дня!
Мене звати Павел.

Функція стандартного введення scanf ()

Функція scanf () - функція форматированного введення. З її допомогою ви можете вводити дані з стандартного пристрою введення (клавіатури). Вводяться даними можуть бути цілі числа, числа з плаваючою комою, символи, рядки і покажчики.

Функція scanf () має наступний прототип в файлі stdio.h:
int scanf (char * керуюча рядок);

Функція повертає число змінних яким було присвоєно значення.

Керуюча рядок містить три види символів: специфікатор формату, пробіли та інші символи. Специфікатори формату починаються з символу%.

Специфікатори формату:

При введенні рядка за допомогою функції scanf () (специфікатор формату% s), рядок вводитися до першого пробілу !! тобто якщо ви вводите рядок "Привіт світ!" з використанням функції scanf ()


scanf ( "% s", str);

то після введення результуючий рядок, яка буде зберігатися в масиві str буде складатися з одного слова "Привіт". ФУНКЦІЯ ВВОДИТЬ РЯДОК ДО ПЕРШОГО прогалини! Якщо ви хочете вводити рядки з пробілами, то потрібно скористатися функцією

char * gets (char * buf);

За допомогою функції gets () ви зможете вводити повноцінні рядки. Функція gets () читає символи з клавіатури до появи символу нового рядка (\\ n). Сам символ нового рядка з'являється, коли ви натискаєте кнопку enter. Функція повертає покажчик на buf. buf - буфер (пам'ять) для введеної рядки.

Хоча gets () не входить в тему цієї статті, але все ж давайте напишемо приклад програми, яка дозволяє ввести цілий рядок з клавіатури і вивести її на екран.

#include

void main (void)
{
char buffer; // масив (буфер) для введеної рядки

Gets (buffer); // вводимо рядок і натискаємо enter
printf ( "% s", buffer); // висновок введеної рядки на екран
}

Ще одне важливе зауваження! Для введення даних за допомогою функції scanf (), їй як параметри потрібно передавати адреси змінних, а не самі змінні. Щоб отримати адресу змінної, потрібно поставити перед ім'ям змінної знак & (амперсанд). Знак & означає взяття адреси.

Що значить адреса? Спробую пояснити. У програмі у нас є змінна. Мінлива зберігає своє значення в пам'яті комп'ютера. Так ось адреса, який ми отримуємо за допомогою & це адреса в пам'яті комп'ютера де зберігатися значення змінної.

Давайте розглянемо приклад програми, який показує нам як використовувати &

#include

void main (void)
{
int x;

Printf ( "Введіть змінну x:");
scanf ( "% d", & x);
printf ( "Змінна x \u003d% d", x);
}

Тепер давайте повернемося до керуючої рядку функції scanf (). Ще раз:

int scanf (char * керуюча рядок);

Символ пробілу в керуючої рядку дає команду пропустити один або більше пробілів в потоці введення. Крім пробілу може сприйматися як символ табуляції або нового рядка. Ненульовий символ вказує на читання і відкидання цього символу.

Роздільниками між двома вводяться числами є символи пробілу, табуляції або нового рядка. Знак * після% і перед кодом формату (специфікатором формату) дає команду прочитати дані зазначеного типу, але не привласнювати це значення.

наприклад:

scanf ( "% d% * c% d", & i, & j);

при введенні 50 + 20 присвоїть змінній i значення 50, змінної j - значення 20, а символ + буде прочитаний і проігнорований.

У команді формату може бути вказана найбільша ширина поля, яка підлягає зчитуванню.

наприклад:

scanf ( "% 5s", str);

вказує необхідність прочитати з потоку введення перші 5 символів. При введенні 1234567890ABC масив str буде містити тільки 12345, решта символи будуть проігноровані. Роздільники: пробіл, табуляція і символ нового рядка - при введенні символу сприймаються, як і всі інші символи.

Якщо в керуючої рядку зустрічаються будь-які інші символи, то вони призначаються для того, щоб визначити і пропустити відповідний символ. Потік символів 10plus20 оператором

scanf ( "% dplus% d", & x, & y);

присвоїть змінній x значення 10, змінної y - значення 20, а символи plus пропустить, так як вони зустрілися в керуючої рядку.

Однією з потужних особливостей функції scanf () є можливість завдання безлічі пошуку (scanset). Безліч пошуку визначає набір символів, з якими будуть порівнюватися читаються функцією scanf () символи. Функція scanf () читає символи до тих пір, поки вони зустрічаються в безлічі пошуку. Як тільки символ, який введений, що не зустрівся в безлічі пошуку, функція scanf () переходить до наступного специфікаторами формату. Безліч пошуку визначається списком символів, ув'язнених в квадратні дужки. Перед відкриває дужкою ставитися знак%. Давайте розглянемо це на прикладі.

#include

void main (void)
{
char str1, str2;
scanf ( "%% s", str1, str2);
printf ( "\\ n% s \\ n% s", str1, str2);
}
Введемо набір символів:
12345abcdefg456

На екрані програма видасть:
12345
abcdefg456

При завданні безлічі пошуку можна також використовувати символ "дефіс" для завдання проміжків, а також максимальну ширину поля введення.

scanf ( "% 10", str1);

Можна також визначити символи, які не входять до безліч пошуку. Перед першим з цих символів ставитися знак ^. Безліч символів розрізняє малі та великі літери.

Нагадаю, що при використанні функції scanf (), їй як параметри потрібно передавати адреси змінних. Вище був написаний код:

char str; // масив на 80 символів
scanf ( "% s", str);

Зверніть увагу на те, що перед str не варто символ &. Це зроблено тому, що str є масивом, а ім'я масиву - str є покажчиком на перший елемент масиву. Тому знак & не ставиться. Ми вже передаємо функції scanf () адреса. Ну простіше кажучи str це адреса в пам'яті комп'ютера де буде зберігатися значення першого елемента масиву.

Приклади програм.

Приклад 1.
Ця програма виводить на екран запит "Скільки вам років ?:" і чекає введення даних. Якщо, наприклад, ввести число 20, то програма виведе рядок "Вам 20 років.". При виконанні функції scanf (), перед змінної age ми поставили знак &, так як функції scanf () потрібні адреси змінних. Функція scanf () запише введене значення за вказаною адресою. У нашому випадку введене значення 20 буде записано за адресою змінної age.

/ * Приклад 1 * /

#include

void main (void)
{
int age;

Printf ( "\\ nСколько вам років ?:");
scanf ( "% d", & age);
printf ( "Вам% d років.", age);
}

Приклад 2.
Програма калькулятор. Цей калькулятор може тільки складати числа. При введенні 100 + 34 програма видасть результат: 100 + 34 \u003d 134.

/ * Приклад 2 * /

#include

void main (void)
{
int x, y;

Printf ( "\\ nКалькулятор:");
scanf ( "% d +% d", & x, & y);
printf ( "\\ n% d +% d \u003d% d", x, y, x + y);
}

Приклад 3.
Цей приклад показує як встановити ширину поля зчитування. У нашому прикладі ширина поля дорівнює п'яти символам. Якщо ви введете рядок з великою кількістю символів, то всі символи після 5-го будуть відкинуті. Зверніть увагу на виклик функції scanf (). Знак & не варто перед ім'ям масиву name так як ім'я масиву name є адресою першого елемента масиву.

/ * Приклад 3 * /

#include

void main (void)
{
char name;

Printf ( "\\ nВведіте ваш логін (не більше 5 символів):");
scanf ( "% 5s", name);
printf ( "\\ nВи ввели% s", name);
}

Приклад 4.
Останній приклад в цій статті показує як можна використовувати безліч пошуку. Після запуску програми введіть число від 2 до 5.

/ * Приклад 4 * /

#include

void main (void)
{
char bal;

Printf ( "Ваша оцінка 2,3,4,5:");
scanf ( "%", & bal);
printf ( "\\ nОценка% c", bal);
}

Ці навчальні уроки призначені для всіх, незалежно від того, новачок ви в програмуванні або у вас вже є великий досвід програмування на інших мовах! Даний матеріал для тих, хто хоче вивчити мови С / С ++ від самих його основ до найскладніших конструкцій.

C ++ є мовою програмування, знання цієї мови програмування дозволить вам керувати вашим комп'ютером на вищому рівні. В ідеалі ви зможете змусити комп'ютер зробити все, що самі захочете. Наш сайт допоможе вам у освоєнні мови програмування C ++.

Установка / IDE

Найперше, що ви повинні зробити, перш ніж приступити до вивчення C ++, це переконатися, що у вас є IDE - інтегроване середовище розробки (програма в якій ви будете програмувати). Якщо у вас немає IDE, тоді вам сюди. Коли визначитеся з вибором IDE, встановіть її і потренуйтеся створювати прості проекти.

Введення в мову C ++

Мова C ++ є набором команд, які говорять комп'ютера, що необхідно зробити. Цей набір команд, зазвичай називається вихідний код або просто код. Командами є або «функції» або «ключові слова». Ключові слова (зарезервовані слова С / С ++) є основними будівельними блоками мови. Функції є складними будівельними блоками, так як записані вони в термінах більш простих функцій - ви це побачите в нашій найпершої програмі, яка показана нижче. Така структура функцій нагадує зміст книги. Зміст може показувати глави книги, кожна глава в книзі може мати своє власне утримання, що складається з пунктів, кожен пункт може мати свої підпункти. Хоча C ++ надає багато спільних функцій і зарезервованих слів, які ви можете використовувати, все-таки виникає потреба в написанні своїх власних функцій.

В який же частині програми початок? Кожна програма в C ++ має одну функцію, її називають головна або main-функція, виконання програми починається саме з цієї функції. З головної функції, ви також можете викликати будь-які інші функції, неважливо, чи є вони написаними нами, або, як згадувалося раніше, надаються компілятором.

Так як же отримати доступ до цих Стандартним функцій? Щоб отримати доступ до стандартних функцій, які поставляються з компілятором, необхідно підключити заголовний файл використовуючи препроцесорну директиву - #include. Чому це ефективно? Давайте подивимося на прикладі робочої програми:

#include << "Моя первая программа на С++\n"; cin.get(); }

Розглянемо докладно елементи програми. #include це директива «препроцесору», яка повідомляє компілятору помістити код з заголовки iostream в нашу програму перед тим як створити виконуваний файл. Підключивши до програми заголовки ви отримуєте доступ до безлічі різних функцій, які можете використовувати в своїй програмі. Наприклад, оператору сout потрібно iostream. Рядок using namespace std; повідомляє компілятору, що потрібно використовувати групу функцій, які є частиною стандартної бібліотеки std. У тому числі цей рядок дозволяє програмі використовувати оператори, такі як cout. Крапка з комою є частиною синтаксису C ++. Вона повідомляє компілятору, що це кінець команди. Трохи пізніше ви побачите, що крапка з комою використовується для завершення більшості команд в C ++.

Наступна важлива рядок програми int main (). Цей рядок повідомляє компілятору, що є функція з ім'ям main, і що функція повертає ціле число типу int. Фігурні дужки (і) сигналізують про початок (і кінці) функції. Фігурні дужки використовуються і в інших блоках коду, але позначають завжди одне - початок і кінець блоку, відповідно.

У C ++ об'єкт cout використовується для відображення тексту (вимовляється як «Сі аут»). Він використовує символи<< , известные как «оператор сдвига», чтобы указать, что отправляется к выводу на экран. Результатом вызова функции cout << является отображение текста на экране. Последовательность \n фактически рассматривается как единый символ, который обозначает новую строку (мы поговорим об этом позже более подробно). Символ \n перемещает курсор на экране на следующую строку. Опять же, обратите внимание на точку с запятой, её добавляют в конец, после каждого оператора С++.

Наступна команда cin.get (). Це ще один виклик функції, яка зчитує дані з вхідного потоку даних і очікує натискання клавіші ENTER. Ця команда зберігає консольне вікно від закриття, до тих пір поки не буде натиснута клавіша ENTER. Це дає вам час для того, щоб подивитися результат виконання програми.

Після досягнення кінця головної функції (що закриває фігурна дужка), наша програма поверне значення 0 для операційної системи. Це значення, що повертається є важливим, оскільки, проаналізувавши його, ОС може судити про те, успішно завершилася наша програма чи ні. Значення, що повертається 0 означає успіх і повертається автоматично (але тільки для типу даних int, інші функції, вимагають вручну повертати значення), але якби ми хотіли повернути щось інше, наприклад 1, ми повинні були б зробити це вручну.

#include using namespace std; int main () (cout<<"Моя первая программа на С++\n"; cin.get(); return 1; }

Для закріплення матеріалу, наберіть код програми в своїй IDE і запустіть його. Після того, як програма запустилася, і ви побачили результат роботи, поекспериментуйте трохи з оператором cout. Це допоможе вам звикнути до мови.

Обов'язково коментуйте свої програми!

Додавайте коментарі до коду, щоб зробити його зрозумілішим не тільки для себе але і для інших. Компілятор ігнорує коментарі при виконанні коду, що дозволяє використовувати будь-яку кількість коментарів, щоб описати реальний код. Щоб створити коментар використовуйте або //, який повідомляє компілятору, що інша частина рядка є коментарем або / * і потім * /. Коли ви вчитеся програмувати, корисно мати можливість коментувати деякі ділянки коду, для того, щоб побачити, як змінюється результат роботи програми. Детально прочитати про техніку коментування, ви можете.

Що робити з усіма цими типами змінних?

Іноді це може збити з пантелику - мати кілька типів змінних, коли здається, що деякі типи змінних є надлишковими. Дуже важливо використовувати правильний тип змінної, так як деяким змінним, потрібно більше пам'яті, ніж іншим. Крім того, через спосіб зберігання в пам'яті, числа з плаваючою точкою, типи даних float і double є «неточним», і не повинні використовуватися, коли необхідно зберегти точний ціле значення.

Оголошення змінних в C ++

Щоб оголосити змінну використовується синтаксис тип<имя>; . Ось деякі приклади оголошення змінних:

Int num; char character; float num_float;

Припустимо оголошення кількох змінних одного і того ж типу в одному рядку, для цього кожна з них повинна бути відокремлена коми.

Int x, y, z, d;

Якщо ви дивилися уважно, ви, можливо, бачили, що оголошення змінної завжди супроводжується крапкою з комою. Детальніше про угоду - «про іменування змінних», можна.

Поширені помилки при оголошенні змінних в C ++

Якщо ви спробуєте використовувати змінну, що її оголосили, ваша програма не скомпільована, і ви отримаєте повідомлення про помилку. У C ++, всі ключові слова мови, всі функції і всі змінні чутливі до регістру.

Використання змінних

Отже, тепер ви знаєте, як оголосити змінну. Ось приклад програми, що демонструє використання змінної:

#include using namespace std; int main () (int number; cout<< "Введите число: "; cin >\u003e Number; cin.ignore (); cout<< "Вы ввели: "<< number <<"\n"; cin.get(); }

Давайте розглянемо цю програму і вивчимо її код, рядок за рядком. Ключове слово int говорить про те, що number - ціле число. Функція cin \u003e\u003e зчитує значення в number, користувач повинен натиснути введення після введеного числа. cin.ignore () - функція, яка зчитує символ і ігнорує його. Ми організували свій введення в програму, після введення числа, ми натискаємо клавішу ENTER, символ який також передається в потік введення. Нам це не потрібно, тому ми його відкидаємо. Майте на увазі, що змінна була оголошена цілого типу, якщо користувач спробує ввести десяткове число, то воно буде обрізано (тобто десяткова частина числа буде ігноруватися). Спробуйте ввести десяткове число або послідовність символів, коли ви запустите приклад програми, відповідь буде залежати від вхідного значення.

Зверніть увагу, що при друку з змінної лапки не використовуються. Відсутність лапок повідомляє компілятору, що є змінна, і, отже, про те, що програма повинна перевіряти значення змінної для того, щоб замінити ім'я змінної на її значення при виконанні. Кілька операторів зсуву в одному рядку цілком прийнятно і висновок буде виконуватися в тому ж порядку. Ви повинні розділяти рядкові літерали (рядки, укладені в лапки) і змінні, даючи кожному свій оператор зсуву<< . Попытка поставить две переменные вместе с одним оператором сдвига << выдаст сообщение об ошибке . Не забудьте поставить точку с запятой. Если вы забыли про точку с запятой, компилятор выдаст вам сообщение об ошибке при попытке скомпилировать программу.

Зміна і порівняння величин

Звичайно, незалежно від того, який тип даних ви використовуєте, змінні не представляють особливого інтересу без можливості зміни їх значення. Далі показані деякі оператори, які використовуються спільно зі змінними:

  • * Множення,
  • - віднімання,
  • + Складання,
  • / Поділ,
  • \u003d Привласнення,
  • \u003d\u003d рівність,
  • \u003e Більше,
  • < меньше.
  • ! \u003d Нерівно
  • \u003e \u003d Більше або дорівнює
  • <= меньше или равно

Оператори, які виконують математичні функції, повинні бути використані праворуч від знака присвоєння, для того, щоб привласнити результат змінної зліва.

Ось кілька прикладів:

A \u003d 4 * 6; // використання сатиричного коментаря і крапки з комою, a дорівнює 24 a \u003d a + 5; // дорівнює сумі початкового значення і п'яти a \u003d\u003d 5 // присвоюють п'ять, виконується перевірка, а так само 5 чи ні

Ви часто будете використовувати \u003d\u003d в таких конструкціях, як умовні оператори і цикли.

A< 5 // Проверка, a менее пяти? a > 5 // Перевірка, a більше п'яти? a \u003d\u003d 5 // Перевірка, a одно п'яти? a! \u003d 5 // Перевірка, а нерівно п'яти? a\u003e \u003d 5 // Перевірка, a більше або дорівнює п'яти? a<= 5 // Проверка, a меньше или равно пяти?

Дані приклади не дуже наочно показують використання знаків порівняння, але коли ми почнемо вивчати оператори вибору, ви зрозумієте, навіщо це треба.

Вивчення основ і тонкощів мови програмування C ++. Підручник з практичними завданнями і тестами. Хочете навчитися програмувати? Тоді Ви за адресою - тут безкоштовне навчання програмуванню. Неважливо, чи маєте Ви досвід чи ні, ці уроки з програмування допоможуть Вам почати створювати, компілювати і налагоджувати програми на мові C ++ в різних середовищах розробки: Visual Studio, Code :: Blocks, Xcode або Eclipse.

Безліч прикладів і докладних роз'яснень. Відмінно підійдуть як для новачків (чайників), так і для більш просунутих. Пояснюється все з нуля і до самих деталей. Ці уроки (200+) дадуть Вам хорошу базу / фундамент в розумінні програмування не тільки на С ++, але і в інших мовах програмування. І це абсолютно безкоштовно!

Також розглядається покрокове створення гри на С ++, графічна бібліотека SFML і більше 50 завдання для перевірки своїх навичок і знань в C ++. Додатковим бонусом є.

За репост +20 до карми і моя подяка!

Глава №0. Вступ. Початок роботи

Глава №1. Основи C ++

Глава №2. Змінні і основні типи даних в C ++

Глава №3. Оператори в C ++

Глава №4. Область видимості та інші типи змінних в C ++

Глава №5. Порядок виконання коду в програмі. Цикли, розгалуження в C ++

THE BELL

Є ті, хто прочитали цю новину раніше вас.
Підпишіться, щоб отримувати статті свіжими.
Email
ім'я
Прізвище
Як ви хочете читати The Bell
без спаму