![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
С программалау тіліндегі мәліметтердің тіркестік (жолдық) типтері және солармен жұмыс істейтін функциялар.
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 файлына жазылды
|