КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Функція введення даних scanf
Функція scanf є одною із багатьох функцій введення, які мають місце в зовнішніх бібліотеках. Кожній змінній, що вводиться у рядку функції scanf повинна відповідати специфікація (див. функцію виведення даних printf). Перед іменами змінних треба ставити символ &. Цей символ означає «взяти адресу». Більш детально про адреси та вказівки буде розглядатись у темі 8 "Вказівки, посилання та масиви". Нижче приведено простий приклад використання функції scanf.
#include <iostream> using namespace std;
void main() { //w - вес, h - рост. int w,h;
printf("Введите ваш вес: "); scanf("%d",&w); printf("Введите ваш рост: "); scanf("%d",&h);
printf("\n\nВес = %d, рост = %d\n",w,h); } При введенні ваги 80 та росту 185 на екран буде виведено наступний результат: Вес = 80, рост = 190 Контрольні питання
1. Які об’єкти введення/виведення даних вам відомі? 2. Які користувацькі маніпулятори введення/виведення ви знаєте? 3. Розкрийте призначення маніпулятору setw. 4. Розкрийте призначення маніпулятору setprecision. 5. Розкрийте призначення маніпулятору setfill. 6. Перелічить аргументи маніпуляторів setiosflags, resetiosflags. 7. Які функції введення/виведення ви знаєте? 8. Що таке специфікація формату введення/виведення? Які існують символи специфікації? 9. Наведіть приклади введення/виведення даних за допомогою об’єктів. 10. Наведіть приклади введення/виведення даних за допомогою функцій.
РОЗДІЛ 5. ОПЕРАЦІЇ В С++
При роботі з числовими даними застосовують наступні види операцій: арифметичні, операції відношення, логічні, порозрядні та додаткові операції. Дані операції працюють з арифметичними виразами, виразами відношення та логічними виразами. Арифметичний вираз – це послідовність констант, змінних, функцій, з'єднаних знаками арифметичних операцій та скобок. Результатом арифметичного виразу є число. Вираз відношення – сукупність арифметичних виразів, з'єднаних операціями відношення. Логічний вираз – сукупність арифметичних виразів та (або) виразів відношення, з’єднаних між собою логічними операціями. Результатом виразу відношення або логічного виразу є число 1 (істина) або число 0 (неправда). Операції виконуються відповідно до пріоритетів. Для зміни порядку виконання операцій використовуються круглі дужки. Якщо в одному виразі записано декілька операцій однакового пріоритету, унарні операції, умовна операція і операції привласнення виконуються справа наліво, останні – зліва направо. Наприклад, а = b = c означає а = (b = c), а а + b + c означає (а + b) + с. Порядок обчислення підвиразів всередині виразів не визначений: наприклад не можна вважати, що у виразі (sin(x + 2)+ cos(у + 1)) звернення до синуса буде виконано раніше, ніж до косинуса, і що х + 2 буде обчислено раніше, ніж y+1. Результат обчислення виразу характеризується значенням і типом. Наприклад, якщо а і b – змінні цілого типу і описані так: int а = 2, b = 5; тоді вираз а + b має значення 7 і тип int, а вираз а = b має значення рівне поміщеному в змінну а (у даному випадку 5) і тип, співпадаючий з типом цієї змінної. Таким чином, в C++ у виразі виду а = b = c спочатку обчислюється вираз b = c, а потім його результат стає правим операндом для операції привласнення змінної а. У вираз можуть входити операнди різних типів. Якщо операнди мають однаковий тип, то результат операції матиме той же тип. Якщо операнди різного типу, перед обчисленнями виконуються перетворення типів по визначеним правилам, що забезпечують перетворення коротших типів у довші для збереження значущості і точності. Перетворення бувають двох типів: – що змінюють внутрішнє представлення величин (з втратою точності або без втрати точності); – що змінюють тільки інтерпретацію внутрішнього представлення. До першого типу відноситься, наприклад, перетворення цілого числа у число з плаваючою точкою (без втрати точності) і навпаки (можливо, з втратою точності), до другого – перетворення знакового цілого в беззнакове. У будь-якому випадку величини типів char, signed char, unsigned char, short int та unsigned short int перетворяться в тип int, якщо він може представити всі значення, або в unsigned int у іншому випадку. Після цього операнди перетворяться до найбільш довгого типу з них, і він використовується як тип результату. Розглянемо кожен вид операцій більш детально.
5.1. Арифметичні операції в С++
Арифметичні операції: *, /, +, –, % (ділення по модулю або залишок від ділення)
cout << 10%2 << "\n"; //0 cout << 300%165 << "\n"; //135
Оператор присвоювання:
a = b = c = d = e = 100; val = 3 + (r = 9 - c);
Складові операції:
+= *= /= - = Приклад:
int a = 10; a+=10; //20; a-= 10; //10; a*=2; //20; a/=5; //4; Змішані типи даних: Якщо у виразах є змішані типи даних, то виконується перетворення меншої точності у більшу. Наприклад, тип цілий і подвоєна точність забезпечує перетворення цілого типу в подвоєну точність.
int a = 4; double c = 17.1567; double t; t = a + c; //a-перетвориться в double
У ряді випадків зручно використовувати приведення типу. Синтаксис:
(data type) expression, де data type -будь-який тип даного expression - змінна, константа або вираз
Приклад:
int c = 10; cout << (float)c/3 <<"\n"; //3. 3333 cout << (float)(c/3); //3
|