Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Doc / Programmirovanie.docx
Скачиваний:
30
Добавлен:
24.03.2015
Размер:
444.3 Кб
Скачать

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

Сыртқы мәліметтер ағынымен (поток данных) жұмыс істеу үшін оны ашу керек. Сонда сыртқы мәліметтер программадағы алдын ала анықталған 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 басыңыз

1

2

3

4

5

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

10. С программалау тіліндегі мәліметтердің динамикалық құрылымдары. Мәліметтердің абстрактылық типтері.

Мұнда мәліметтердің бірнеше негізгі типтері қолданылады. Олар:

· char – символдық, яғни таңбалық тип,

· short – қысқа бүтін сан,

· int – бүтін сан типі,

· long – екі еселенген бүтін сан,

· float – нақты (жылжымалы нүктелі) сан типі,

· double – екі еселенген нақты сан типі.

· unsigned – таңбасыз бүтін сан,

Алғашқы төрт тип бүтін сандарды сипаттау үшін қолданылады. Төмендегі кестеде әр түрлі типтердің IBM PC-ге арналған ұзындықтары көрсетілген.

Мәлімет типі

Ұзындығы (байт)

Сандар диапазоны

Char

8 бит-1байт

-128…..+127

Unsigned shar

8бит-1байт

0…255

Short int

16бит-2байт

-32768…32767

Unsigned short

16бит-2байт

0…65535

Int

16бит-4байт

-32768…32767

Unsigned [int]

32бит-4байт

0..4294967295

Long

32бит-4байт

-2147483648…2147483647

Unsigned long

32бит-4байт

0…4294967295

Float

32бит-4байт

3.4*10-38 ... 3.4*1038

Double

64бит-8байт

1.7*10-308 ... 1.7*10308

Long double

80бит-10байт

3.4*10-4932 ... 3.4*104932

Көрсетілген типтердің ең үлкен ұзындықтары әр түрлі компиляторларда бірдей болуы қажет емес. Олар ком-пьютерлердің аппараттық мүмкіндіктеріне қарай таға-йындалады. Бірақ оларға мынадай талаптар қойылады:

int > =short >= 16 бит;

Int типін стандарт бекітпеген, ол компьютерге немесе компиляторға байланысты өзгеріп отырады. 16-разряд-ты процессорде ол 2 байт (32768), ал 32-разрядтысында – 4 байт (2 147 483 647 ). ТурбоСи-де int = short (32768)

long > = int; long типінің ұзындығы >= 32 бит;

(ТурбоСи-дегі long 2 147 483 647 )

Signed және unsigned модификаторлары да сандар шамасына әсер етеді, олар:

unsigned short int – 2 байт, оның диапазоны 0 ..65536;

unsigned long int – 4 байт, диапазоны 0..+4 294 967 295.

Unsigned типі int, long, short түйінді сөздерімен сипатталатын типтердің модификаторы ретінде қолданылады.

Char типін 0–255 аралығындағы таңбасыз бүтін сан-дарды сипаттауға қолдануға болады, ДК жадында бұларға бір байт орын бөлінген. Мысалы:

char c1;

Соседние файлы в папке Doc