Єдина Країна!

Головне меню

Наша кнопка

Українські уроки про ІТ

Друзі

Підтримка української армії


Головна Програмування - C++ Базовий курс програмування на С++. Урок 3. Типи даних у С++. Ввід та вивід даних.

Базовий курс програмування на С++. Урок 3. Типи даних у С++. Ввід та вивід даних.
Написав Joker   
Понеділок, 08 вересня 2014 22:25
Переглядів: 21171

Сьогодні ми розглянемо:

  1. Типи даних.
  2. Ввід та вивід даних
  3. Змінні та константи.
  4. Домашнє завдання.

 

Типи даних

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

Всі вони поділяються:

  1. Числові.
    1. Цілі числа.
    2. Дробові числа (з десятковою комою).
  2. Символьні.
  3. Логічні.

Загальний синтаксис створення змінної:

Тип_змінної ім’я_змінної;

Н-д,

int test;

 

Змінні створенні для того, щоб тимчасово зберігати у оперативній пам’яті певну інформацію. Усі змінні поділяються на локальні та глобальні змінні. Також вони можуть бути зміненими під час роботи програми.

 

Цілі числа

Щоб створити змінну для зберігання цілих чисел, потрібно вказати ключове слово int.

Важливо, що ім’я змінної не повинне мати пробілів у своїй назві. Але можна використовувати цифри (тільки не на початку імені name1), а також _ (знак нижнього підкреслення)(name_first). Крім цього важливо пам’ятати, що С++ важливе значення відіграють регістри. Name і name – це зовсім різні змінні.

Звичайний тип int займає у пам’яті 4 байти і його діапазон від  -2147783648 до 2147483647. Проте програміст має право дещо модифікувати їхні типи. Якщо вам не потрібний такий великий діапазон, ви можете використати модифікатор типів short вказавши його перед int (short int). Він займе всього 2 байти і його діапазон від -32768 до 32767. Проте це не обов’язок, лише ваше право. Є і інші типи цілих чисел, але наразі вам буде достатньо цих двох. До уроку буде прикріплено Jpeg файл з усіма типами та модифікаціями. Ви зрозумієте чому у них такі діапазони в уроці про бітові операції.

Ще одна хороша властивість, якщо у змінну типу int вставити десяткове чило, то дробова частина буде відкинута (6,8 = 6).

Приклади цілочислених змінних:

int a;
int name1 = 52;
int Name;
int name;
int name_a;

Дробові числа

У мові С++ є 2 ідентифікатори дробових чисел: float та double. Найчастіше вживають double, у нього більша точність. Але float також працює і я не маю права не розглянути його. Float займає у пам’яті 4 байти, double – у двічі більший, але пам’ятайте про точність.

float value = 567.8976523;
double value2 = 880.24;

 

Символьний тип даних

