Елементи на езика с/C++. Типове данни елементи на езика : Допустими в програмите са следните символи



Дата18.11.2017
Размер159.44 Kb.
Размер159.44 Kb.

ЕЛЕМЕНТИ НА ЕЗИКА С/C++. ТИПОВЕ ДАННИ
1. Елементи на езика :
Допустими в програмите са следните символи:

малки и главни латински букви

цифрите от 0 до 9

специални символи: + - * / = () [] {} | & ! < > # $ % ^ ~ _ . , : ; ‘ "

разделители – интервал, табулация и нов ред
asterisk * аmpersand ( & ) quotes " " parentheses ( ) /парентезис/ octothorpe /октоторп/ #

less than < > comma , apostrophe (single quote) ' semicolon ; colon : backslash \ forword slash / curly braces { } [ ] - braces,

pipe | /the backslash key on QWERTY/

underscore _ exclamation mark - ! acute /екют-ударение/ ` caret ^ period, dot . dash -

Езика С е чувствителен към малки и големи букви.

2. Основни типове данни





Езика за програмиране С/С++ притежава вградени / предварително дефинирани и се поддържат от неговото ядро/ и абстрактни / дефинират от програмиста/

Вградени типове данни:

скаларни типове:

булев; цял; реален; символен; изборен; указател



съставни типове:

масив; символен; вектор



Всеки тип се определя с множество от допустими стойности, оператори и вградени функции, които могат да се прилагат над елементите му

С притежава 5 основни типове данни: void, char, int, float , double. Тези основни типове данни с изключение на void, могат да се модифицират чрез използването на модификаторите на типове в С.



Модификаторът на тип предшества името на типа.

Пример: тази конструкция декларира long цяло число:

long int i;
2.1 Скаларен тип данни

а/ целочислен


Тип

Размер в битове

Минимален интервал от стойности

char

8

-127 до 127

unsigned char

8

0 до 255

signed char

8

-127 до 127 /цяло число със знак/

int

16 или 32

-32 767 до 32 767

unsigned int

16 или 32

0 до 65 535 /полож.цяло/

signed int

16 или 32

както int

short int

16

както int

unsigned short int

16

0 до 65 535

signed short int

16

както short int

long int

32

-2 147 483 647 до 2 147 483 647

unsigned long int

32

както long int

signed long int

32

0 до 4 294 967 295

б/ реален (float и double)




float

32

точност до шестия знак

double

64

точност до 14 значещи цифри

long double

80

точност до шестия знак

За записване на реални числа се използват два начина:

1. в дробнодесетичен формат

2. в експоненциална форма

Пример:

3.54 -4.0 65. 0.55 .25



3.15е+2 -7.8Е+5 12.8е-7
Пример:

float a; // деклариране на променлива от тип float

double b=31.1 //деклариране на променлива от тип double

Вградени математически функции


ceil() – намира най-малкото цяло число >=x /намереното число е от тип double/
Пример:

#include

#include

using namespace std;

int main()

{

cout<Отг. 4

return 0;

}
floor() - намира най-голямото цяло число <=x. Намереното число е от тип double

cout<<floor(3.4); Отг. 3


sqrt(x) – намира кв.корен от числото x
cout<<sqrt(9); Отг. 3

pow(x,n)

степенува x на n-та степен
cout<<pow(9,2); Отг. 81
fabs(x) – намира абсолютната стойност на числото x /намереното число е от тип double
cout<<fabs(-20.2); Отг. 20.2

в/ логически тип


Логическият тип се декларира със запазената дума Bool

Името му идва от името на английския математик Джордж Бул.

За променливите и константите /по-долу са обяснени/, се заделя памет от 1B. Допустими стойности са двете константи true и false( истина и лъжа), като true се представя с 1, a false с 0
Пример:

#include

#include

using namespace std;

int main(){

bool a1,a2=true;

a1=0;

cout<

cout<

return 0;

}

Резултат:



0

1
Логически оператори



  • Оператор за логическо отрицание (!) – използва се за промяна на логическата стойност на даден операнд. Действието на оператора (!) върху операнда А се представя както е описано по-долу

!<операнд>; //променя ст-та на <операнд> от true на false и обратно


Пример:

bool a=true,b=false;

a=!a; //ст-та на променливата а става false

b=!!b; //ст-та на променливата б остава false







A

B

A&&B

true

true

true

true

false

false

false

true

false

false

false

false




  • Оператор за логическо „ИЛИ” ( || ) – логическо събиране




A

B

A||B

true

true

true

true

false

true

false

true

true

false

false

false

Приоритет на логическите оператори


! най-висок

&&

|| най-нисък



г/ символен тип
Декларира се със запазената дума char. Необходимата памет е 1В.

Пример:


char a,b;

char symbol;


В C++ символният тип използва символите от така нарчената ASCII кодова таблица, вградена в компютъра. Броят на тези символи е 256, като на всеки съответства код от 0 do 255.

Първите 128 символа са стандартни и за всички компютри са едни и същи, докато при останалите съществуват различия.

На екрана се изобразява символ, а в паметта се разполага число, което е кодът на този символ.

Символите са графични (букви, цифри и други знаци) и управляващи ( Enter-нов ред, Backspace- връщане на курсур и др.)


Инициализация на символен тип –присвоява се символ заграден в апострофи

char с= ’А’


За задаване на управляващи символи се използват следните специални означения:


Озн.

Описание на символа

\n

нов ред

\t

хориз. табулация

\v

верт.табулация

\b

връщане на курсора с 1 символ назад

\r

връщане на курсора в началото на реда

\a

издава звуков сигнал

\0

нулев символ, знак за край на низ

По зададения символ може да се стигне до неговият ASCII код чрез израза (int) ch, където ch e символна константа или променлива.

Пример:

cout<<(int)’a’; //извежда на екрана 97


Извеждане на символ по зададен негов ASCII код
Пример:

cout<<(char)97; //извежда символа а

cout<<(char)(20+45); //извежда на екрана А
Над символни данни могат да се прилагат всички аритметични операции, допустими за целочислен тип данни. Тези операции се извършват над ASCII кодовете на съответните символи.
Пример:

int b=’3’;

cout<<’a’+4; //извежда 101

cout<

3. Запазени думи


Стандартът ANSI определя 32 ключови думи, които не могат да се използват в имената на функции или променливи. Много компилатори на С/C++ добавят други ключови думи. В езика С /C++ главните и малките букви се различават (int, Int и INT са различни).

auto, _bool, break, case, char, _complex, const, continue, default, double, else, enum, extern, float, for, goto, if, _imaginary, inline, int, long, register, restrict, return, short, signed, sizeof, static, struct, switch, typedef, union, unsigned, void, volatile, while
4. Структура на програмата

#include <библиотеки>

using namespace std;

int main ()

{

команди;



return 0;

}
Пример: програма за извеждане на „Hello World



#include <iostream> //вкл. библиотека

using namespace std; //използва std именовано пространство

int main() //гл. функция

{ // начало на тялото на функцията

cout<<"Hello World!"; //оператор за изход

return 0 ; // край на програмата

} //край на тялото на функцията


#include <библиотеки> глобални декларации на константи, променливи и типове данни, декларации на други функции
# / octothorpe/ - директиви на предпроцесора /указание към предпроцесора/.

Предпроцесора извършва подготовка на кода за компилация.

Той маха празни пространства, коментари и др. и оставя съществената част от написаната програма.
Първият ред представлява директива #include към предпроцесора за включване на външен файл <iostream> който съдържа описанията на някои стандартни функции за вход и изход на данни. В случая е нужен за да може компилаторът да намери описанието на функцията за форматиран изход cout Триъгълните скоби указват да се търси в каталога със стандартни заглавни файлове.
http://en.wikipedia.org/wiki/C++_standard_library

using namespace std; - използване на именовано пространство std /стандартната библиотека на C/C++)
Пример: Използване на собствено namespace / mystuff/
#include

using namespace std;

namespace mystuff{

int value = 5;

}

using namespace mystuff;

int main()

{

cout << value; //outputs 5

return 0;}

int main();
Структурата на тази главна функция се задава по един от следните начини:
int main()

{

тяло на функцията

return 0;

}
или:

main()

{

тяло на функцията

return 0

}
или:

void main()

{

тяло на функцията

}

Следващият ред представляват дефиниция на функция с име main като



int пред името на функцията указва че тя връща стойност int (целочислен тип). Всяка програма трябва да има функция main и това е първата функция която се изпълнява при стартиране на приложението. В кръглите скоби се описват параметрите които функцията приема, но в случая тя не изисква никакви параметри и това се заявява със () / braces/


  • Във фигурните скоби { } /curly braces/ е поместено тялото на функцията което ще се изпълни.




  • Започва с извикване на функция от стандартната библиотека на C++ — cout, която в случая приема единствен параметър — указател към низа от символи „ Hello World!”. Двойните кавички създават анонимен низ (низова константа) от символите заградени в тях в паметта и връща указател към него. Нарича се анонимен защото не е присвоен на променлива и съответно по-късно няма да можем да се обърнем към него чрез такава променлива.



  • Символът ; / semicolon/ поставя края на израза който е основния градивен блок на програмите.




  • Изразът return 0; прекратява изпълнението на функцията и връща целочислената стойност нула. Често функциите, освен ако нулата не е валидна резултантна стойност на задачата изпълнявана от функцията, връщат нула за да сигнализират че не е възникнал проблем при изпълнението им. Но това е различно за всяка функция и за смисъла на връщаните стойности програмистът трябва да се допита до документацията.

Константи – числа или последователност от символи с постоянна стойност.Константите се използват често в началото на програмата за инициализиране на променливи.



Видове константи

Числови:

Цели 12; -12

Дробни десетични -12.55; -321.0; 0.123

Символни: един символ, затворен в ' '; всеки символ в ASCII таблицата има числен код – 'а'; '34'; '#'

http://www.asciitable.com/ - ASCII таблицата

Низови: низ, затворен в двойни кавички; дължината е неограничена

„Hello World!”

„12345”

“ 23+44”



Има разлика между символна и низова константа т.е .”а” и 'а'

'а' е символ а, чийто код от ASCII таблицата е 97

”а” едномерен масив (виж масиви)
4.2. Деклариране на константa
const тип име на константа = израз;
Пример:

const char s=”Hello world”;

const char p=’#’;

const int p=5;

const double pi=3.14;

const float v=50.23;

Ако числото което искаме да зададем е дробно, но дробната част е 0, трябва да го зададем като примерно 1000.0..по този начин казваме на компилатора, че числото 1000 е число с плаваща запетая.


Пример: Изчисление обиколката и лицето на кръг по зададен радиус
#include

using namespace std;
int main()

{

int r,P,S;

const int p=3.14;

cout<<"Napishi radius r= ";

cin>>r;

P=2*p*r;

S=p*r*r;

cout<

return 0;

}

5. Променливи - величини от определен тип, на които е присвоено име и чиято стойност се променя при изпълнение на програмата.

• Под понятието променлива се крие клетка от паметта, в която се съхранява текущата стойност на променливата

• Всяка клетка има адрес, използването на името е обръщение към адреса

Всяка област от паметта, която се използва за запис на стойности се нарича обект. Променливата е най-простия обект.

Всички променливи предварително трябва да се декларират и с това се определя размерът или броят байтове памет, които трябва да се резервират за нея. !!!

• Имената на променливите позволяват да се отличават една от друга. Те се задават с идентификатори. Идентификатор е комбинация от букви (латински) и цифри, като винаги започват с буква. (suma; br; k1). Идентификаторът трябва да е различен от ключовите думи. С/С++ прави разлика между големи и малки букви и затова идентификатор с име Suma е различен от suma.

5.1 Деклариране на променлива

тип на променлива име на променлива;



Пример:

int a,b;


float c;

char –байт, съдържащ 1 знак пр. А /8 bits/

int- цяло число – Пр. 100 /16 bits, 32 bits, 64 bits/

float – число с плаваща запетая с точност до 6 десетици Пр. 0.123456

double - число с плаваща запетая с точност до 10 десетици Пр. 0.0123456789

bool - булева стойност ( истина-неистина, true,false), всяка нулева стойност представлява истина, т- е true



5.2 Инициализация на променливи

тип на променлива име на променлива = израз;

Променливата се инициализира, като след името й се поставя символ за присвояване (=) и желаната начална стойност.

Пример:


int a=5;

float c=3.13
Променливите могат да бъдат глобални и локални.

  • Глобалните променливи се описват в началото на програмата преди всички функции. Имената им трябва да бъдат уникални. Тяхната област на действие е определена за цялата програма.

  • Локалните променливи се дефинират в тялото на функцията и тяхното действие е за самата функция.

Езикът С съдържа ключовата дума auto, използвана за деклариране на локални променливи. Тък като обаче всички променливи по подразбиране са auto, на практика тази ключова дума не се използва

ТЕСТ

  1. Кои са допустимите символи в езика C/C++ ?

  2. Кои са петте основни типове данни в C/C++?

  3. Какъв е размерът на int в битове?

  4. Какъв е размерът на char в байтове?

5. Какво прави floor() ?

  1. Как ще напишете bx използвайки матем. функция pow ?

  2. С кои цифри се представят true и false ?

  3. С коя дума се декларира логическият тип?

  4. Какъв е отговорът на логическото умножение false&&true?

  5. Какъв е отговорът на логическото събиране true||false?

  6. Какъв отговор ще изкара на изхода израза cout<<(char)98; ?

  7. За какво се използват двойните кавички?

  8. Как ще инициализирате дробната променлива b със стойност 13.23?



ТЕСТ -отговори

  1. Кои са допустимите символи в езика C/C++ ?


малки и главни латински букви

цифрите от 0 до 9

специални символи: + - * / = () [] {} | & ! < > # $ ^ % ^ ~ _ . , : ; ‘ "

разделители – интервал, табулация и нов ред


  1. Кои са петте основни типове данни в C/C++?

void, char, int, float , double


  1. Какъв е размера на int в битове?

16 или 32


  1. Какъв е размера на char в байтове?

1

5. Какво прави floor() ?

- намира най-голямото цяло число

6.Как ще напишете bx използвайки матем. функция pow ?

pow(b,x)
7.С кои цифри се представят true и false ?

1 и 0

8. С коя дума се декларира логическият тип?

Bool

  1. Какъв е отговорът на логическото умножение false&&true?


false

  1. Какъв е отговорът на логическото събиране true||false?

true
11. Какъв отговор ще изкара на изхода израза cout<<(char)98; ?

ще изведе символа b

12.За какво се използват двойните кавички?

за извеждане на символен низ



13.Как ще инициализирате дробната променлива b със стойност 13.23?

float b=13.23;




Сподели с приятели:


©zdrasti.info 2017
отнасят до администрацията

    Начална страница