Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Ші дәріс. Символдық жолдар және қолданылатын функциялар

Читайте также:
  1. Aуіпсіздік және еңбекті қорғaу бөлімі
  2. XIV-XVII ғасырлардағы Қазақстанның мәдениеті және әлеуметтік-экономикалық жағдайы
  3. А)Өндіріс алаңы және оның тегістеу жұмыстары
  4. Абынудың жасушалық және гуморалдық медиаторларының пайда болу және әсер ету жолдары
  5. Азаматгық қоғам және құқықтық мемлекет
  6. Алу жолдары
  7. Алу жолдары

Символдық жолдарды баяндау. Символдық жолдарды бірнеше әдістер арқылы анықтауға болады. Келесі әдістер негізгі әдістерге жатады:

- жолдық константаларды қолдану;

- символдық жолдардан тұратын массивтерді және char типті массивтерді қолдану.

Жолдық константалар тырнақшаларға алынады. Тырнақшаларға алынған символдар және жолдардың ең соңғы ‘/0’ символы жадының тізбектелген ұяшықтарында жазылады. Компилятор жолды жадыға орналастырғанда жадының қажетті өлшемін анықтау үшін символдардың санын есептейді. Жолдық константаларды #define директивасының көмегімен анықтауға болады. Егер қатарда тырнақша символын қолдану керек болса, онда бұл символдың алдына кері бөлшек сызығы жазылады. Мысалы:

printf (“\” Сведения о сессии”\n”);

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

char c[ ]=”Максималды баллды анықтау”; (сыртқы массив)

Әдеттегі массивтерді қолданған жағдайдағы сияқты бұл массивтің аты с, осы массивтің 1-ші элементіне сілтейтін көрсеткіш болып табылады.

c==&c[0]; *c==’0’, және *(c+1)==c[1]==’n’;

Жолдарды анықтау үшін көрсеткіштерді қолданамыз. Мысалы:

char *c1=”\n баллдарды енгізу”;

Осы баяндалуға келесі баяндалу эквивалентті:

static char c1[ ]=”\n баллдарды енгізу”;

Қарастырылған жолдың екі баяндауы с1 жолдың көрсеткіші екенін көрсетеді. Жадының қажетті өлшемін айқын көрсетуге де болады. Сыртқы баяндауда келесі жолды мына түрде жазуға болады:

char c[35]=” Максималды баллды анықтау ”; вместо

char c[ ]=” Максималды баллды анықтау ”;

Элементтердің саны жолдың ұзындығынан бір символға артық болуы керек (нөль-символын есептегенде). Басқа статикалық немесе сыртқы массивтердегідей кез келген қолданылған элементтер автоматты түрде нөлмен инициалданады (символдық түрде бұл нөль санының символыны емес, нөль-символы болып табылады).

Символдық жолдардан тұратын массивтер. Әрбір жолы символдық массив болып табылатын символдық жолдардан тұратын массивтерді қарастырайық. Статикалық массивтің баяндалуын келесі түрде келтірейік:

static char *m[4]={“регистр”,”ұяшық”,”көрсеткіш”,”элемент”};

*m[4] массиві символдық қатарларға сілтейтін 4 көрсеткіштен тұрады. Сонымен, символдық қатарлар массивтер болып табылатын болса, онда осы массивтерге сілтейтін 4 көрсеткіш қарастырылады. 1-ші жолға сілтейтін 1-ші көрсеткіш болып m[0]-ші табылады. 2-ші жолға сілтейтін 2-ші көрсеткіш m[1]. Сонымен, әрбір көрсеткіш сәйкес жолдың ең бірінші символына сілтейді.

*m[0]==’р’; *m[1]==’я’; *m[2]==’у’; *m[3]==’э’;

инициалдау массивтерге арналған ережелер бойынша орындалады. Тырнақшаларға жазылатын текстер жақшалы жазбаларға эквивалентті:

{{…},{…},…,{…}};

Жолдардан құрылған массивтерді баяндағанда символдық жолдардың өлшемін көрсетуге де болады және бұл баяндалуда жолдардың ұзындығы бірдей болады:

static char m[4][10];

статикалық (сыртқы) массивтің қатарларының қолданылмаған (артық) элементтері ‘/0’ (нөль-символымен) символымен инициалданады.

Артық элементтер (яғни, жады тиімді жұмсалу үшін) болмас үшін келесі баяндалуларды қолдануға болады:

static char *[4];

Мұнда әрбір жолдың ұзындығы массивтің сәйкес қатарын инициалдайтын нақтылы қатармен анықталады.

Символдарды өңдеу кітапханасы. Символдарды өңдеу кітапханасы символдық мәліметтермен бір қатар пайдалы тексерістер мен операцияларды орындайтын бірнеше функциялардан тұрады. Әрбір функция аргумент ретінде int типін немесе EOF (файл соңы) индикаторын ұсынатын символды қабылдайды. Символдарды өңдеу кітапханасының функцияларымен жұмыс істеу үшін <ctype.h> тақырыптық файлды қосамыз. Кестеде символдарды өңдеу кітапханасының функциялар тізімі келтірілген.

 

9.1- кесте. Символдарды өңдеу кітапханасының функциялары

