Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Опорний конспект по С++.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
860.16 Кб
Скачать

Міністерство освіти і науки, молоді та спорту України

Державний вищий навчальний заклад

«Чернівецький політехнічний коледж»

Опорний конспект

по мові програмування С++

для студентів спеціальності 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

Завдання

  1. Створіть програму з обміном значень двох змінних

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

  3. Описати відповідні змінні та вивести власну дату народження

Розв’язки завдань

Глинський Я.М. Вправи с. 13

  1. Опишіть

    1. Дві змінні x і a цілого типу – int x; int a; (int x,a;)

    2. Дві змінні дійсного типу – float x1,a1;

    3. Дві змінні символьного типу – char a2,b;

    4. Int x=1; a=3; float x1=0, a1=3.5; char a2=’a’, b=’b’;

  2. Створить тип даних користувача cina, значеннями якого є невід’ємні ціді числа – typedef unsigned char cina; (char -> short int, long int)

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

  4. Опишіть тип користувача 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==yfalse

  • 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.

  1. Напишіть програму й дослідіть можливості спрощення запису присвоєння з обчисленням (x+=y; x-=y; x*=y; x/=y)

  2. Складіть програму для обчислення площі прямокутника за уведеними з клавіатури довжинами сторін, вираженими цілими числами, меншими ніж 150

  3. Ціни на два види товарів зросли на р відсотків. Вивести старі та нові ціни