Основни елементи на езика C
Езикът С е структурен език , много мощен и гъвкав. Първата разработка е на Денис Ричи съвместно с Кен Томпсън през 1972. Като всеки език и той се характеризира със свои азбука, синтаксис и семантика.
І . Основни елементи на езика
1.Основни знакове
Основните знакове, иползвани в езика С, са букви, цифри и специални символи.
Букви: латинските от A ¸ Z ,от a ¸ z и знак за подчертаване ( _ )
Цифри: 0 ¸ 9
Специални символи :_ ~ @ # $ % ^ & * ( ) - + / { } :
; “ < > , ? ‘ \ . =
2. Идентификатор:
Идентификаторите се използват за именоване на константи, променливи, функции и други елементи на програмата.
Всеки Идентификатор е последователност от букви и цифри, която винаги започва с буква. Долна черта ( _ ) се приема за буква. Отговаря на следните условия:
- не се допускат интервали;
- различават се от ключовите думи;
- прави се разлика между малки и големи букви;
- 2 -
Примери:
- Х1 коректно написан идентификатор
- _1 коректно написан идентификатор
- 1А некоректно написан идентификатор, защото започва с цифра
- К 12 некоректно написан идентификатор, защото съдържа интервал след К
3. Ключови думи – auto, break, case, char, class, const, do double…(25 – 50 думи);
4. Величини
Биват константи и променливи. Имат име (идентификатор), тип и стойност. Типът на променливите се дефинира явно, докато на константите се определя неявно, в зависимост от техния запис, който определя и единствената им стойност. Променливите могат да изменят стойноста си по време на изпълнение на програмата, докато константита не могат.
име тип стойност
Числовите константи са цели и приближени (дробни – десетични). Целите числа се записват по обичайния за математиката начин.
Примери:
63 коректен запис
115.0 този запис не е на цяло число, а на приближено (реално)
Приблежените числа се записват с десетична точка за разлика от българското математическо означение с десетична запетая.
Примери:
1.1132 коректен запис
- 3 -
145. коректен запис – когато липсва дробната част за нея се подразбира 0, т.е. записът е еквивалентен на 145.0
.45 коректен запис – когато липсва цяла част за нея се подразбира 0, т.е. записът е еквивалентен на 0.45
За приблежените чидла може дфа се използва и експоненциален
запис, в който за означаване на „десет на степен” се иползва буквата (Е), а степента е цяло число.
Примети:
1.1е-2 коректен запис на числото 0.011(1,1*102)
-4Е+4 коректен запис на числото -40000(-4*104)
-2.3е+ 6 некоректен запис, защото пред числото 6 е записан интервал
2.3е-2.6 некоректен запис, защото степента не е чяло число.
В С++ има възможност да се записват директно осмични и шестнадесетични числа.
Осмични без знак (означават се с 0 пред осмичното число)
Шестнадесетична без знак (означават се с 0Х пред числото)
5. Изрази
Изразите са конструкции, построени по спесифични правила, за изчисляване на стойности. В тях участват променливи, константи и означения за функции, обеденени с помоща на знакове за операции и кръгли скоби („( и )”). В частност един израз може да се състои само от единична константа или променлива. Операциите се разделят на няколко групи според своя приоритет подобно на аритмитичните операции, познати по часовете по математика.
6. Коментари: при компилиране коментара се замества с интервал и се разглежда като разделител. Не заема памет.
/ *……………………….*/
- 4 -
ІІ. Типове данни
При писането на приложни програми на програмиста се налага да използува голямо количество променливи, на които по негова преценка той трябва да даде точно определен тип и така да определи множеството от техните допустими стойности. Наред със стандартните за С типове данни програмистът има право да изпозва и собствени типове данни, стига предварително да ги определи.
След като се дикларира, че една променлива е от даден тип, за нея автоматично ( по правилата на езика ) се оределя:
множество допустими стойности;
необходима оперативна памет;
множество допустими операции и вградени функции.
Всяка променлива трябва да се определи по тип. Основни типове в С са:
char - символни
int – цели числени
float – дробни десетични
double – дробни десетични с двойна точност
< тип на променлива> < име на променлива> ;
Пример:
int i, j ;
float p, l, k ;
За по-точно описание типа int може да се модифицира
short - с по-малък размер
long – с по-голям размер
unsidned – неотрицателни стойности
Модификатора се поставя пред ключовата дума int или се изпуска:
short int i ; ~ short i ;
- 5 -
Модификатора long може да се постави и пред float, но float не се изпуска
long float p ; ~ double p ;
ІІІ. Обща структура на програмата
В най-простия случай програмата на езика C се записва в един файл, който съдържа използваните обекти и функции. Техният брой не е ограничен. Към текста на файла чрез директиви #include, следване от името на заглавен файл ( обикновено записвани в началото му ) се присъединяват предварително подготвени описания от т. нар. системни библиотеки. Една и само една функция се дефинира като главна. Тя осъществява връзка с ОС на компютъра и с другите функции и има име main. Тя се активира при стартиране на програмата. Ако се ползват стандартни функции, те се описват в заглавните файлове.
описание на заглавни файлове
дефиниции на външни променливи
главна ( main) функция
функция 1
функция 2
………………….
Функцията е набор от последователно записани оператори, които осъществяват действия, представящи логическа цялост.
Синтаксис :
тип на резултат име на функцията (списък с параметри)
описание на параметрите ;
{
дефиниции на вътрешни променливи
поредица от конструкции
}
- 6 -
Формални параметри може да няма, но скобите се пишат
име функция ( )
Пример:
int main ( )
{int i;
i = 1;
printf ( “ i = %d ”, i );}
Файлове се включват с директива на процесора
# include < име на файла >;
Стандартни файлове:
< stdio. h > входно / изходни функции
< math.h > стандартни математически функции
< string.h > работа с низ
< ctype.h > макроси за работа със символи
Макроопределения се задават с директиви на процесора
# define < име > низ
# define const 25.2345
# define NULL ‘ \ 0 ‘
ІV. Аритметични и логически операции
1. Аритметични операции :
- + събиране
- - изваждане
- * умножение
- / деление
- % модул
- = присвояване
- ++ увеличава с 1
- - - намалява с 1 х ++ х = х +1
- + = увеличава с число
- х + = 2 х = х + 2
- - = намалява с число
- * = умножава с число
- / = дели с число
- % = модул с число
- 7 -
2. Операции за отношение :
- < по-малко
- > по-голямо
- < = по-малко или равно
- > = по-голямо или равно
- = = равно
- ! = не равно
3. Логически операции :
- ! Логическо “не” NOT
- || Логическо “или” OR
- && Логическо “и” AND
4. Други :
- * извличане на стойност чрез указател
- ® избор на елемент чрез указател
- { } съставен оператор
- ? : условен израз
- изр1 ? изр2 : изр3 ; а > 10 ? а = а*5 : а = а /5 ;
V. Елементарен вход – изход
1. Функция printf
Една от най-често срещаните стандартна библиотечна функция се нарича printf () . Това е функция с общо предназначение, тя е доста многостранна, позволяваща много вариации. Нейната форма е показана тук:
printf (“низ за отпечатване или форматиращи_параметри”, аргументи);
форматиращи_параметри – определят броя на показваните аргументи и вида на представянето им. Заграждат се с двойни кавички.Форматиращият параметър започва с %
- 8 -
аргументи – променливи или изрази, които ще извеждаме
printf (“С не е толкова труден ”);
printf (“, нали ? \ u ”);
printf (“ % 5d % 3d ” , x, y);
Форматни спецификации
- % d цяло десетично без знак
- % c един символ
- % s низ
- % e число с плаваща запетая ( експоненциална форма)
- % f число с плаваща точка (десетичен запис)
- % g вместо % f или % с
- % u цяло десетично без знак
- % 0 цяло осмично без знак
- % x цяло шестнадесетично без знак
- \ u нов ред
- \ t табулация
- \ f нови страници
- \ r начало на ред
- \ “ двойна кавичка
- \ ‘ апостроф
- \\ \
2. Функция scanf
Тази стандартна библиотечна функция осигурява форматиран вход от стандартно входно устройствово – клавиатура
scanf (“форматиращи_параметри”, аргументи);
- 9 -
форматиращи_параметри – поставят се в двойни кавички и определят броя и вида на въвежданите аргументи. Всеки форматиращ параметър започва с %
аргументи – това са адресите на променливите, които приемат стойности. Необходимо е съответствия между параметри и аргументи по брой, тип и място в списъка
scanf (“ %2d %f ”, &i ,&x);
3. Функция getchar
Тази стандартна библиотечна функция въвежда един символ, по-точно неговия ASCII код, от клавиатурата. Не изисква аргументи , но скоби трябва да има.
getchar ( );
Функцията връща кода на символа
име_на_променлива = getchar ( );
М= getchar ( );
При въведен символ Y , М = 89 кода на Y
Сходни статии:
- Свързан стек. Основни операции typedef int INFO_TYPE; struct stack_el{ INFO_TYPE info; stack_el *link; }; //Функция за добавяне на елемент void push(stack_el **t, INFO_TYPE x) //Указателят към върха на стека трябва да се промени, затова...
- Основни текстови елементи в документите в Microsoft Office Word Основни текстови елементи в документите в Microsoft Office Word са всички свързани помежду си символи или последователности от символи. Връзката е определена от управляващи символи и точно поради това програмата...
- Свързана опашка. Основни операции в C++ Указателят F сочи особен елемент със същата структура като останалите елементи в опашката, като в полето му link се съдържа указател към първия елемент на опашката. Празна опашка – F...
- Основни символи, коментари, константи и променливи в С++ автори: Кирил Любчев Георгиев Георги Димитров Митковски Редица от инструкции, водеща до решаване на определена задача, се нарича програма, а процесът на писане на програми – програмиране. Инструкциите, с помощта...
- Функционално програмиране Функционални езици Основи математически функции и ג-смятането метод за дефиниране на функции без име – lambda функции (Alonzo Church, 1941) Особености не използват променливи и оператори за присвояване ⇒ итеративните...