Потрібно зразу ж сказати, що у С++ немає типу для зберігання цілих рядків, проте я б не сказав, що це мінус С++. Навпаки, через цю особливість програміст отримує більше можливостей при роботі з рядками. Проте є тип char призначений для зберігання символів. Займає він всього 1 байт. Але зауважте, що він зберігає символи, а діапазон у нього числовий. Це все через те, що кожен символ (за таблицею ASCII http://uk.wikipedia.org/wiki/ASCII) має свій номер, ось і за цим номером ховається якийсь символ.

Декілька прикладів:

char a;
char a = ‘@’; // У одинарних лапках, певний символ
char a = 25; // згадайте про таблицю ACKII

 

Логічний  тип даних

Вам може видатися, що він взагалі не потрібний, але ви сильно помиляєтеся. bool займає 1 байт і його діапазон – true або false. Тут також можна використовувати числа. Усі числа крім 0, цей тип даних вважає за true (від’ємні також), 0 – false.

bool a = true;
bool b = -5 ; // true
bool c = 0; // false

 

У файлі зверніть увагу, що робить модифікатор типів unsigned.

І пам’ятайте про регістри (int – правильно, Int – помилка).

 

 

 

Ввід та вивід даних

Ми вже достатньо знайомі із виводом даних. Це відбувається за допомогою cout << ;

Пам’ятайте про різні особливості простору імен std. За допомогою cout виводиться не тільки текст, а і значення змінних.

Приклад:

int a = 5;
cout << "Значення змінної а = " << a << endl;       /*Текст буде неправильний, оскільки потрібно підключити ще одну бібліотеку, для правильного відображення української мови*/

Результат такої програми:

Значення змінної а = 5

 

За допомогою cout можна ще і оформляти рядки.

cout << "\n" - Перехід на новий рядок
cout << "\t" - Табуляція
cout << "\\" - Вивід \
cout << "\"" - Виід "
cout << "\'" - Вивід '
cout << "\b" - Видалення останнього виведеного символа 

cout << "Hello world\nI am Misha" // 1 рядок - Hello world          2 рядок: I am Misha

Тепер поговоримо про ввід даних. Програмісти не завжди можуть собі дозволити записувати значення змінних у коді програми. Це можна зробити вже під час виконання програми, за допомогою клавіатури. Для цього потрібно використати оператор cin.

Приклад:


int a;
int b = 0; // Значення 0 використане для того, щоб ви пам'ятали, що змінні можуть змінюватися
cin >> a; // Ввід a з клавіатури
b = a+1;
cout << "B = " << b << endl;

 

 

Змінні та константи

Найбільша відмінність змінних і констант – значення змінної може змінюватися під час роботи програми. Константи змінюватися не можуть. Для прикладу, рік – змінна, вона збільшується кожного року. А от рік нашого народження – константа, вона не змінюється протягом життя. Щоб створити константу потрібно перед типом даних вказати ідентифікатор const. А після імені константи обов’язково вказати значення, чому вона дорівнює. (const double = 10.56). Крім цього це надає деяку перевагу для захисту даних. Це ви зрозумієте пізніше, коли будемо вивчати рекурсію. Оскільки значення константи не змінюється, то ввести її з клавіатури також не получиться. Але вивід значення константи на екран дозволений.

сonst unsigned int a = 5;
сin >> a; // Помилка програми
сout << a ; // Виводити значення констант дозволено

 

 

Домашнє завдання

Попереднє д/з

Я вважаю, що у вас не виникнуло жодних запитань до попереднього уроку Створення програми на С++ у Windows/Linux


#include <iostream>
void main ()
{
std::cout << “Hello” << endl;
}


Відповідь до другого завдання:


#include <iostream>
#include <conio.h>
using namespace std;

int main() {
cout << "Hi, my name is Misha" << endl;
cout << "I am a programmer" << endl;
cout << "And my hobby is football" << endl;


_getch();
return 0;
}


Нове д/з

  1. Напишіть програму, яка вираховує середнє арифметичне 2 чисел введених з клавіатури.
  2. Програма яка переводить UAH у EUR і USD
  3. Програма яка виводить квадрат введеного числа.

Спробуйте виконати це домашнє завдання і порівняти його з нашими розв'язками нижче.


Результати д/з до 3 уроку

Завдання №1:

// Середнє арифметичне 2 чисел
 
#include <iostream>
#include <conio.h>
using namespace std;
 
int main ()
{
setlocale (LC_CTYPE, "ukr");
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
int a,b;
 
cout << "\n" << "Введiть перше число --> ";
cin >> a;
cout << "\n" << "Введiть друге число --> ";
cin >> b;
 
cout << "\n" << "Середнє значення = " << (a+b)/2 << endl;
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
_getch();
return 0;
}

 

Завдання №2:

// Курс валют
#include <iostream>
#include <conio.h>
using namespace std;
 
int main ()
{
setlocale (LC_CTYPE, "ukr");
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
double UAH;
const double USD_course = 12.01;
const double EUR_course = 16.49;
double USD, EUR;
 
cout << "\n" << "Введiть суму у гривнях --> ";
cin >> UAH;
 
USD = UAH/USD_course;
EUR = UAH/EUR_course;
 
cout << UAH << " гривень = " << USD << " доларiв" << endl;
cout << UAH << " гривень = " << EUR << " євро " << endl;
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
_getch();
return 0;
}

 

Завдання № 3 (спосіб 1):

#include <iostream>
#include <conio.h>
using namespace std;
 
int main ()
{
setlocale (LC_CTYPE, "ukr");
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
int a;
 
cout << "\n" << "Введiть число a --> ";
cin >> a;
 
cout << "\n" << "Квадрат " << a << " = " << a*a << endl;
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
_getch();
return 0;
}

 

Завдання № 3 (спосіб 2):

У бібліотеці math.h міститься функція піднесення числа до певного степеня.

Синтаксис :

pow(a,b); // a – число
//b – степінь до якого потрібно піднести число a;

#include <iostream>
#include <math.h>
#include <conio.h>
using namespace std;
 
int main ()
{
setlocale (LC_CTYPE, "ukr");
 
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
int a;
 
cout << "\n" << "Введiть число a --> ";
cin >> a;
 
cout << "\n" << "Квадрат " << a << " = " << pow (a,2) << endl;
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 
_getch();
return 0;
}

 

Очікуйте наступних уроків!


( 22 Проголосувало )

Схожі статті:
Новіші матеріали:
Старіші матеріали:

Коментарі
Добавити новий
Бриль Михайло  - Подяка   |2014-09-23 14:09:34
avatar Дякую автору за матеріал. Написано все
зрозуміло, рекомендую всім. Чекаю на нові
статті
Міша  - Будемо старатися.   |2014-09-25 11:44:14
avatar Не я один заслужив цієї подяки, без
адміністратора цього веб-ресурсу я б нічого
не зробив.

P.S. Якщо будуть питання, не
соромтесь звертайтесь до мене
havdyak_misha1998@ukr.net
Володимир   |2014-11-05 22:33:10
Добрий день! у мене виникло питання до вас,
коли я використовую бібліотеку setlocale (LC_CTYPE,
"ukr"; у мене не розуміє українську
літеру і
Міша  - Баги windows   |2014-11-10 15:17:11
avatar Я думаю, що ви програмуєте під ОС Windows. Ця
помилка ніяким чином не зв'язана з setlocale і з
С++ в цілому. Спробуйте відкрити cmd і ввести
там українську літеру і, отримаєте той
самий '?' .А програми С++ деякою мірою
запускаються саме у cmd (якщо це звісно ж
windows). Для прикладу у Linux такого багу нема.

Не
розчаровуйтесь, є простий спосіб це
виправити. Продовжуйте вводити українську
літеру i. По завершенню кодерства за
допомогою спеціальної команди замініть
зразу всі українські літери і на
англійський аналог.
Вова  - Графіка С++   |2014-12-22 06:37:18
Доброго дня. Можете зробити урок у якому все
детально опишете як намалювати або
вставити якийсь малюнок а потім за
допомогою клавіатури ним рухатись
будь-ласка.
Міша   |2015-01-01 23:31:01
avatar
Щоб помістити це у наступному уроці і
не розірвати логічний зв'язок із
попередніми доведеться написати не менше 70
сторінок.

І крім цього, я впевнений:
1) я щось
забуду пояснити;
2) буде ДУЖЕ багато питань і
незрозумілих моментів;
3) одного С++ не
вистачить

