Professional Documents
Culture Documents
Vezba02 2008
Vezba02 2008
типови и форматирање
на влез и излез во C++
Вежби – час II
1
Функцијата main
C++ програма е колекција на една или повеќе функции и мора
да ја има функцијата main.
main
Најкратка C++
}
програма која не 2
прави ништо
Структура на C++ програма
Предпроцесорска наредба за
#include <iostream> вклучување на библиотеката
(header file) iostream
using namespace std;
iostream своите идентифика-
int main() тори ги декларира да бидат во
просторот со имиња std
{
cout << "Zdravo"<<endl; main
функцијата
return 0;
}
Наредба од
библиотеката iostream
#include <iostream>
using
namespace
std; И овие две програми се потполно исти за
int C++ компајлерот како и програмата од
main претходниот слајд, се додека не се
( разделуваат зборовите и стринговите.
)
{ Но сепак потребно е поради прегледност,
cout програмите да се испишуваат
<< структурирано.
"Zdravo"
<<
endl;
return 0; 4
}
Структура на C++ програма
#include <iostream>
using namespace std;
//deklaracija na globalni promenlivi
int main()
{
коментари
/*deklaracija na promenlivi*/
cout << "Zdravo"<<endl;
return 0;
}
5
Идентификатори
Идентификатор е симболичко име кое се придружува на
функција или податочен објект и служи како референца за таа
функција или тој податочен објект.
Идентификаторот е составен од букви, броеви и знакот за
подвлечено ( _ underscore), но не смее да започнува со број. Само
една буква или само знакот за подвлечено се исто така валидни
идентификатори. Идентификаторите се делат на резервирани
зборови и кориснички идентификатори. Резервираните зборови
имаат специјално значење во C++ и не смеат да се користат
како кориснички идентификатори.
Препорака
Бидејќи идентификаторите кои започнуваат со знакот за
подвлечено имаат специјално значење во некои C++ системи,
најдобро вашите идентификатори да започнуваат со буква. 6
Валидни кориснички
идентификатори
suma
suma_na_elementi
x
X1
x_11_x1
_x1
_
PrimerProizvod
brojac_1111111111
7
Невалидни кориснички
идентификатори
Невалидни
Објаснување
идентификатори
Идентификаторот не смее да започнува со
20Denovi
бројка
Proizvod elementi Не смее да има празно место во името
Не смее да има знаци кои означуваат
Proizvod-elementi
оператори во името
Proizvod@elementi Не смее да има специјални знаци во името
Идентификаторот не смее да биде
float
резервиран збор
8
C++ разликува големи и мали
букви
Suma
suma
SUMA
SuMa
suMA
SuMA
9
Клучни зборови во C++
11
Резервирани зборови во C++
12
Предефинирани
идентификатори во C++
13
Некои податочни типови
Декларирање и иницијализација
на променливи
Променлива е мемориска локација која содржи податочна вредност
која може да се менува. Мемориските локации се идентификуваат
преку името на променливата. Сите променливи кои се користат во
една програма мора прво да бидат декларирани. Со секое ново
доделување на вредност на дадена променлива, старата вредност се
брише.
15
Декларирање и иницијализација
на променливи
int x;
int x=1;
int x=1, y=2, z=3;
float pi=3.14;
16
Форматирање на влез и излез
За да се користат наредбите за стандарден влез и излез, потребни се
следните две наредби на почетокот на програмата
#include <iostream> endl манипулатор означува
крај на линија и е опционен
using namespace std;
insertion operator
Наредби Излез
extraction
operator
19
Character променливи
За претставување на единечен карактер се користи бајт(byte).
Char(карактер) е индивидуален симбол кој може да биде:
• мала буква: a, b, c, d, e, f, g, h, I, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y,
and z
• голема буква: A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U,
V, W, X, Y, and Z
• број: 0, 1, 2, 3, 4, 5, 6, 7, 8, and 9;
• специјален знак: ` ~ # $ ! @ % ^ & * ( { [ ) } ] | \ : ; “ ‘ + - < _ ? > , / =.
20
Character променливи
Бидејќи char променлива претставува еден симбол, за да се
иницијализира, иницијалната вредност се поставува меѓу
единечни наводници.
char Answer = ‘y’;
Char променлива може да се иницијализира и на следниот начин:
char Answer(‘y’);
#include <iostream>
using namespace std;
int main()
{
char category = 'H';
cout << "Kategorija: " << category;
cout << endl;
return 0;
21
}
Character променливи
Ако карактерот е од signed категорија, може да се декларира како
signed character.
Овој тип на променлива ќе биде 8-bit integer со вредности од
–128 до +127.
#include <iostream>
using namespace std;
int main()
{
signed char category = 'D';
cout << "Category: " << category;
cout << endl;
return 0;
}
22
Character променливи
#include <iostream>
using namespace std;
int main()
{
char answer;
signed char AgeCategory, size;
cout << "Age category(t=teen/a=Adult/s=Senior): ";
cin >> AgeCategory;
cout << “Do you smoke(y=Yes/n=No)? ";
cin >> answer;
cout << "Enter your size(s=Small/m=Medium/l=Large): ";
cin >> size;
cout<<endl;
cout << "Age category: " << AgeCategory<<endl;
cout << "Your answer: " << answer<<endl;
cout << "Your size: " << size<<endl;
system("pause");
return 0; 23
}
Escape Sequences
AS
Escape
CII
Sequen Name Description
valu
ce
e
\a Bell (alert) 007 Makes a sound from the computer
#include <iostream> \b Backspace 008 Takes the cursor back
using namespace std; Horizontal
\t 009 Takes the cursor to the next tab stop
int main() Tab
{ \n New line 010 Takes the cursor to the beginning of the next line
\v Vertical Tab 011 Performs a vertical tab
cout << "Sydney\nAustralia\n";
\f Form feed 012
return 0; Carriage
} \r 013 Causes a carriage return
return
Double
\" 034 Displays a quotation mark (")
Quote
\' Apostrophe 039 Displays an apostrophe (')
Question
\? 063 Displays a question mark
mark
\\ Backslash 092 Displays a backslash (\)
\0 Null 000 Displays a null character
24
Short Integers
Збор, кој е група од 16 бита или 2 бајта, се користи за
претставување на природен број.
25
Short Integers
#include <iostream>
using namespace std;
int main()
{
short number1, number2;
cout << "Vnesi broj pomegu -32768 i 32767: ";
cin >> number1;
cout << "Vnesi drug broj: ";
cin >> number2;
cout << endl;
cout << "Broevite koi gi vnesovte se: "<<endl;
cout << "Broj 1: " << number1 << endl;
cout << "Broj 2: " << number2 << endl;
return 0;
}
По подразбирање, short integer е signed. Исто така експлицитно може да ја
декларираме како signed short.
signed short XCoord;
Ако integer мора да биде позитивен, треба да го декларираме како
26
unsigned short. unsigned short се користи за ретставување на 16-bit
позитивен integer чии вредности се од 0 до 65535.
#include <iostream>
using namespace std;
int main()
{
unsigned short shirts;
unsigned short pants;
unsigned short dresses;
unsigned short ties;
int main()
{
int coordX, coordY, coordZ;
cout << "Vnesete gi koordinatite na tockata A:"<<endl;
cout << "X = ";
cin >> coordX;
cout << "Y = ";
cin >> coordY;
cout << "Z = ";
cin >> coordZ;
cout<<endl;
cout << "Koordinati na tockata A se: "<<endl;
cout << "X = " << coordX<<endl;
cout << "Y = " << coordY<<endl;
cout << "Z = " << coordZ<<endl;
system("pause");
28
return 0;
}
Using Integers
signed се користи за integer променлива чија вредност може да биде позитивна или
негативна.
signed distanceRange;
signed int velocity;
29
Using Integers
An unsigned integer can also be declared simply with the unsigned keyword.
#include <iostream>
using namespace std;
int main()
{
unsigned dayOfBirth, monthOfBirth, yearOfBirth;
На пример:
long countryArea;
31
Long Integers
#include <iostream>
using namespace std;
int main()
{
long USPopulation;
unsigned long USArea;
cout << "What is the area of the US? ";
cin >> USArea;
cout << "What is the population of the US? ";
cin >> USPopulation;
cout<<endl;
cout << "Characteristics of the US"<<endl;
cout << "Area = " << USArea<<endl;
cout << "Population = " << USPopulation<<endl;
system("pause");
return 0; 32
}
Floating-Point Numbers
Floating-Point Numbers With Single-Precision
float side;
float length;
float priceSoda;
priceSoda = 0.85;
33
Floating-Point Numbers
Floating-Point Numbers With Single-Precision
#include <iostream>
using namespace std;
int main()
{
float side, perimeter, area;
cout << "Vnesete ja stranata na kvadratot: ";
cin >> side;
perimeter = side * 4;
area = side * side;
cout << "Side: " << side<<endl;
cout << "Perimeter: " << perimeter<<endl;
cout << "Area: " << area<<endl;
system("pause"); //cin.get()
return 0; 34
}
Floating-Point Numbers
Floating-Point Numbers With Double-Precision
For an even larger variable, use the 10 Byte real data type identified as a long double data type that ranges
from 3.4 x 10-4932 to 1.1 x 104932.
#include <iostream>
using namespace std;
int main()
{
long double radius = 15.625, Radius = 18.125;
long double area, Area, TotalArea;
}
Strings
Ако сакаме корисникот да ја заврши
#include <iostream>
реченицата со друг карактер како * #include <string>
или !, ја користиме функцијата using namespace std;
getline(cin, StringName, Delimiter); int main()
Следниот пример го користи симболот {
= како краен симбол на реченицата:
string FirstName, LastName;
cout << "Vnesete ja slednata
string Address;
informacija: "<<endl;
cout << "Enter your address.
cout << "Ime: ";
To end, type = ";
cin >> FirstName;
getline(cin, Address, '=');
cout << "Prezime: ";
cout << "\nSo, you live at: " << Address;
cin >> LastName;
cout<<endl<<endl;
cout << "Faktura # 1202"<<endl;
cout << "Ime i prezime na kupuvac:
" << FirstName << " " << LastName
<< endl;
system("pause");
39
return 0;
}
Strings
Стринговите мора да се внесат во една линија.
Доколку во стрингот мора да се појави и знакот наводници
" , тогаш пред него залепено се става знакот \ (backslash)
40
string изрази
Постои специјална операција со стрингови која се
нарекува конкатанација и се претставува со
операторот +. Резултат на конкатанација на два
стринга е нов стринг кој се состои од спојување на
двата стринга. Во конкатанацијата може да
учествуваат и променливи од тип char, се додека
барем еден од операндите е од тип string.
Ime1 = "Osnovi " ;
Ime2 = "na " ;
Ime3 = "programiranje" ;
Naslov_Predmet=Ime1 + Ime2 + Ime3;
Naslov_Predmet=Ime1 + 'n' + 'a' + Ime3;
И во двата случаеви променливата Naslov_Predmet ќе
го содржи стрингот
41
Osnovi na programiranje
Декларирање и иницијализација
на константи
Константа е мемориска локација која содржи податочна вредност
која не може да се менува. Кога се користи вредноста на
константата во програмата, се вели дека се користи литерална
вредност (literal).
const
Препорака
Името на константите да се испишува со големи букви, а доколку
името се состои од повеќе зборови, тие да се одделуваат со знакот
на подвлечено.
42
Декларирање и иницијализација
на константи
43
Декларирање и иницијализација
на константи
Доколку типот на константите не е експлицитно дефинира, C+
+ компајлерот го одредува типот на следниот начин:
Броевите кои содржат „.“ или „е“ се double: 3.5, 1е-7, -1.29е15
За наместо double да се користат float константи на крајот
се додава „F“: 3.5F, 1e-7F
44
Доделување на вредности на
променливи
Кога променливите еднаш се декларирани, може да им се
доделуваат вредности. Оператор за доделување вредност е
=.
Променлива = Израз
45
C++ предпроцесор
Предпроцесирањето се изведува пред компајлирањето. C++
предпроцесорот е посебна програма која во изворната програма
врши вклучување на библиотеки и кориснички датотеки,
дефинирање на симболички константи и макроа, и слично.
Наредбите за предпроцесорот започнуваат со # и се нарекуваат
предпроцесорски директиви.
Изворна
Проширена
Предпроцесор изворна Компајлер
програма
програма
46
C++ предпроцесор
Предпроцесорска директива #include
ја копира наведената датотека на местото на директивата
#include <ime_datoteka>
• датотеката ime_datoteka ја бара меѓу стандардните библиотеки
#include “ime_datoteka”
• се користи за додавање на кориснички датотеки и притоа
датотеката ime_datoteka ја бара прво во тековниот директориум,
а потоа и меѓу стандардните библиотеки
47
C++ предпроцесор
Предпроцесорска директива #define
се дефинираат симболички константи и макроа и притоа
предпроцесорот ги заменува сите појави на симболичката
константа со дефинираниот текст
#define identifikator text_za_zamena
48
Start->Programs->Bloodshed Dev C++
49
File->New->Source File
50
пишување на програмата
51
на првото компајлирање се отвара
прозорецот Save File
52
53
Извршување на програмата - Run
54
Стартување на Microsoft Visual Studio
File->New->Project 55
Име на програмата Конзолна апликација 56
57
58