Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы.doc
Скачиваний:
48
Добавлен:
07.03.2016
Размер:
3.6 Mб
Скачать

Контрольні питання

  1. Що таке програма?

  2. Опишіть процес створення програми.

  3. Які стандартні типи даних є у мові C++?

  4. Які відмінності існують між сучасним стандартом С++ та його попереднім стандартом?

  5. Які типи констант ви знаєте?

  6. Які директиви препроцесора ви знаєте?

  7. Призначення директиви #include.

  8. Призначення директиви #define.

  9. Перелічите символи Escape-послідовності.

  10. Яким чином можна перевизначити тип даних.

  11. Яким чином можна задати 8-і та 16-і константи?

  12. Рядкові та символьні константи.

  13. Які ви знаєте засоби ініціалізації масиву символів (рядка)?

  14. Розкрийте призначення ASCII-нуля ‘\0’?

Розділ 4. Введення-виведення даних

4.1. Об’єкт виведення даних cout

Об’єкт cout виводить дані на заданий пристрій.

Синтаксис:

cout << data[ << data ],

де data – змінні, константи, вирази.

Приклад:

cout << "Привіт";

cout << "Коля"; //ПривітКоля

cout<< "\n Привіт\n";

cout << "Коля";

//Привіт

//Коля

# include <iostream>

using namespace std;

void main()

{

cout << "Петро \tВася\n";

cout << "3\t2\n";

cout << "4\t5\n";

}

Виведення:

Петро Вася

3 2

4 5

\t - табуляція через 8 символів.

Для cout використовуються різноманітні маніпулятори. Наприклад, маніпулятори hex і oct використовуються для виведення відповідно, 16-х та 8-х чисел.

Приклад:

# include <iostream>

using namespace std;

void main()

{

int num = 0x4c, num_2 = 012, num_s;

num_s = num + num_2;

cout << "Виведення у 16-х кодах " << hex << num_s;

//Виведення у 16-х кодах 56

}

Маніпулятор установлює виведення 8 та 16–річних чисел, поки не зустрінеться інший маніпулятор oct, hex, dec.

Маніпулятори setw(), setprecision() і setfill() – це функції-члени які змінюють стан об’єкта cout.

setw() – вирівнює число виведення в межах заданої ширини.

setfill() – заповнює незаповнені позиції встановленим символом. При цьому формуються пробіли зліва.

setprecision(n) – маніпулятор виведення зазначеної кількості знаків n.

Приклад:

#include <iostream>

#include <iomanip>

using namespace std;

void main()

{

cout << 456 <<456 <<456<<"\n";

//456456456

cout << setw(5) << 456 << setw(5) << 456<< 456;

// 456 456456

cout<<"\n"<<setw(10)<<setprecision(6)<<12.47888;

// 12.4789

cout << "\n"<< setw(10) << setfill('+')<< 12.47;

//+++++12.47

}

Маніпулятори setiosflags і resetiosflags використовуються для установки певних глобальних прапорів, які клас C++ iostream використовує при визначенні поведінки по умовчанню при введенні та виведенні. На ці прапори посилаються як на змінні стану. Функція setiosflags() встановлює зазначені в ній прапори, а resetiosflags() очищує (або скидає) їх. Ці маніпулятори в якості аргументів використовують значення, приведені в таблиці 4.1.

Таблиця 4.1

Аргументи для setiosflags і resetiosflags

Значення

Результат, якщо значення встановлене

ios::skipws

Ігнорує порожній простір при введенні

ios::left

Виведення із вирівнюванням зліва

ios::right

Виведення із вирівнюванням справа

ios::dec

Виведення у десятковому форматі

ios::oct

Виведення у восьмеричному форматі

ios::hex

Виведення у шістнадцятирічному форматі

Продовження таблиці 4.1.

Значення

Результат, якщо значення встановлене

ios::showbase

Виводити основу системи числення

ios::showpoint

Виводити десяткову точку

ios::suppercase

Виводити шістнадцятирічне число заголовними буквами

ios::showpos

Виводити “+” перед додатними цілими числами

ios::scientific

Використовувати наукову форму виведення чисел із плаваючою точкою

ios::fixed

Використовувати форму виведення чисел із фіксованою точкою

Наприклад:

cout<<setw(10)<<"Привіт\n";

cout<<setw(10)<<setiosflags(ios::left)<<"Привіт";

Результат виконання:

Привіт

Привіт