P.S. Якщо детальніше,
зверніться на havdiak_misha1998@ukr.net Надіюсь, ви
мене зрозуміли.
Вова  - C++   |2017-11-17 22:03:03
Ошибка в решении второго задания! там не
разделить гривну на курс нужно, а умножить!
Вова  - C++   |2017-11-17 22:06:26
Помилка у вирішенні другого завдання! там
не розділити гривню на курс потрібно, а
помножити!
Невже ніхто не намагався ввести
цей код!??
Василь  - Про помилки.   |2023-02-22 09:50:56
Цікаво, у якому середовищі програмування Ви
перевіряєте свої розв'язки.
Безліч
помилок.
Будь ласка перевіряйте свої
розв'язки перед тим як публікувати їх.
Залишити коментар
Ім`я:
e-mail:
 
Тема:
 
:angry::0:confused::cheer:B):evil::silly::dry::lol::kiss::D:pinch:
:(:shock::X:side::):P:unsure::woohoo::huh::whistle:;):s
:!::?::idea::arrow:
 
Введіть цей настирливий код
Русская редакция: www.freedom-ru.net & www.joobb.ru

3.26 Copyright (C) 2008 Compojoom.com / Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved."

 

Підписка

Хто онлайн?

Немає
На даний момент 19 гостей на сайті

Український рейтинг
TOP.TOPUA.NET