Кроки для створення виконання програми 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Кроки для створення виконання програми



Кроки для створення та виконання програми продемонстровані на рис.1.

 

 

Рис.1. Процес створення та виконання програми

 

 

Розглянемо програму First.cpp.

 

// Файл First. cpp

// Програма на С++ для починаючих

// демонструє коментар і показує

// декілька оголошень і представлень

 

#include <iostream.h>

 

Void main()

{

int i, j;char c;

float x;

i=4;j=i+7;

c=’A’; //Символьні константи містяться

//в одиночні лапки

x= 9.087; //Плаваюча точка

x=x*4.5;

cout<< i << j << c << x;

}

 

Програма має вбудовані ключові слова, наприклад: int, char, return. По суті справи C складається з набору функцій (функціонально закінчених частин коду) і функції main(). Весь код між фігурними дужками називають блоком. У нашому прикладі функція main() має один блок.

Оператори повинні закінчуватися “;”. Рядки з main() і фігурними дужками не закінчуються “; ”.

Коментарі використовуються в такий спосіб. Якщо коментар займає 1 рядок, то - “ // ”. Якщо коментар займає більш 1 рядку, то початок коментарю виділяють символами “ /* ”, а кінець “ */ ”.

Основні математичні операції:

+ - * /

Змінні та константи

Змінні характеризуються атрибутами:

– адреса в пам’яті;

– ім’я;

– тип;

– значення.

Першою буквою змінної повинна бути буква латинського алфавіту, або знак підкреслення (_), потім букви і цифри або додаткові знаки підкреслення.

Заголовні і малі літери в змінній мають різноманітний зміст.

У таблиці 1 розглянемо типи змінних

 

 

Таблиця 1

Типи змінних мови програмування C++

Ім’я оголошення Тип Кількість байтів Діапазон Значність  
char Символьний   -128 - 127  
  unsigned char Беззнаковий символьний   0 - 255
signed char Символьний   -128 - 127  
int Цілий   32767 - 32768  
unsigned int Беззнаковй цілий   0 – 65535  
signed int Цілий   -32768 - 32767  
short int Короткий цілий   -32768 - 32767  
unsigned short int Беззнаковий короткий цілий   0 - 65535  
signed short int Короткий цілий   -32768 - 32767  
long int Довгий цілий   -2147483648- 2147483647  
signed long int Довгий цілий   -2147483648- 2147483647  
unsigned long int Беззнаковий довгий цілий   0 - 4294967295  
float З плаваючою точкою.   -3.4Е+38 - 3.4Е+38    
double Довгий із плаваючою точкою   -1.7Е+308 ‑ 1.7Е+308    
long double Довгий із плаваючою точкою   -1.1Е+4932 – 1.1Е+4932    
                     

 

Тип може бути перевизначений:

 

typedef int CARDINAL;

CARDINAL pp;

 

У C++ цілі та символьні змінні можуть зберігати чисельні значення. Для присвоювання значень змінній використовується знак “ = ”.

Змінна = < вираз >

Можна одночасно привласнювати і повідомляти змінні:

 

int age = 30;

char first = ’G’, m = ’H’;

 

Константи.

Цілі константи не мають десяткових точок; числа з плаваючою точкою (речовинні) повинні мати десяткову точку.

Цілі константи можуть задаватися 16-річними константами – префікс 0х.

 

Приклад:

 

0х10; 0х2С4; 0xFFFF

unsigned int t = 0xFFFF; //65535

int t = 0xFFFF; //-1

 

Строкові константи.

Вони містяться у лапки, наприклад:

 

“С++ Програма”, “123”.

 

Усі строкові константи закінчуються ASCII нулем. Він є обмеженням рядка в пам’яті. Не треба плутати ASCII нуль із звичайним нулем, що має код 48. Наприклад, рядок “А760” у пам’яті ЕОМ має вид:

 

’А’  
’7’  
’6’  
’0’  
’\n’  

 

Довжина строкової константи визначається числом символів без ASCII нуля.

Символьні константи.

Символьні константи повинні бути замкнуті в одинарні лапки.

При запровадженні спеціальних символів (Escape-послідовності) вимагаються спеціальні позначення, що можна представити наступною таблицею (табл.2.).

 

 

Таблиця 2

Символи Escape-послідовності

 

Керуюча послідовність Значення
Звуковий сигнал
\b Повернення на одну позицію
\f Переведення сторінки (для принтера)
\n Новий рядок (переведення рядка, вертання каретки)
\r Вертання каретки
\t Табуляція
\\ Ліва похила риса
\? Знак питання
\’ Одиночні лапки
\” Подвійні лапки
\0 ASCII – нуль

 

Приклади

 

char c;

c = ’T’+5; //T - ASCII - 84

