Енгізу/шығару функциялары. енгізу/шығару стандартты кітапханасы



Кіріспе
I. Енгізу/шығару құралдары.
1.1. Стандартты кітапханаға сілтеме.
1.2. GETCHAR және PUTCHAR функциялары . стандартты енгізу мен шығару.
1.3. Форматты шығару . PRINTF функциясы.
1.4. Форматты енгізілу . SCANF функциясы.
1.5. Жадыдағы форматты түрлену.
1.6. Қателерді өңдеу.
1.7. Символдың түрлері мен түрленуін тексеру..
II. Қорытынды

Пайдаланған әдебиеттер
Қазіргі уақытта ғылыми техниканың даму жетістіктеріне сай, алдыңғы қатарлы ЭЕМ өміріміздің әр түрлі саласында кеңінен қолданылуда.
ЭЕМ-сымен арақатынас қалыптастыруда керекті алгоритмдік тілдер: Фортран, Паскаль, Бейсик, Си және т.б. компьютерде есептерді белгілеп, нәтижесін шығаруға бейімделген.
Осы курстық жұмыстың басты мақсаты: Си тілінде программаларды орындау барысында енгізу/шығару құралдары арқылы жеңіл және тиімді программа құруды үйренуге, күрделі есептер орындауда тәжірибе жинақтауға негізделген.
Енгізу/шығару құралдары С тілінің негізгі құрамы болып табылмайды. Бұл тарауда «енгізу/шығару стандартты кітапханасы» туралы баяндалады, яғни «С» программасының стандартты енгізу/шығару жүйесін қамтамасыз етуге арналған. Бұл функциялар программалық интерфейстің қолайлығына арналған, бірақ тек қазіргі заманға операциялық жүйелерді қамтамасыз ететін операцияларды бейнелейді.
Бұл жерде енгізу/шығару кітапханасын толық сипаттауға тырысамыз, өзінің операциялық ортасымен байланысатын С программасының негізін көрсетеміз.
Стандартты кітапхананың функциясына қатысты әрбір бастапқы файлдың басында мынадай жол болуы керек:
#INCLUDE - файлында енгізу/шығару кітапханасында қолданылатын кейбір макростар мен айнымалылар анықталады. Қарапайым тырнақшаның орнына бұрыштық жақшаның қолданылуы – бұл компиляторға стандартты информацияның тақырыбынан тұратын, анықтамалардан осы файлды ізде деген нұсқау (UNIX жүйесінде әдетте LUSRLINELUDE).
Сонымен қоса, программаны жүктеу барысында нақты кітапхананы көрсету керек болады, PDP-11 UNIX жүйесіне мысалы, программа компиляциясының командасы мынадай түрде болушы еді: СС бастапқы файлдар және т.б. мен –LS, бұл жерде –LS стандартты кітапхананың жүктелуін көрсетеді.
1.Уэит, Мартин Д. «Язык Си» М: 1988 ж.
2. Мұртазина Ә.Ө., Сәтпаева А.К. «Си тілінде программалаудың негіздері» Алматы: ҚазҰТУ, 2002 ж
3. Культин Н. «С/С++» М: 1991 ж
4. Подбельский В.В., Фомин С.С. Программирование на языке Си:
Учеб. пособие. – 2- е доп. изд. – М.: Финансы и статистика, 2002
5. Подбельский В.В. Язык С ++: Учеб. пособие. – 3- е изд. Дораб . - М.: Финансы и статистика, 1998
6. Культин Н.Б. С/ С++ в задачах и примерах. – СПб.: БХВ – Петербург, 2004
7. Мартынов Н.Н. Программирование для Windows на С/ С++. Том.1.- М.: ООО “ Бином – Пресс”, 2004
8. Шиманович Е.А. С/ С++ в примерах и задачах. – Мн. : Новое знание, 2004
9. Ахо А.В., Хопкрофт Д.Э., Ульман Д.Д. - Структуры данных и алгоритмы, Издательство “Вильямс”, Москва, 2000
10. Седжвик Р. Фундаментальные алгоритмы на С++. Части 1-4, Издательство “ДиаСофт”, Москва, 2001

ҚАЗАҚСТАН РЕСПУБЛИКАСЫНЫҢ БІЛІМ ЖӘНЕ ҒЫЛЫМ МИНИСТРЛІГІ

ҚАЗАҚ МЕМЛЕКЕТТІК ҚЫЗДАР ПЕДАГОГИКА ИНСТИТУТЫ

Информатика және қолданбалы математика кафедрасы

