Студопедия

Главная страница Случайная страница

Разделы сайта

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






С программалау тіліндегі мәліметтердің тіркестік (жолдық) типтері және солармен жұмыс істейтін функциялар.






PASCAL тілінде сө з тіркестерін ө ң деу кезінде қ олданылатын арнайы тип – string бар. Ал Си тілінде мұ ндай арнайы тип жоқ. Сө з тіркестері char типті бір ө лшемді жиым ретінде қ арастырылады, яғ ни сө з тіркесі – нө лдік байтпен аяқ талатын char типті бір ө лшемді жиым.

Нө лдік байт – барлық биттері де нө лге тең байт, ол ´ \0 ´ символдық константасымен анық талады (тіркес соң ы белгісі немесе нө л-терминатор). Сондық тан егер тіркесте k символ болса, онда жиымды сипаттауда k+1 элемент кө рсетілуі тиіс.

Символдарды біртіндеп енгізу-шығ ару ү шін printf(), scanf() функцияларының %c форматы қ олданылады.

getchar() – параметрсіз функция. Пернеден сим-волдарды бір-бірлеп енгізеді. Сө з тіркесі Enter пернесі басылғ анша енгізіле береді, оғ ан дейін оны ө згертуге болады.

putchar(с) – с символын экранғ а шығ арады.

Символдар тіркесін пернелерден енгізу ү шін екі стандартты функция – scanf() немесе gets() қ олданылады, ал олардың прототиптері stdio.h тақ ырыптық файлында болад scanf () функциясы тіркестік айнымалылар мә нін %s форматымен енгізеді, бірақ ол тіркесті тек бірінші босорын таң басына дейін ғ ана енгізе алады.

Ал gets() функциясы арасында босорыны бар тіркестерді енгізеді, енгізу ENTER пернесімен аяқ -талады. Екі функция да тіркес соң ына нө лдік байт қ о-сып жазады. Оның ү стіне тіркес – символдық жиым, ал жиым аты – оның компьютер жадындағ ы алғ ашқ ы адресіне сілтеме болғ андық тан, тіркестік айнымалы атының алдына «&» символы жазылмайды.

Сө з тіркестерін шығ ару функциялары:

printf(), сprintf(), puts(), cputs()

printf() – экранғ а формат арқ ылы сө з тір-кесін шығ арады;

сprintf() – экранғ а printf() сияқ ты формат арқ ылы сө з тіркесін шығ арады, тек олар-дың тү стерін textcolor() жә не textback-ground() функциялары арқ ылы ө згертуге мү мкіндік береді;

puts(str) – экранғ а сө з тіркесін шығ а-рып, курсорды бірден келесі жолдың ба­сына алып барады, мұ ндағ ы str – тіркес-тік константа немесе тіркестік айныма-лы. Бұ лар stdio.h тақ ырып файлы бойынша жұ мыс істейді.

cputs(str) – экранғ а сө з тіркестерін шығ арып, олардың тү стерін textcolor() жә не textbackground() функциялары арқ ылы ө згертуге мү мкіндік береді, conio.h тақ ырып файлы бойынша жұ мыс істейді.

Жалпы сө з тіркестерін қ олдану ү шін stdlib.h немесе string.h тақ ырыптық файлдары қ олданылады.

Сө з тіркестерімен жұ мыс істейтін басқ а функциялар

1) strlen(str) функциясы str сө з тір-кесіндегі символдар санын (соң ғ ы нө лді есепке алмайды), яғ ни жолдың ұ зындығ ын анық тайды, оның типі int, тақ ырыптық файлы < string.h>

2)strcat(stroka1, stroka2) функциясы тір-кестерді біріктіру ү шін қ олданылады. Ол stroka1 жә не stroka2 тіркестерін бірік-тіріп, нә тижені stroka1 айнымалысына меншіктейді.

3) strcmp(stroka1, stroka2) функциясы екі сө з тіркесін салыстыру ү шін қ олданылады. Егер олар бірдей болса, функцияның мә ні 0-ге тең болады, ә йтпесе ол екі тіркестің айырмасын береді. Егер stroka1< stroka2 болса, нә тиже < 0 болады, ал stroka1> stro-ka2 болса, нә тиже> 0 болады. Кө бінесе екі тіркестің бірдей еместігін анық тау ү шін қ олданылады.

4)strcpy(str1, str2) функциясы сө здердің кө шірмесін алу ү шін қ ажет, мұ ндағ ы str2 айнымалысындағ ы сө з тіркесі str1 айнымалысына кө шіріледі.

5) strstr(str1, str2) функциясы 2-ші кө рсетілген жолды 1-ші жолдың ішінен іздейді.

6) strset(str, ch) функциясы берілген тіркестегі барлық символдарды кө рсе-тілген тіркеске (ch) ауыстырады.

