C език
1 Основни компоненти на C 4 оператори
2 Типове данни, описание на променливите 4
2.1 Основни типове данни на езика C 5
2.3 Масиви, символни низове 8
3 Присвояване на стойности 10
4 Оценка на изрази 11
5 I/O функции 12
5.1 Характеристики на входната функция scanf() 14
5.2 Работа с файлове 14
5.3 Масиви и I/O 16
Тези учебно-методически указания съдържат теоретичния материал, необходим за изпълнението на лабораторна работа № 5 „Език С. Задаване на стойности за променливи и масиви. Форматирайте I/O. Работа с файл” по специалност „Информатика” за бакалаври от направление 140800 „Ядрена физика и технологии”. По-специално се разглеждат основните компоненти на операторите на езика C, основните типове данни, операторите за деклариране на променливи, присвояването и оценката на изрази, форматираните входно-изходни функции на езика C.
Основни компоненти на C оператори
Операторите на езика C се състоят от следните основни компоненти:
константае фиксирана стойност, като число или знак (низ от знаци). Тази стойност не може да бъде променяна от програмните оператори;
променливае символно име, което представлява стойност, намираща се в паметта на компютъра. Тази стойност може да се променя от програмните оператори в процеса на броене и извършване на операции за въвеждане;
извикване на функция– име на функция със списък от аргументи. Функцията е програмна единица, която изпълнява набор от специфични действия, използвайки аргументите, посочени в извикването на функцията. (например, за да изчислите синуса на ъгъл от 0,5 rad, използвайте функцията sin(0,5). Стойността на изчисленоторезултатът се използва на мястото на извикването на функцията;
изразе комбинация от константи, променливи, извиквания на функции и операции („операция“ е уникален символ за операция като умножение, събиране и др.), която дава един резултат. В противен случай това е формула за изчисляване на стойности.
Типове данни, описание на променливите
Променливите, наименуваните константи, масивите и функциите имат имена. Символните имена идентифицират обекти, които се появяват в програмна единица.
Символично имее низ от знаци (малки и главни букви, цифри и долна черта), които идентифицират обект в програма. Първият знак не може да бъде цифра.
Предупреждение!Ако се използват повече от 8 знака, първите 8 знака може да останат по време на превода (в зависимост от използвания компилатор).Малките и главнитебуквиса различни. Така чеper1иPer1са две различни имена.
Данните (константи, променливи, масиви, изрази и резултати, върнати от функции) според метода на съхранение в компютърната памет се разделят на цели и реални. Аналог на реалните данни в математиката са рационалните числа. Целочислените данни се съхраняват в компютърната паметточно, докато реалните данни не са.
Всеки основен компонент на оператор на C програма (константа, променлива, масив, резултат от извикване на функция, резултат от израз) има един специфичен тип данни.
Информацията за всеки тип уникално определя:
1) структура за съхранение на данни от посочения тип, т.е. разпределение на паметта и представяне на данните в нея, от една страна, и интерпретация на двоичното представяне, от друга;
2) набор от допустими стойности, коитоможе да има един или друг обект от описания тип;
3) набор от валидни операции, които са приложими към обект от описания тип.
Всички типове в езика C могат да бъдат разделени на две групи: прости (основни, основни)) и производни (сложни).
Знаци на стойности или знаци (символ);
Изброени типове (изброяване);
Булеви или булеви стойности (bool);
С плаваща запетая (плаваща запетая);
Празен тип (void).
Типовете със знак, целите числа, изброените и типовете с плаваща запетая също се наричат аритметични, защото могат да се интерпретират като число.
Производните типове се изграждат от прости типове.
Производните типове включват:
Описание (декларация)на обект – уточняване на свойствата на обект без заделяне на област от паметта за него.
Дефиниция (дефиниция)– уточняване на свойствата на обект и заделяне на област от паметта за него.
Нека да разгледаме някои прости типове данни на C.
Основни типове данни на C
long– цели числа с двойна точност;
char– знаци (букви, цифри и някои други знаци);
loat - реални (реални) числа;
double– реални числа с двойна точност.
intе цяло число, вътрешно заема 2 или 4 байта (в зависимост от битовостта на използвания компилатор - например bc компилаторът версия 3.1 от Borland International предоставя 2 байта за int данни), а най-значимият бит се присвоява на знака (+ или -).
Така данните от този тип ще съхраняват цели числа в диапазона от (-2 15 ) до (+2 15 -1) (от -32 768 до +32 767) за 2 байта или от (-2 31 ) до (+2 31 -1) (от -2 147 483648 до +2 147 483 647) съответно за 4 байта. Съхранява се в паметта ТОЧНО.
Пример за поставяне на цяло число - числото 11 - в двубайтова променлива от типint:
long– цяло число с 2 пъти повече значими цифри отколкото заint; вътрешно заема 4 или 8 байта (в зависимост от използвания компилатор), като най-значимият бит се разпределя под знака (+ или -), т.е. обхватът на стойностите е -2 31 до +2 31 -1 или -2 63 до +2 +6 3 -1 съответно. Съхранява се в паметта ТОЧНО.
float- "реални числа" (или в математиката - "реални" числа) са десетични дроби и по-специално цели числа, записани като десетични дроби;точкасе използва вместо запетая, разделяща цялата част от дробната част. Ако цялата част от константата е равна на нула, тогава тя може да бъде пропусната, както и нулевата дробна част (например0.18==.18;35.0==35.). Аналог на „стандартната“ нотация на число е нормализирана нотация на константа с помощта на букватаe(например2.5.109==2.5e9 == .25e10: тук 0.25 е дробната част, 10 е показателят). Размер -4 байта (1 байт за представяне на реда и 3 байта - за мантисата, най-значимият бит, както за мантисата, така и за реда, е запазен за знака), значими (правилни) цифри в дробната част - 6-7; обхватът на съхранените стойности по модул – от 3.4.10 -39 до 3.4.10 +3 8 .Десетичната точка или букватаевинаги трябва да присъства.Този тип съответства наrealв Pascal или FORTRAN. Съхранява се в паметта НЕ ТОЧНО.
double– реално число с двойно повече значещи цифри (
16) отколкото заfloat; размерът е 8 байта. Съответно диапазонът от стойности (по модул) е от 1,7.10-308 до 1,7.10 +30 8 .
char- знак (размер на паметта - 1 байт). Този тип дефинира цели числа без знак в диапазона от 0 до 255, което обикновено съответства на кодове на знаци (букви, цифри, псевдографика, неизвеждаеми знаци като "звук" или "нов ред"). Знаковите константи са затворени вапострофи:'S', '1', 'a' са правилно написани символни константи. Стойностите на променлива или константа от типcharмогат да бъдатсамо единичнизнаци. Някои знаци не могат да се показват (напр. "нов ред", "табулация" и т.н.). В този случай се използва или ASCII код, или специална последователност от знаци. Например "tab" може да бъде означен като "\09" или "\t". Например: nam = '\n' Някои полезни екраниращи последователности: