
- •- Це пойменована ділянка оперативної пам'яті, де зберігається значення величини, яке може змінюватися в процесі виконання програми. Оголошення константи:
- •Приклад: int a,c; float b,d,z; char w;
- •Розв’язки завдань
- •Розв’язки завдань
- •Розв’язки завдань
- •Розв’язки завдань
- •Розв’язки завдань
- •Задача 3
- •Задача 3
- •Великі й малі літери латинського алфавіту: a, …, z, a, …, z
- •Цифри 0, 1, …, 9
- •Складова компіляції, яка опрацьовує директиви або команди
- •Числова стала належіть до цілого типу
- •Література
Міністерство освіти і науки, молоді та спорту України
Державний вищий навчальний заклад
«Чернівецький політехнічний коледж»
Опорний конспект
по мові програмування С++
для студентів спеціальності 5.05090101
«Конструювання, виробництво
та технічне обслуговування радіотехнічних пристроїв»
Викладач Аністратенко Т.В.
Чернівці, 2012
Історія створення
1972 р. – Деніс Рітчі та Брайан Керніган розробили мову програмування С.
1980 р. – Бьяртні Страуструп створив розширення мови С++
С++ дозволяє розробляти програми з використанням як традиційного структурного так й об'єктного підходу.
Програми, складені мовою С++, можуть бути виконані на ПК різних виробників і в різних операційних системах
Алфавіт
- набір допустимих символів.
Великі й малі літери латинського алфавіту: A, …, Z, a, …, z;
Цифри 0, 1, …, 9;
Спеціальні символи: “ ‘()[]{}<>.,;:?!~*+-= \ / | # % $ & ^ @ _
Ідентифікатор
це назва (ім'я), яку користувач надає об'єктам, наприклад, змінним, сталим, функціям.
Ідентифікатори можуть складатися:
Великих і малих літер латинського алфавіту: A, …, Z, a, …, z;
Цифр 0, 1, …, 9;
Символу підкреслення.
Увага!
Завжди починається з букви або із символу підкреслення
Однакові за змістом малі та великі літери вважаються різними символами
С
//
приклад
1 #include
<iostream.h> int
main() { cout
<< “Hello!”;
return
0; }
//коментарі у кінці рядка
#include <назва бібліотечного файлу 1>
…
#include <назва бібліотечного файлу N>
Інші директиви препроцесора
…
Оголошення глобальних змінних
Оголошення глобальних сталих
Оголошення та створення функцій користувача
…
//
приклад 2 #include
<iostream.h> void
main() { cout
<< “Hello!”; }
Тип_результату_функції main()
{
Оголошення локальних змінних
Оголошення локальних сталих
Команди /* коментар будь-де */
return 0;
}
Завдання: Порівняти з мовою Паскаль
Директиви препроцесора
Препроцесор – це програма, яка опрацьовує директиви, перша фаза компіляції.
Директиви – це команди компілятора. Директиви мови С++ починаються із символу # (читати “паунд”)
Директива #include (читати “паунд інклуд”) – необхідна для включення у програму кодів із зазначеного після неї файлу.
Файли, які приєднуються директивою #include, називаються файлами заголовків (заголовковими файлами, бібліотеками).
Заголовкові файли
Загальний вигляд директиви:
#include <назва.розширення> - розміщенні у папці include
#include “шлях_до_файлу\назва.розширення”
Деякі заголовкові файли:
iostream.h (читати “ай-оустрім”) – операції з потоками введення-виведення
conio.h – робота з клавішами
math.h – застосування різних математичних функцій
Текст першої програми
#includе <iostream.h> //підключення заголовкового файлу
#include <conio.h>
int main() // головна функція
{ // групуючи символи
cout << “my first program”; //виведення інформації
getch(); // затримка зображення на екрані до натиснення клавіші
return 0; //повернення з головної функції
} // групуючи символи
Виведення повідомлень на екран (Слайд № 10)
cout << числа або текстове повідомлення в лапках
Спеціальні символи виведення:
\a – звукової
\b – крок назад (зворотній пропуск)
\f – перехід на нову сторінку
\n – перехід на новий рядок
\r – повернення каретки (не перехід на новий рядок)
\t – символ горизонтальної табуляції
\v – символ вертикальної табуляції
\\ - символ “зворотній слеш”
\? – знак питання
\’ – одинарні лапки
\” – подвійні лапки
\0 – нульовий елемент
Дослідження
Внести зміни в текст програми:
cout << “my first program” << endl;
cout << “programuvati prosto!” ; cout << “Duge pristo!” << endl;
cout << “my first program” //продовження << “C++!”; //у новому рядку
cout << 1001;
cout << 0.8976;
cout << 1 << 2<<0<<0<<8;
cout << “Vvedi ocinku:” << 12<<endl;
cout << 1 <<‘\n’<<0<<‘\n’<<3;
cout << “Dzvon!\a\t Dzvon!\a\t” << endl;
Ширина виведення
Модифікатор setw дозволить регулювати кількість символів, займаних виведеним числом. Увага! Включити в програму заголовковий файл <iomanip.h>
cout << “Druk:” << setw(3) << 1012 << endl;
cout << “Druk:” << setw(4) << 1012 << endl;
cout << “Druk:” << setw(5) << 1012 << endl;
cout << “Druk:” << setw(6) << 1012 << endl;
Увага! При використанні setw ви вказуєте мінімальну кількість символьних позицій
Обсяг оперативної пам'яті
Тип даних визначає допустимі значення даного, операції, які можна над ним виконувати, й обсяг оперативної пам'яті
Обсяг оперативної пам'яті може залежати від різновиду операційної системи
Визначити обсяг оперативної пам'яті можна за допомогою команди cout << sizof(int);
Стала або константа
- це пойменована ділянка оперативної пам'яті, де зберігається значення величини, яке не змінюється в процесі виконання програми.
Оголошення константи:
const <назва сталої 1>=<значення сталої 1>;
const <тип> < назва сталої 2 >=< значення сталої 2>;
Увага! За замовченням числова стала належіть до цілого типу
Приклад: const vik=20, rist=176; const float g=9.8;
Стандартні сталі: π →M_PI, π/2 → M_PI_2, π/4 → M_PI_4, 1/π → M_1_P ( ці сталі можна використовувати без оголошення, підключивши модуль math.h)
Змінна
- Це пойменована ділянка оперативної пам'яті, де зберігається значення величини, яке може змінюватися в процесі виконання програми. Оголошення константи:
<тип змінних1> <список змінних 1>;…
<тип зміннихN> <список змінних N>;…
Приклад: int a,c; float b,d,z; char w;
Ініціалізація даних - надання значень змінним відразу під час оголошення: float b,d=2.5,z=4; char w=‘t’;
П
#include<iostream.h> #include<conio.h> int
main() { int age; age=35; float salary;
salary=500.50; cout<<“robitnyky
“ <<age<<“rokiv
“<<endl; cout<<“oklad:
“ <<salary<<“grn
“<<endl; getch(); return
0; }
#include<iostream.h>
#include<conio.h>
int main()
{
int age=35;
float salary=500.50;
cout<<“robitnyky “
<<age<<“rokiv “<<endl;
cout<<“oklad: “
<<salary<<“grn “<<endl;
getch();
return 0;
}
Типи користувача
Оголошення:
typedef <опис типу> <назва нового типу>;
Приклад:
typedef unsigned short int kilkist;
kilkist k1,k2;
Присвоєння
Загальний вигляд:
<назва змінної>=<вираз> або < назва змінної 1>=…=< назва змінної N>=< вираз >
Приклад: а=8-2; c=d=a+4; e=d/5+c;
Узгодження типів:
Явне – Int 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 (дробову частину відкинене)
Узгодження типів у виразах відбувається з урахуванням пріоритетів типів. Пріоритет типів за їхнім спаданням: double, float, long, int, short
Завдання
Створіть програму з обміном значень двох змінних
Нехай задано сторони прямокутного чотирикутника а=3, в=4. Знайти периметр і площу трикутника
Описати відповідні змінні та вивести власну дату народження
Розв’язки завдань
Глинський Я.М. Вправи с. 13
Опишіть
Дві змінні x і a цілого типу – int x; int a; (int x,a;)
Дві змінні дійсного типу – float x1,a1;
Дві змінні символьного типу – char a2,b;
Int x=1; a=3; float x1=0, a1=3.5; char a2=’a’, b=’b’;
Створить тип даних користувача cina, значеннями якого є невід’ємні ціді числа – typedef unsigned char cina; (char -> short int, long int)
Які значення можуть набувати змінні типу vaga, якщо typedef unsigned long int vaga? – 0…4294967295
Опишіть тип користувача balans із допустимими значеннями даних з діапазону від –32000 до 32000 – typedef int balans;
Задача № 1
#include <iostream.h>
#include <conio.h>
int main()
{
int x=1, y=2; int temp;
temp=x;
x=y;
y=temp;
cout<<x<<”\t”<<y;
getch ();
return 0;
}
Задача № 2
#include <iostream.h>
#include <conio.h>
int main()
{
int a=3, b=4; int p; float s;
p=2*(a+b);
s=a*b;
cout<<”p=”<<p<<” s=”<<s<<endl;
getch ();
return 0;
}
Задача № 3
#include <iostream.h>
#include <conio.h>
int main()
{
int d, m, r;
d=12; m=1; r=1963;
cout<<d<<”\t”<<m<<”\t”<<r;
getch ();
return 0;}
Розв’язки завдань
Задача № 2a
#include <iostream.h>
#include <conio.h>
int main()
{
cout<<”1. “<<”\t Algebra”<<”\n”;
cout<<”2. “<<”\t Ukr. mova”<<”\n”;
cout<<”3. “<<”\t Geografia”<<”\n”;
cout<<”4. “<<”\t Informatika”<<”\n”;
getch ();
return 0;
}
Задача № 2b
#include <iostream.h>
#include <conio.h>
int main()
{
cout<<” v. Petrovskogo”<<endl;
cout<<”b. 30”<<”\n”;
getch ();
return 0;
}
Задача № 2c
#include <iostream.h>
#include <conio.h>
int main()
{
float r=1; float L, s;
s=3.1415926*r*r;
L=2*3.1415926*r;
cout<<”s=”<<s<<”\t L=”<<L<<endl;
getch ();
return 0;
}
Задача № 2d
#include <iostream.h>
#include <conio.h>
int main()
{
float a=5, b=4, c=3; float p;
p=a+b+c;
cout<<”p=”<<p<<endl;
getch ();
return 0;
}
Задача № 2e
#include <iostream.h>
#include <conio.h>
int main()
{
float d=2; float L, s;
s=3.1415926*d*d/4;
L=3.1415926*d;
cout<<”s=”x<<s<<”\t L=”<<L<<endl;
getch ();
return 0;
}
Задача № 2f
#include <iostream.h>
#include <conio.h>
int main()
{
float a=1, b=2, c=2; float p;
p=a+2*b+c;
cout<<”p=”<<p<<endl;
getch ();
return 0;
}
Задача № 2g
#include <iostream.h>
#include <conio.h>
int main()
{
int m1=10, m2=15, m3=12;
float s1, s2, s3, s;
s1=8.5*m1; s2=2.4*m2; s3=4.1*m3;
s=s1+s2+s3;
cout<<”s1=”<<s1<<”\t s2=”<<s2
<<”\t s3=”<<s3<<”\t s=”<<s<<endl;
getch ();
return 0;
}
Задача № 2h
#include <iostream.h>
#include <conio.h>
int main()
{
cout<<”doba=”<<24*60*60<<endl;
cout<<”t= “<<7*24*60*60<<endl;
cout<<”r= “<<365*24*60*60<<endl;
getch ();
return 0;
}
Приклади (Слайд № 4)
Нехай x=3, y=5. Тоді
x==y – false
x!=y – true
x>y – false
x<=(y-2) – true
2*-5+4=-6
2*(-5+4)=-2
7%3=1
12/4-2=1
12/(4-2)=6
7%3*-5=-5
Команда присвоєння, суміщена з арифметичною операцією
x+=y рівносильне x=x+y
x-=y рівносильне x=x-y
x*=y рівносильне x=x*y
x/=y рівносильне x=x/y
Приклад:
a+=10 рівносильне a=a+10
b*=4 рівносильне b=b*4
Операцій збільшення й зменшення
Збільшення значення змінної на одиницю i=i+1 мова С++ дозволяє скоротити:
i++ (постфіксна операція інкременту)
++і (префіксна операція інкременту)
Зменшення значення змінної на одиницю i=i-1 мова С++ дозволяє скоротити:
i-- (постфіксна операція декременту)
--і (префіксна операція декремкнту)
Увага! Форма збільшення (зменшення) впливає на порядок виконання операцій у виразах
Приклади (Слайд № 7)
number=i++; рівносильне number=i; i=i+1;
number=++i; рівносильне i=i+1; number=i;
a=2; b=3*++a; (a=3; b=3*3=9)
c=5; d=(c++)+4; (d=5+4=9; c=6)
x=4; y=15/--x; (x=3; y=15/3=5)
f=20; g=(f--)-10; (g=20-10=10; f=19)
відповіді з’являються після натискання лівої кнопки Миші
Завдання Дослідити використання префіксних та постфіксних операцій збільшення та зменшення (number=i++; number=++i; number=--i; number=i--; ). Задати начальне значення для змінної і=10.
Напишіть програму й дослідіть можливості спрощення запису присвоєння з обчисленням (x+=y; x-=y; x*=y; x/=y)
Складіть програму для обчислення площі прямокутника за уведеними з клавіатури довжинами сторін, вираженими цілими числами, меншими ніж 150
Ціни на два види товарів зросли на р відсотків. Вивести старі та нові ціни