7) strtod(str1, str2) функциясы беріл-ген тіркесті double типті санғ а ауыс-тырады.

8) strchr(str, c) функциясы берілген тіркестегі коды кө рсетілген символдың позициясын анық тайды.

9) strrev(str) функциясы берілген тір-кестің барлық символдарын керісінше бейнелейді.

10) strpbrk(str1, str2) функциясы 2-ші тіркестің кез келген символын 1-ші сө зден іздейді.

Mысалы: Латын алфаыитвн ASCII-кодтарымен бірге шығ ару

#include< stdio.h>

#include< conio.h>

#include< string.h>

main()

{ char s[80];

int i;

clrscr();

puts (Soz tirkesin engizip ENTER basynyz);

gets(st);

i=0;

while (st[i+1])

printf(«Енгізілген тіркес ұ зындығ ы: %i\n», i-1);

puts (Soz tirkesin engizip ENTER basynyz);

gets(st);

printf(«Енгізілген тіркес ұ зындығ ы: %i\n», strlen(st));

getch(); }

 

Программаларда файлдармен жұ мыс істеу. Файлды ашу/жабу операторлары, оғ ан мә лімет жазу/оқ у тә сілдерін программалау.

Сыртқ ы мә ліметтер ағ ынымен (поток данных) жұ мыс істеу ү шін оны ашу керек. Сонда сыртқ ы мә ліметтер программадағ ы алдын ала анық талғ ан FILE типімен байланыстырылады. Бұ л типтің анық -талуы stdio.h тақ ырыптық файлы арқ ылы атқ ары-лады. FILE типі арқ ылы мә ліметтер ішіндегі позицияларғ а нұ сқ ауыш, буферге нұ сқ ауыш кө рсетіле алады.

Сыртқ ы мә ліметтер ағ ынына нұ сқ ауыш, мысалы, fp программада былай сипатталады:

#include < stdio.h>

FILE *fp;

Сонымен файлды ашатын fopen() функциясының жалпы жазылуы:

fp = fopen(name, mode);, fp = fopen(“ex1.txt”, “w”);

Мұ ндағ ы: fp – файлғ а сілтейтін нұ сқ ауыш; name – сыртқ ы мә ліметтер жазылғ ан немесе жазылатын файл аты, иденти-фикатор; mode – файлдың қ андай режимде ашылатынын тө мендегідей тү рде кө рсетеді:

«r» – бұ рыннан бар файлды оқ у ү шін ашу;

«w» – бос файлды мә лімет жазу ү шін ашу;

«a» – файл соң ына мә лімет қ осып жазу ү шін оны ашу;

«r+»– файлды одан мә лімет оқ у жә не жазу ү шін ашу;

«w+»– бос файлдан мә лімет оқ у жә не оғ ан мә лімет жазу ү шін файл ашу (бұ рын файл болса, ол ө шіріледі);

«a+»– файлдан мә лімет оқ у жә не оның соң ына мә лімет қ осып жазу ү шін ашу).

2)fclose(fp) функциясы ашық файлды жабады.

3)feof(fp) функциясы файл соң ын анық тайды.

4)fgets(fp) функциясы файлдан бір символ оқ иды.

5)fputc(fp) функциясы файлғ а бір символ жазады.

6)ferror(fp) функциясы файлғ а жазу/оқ у кезінде қ ате шық қ анын тексереді.

Бұ лардағ ы fp – файлғ а сілтейтін нұ сқ ауыш;

7-8) Файлғ а мә лімет жазу/оқ у ү шін fprintf жә не fscanf функциялары пайдаланылады.

fprintf — файлғ а мә лімет жазу ү шін, ал fscanf – файлдан мә лімет оқ у ү шін қ олданылады. Олардың жалпы жазылу тү рі:

fprintf(fp, “спецификация шаблоны”, p); ( мыс: fprintf(fp, “%d”, p) )

p — ө рнек;

fscanf(fp, “спецификация шаблоны”, адрес); ( мыс: fscanf(fp, “%d”, & p) )

Mысалы:

#include< stdio.h>

#include< conio.h>

main()

{int k, i, n=5;

char fname[]=”a: \\num.txt\0”;

clrscr();

FILE *fp;

fp=fopen(fname, ”w”);

clrscr();

printf(«Енгізілген файлдар %s файлына жазылады\n», fname);

puts(“Ә р сан енгізген соң Enter басың ыз/n”);

for(i=0; i< n; i++)

{ scanf(“%i”, & k);

Fprintf(fp, “%d”, k); }

fclose(fp);

printf(«Енгізілген файлдар %s файлына жазылды\n», fname);

getch(); }

Нә тижесі:

Енгізілген файлдар a: \num.txt файлына жазылады

Ә р сан енгізген соң Enter басың ыз

Енгізілген файлдар a: \num.txt файлына жазылды






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.