c
| Информационни технологии | 2009-12-04 | 45 сваляния |
C
Азбука на езика
- букви , case-sensitive , ACII (половината навсякъде, половината в текстови данни и коментари) ;
- цифри(0-9 за десетична и 0-F за шестнадесетична ) ;
- специални знаци ( sp, tab, vt, cr, lf - бели спейсове) ;
- ескейп последователности ( за управляващи кодове и там където биха се изтълкували погрешно дадени символи : n lf, r cr, b backspace, a bell, f formfeed , t и v tab , \' , \'' , \ , ? , ddd осмичен , xdd шестнад. )
Основни синтактични елементи ( лексеми )
- имена ( букви и цифри, започва с буква, до 31 символа , може и подчертаване, резервирани служебни )
- константи
.числови цели: 8, 10, 16-чна система ; вътрешното представяне е допълнителен код; суфикси L и U
.числени плаващи: фиксирана форма ( цяла.дробна ) или екпоненциално представяне
(основа на 10 "Е,e"степен, къса 4byte = 32bit ( знак , 8 E , 23 M ); дълга 8byte = 64bit ( знак , 11 E , 52 M );
суфикс F за означаване на кратка форма; нямаме знак по принцип; при експонент. може без точка )
.знакови константи: знак в единични кавички, чете се като символ или като число в зав. от контекста
.низови константи: null terminated string, като самата константа се чете като указател към началото
- коментари: на един ред или на много редове
Структура на програмата
Един или няколко файла с дефиниции, декларации, данни и директиви за компилатора, като синтактичните елементи не могат да се пренасят от един файл в друг.
Някъде трябва да има main( ) функция която е основната.
Дефиниция на функция - задава се глава и тяло, заделя се памет. Всички дефиниции са на едно ниво.
Декларация - само заглавие което да е шаблона за извикване.
Дефинициите на данни са 2: вън от функции (глобални); във функции ( локални - в стека, заделя се при всяко влизане във функцията ) като съответства интервал живот и област видимост. Всички функции имат глобална активност, като с декларация могат да станат видими и в други файлове.
Деклариране на данни
[<клас памет>] <типов спецификатор> [<декларатор> [<инициализатор>] ] , , , ;
клас памет : extern (езикова форма като декларация) , static ( ако са данни, получава се статично заделяне на памет; името е видимо само в текущия файл ) , register ( oпционална към компилатора, дали да се качи в регистрите ) , auto
типов спецификатор : служебни думи , сложна езикова конструкция, обявява се типа на данните и тяхната архитектура или типа на връщана от функция стойност, може да се влияят и от полето декларатор
декларатор : може да е прост(името е с 0 или 1 модификатора) или сложен декларатор
имаме три суфикса, като е разрешено натрупването на модификатори:
* - името е указател към данна или е ф-ция която връща стойност указател от тип - типовия спецификатор
Тагове от реферата: екстови, sensitive, коментри, естдесет, всякъде, Десет, половина