Тақырыбы: Енгізушығару функциялары. Енгізушығару стандартты кітапханасы

Орындаған: 050602 2-
курс студенті Отарбаева А.
Тексерген: аға оқытушы Мүсіралиев Ж.А.

Алматы 2007ж

Мазмұны
Кіріспе
I. Енгізушығару құралдары.
1.1. Стандартты кітапханаға сілтеме.
1.2. GETCHAR және PUTCHAR функциялары - стандартты енгізу мен шығару.
1.3. Форматты шығару – PRINTF функциясы.
1.4. Форматты енгізілу – SCANF функциясы.
1.5. Жадыдағы форматты түрлену.
1.6. Қателерді өңдеу.
1.7. Символдың түрлері мен түрленуін тексеру..
II. Қорытынды

Пайдаланған әдебиеттер

Кіріспе
Қазіргі уақытта ғылыми техниканың даму жетістіктеріне сай, алдыңғы
қатарлы ЭЕМ өміріміздің әр түрлі саласында кеңінен қолданылуда.
ЭЕМ-сымен арақатынас қалыптастыруда керекті алгоритмдік тілдер:
Фортран, Паскаль, Бейсик, Си және т.б. компьютерде есептерді белгілеп,
нәтижесін шығаруға бейімделген.
Осы курстық жұмыстың басты мақсаты: Си тілінде программаларды орындау
барысында енгізушығару құралдары арқылы жеңіл және тиімді программа құруды
үйренуге, күрделі есептер орындауда тәжірибе жинақтауға негізделген.
Енгізушығару құралдары С тілінің негізгі құрамы болып табылмайды. Бұл
тарауда енгізушығару стандартты кітапханасы туралы баяндалады, яғни С
программасының стандартты енгізушығару жүйесін қамтамасыз етуге арналған.
Бұл функциялар программалық интерфейстің қолайлығына арналған, бірақ тек
қазіргі заманға операциялық жүйелерді қамтамасыз ететін операцияларды
бейнелейді.
Бұл жерде енгізушығару кітапханасын толық сипаттауға тырысамыз,
өзінің операциялық ортасымен байланысатын С программасының негізін
көрсетеміз.

Стандартты кітапханаға сілтеме.
Стандартты кітапхананың функциясына қатысты әрбір бастапқы файлдың
басында мынадай жол болуы керек:
#INCLUDE STDIO.H - STDIO.H файлында енгізушығару кітапханасында
қолданылатын кейбір макростар мен айнымалылар анықталады. Қарапайым
тырнақшаның орнына бұрыштық жақшаның қолданылуы – бұл компиляторға
стандартты информацияның тақырыбынан тұратын, анықтамалардан осы файлды
ізде деген нұсқау (UNIX жүйесінде әдетте LUSRLINELUDE).
Сонымен қоса, программаны жүктеу барысында нақты кітапхананы көрсету
керек болады, PDP-11 UNIX жүйесіне мысалы, программа компиляциясының
командасы мынадай түрде болушы еді: СС бастапқы файлдар және т.б. мен –LS,
бұл жерде –LS стандартты кітапхананың жүктелуін көрсетеді.

