Си тілінде құрылған программаның құрылымы
Презентация қосу
Си тілінде құрылған программаның
құрылымы
• Си тілі (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 Егер файл бар болса, ол тазартылады < fstream
st ream .h>
o ios::nocreate Файл болмаса, онда объект құрылмайды
ios::noreplace Файл бар болса, онда объект құрылмайды
ios::binary Файл екілік режимде ашылады (қалыпты жағдайда
тексттік режим)
• 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 - файл соңынан жылжытылатынын білдіреді.
• Файлдың лектік күйін анықтау функциялары:
Функция Түсініктеме
eof() Файл соңын кездестірсе, 0-дік емес мән қайтарады
fail() Лекте қате кездессе 0- ден өзге мән қайтарады
bad() Енгізу-шығару барысында мағыналы қате кетсе, нөлден өзге
мән қайтарады, онда лекпен жұмыс тоқтатылғаны дұрыс. Лек
күйінің биттік мәндері анықталмаса, 0-ге тең емес мән береді.
rdstate() Мына тұрақтылардың бірін, яғнм лектің ағымды күйін
анықтайтын мәнді қайтарады:
Ios::goodbit - қате жоқ
Ios::eofbit – файл соңына жетті
Ios::failbit – форматтау немесе түрлендіру қатесі
Ios::badbit - маңызды қате
clear() 0-ге тең болса тазарту
Ұқсас жұмыстар
Пәндер
- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.
Ақпарат
Қосымша
Email: info@stud.kz