Типи даних
1) Класифікація типів. Модифікатори
2) Оголошення типів
3) Приведення типів
Класифікація типів
Типи даних можна класифікувати двома різними способами.
Перший спосіб:
Всі типи даних можна розділити на 4 групи:
1) «порожній тип » - void
2) скалярний тип – арифметичні типи (int float doble char), перелічення, указники, посілання
3) тип «функція»
4) агреговані типи: масиви, структури, об¢єднання, класи.
Другий спосіб:
Інший спосіб класифікації типів, це розбиття їх на основні і похідні
До основних типів відносяться void char int float doube і їх варіанти з модифікаторами shozt (короткий), lonq(довгий) siqned (із знаком ), uusiqned(без знака) Модифікатор siqned мається на увазі за умовчанням і тому не указується. Таким чином, можливі наступні описи:
Ім¢я типа | Назва типа |
int | ціле |
short int | коротке ціле |
lonq int | довге ціле |
unsigned short int | коротке ціле без знака |
unsigned int | ціле без знака |
unsigned lonq int | довге ціле без знака |
float | з плаваючою крапкою |
double | з плаваючою крапкою подвійної точності |
long double | довге дійсне |
char | ціле |
unsigned char | ціле без знака (0 .. 256) |
Дані типу char займають в пам'яті 1байт. Тип char є типом ціле. Може бути із знаком і без. В компіляторі встановлена опція „значення без знака ”.
Значення типу char є символом, укладеним в одинарні лапки. Може використовуватися група символьних констант при виведенні:
Символ | Призначення |
\а | звуковий сигнал при виведенні |
\n | перехід на новий рядок |
\t | табуляція |
\\ | символ «\» |
\' | символ одинарної кавички |
\'' | символ подвійної кавички |
Розмір пам'яті, що відводиться для зберігання змінних стандартного типу, (а отже і діапазон їх значень) залежить від компілятора і ОС.
До похідних типів відносяться масиви, структури, об'єднання, класи, типи функцій, указники, посилання.
Оголошення типів
Можна створювати свої типи . Формат об¢явлення типа:
typedef <визначення типа> < ім¢я типа> ;
Наприклад, typedef double MyType;
Приведення типів
В арифметичних виразах, які містять лементи різних арифметичних типів, система в процесі обчислень автоматично виконує перетворення типів, яке здійснюється по принципу: якщо операція має операнди різних типів, то тип операнда „молодшого” типу приводиться до типу операнда „старшого” типу. В операції присвоювання приведення приводиться до типу лівого операнда.
Можна вказувати явне приведення типів за допомогою операції явного приведення типів:
(<тип>)
Наприклад, int m=1,n=2;
double A=(double)m/n;
Елементарний ввід-вивід
1) Введення-виведення в стилі С
2) Введення-виведення в стилі С++
3) Розробка програм реалізації лінійних алгоритмів
Ввід-вивід в стилі С
Обов'язкове підключення заголовного файла відповідної бібліотеки введення-виведення
#include <stdio.h>
Вивід в стилі С
Використовується спеціальна функція printf()
Формат функції:
printf (<формат виводу> <список виводу>);
<Формат виводу> - рядкове значення, яке може містити пояснюючий текст і формат для кожного значення що виводиться. Послідовність форматів і змінних виведення повинна співпадати по типу.
<список виводу> - змінні або вирази. Елементи списку розділяються комами.
Опис формату
%[ширина][.точність]<тип>
<тип> може бути:
Формат | Опис |
с | символ |
d, i | десяткове ціле із знаком |
u | десяткове ціле без знака |
f | дійсне |
s | рядок |
Наприклад,
printf (“Добрий день!”);
printf (“при Х=%f, Y=%f”, X,Y);
Ввід в стилі С
Використовується функція scanf()
Вводить символи, перетворює їх згідно формату і записує в змінну.
Формат опису:
printf (<формат вводу> <список вводу>);
<список вводу> - указуються адреси змінних, тому попереду змінної пишеться символ &, що означає операцію узяття адреси. Елементами списку можуть бути тільки змінними.
Наприклад,
scanf (“%d %d”,&x,&y);
Ввід-вивід в стилі С++
Обов'язкове підключення заголовного файла відповідної бібліотеки введення-виведення.
#include <iostream.h>
Вивід в стилі С++
Для виведення використовується стандартний потік виведення cout і операція << - помістити в стандартний потік виведення. Операція використовується для кожного елемента виведення. Наприклад
cout << “Здрастуйте,”<<name;
cout <<”Послухайте дзвінок \а\n”;
Для форматування даних використовуються символьні константи або маніпулятори потоку, приведені в таблиці.. При використовуванні маніпуляторів необхідне підключення бібліотеки
#include <iomanip.h>
Манипулятор | Призначення |
endl | Перехід на новий рядок і викид буфера виводу |
hex | Установка 16-річного формату виводу числових значень cout<<hex<<n; |
oct | Установка 8-річного формату виводу числових значень cout<<oct<<n; |
dec | Установка 10-річного формату виводу числових значень cout<<dec<<n; |
setprecision (<n >) n - точність числа | Установка кількості знаків дробової частини дійсного числа cout<< setprecision(5)<<value; Діє до нової установки. Точність по умовчанню - 6, встановлюється при n=0. |
setw(<n>) n - ширина поля | Установка ширини поля для вводу чи виводу cout<< setw(10)<<value; |
Ввід в стилі С++
Для введення використовується стандартний потік введення cin і операція >> - помістити в стандартний потік введення. Операція використовується для кожного елемента введення. Наприклад,
cin>>a;
Питання для самоперевірки
1) Написати оператор виводу для виведення сповіщення "Це програма!"
2) Написати оператор вводу для введення одного цілого значення.
3) Прочитати 3 цілих числа з клавіатури і занести їх значення в змінні X, Y, Z.
4) Що буде виведено після виконання операторів
a=7;
b=2;
coun<<"a+b"<<endl;
5) Описати цілу змінну з ініціюванням.
6)Написати оператор виводу для виведення дійсного значення Х з точністю 4 знаки після коми в полі з 10 позицій.
7)Записати оператор виводу який виводить результат обчислення функції Y=sin X при заданному значенні Х. Точність аргументу повинна бути не менше двох знаків після коми, а результату - чотири.
8)Описати дві дійсні змінні з ініціюванням.
9)Описати символьну змінну з ініціюванням.
10) Що буде надруковано програмою:
int a,b; char c;
cdin>>a>>b>>a>>c;
cout<<a<<b<<a<<c;
якщо введено рядок значень 1 3 5 7
11) Що буде виведено пiсля виконання операторiв
c=5; cout<<c<<++c<<c<<endl;
12) Що буде виведено пiсля виконання операторiв
c=5; cout<<c<<c--<<c<<endl;
Розробка програми реалізації лінійних алгоритмів
Приклад . Розробити програму знаходження площини довільного прямокутного трикутника з заданими катетами.
Вивчивши завдання, визначаємо, що для одержання результату необхідно знати катети трикутника. Тому вхідними даними будуть значення катетів трикутника. Вихідні дані – значення площини. Для одержання значення площини використовуємо відому з математики формулу визначення площини прямокутного трикутника: , де a,b - катети прямокутника.
Алгоритм рішення задачі і текст програми:
| |||
Дата добавления: 2015-08-26; просмотров: 1139;