Прототип Функциялардың баяндалуы
int isdijit (int c) Егер с сан болып табылса, онда True мәнін қайтарады және басқа жағдайларда 0 (false)
int isalpha (int c) Егер с әріп болып табылса, онда True мәнін қайтарады және басқа жағдайларда 0
int isalnum (int c) Егер с сан немесе әріп болып табылса, онда True мәнін қайтарады, және басқа жағдайларда 0.
int isxdijit (int c) Егер с он алтылық форматтағы символдардың бірі болса, true мәнін қайтарады және басқа жағдайларда 0.
int islower (int c) Егер с төмеңгі регистрдің әрпі болса, true мәнін қайтарады және басқа жағдайларда 0.
int isupper (int c) Егер с жоғарғы регистрдің әрпі болса, true мәнін қайтарады және басқа жағдайларда 0.
int tolower (int c) Егер с жоғарғы регистрдің әрпі болса,онда tolower с-ны төмеңгі регистрдің әрпі ретінде қайтарады. Басқа жағдайларда tolower аргументті өзгеріссіз қайтарады.  
int toupper (int c) Егер с төмеңгі регистрдің әрпі болса,онда toupper с-ны жоғарғы регистрдің әрпі ретінде қайтарады. Басқа жағдайларда toupper аргументті өзгеріссіз қайтарады.
int isspace (int c) Егер с бос орын (пробел) символы (' '), жаңа бет (‘\f’), жаңа жол (‘\n’), каретканы қайтару (‘\r’), горизонтальді табуляция (‘\t’) или вертикальді табуляция (‘\v’) болып табылса, онда true мәнін қайтарады және басқа жағдайларда 0.
int iscntrl (int c) Егер с басқарушы символ болса, онда true мәнін қайтарады және басқа жағдайларда 0.
int ispunct (int c) Егер с баспаға шығарылғандағы бейнеленетін символ болып тпбылса, true мәнін қайтарады, бірақ бос орын символдаына, сандарға немесе әріптерге қатынасы жоқ және басқа жағдайларда 0.
int isprint (int c) Егер с баспаға шығарылғандағы бейнеленетін символ болып тпбылса, true мәнін қайтарады, мұнда (' ') бос орын символын қосқанда және басқа жағдайларда 0.
int isgraph (int c) Егер с баспаға шығарылғандағы бейнеленетін символ болып тпбылса, true мәнін қайтарады, мұнда (' ') бос орын символын қосқпағанда және басқа жағдайларда 0.

Жолдарды түрлендіру функциялары. Жолдарды түрлендіру функцияларымен жұмыс істеу үшін <stdlib..h> тақырыптық файлды қосу қажет. Бұл функциялар сандар қатарларын бүтін мәндерге және жылжымалы нүктелі мәндерге түрлендіреді. Кестеде жолдарды түрлендіру функциялар тізімі келтірілген.

 

9.2-кесте. Жолдарды түрлендіру функциялары

Прототип Функциялардың баяндалуы
double atof (const char *nPtr) nPtr қатарын double типіне түрлендіреді.
int atoi (const char *nPtr) nPtr қатарын int типіне түрлендіреді.
long atol (const char *nPtr) nPtr қатарын long int типіне түрлендіреді.
double strtod (const char *nPtr, char **endPtr) nPtr қатарын double типіне түрлендіреді.
long strtol (const char *nPtr, char **endPtr, int base) nPtr қатарын long типіне түрлендіреді.
unsigned long strtoul (const char *nPtr, char **endPtr, int base) nPtr қатарын unsigned long типіне түрлендіреді.

Стандартты енгізу/шығару кітапханасының функциялары. Стандартты енгізу/шығару кітапханасы <stdlib.h> символдық және жолдық мәліметтермен жұмыс істеуге арналған бірнеше функциялардан тұрады. Кестеде стандартты енгізу/шығару кітапханасынан символдар мен жолдарды енгізу/шығару функцияларының тізімі келтірілген.

 

9.3-кесте. Стандартты енгізу/шығару кітапханасының символдық мен қатарларлық функциялары

Прототип Функциялардың баяндалуы
int getchar (void) Стандартты енгізу құралынан келесі символды енгізеді және бүтін формат түрінде қайтарады.
char *gets (char *s) S массивіне стандартты енгізу құралынан символды жаңа жолдың символын немесе файл соңының индикаторын кездестіргенше егізеді. Осыдан кейін массивке шектелетін NULL символы қосылады.
int putchar (int c) С-да сақталынатын символды баспаға шығару.
int puts (const char *s) Келесі символы жаңа қатар болатын s қатарын баспаға шығару.
int sprintf (char *s, const char *format, …) Нәтиже экранда бейнеленбей s массивінде сақталалуымен ерекшеленетін printf функциясына эквивалентті.
int sscanf (char *s, const char *format, …) Енгізу клавиатура арқылы емес s массиві бойынша орындалалумен ерекшелінетін scanf функциясына эквивалентті.

 


Дата добавления: 2015-07-08; просмотров: 947 | Нарушение авторских прав


Читайте в этой же книге: Пәнді қысқа сипаттау | Модульдер бойынша жүргізілетін аралық бақылауларға арналған сұрақтар тізімі | Дәрістік сабақтардың конспектілері | Программаның құрылымы | Error директивасы | Келтіру операторлары | Дәріс. Циклдар - басқару операторлар | Дәріс. Массивтер. Бірөлшемді және екіөлшемді массивтерді өңдеуге арналған программаларды құру | Көрсеткішті сипаттау | Дәріс. Құрылымдар және мәліметтердің басқа формалары. |
<== предыдущая страница | следующая страница ==>
Дәріс. Массивтер және көрсеткіштер| Жолдарға қолданылатын операциялардың функциялары

mybiblioteka.su - 2015-2024 год. (0.008 сек.)