Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Глинський С++.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.26 Mб
Скачать
  1. Команда присвоєння. Правила узгодження типів.

Ко­манда присвоєння має такий загальний вигляд:

<назва змінної> = <вираз>

або

<назва змінної 1> = <назва змінної 2> = ... = <назва змінної N> = <вираз>

Дія команди. Обчислюється вираз і його значення надаєть­ся змінній або декільком змінним. Вираз призначений для описування формул, за якими виконуватимуться обчислення. Вираз може містити числа, сталі, змінні, назви функцій, з’єд­нані символами операцій.

Розглянемо приклади написання команд присвоєння:

а = 8 - 2; с = d = а + 4; е = d / 5 + с;

Змінна і вираз не обов’язково повинні бути одного типу. Крім того, у виразі можуть бути дані різних числових типів (змішані вирази). Якщо тип змінної не збігається з типом ви­разу, то у C++ відбувається автоматичне перетворення (узгод­ження) типів.

Розрізняють явне та неявне узгодження типів, з якими ознайомимося на прикладах.

  • Явне –

іnt b,a; float c;

a=2; c=3.8; b=(int)c*a;// результат 3*2 (дробову частину змінної с відкинено) b=6

b=(int)(c*a);// (дробову частину результату множення відкинено результат 3.8*2=7.6 b=7

  • Неявне –

b=c*a;// результат 3.8*2=7.6 b=7 (дробову частину відкинено)

Оператор static_cast перетворює вирази

static_cast <int> (f); еквівалентно '(int) f;' and 'int (f);

Узгодження типів у виразах відбувається з урахуванням пріоритетів типів. Пріоритет типів за їхнім спаданням: double, float, long, int, short.

Задача 1 (про прямокутний трикутник). Нехай задано катети прямокутного трикутника а = 3, b = 4. Знайти периметр і площу трикутника.

// Програма Трикутникі

#include <cstdlib>

#include <iostream>

#include <math.h>

using std::cout; // або using namespace std; тоді простір імен використовується глобально

using std::endl;

int main(void)

{

i

// Задаємо довжини сторін

//Обчислюємо гіпотенузу

// Обчислюємо периметр

// Обчислюємо площу

// Виводимо значення периметра

// та площі на екран

nt a = 3, b = 4; float c, p, s;

c = sqrt(a * a + b * b);

p = a + b + c;

s = a * b / 2;

cout << " p = " <<p <<"\n";

cout << " s = "<< s << endl;

cout << "Виконав Квакін В.";

system("PAUSE");

return EXIT_SUCCESS;

}

Запитання

  1. Що таке тип даних?

  2. Які ви знаєте типи даних?

  3. Які ви знаєте числові типи даних?

  4. Які ви знаєте цілочисельні типи даних?

  5. Які ви знаєте типи даних для дійсних чисел?

  6. У яких форматах можна записати дійсне число?

  7. Які значення мають числа 12.5е1, 12.5е-2, 0.125е4, 125е-3?

  8. Які значення мають числа 8.5е-1, 92.5е2, -0.45еЗ, -4е-2?

  9. З чого утворюється символьний тип?

  10. Як одержати на екрані ASCII-код символу?

  11. З яких даних складається логічний тип?

  12. Як утворити тип даних користувача?

  13. Що таке стала?

  14. Що таке змінна?

  15. Як оголосити змінну?

Вправи

  1. Опишіть: а) дві змінні х та а цілого типу; б) дві змінні дійсного тину; в) дві змінні символьного типу. Проініціалізуйте описані змінні.

  2. Створіть тип даних користувача cinа, значеннями даних якого є від’ємні цілі числа. Якому діапазону можуть належати значення даних описаного типу?

  3. Які значення можуть набувати змінні типу Vaga, якщо typedef unsigned long int Vaga?

  1. Опишіть тип користувача balans із допустимими значеннями даних з діапазону від -32 000 до 32 000.

  2. Розв’яжіть задачу № 1 вашого варіанта з розділу "Задачі" трьома способами:

а) задайте вхідні дані під час оголошення змінних;

б) задайте вхідні дані командами присвоєння;

в) введіть вхідні дані з клавіатури.

  1. Складіть програму розв’язування задачі № 1 з розділу "Задачі" наступного після вашого варіанта. Дані введіть із клавіатури.

http://www.java2s.com

C++ Tutorial

1.2-1.4 всі підпункти, крім 1.3.3, 1.3.4

1.8.2-1.8.4.

Belov 2.4-2.6, стор 28

Zubenko-Omelchuk 3.2.3, стор.301,

3.2.5, стор.309

Burn Straustrup глава 4, стор. 113