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


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

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






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





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 файлына жазылды

Date: 2015-09-05; view: 1655; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.007 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию