Сайтқа презентация қосу

Си тілінде құрылған программаның құрылымы

Си тілінде құрылған программаның құрылымы
Си тілі (1972 жылы Деннис Ритчи ұсынған) әдетте тек Ассемблер тілінде бағдарламалағанда қол жеткізген компьютер ресурстарын тиімді қолдану мүмкіндіктері бар жоғары дәрежелі тілдің қасиеттерін біріктіреді. Си тілін үйрену қарапайым емес және бағдарламалауда мұқияттылық қажет, бірақ ол ас тиімді және күрделі бағдарламаларды құруға ерік береді.

Кез келген программа бір немесе бірнеше функциялардан турады. Олар программа құруға керекті негізгі модульдер болып табылады. Кез келген программаның жазылған алғашқы мәтіні бастапқы код деп аталады.Оны біріктірілген программалау ортасында теріп,сонан соң компилятор арқылы машиналық кодқа түрлендіріп орындаймыз. Си тілінде жазылған программа препроцессор директиваларынан, глобалды (ауқымды) айнымалыларды жариялаулардан, бір немесе бірнеше функциялардан тұрады. Осы функциялардың ішінде түгелдей программаның жұмысын басқаратын бір негізгі (main) функция болады. С тіліндегі программаның жалпы құрылымы мынадай: <препроцессор директивалары> <қолданушы типтерін анықтау – typedef> <функциялар прототиптері> <глобалды объектілерді анықтау> <функциялар>

Сонымен Си программасы бірнеше функциялардан құралады және олардың біреуі міндетті түрде MAIN() болуы қажет. Қарапайым программаның мысалын қарастырайық. Жалпы кез келген функция оның тақырыбы мен тұлғасынан тұрады.

Си тіліндегі бағдарлама:
#include Main () { Float a[100],s; Int I,n=100; For (i=0;i<=n;i++) Get (a[i]);  For (i=0;i<=n;i++) S=s+a[i];  Printf (“s=f/n”,s);  }     

Си программа лау жүйесінің файлдары

Файлдан оқу және файлға енгізу үшін ең алдымен файл fopen функциясының көмегімен ашылуы тиіс. Бұл функция операциялық жүйе арқылы орындалатын әрекеттерді ұйымдастыру жұмысын орындайды және файлмен мәлімет алмасуға арналған көрсеткішті қайтарады. Мұндай құрылым сипаттамасы кітапханасындағы FILE типінде беріледі. Қолдану үшін мынадай декларация берілсе жеткілікті: FILE * fp; FILE * fopen (char * name, char * m); Мұндағы: fp – FILE типіндегі көрсеткіш, ал fopen FILE – ге көрсеткішті қайтарады. Fopen функциясы мына түрде қолданылады: fp = fopen (name, m); Мұндағы: name – файлдың атын меншіктейтін жол; ал, m – файлды қолдану режимі; яғни бұл да жол, қолданушы файлды қалай қолданатынын білдіреді, төмендегідей мәндердің бірін иелене алады: " r " – (read) оқу режимі; " w "- ( write) жазу; " a "- ( apprnd) толықтыру;

Файл режимдері

Файл мынадай режимдерде ашылуы мүмкін: - текстік; - екілік; Текстік режимде ашу үшін режимді көрсеткенде қасына «t» символын тіркеу арқылы жүзеге асады; Режимдер кестесі:

Файлмен мәлімет алмасу мақсатында ifstream және ofstream кластарын қолданған тиімді. Ол үшін < fstream. h > тақырыптық файлы ашылуы тиіс. Мұнда, сәйкесінше, ifstream класының объектісі myof және ostream класының mygf лектері құрылып көрсетілген файлмен байланысады. Файлмен мәлімет алмасу мүмкіндігінің режимін өзгерту – файлдық объектінің сипатындағы екінші аргументін өзгерту арқылы жүзеге асады. Мысалы, Ofsetream myof ( “prim.in”,ios::app | ios::nocreate); - мұндағы файл бар болса ғана myof объектісі құрылып, байланыс орнатылады, себебі ios::nocreate аргументі берілген, яғни файл болмаса, объект құрылмайтынын білдіреді. Ал, ios::app аргументі файлға шығарылатын мәндер файлдың соңына қосылатынын анықтайды. Флаг-аргументтер биттік | - «немесе» амалының көмегімен біріктіріліп анықтала алады. Файлдық лекті анықтау барысында қолданылатын аргументтерді анықтайтын флагтар төмендегідей:
флаг ios::in ios::out ios::ate ios::app ios::trunc ios::nocreate ios::noreplace ios::binary Мағынасы Файл оқуға ашылады Файл жазуға ашылады Объект құрылған соң, ағымды көрсеткіш файлдың соңына орнатылады Мәндер файлдың соңына жазылады Егер файл бар болса, ол тазартылады Файл болмаса, онда объект құрылмайды Файл бар болса, онда объект құрылмайды Файл екілік режимде ашылады (қалыпты жағдайда тексттік режим)

am stre o

< fstream .h>

feоf (FILE * fp) – функциясы файлдың соңын анықтайды. Файлды жабу үшін: Int fclose(FILE *fp) функциясы қолданылады, яғни файлдық көрсеткішпен орнатылған байланысты үзеді.  Файлмен мәлімет алмасу үшін fstream класының объектісі де қолданылады: Fstream io(“update.dat”, ios::in|ios::app); - бұл жағдайда көрсетілген файл мәліметті оқуға және жазуға ашылады.  Seekg() файлдан оқу ал, seekp() файлға жазу барысында функциялары файлдың ағымды позициясының маркерін басқаруға қолданылады. Мысалы, io.seekg(5, ios::cur) – оқу барысында маркерді ағымды орынынан 5 байтқа жылжыту; io.seekg(-7, ios::end)- маркерді соңынан бастап 7 байтқа жылжыту керектігін білдіреді. Аргументтер: Io::cur – ағымды орынынан; Io::beg – файл басынан; Io::end - файл соңынан жылжытылатынын білдіреді. Файлдың лектік күйін анықтау функциялары:
Түсініктеме Файл соңын кездестірсе, 0-дік емес мән қайтарады Лекте қате кездессе 0- ден өзге мән қайтарады Енгізу-шығару барысында мағыналы қате кетсе, нөлден өзге мән қайтарады, онда лекпен жұмыс тоқтатылғаны дұрыс. Лек күйінің биттік мәндері анықталмаса, 0-ге тең емес мән береді. Мына тұрақтылардың бірін, яғнм лектің ағымды күйін анықтайтын мәнді қайтарады: Ios::goodbit - қате жоқ Ios::eofbit – файл соңына жетті Ios::failbit – форматтау немесе түрлендіру қатесі Ios::badbit - маңызды қате 0-ге тең болса тазарту

Функция eof() fail() bad() rdstate()

clear()


Пән: Информатика



Пәндер
Көмек / Помощь
Арайлым
Біз міндетті түрде жауап береміз!
Мы обязательно ответим!
Жіберу / Отправить


Зарабатывайте вместе с нами

Рахмет!
Хабарлама жіберілді. / Сообщение отправлено.

Сіз үшін аптасына 5 күн жұмыс істейміз.
Жұмыс уақыты 09:00 - 18:00

Мы работаем для Вас 5 дней в неделю.
Время работы 09:00 - 18:00

Email: info@stud.kz

Phone: 777 614 50 20
Жабу / Закрыть

Көмек / Помощь