cout << c; //Y - ASCII - 89

cout << “Привіт”<< ’\n’<< “Вася”;

 

Привіт

Вася

 

#include <iostream.h>

Void main()

{

char bell = ’\a’;

cout<<bell; // Звук

}

Символьні масиви і рядки

Строкових змінних у C++ немає, для цього використовуються масиви символів (символьні масиви).

Припустимо необхідно зберегти ім’я людини, вік, зарплату. З віком і зарплатою проблем немає:

 

int age;

float salary;

 

Змінної строкової немає, але можна створити масив символів:

 

char name[15];

 

У пам’яті резервується місце під масив символів.

Під час оголошення нашого масиву можна привласнити значення.

 

char name[6] = “Маша”;

 

У пам’яті ЕОМ:

 

[0] М
[1] а
[2] Ш
[3] А
[4] \0

 

Можна одержати доступ до визначеного елемента масиву:

 

name[0] = ’П’

 

У пам’яті ЕОМ:

 

[0] П
[1] А
[2] Ш
[3] А
[4] \0

При виведенні результату можна зазначити тільки ім’я рядку:

 

cout<<name; //Результат: Паша

 

Можна оголосити масив символів так:

 

char cc[] = {’a’, ’b’, ’c’};

 

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

 

char bb = cc[1]; // Змінній bb привласнено

// значення ’b’

cout<<сс;

 

ПОМИЛКА! Наприкінці ланцюжка символів немає ASCII-нуля, виведення выдбуватиметься доти, поки не зустрінеться ’\0’. Тому може виводитися дуже довгий рядок.

Програма помилкова.

 

Void main()

{

char name[20];

name = “ Петя ”; //Не можна імені масиву

//привласнити значення, що

//можливо тільки при

//оголошенні.

}

 

Для ініціалізації масиву існує 5 основних засобів. 3 з них ініціалізуються під час оголошення.

 

#include <iostream.h>

#include <string.h>

 

Void main()

{

// 1-ий засіб

char f1[] = “Привіт”;

 

// 2-ий засіб

char f2[7] = “Привіт”;

 

// 3-ій засіб

char f3[] = {’П’,’р’,’и’,’в’,’і’,’т’,’\0’};

 

// 4-ий засіб

char f4[7];

//використання бібліотечної функції

strcpy(f4, “Привіт”);

 

// 5-ий засіб

char f5[7];

f5[1]= ’П’;

f5[2]= ’р’;

f5[3]= ’и’;

f5[4]= ’в’;

f5[5]= ’і’;

f5[6]= ’т’;

f5[7]= ’/0’;

}

Директиви препроцесора

Директиви препроцесора - команди для препроцесора. Вони не є командами С++. Починаються зі знаку #, наприкінці “; ” не ставиться Директиви препроцесора використовуються до компіляції програми.

Приклад:

 

#include <iostream.h>

#define age 28

#define massage “Привіт! ”

 

Директива #include використовує 2 формати:

 

#include <файл>

#include “файл”

 

Кутові дужки вказують препроцесору шукати файл, який включається у зазначених каталогах (у нашому випадку в зазначеному каталозі IDE). Звичайно це каталог INCLUDE. Якщо зазначені (“ ”), то пошук файла здійснюється в каталозі, де знаходиться вихідний текст, а потім, якщо він не буде знайдений, то в тих же каталогах, що й у випадку з кутовими дужками.

Препроцесор цілком вставляє текст зазначеного файла замість директиви #include.

Директива #include частіше усього використовується для включення заголовних файлів, (h-файли). У цих файлах описується, як інтерпретувати бібліотечні функції, використовувані в програмі. Наприклад: iostream. h - містить необхідну для компілятора інформацію про бібліотечні оператори потокового введення-виведення cout, cin, а також про інші бібліотечні функції, що забезпечують введення - виведення.

Директива #define - призначення: знайти і замінити, наприклад:

 

#define DD 28

 

По всьому тексті перед компіляцією препроцесор змінює х1 на b+c.

Приклад:

 

#include <iostream.h>

#define x1 (b+c)

#define x2 (x1+x1)

 

Void main()

{

int b=2;

int c= 3;

int e = x2; //b+c+b+c

cout <<e; //10

}

 

Щоб не плутати аргументи #define із змінними у програмі, їх виділяють заголовними буквами. В основному #define використовується для визначення констант. Альтернативно, оголошення констант може відбуватися так:

 

сonst float c=10.2;

const char d = ’A’;

 

Ці константи видимі тільки усередині блоку { }.

Таким чином, директива #define є чудовим засобом для визначення цифрових і строкових констант.

 



Поделиться:


Последнее изменение этой страницы: 2017-02-10; просмотров: 156; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.90.202.157 (0.038 с.)