GETCHAR және PUTCHAR функциялары - стандартты енгізу мен шығару.
Енгізудің ең қарапайым механизмі бұл әдетте қолданушы терминалынан
GETCHAR функциясының көмегімен бір рет стандартты енгізуден бір символдың
оқылуымен қорытындыланады.
Putchar() функциясы бір символды келесі жолға өтпей шығаруды
қамтамасыз етеді. С тілі қолданылатын көптеген жерлерде терминал :
белгісі арқылы кейбір файлдармен ауыстырылуы мүмкін; егер PROG программасы
GETCHAR функциясын қолданса, онда жолдық командамен ауыстырылуы мүмкін.
PROGINFILE командасында PROG программасы терминалдан емес, INFILE
файлынан оқиды дегенді білдіреді. Енгізулердің ауыстырылуы PROG
программасының өзі өзгерістерді байқамайтындай етіліп жүреді, көп жағдайда
”INFILE” жолы ARGV аргументтерінің командалық жолына қосылмайды. Егер
шығару басқа программадан ағымдық (PIPE) механизмінің көмегімен түссе, онда
енгізуді қайта жіберу білінбей кетеді; командалық жол OTHERPROG \! PROG екі
программаны қуады: OTHERPROG пен PROG.
GETCHAR функциясы файлдың соңына түсіп, қандай енгізуді есептесе де
EOF мәнін қайтарады. Стандартты кітапхана EOF мәніне символдық константаны
1-ге тең деп береді, тексерулерді EOF терминдерінде жазған дұрыс.
Шығаруды 'с' символын стандартты енгізуге кірістіретін, термин
ретінде саналатын PUTCHAR© функциясының көмегімен жүзеге асыруға болады.
Шығаруды белгілі бір файлға : белгісінің көмегімен сілтеуге болады, егер
PROG программасы PUTCHAR функциясын қолданса, онда PROGOUTFILE командалық
жолы терминалға емес, OUTFILE файлының стандартты шығаруының жазбасына
әкеліп соғады. UNIX жүйесінде сонымен қатар ағымдық механизмді де қолдануға
болады. PROG \! ANOTHERPROG жолы PROG стандартты шығаруын ANOTHERPROG
стандартты енгізуіне орналастырады. Бұл жағдайда да PROG өзгертулерді
байқамайды.
PRINTF функциясымен жүзеге асатын шығару, ол да стандартты шығаруға
түседі, PUTCHAR мен PRINTF функцияларына жолдау ұзарады.
Таңғаларлықтай программалардың саны тек қана бір енгізу арнасынан тек
бір ғана шығару арнасына жазылады; мұндай программаларға GETCHAR, PUTCHAR
және PRINTF функцияларының көмегімен енгізу және шығару өте қолайлы,
бастапқы жағдайда жеткілікті болуы да мүмкін. Бұл енгізуге және шығаруға
арналған файлдарды көрсетуге мүмкіндік болғанда дұрыс. Мысалы, LOWER
программасын қарастырайық, ол бас әріптерді кіші әріптерге айналдырады:
#INCLUDE STDIO.H
MAIN() * CONVERT INPUT TO LOWER CASE *
{ INT C;
WHILE ((C = GETCHAR()) != EOF) PUTCHAR(ISUPPER© ? TOLOWER© : C);
}
ISUPPER және TOLOWER функциялары шынымен де STDIO.H-та анықталған
макростар болып табылады. ISUPPER макросы аргумент жоғарғы регистрлі әріп
екенін тексереді және нольдік емес мәнге қайтарады, егер де ол солай болса
нольдерді де қайтарады. TOLOWER макросы жоғарғы регистрлі әріпті сол
әріптің төменгі регистріне айналдырады. Бұл функциялар белгілі бір машинада
іске асырылатынына қарамастан, қызметтері бірдей.
Егер бірнеше файлдарды түрлендіру керек болса, онда бұл файлдарды UNIX
жүйесінің САТ утилитіне ұқсас программамен жинауға болады,
CAT FILE1 FILE2 ... \! LOWEROUTPUT және сонымен қатар программадан
бұл файлдарға қалай қатынасуға болады деген сұрақ тудырмайды.
Сонымен қатар, енгізушығару стандартты кітапханасында GETCHAR және
PUTCHAR функциялары шынымен де макростар болулары мүмкін еді. Бұл
функцияларға қатысты әр символды тексеруінің қатарласып шығындануынан
сақтайды.
Форматты шығару – PRINTF функциясы.
PRINTF шығару және SCANF енгізу функциялары сандық үлкендіктерді
символдық көрсетілімдерге және керісінше түрлендіреді. Сонымен қатар олар
форматты жолдарды генерациялайды және интерпретирациялайды. PRINTF(CONTROL,
ARG1, ARG2, ...) функциясы түрлендіреді, пішімін анықтайды және өзінің
аргументтерін CONTROL жолының басқаруымен стандартты шығаруға басады.
Басқарушы жол объектінің екі типінен тұрады: қарапайым символдар, ол жай
ғана шығу арнасына көшіріледі және түрлену спецификациясы, олардың
әрқайсысы түрлендіруді және келесі PRINTF аргументінің баспаға шығуын
шақырады.
Әрбір түрлендіру спецификациясы % символынан басталып, түрлендіру
символымен аяқталады. % символы мен түрлендіру символдарының арасында: алу
амалы орналасуы мүмкін, ол аргументтің сол жағы бойынша пішімделуін
көрсетеді.
Өрістің минимальді енін көрсететін – сандар жолы. Түрленген сан
баспада болмаған жағдайда, сол өрістің ені бойынша шығады, егер керек болса
одан үлкен ені де жарайды. Егер түрленген аргумент өрістің енінен аз
символға ие болса, онда ол осы еніне дейін толтырушы символдармен сол
жағынан толтырылады. Толтырушы символ болып, әдетте бос орын саналады,
егер өрістің ені нольмен басқарылса, онда ол символ – ноль болады.
Сандар жолынан кейінгі өрістің енін анықтаушы, нүкте болып саналады.
Баспаға шығатын символдардың максимальды санын көрсететін сандар жолы
немесе оң жағынан басылатын сандардың FLOAT немесе DOUBLE типтері үшін
айнымалылары:
Берілгендердің элементіне сәйкес L ұзындықты модификатор LONG типіне
ие, ал INT типіне сәйкес келмейді.
Төменде түрлену символдары мен олардың мағыналары берілген:
D – аргумент ондық түрге айналады.
О – аргумент белгісіз сегіздік формаға түрленеді.
Х – аргумент белгісіз он алтылық формаға түрленеді.
U – аргумент белгісіз ондық формаға түрленеді.
С – аргумент жеке символ ретінде қарастырылады.
S – аргумент жол болып табылады, жолдың символдары нольдік символға
жеткенше басыла береді, әйтпесе дәлділік спецификациясында көрсетілген
символдар саны басылмайды.
Е – FLOAT немесе DOUBLE типінің айнымалысы ретінде қарастырылатын
аргумент, жолдың ұзындығы N дәлділікпен анықталатындай, ондық формаға [-
]M.NNNNNNE[+-]XX түрінде айналады. Үнсіз келісім бойынша, дәлділік 6-ға
тең.
F - FLOAT немесе DOUBLE типтерінің айнымалысы ретінде қарастырылатын
аргумент, жолдың ұзындығы N дәлділікпен анықталатындай, ондық формаға [-
]M.NNNNNNE[+-]XX түрінде айналады. Үнсіз келісім бойынша, дәлділік 6-ға
тең, , бұл дәлділік F форматында берілетін сандардың санын
көрсетпейтіндігін айта кеткен жөн.
G – Қысқалағана байланысты %E немесе %F форматтырының бірі қолданылады,
есептелмейтін нольдер жазылмайды.
Егер % кейінгі символ түрлену символы болмаса, онда сол символдың өзі
басылады; бұдан шығатыны % символын %% деп көрсетіп, баспаға шығаруға
болады.
Келесі кесте “HELLO, WORLD” (12 символ) баспасына әр түрлі
спецификациялардың әсерін көрсетеді. Біз әр өрістің жан-жағына қос нүктелер
қойдық, өйткені олардың аралығын көрсету керекпіз:
:%10S: :HELLO, WORLD:
:%10-S: :HELLO, WORLD:
:%20S: : HELLO, WORLD:
:%-20S: :HELLO, WORLD :
:%20.10S: : HELLO, WOR:
:%-20.10S: :HELLO, WOR :
:%.10S: :HELLO, WOR:
Ескерту: PRINTF өзінің бірінші аргументін келесі аргументтердің саны
мен типін анықтау үшін қолданады. Егер де аргументтердің саны жеткіліксіз
болса, онда сіз қате нәтиже аласыз.
Форматты енгізілу – SCANF функциясы.
SCANF енгізу функциясы PRINTF функциясының баламасы болып табылады, және
оның кері процесстерін жүзеге асырады.
SCANF(CONTROL, ARG1, ARG2, ...) стандартты енгізудің символдарын оқиды,
CONTROL аргументінде көрсетілген пішімдерге сәйкес интерпретирациялайды
және нәтижелерді басқа аргументтерге орналастырады. Басқарушы аргумент
төменірек көрсетілген; нұсқауыш болатын басқа аргументтер түрленген
енгізуді қайда орналастыру керек екендігін анықтайды.
Енгізілген тізбектерді интерпретациялайтын, басқарушы жол, әдетте
түрлендіру спецификацияларына ие. Басқарушы жолдың құрамында: еленбейтін
бос орындар, табуляциялар немесе жаңа жолдың символдары болуы мүмкін.
Түрлену символы енгізу өрісінің интерпретациясын анықтайды; с тілінің
семантикасының мәнін шақырудағы басты талаптарға сәйкес, аргумент нұсқауыш
болуы тиіс. Келесі түрлендіру символдары жіберіледі:
... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Паскаль тіліндегі модульдер
С тілі. Енгізу-шығару құралы
Delphi программалау ортасының негізі
Экранға мәтін шығару процедуралары
Жолды шығару функциялары
С++ тілі және оның мүмкіншіліктері
ФАЙЛДЫ АШУ РЕЖИМДЕРІ
Микроконтроллер – бұл әртүрлі электрондық құралдарды басқаруға арналған арнайы микросхема
Opengl архитектурасы. Компьютерлік графика
Форманың кейбір қасиеттері
Пәндер