Си тілі



Мазмұны

Кіріспе ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...5

1 Деректердің негізгі тұрпаты ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .7
1.1 Айнымалыларды жариялау ... ... ... ... ... ... ... ... ... ... ... ... ... ... 7
1.2 Локальды айнымалылар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 7
1.3 Формальды параметрлер ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...8
1.4 Ауқымды айнымалылар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .9

2 Массив туралы жалпы түсінік ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...11
2.1 Массив дегеніміз не? ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...11
2.2 Массивтермен жұмыс ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .13
2.3 Массивтің максималды және
минималды элементтерін табу ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .15

3 Динамикалық массивтер ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 18
3.1 Динамикалық массивтерді құру және жою ... ... ... ... ... ... ...18
3.2 Динамикалық тұрақты объектілерді құру және жою ... ... ...19
3.3 Абстрактті типті динамикалық массив
объектісінің құрылуы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..19

Қорытынды ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...21

Қолданылған әдебиеттер ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .22
Қосымша А ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...23
Қосымша Б ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...38
Кіріспе

СИ тілін 1972 жылы Bell Laboratories фирмасының қызметшісі, системалық программалауда үлкен тәжірибесі бар, программалау тілін яғни операциялық жүйені, программа генераторын, тексті процессорлауды құруды білген Денис Ритчи құрған.
Бұл тілдің ерекше айтып кететіні: машиналық программаның тиімділігі, кескінді құрудағы үнемділігі, жеткілікті құрымдылығы және жеделділігі. Бұл тіл қазіргі заманғы ЭЕМ жағдайларын тиімді қолдануға мүмкіншілік береді.
ЭЕМ-ға арнап жазылған программаның 80%-ы осы СИ тілінде екендігі 1991 жылы Мәскеуде өткен конференцияда Borlan фирмасы дәлелдеп кеткен.
СИ тілінде сандық және сандық емес деректердің барлығын жазуға болады.
СИ тілін жоғарғы деңгейлі ассемблер тілі деп айтуға болады. ол тіл бит, байтқа орталық процессордың регистріне және сыртқы құрылғысына қатынаса алады. Бір жағынан СИ тілінде құрылым деректері және операторлар бар, жоғарғы дережелі тілді меншіктейді.
СИ тілі-бұл системалық программалауды сапалы жаңа деңгейге көтерудегі бірден- бір жақсы мүмкіншілік болды.
С++ тілінің басты ерекшелігі программа құруда және қолдануда өзінің жеке толық деректердің типтерін қолдану болып табылады.
Адамның қызметінің әр түрлі салаларында программаларды қолдану – барлық программалық қамтамасыз етудің сенімділігін арттыру қажеттілігіне алып келді. Программалау тілдерін жетілдіру бағыттарының бірі деректердің типтеу (типизациялау) деңгейін көтеру болды. Деректер типтерінің теориясы программада қолданатын әр деректердің бір және тек бір ғана типіне жататынынан шығады. Деректің типі деректің көп мүмкіндік шамасын және осы деректердің үстінен жіберілген операциялар жиынтығын анықтайды. Нақты типтің дерегі көп жағдайларда басқа типтің деректеріне өзгертілуі мүмкін, бірақ бұндай өзгерту программада анық көрсетілуі керек. Аталған талаптарды орындаудың дәрежесіне байланысты программалаудың сол және басқа тілінің типтеу деңгейі туралы айтуға болады. Программалау тілінің типтеу деңгейін көтеруге ұмтылу Паскаль тілінің пайда болуына әкелді, ол дәл типтелген тіл болып саналады, бірақ та онда типтердің кейбір айқын емес өзгерістері, мысалы бүтінді бөлшекке өзгертуі шешілген. Программаны жазғанда дәл типтелінген тілді қолдану берілген мәтінді трансляциялау кезінің өзінде деректерді пайдаланудың көп қателерін табуға мүмкіндік береді де, осымен программаның сенімділігін арттырады. Сонымен бірге, дәл типтеу программистің бостандығын бөгеп, жүйелік программалауда жиі қолданатын деректерді өзгертудің кейбір тәсілдерін қолдануды қиындатты. Іс жүзінде Паскальмен бір уақытта көп дәрежеде жүйелік программалауға бағытталған және әлсіз типтеу тіліне жататын Си тілі дайындалды.
Мысалы, программист ЭЕМ- мен жұмыс істегенде жаңа терезе ашып немесе керек емес терезені жауып, басқа ағымда терезені таңдап, терезені жылжытып немесе оның көлемін өзгертіп, экрандағы терезелерді реттеп, тышқан көмегімен менюден керек программаны таңдау сияқты командаларды орындай алады. СИ++ осы командаларды формальдайды.
Менің бұл жұмысымның негізгі тақырыбы «С++ тілінде меню тізімін құру». Си тілімен жұмыс істей отырып, массивті жалпы қарастырамыз. Бұл жұмыстың негізгі мақсаты: С++ тілінде тізім құратын бағдарлама құру.
Жалпы жұмыс екі бөлімнен құралады. Оның бірінші бөлімі массивтермен жұмыс істеу және массивтерді сұрыптау, олардың максимум және минимум элементтерін табу. Ал, екінші бөлімінде өзімнің тақырыбымды жалпы қарастырасмын, яғни үлкен массивтермен жұмыс істеу, динамикалық массивтерді құру және оларды қолдану, арифметикалық деректердің динамикалық массивін құру және қолдану, құрылымдық еркін динамикалық массивтерді құру және қолдану.

Мазмұны
Кіріспе ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .
... ... ... ... ... ... ... ... ... ... 5
1 Деректердің негізгі
тұрпаты ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..7
1.1 Айнымалыларды
жариялау ... ... ... ... ... ... ... ... ... ... ... ... ... ... .7
1.2 Локальды
айнымалылар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .7
1.3 Формальды
параметрлер ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 8
1.4 Ауқымды
айнымалылар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..9
2 Массив туралы жалпы
түсінік ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...11
2.1 Массив дегеніміз
не? ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...11
2.2 Массивтермен
жұмыс ... ... ... ... ... ... ... .. ... ... ... ... ... ... ... ...13
2.3 Массивтің максималды және
минималды элементтерін
табу ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..15
3 Динамикалық
массивтер ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ..
.18
3.1 Динамикалық массивтерді құру және
жою ... ... ... ... ... ... ...18
3.2 Динамикалық тұрақты объектілерді құру және жою ... ... ...19
3.3 Абстрактті типті динамикалық массив
объектісінің
құрылуы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... .19
Қорытынды ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... .
... ... ... ... ... ... ... ... .21
Қолданылған
әдебиеттер ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ..
... ...22
Қосымша
А ... ... ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... 23
Қосымша
Б ... ... ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... 38

Кіріспе

СИ тілін 1972 жылы Bell Laboratories фирмасының қызметшісі, системалық
программалауда үлкен тәжірибесі бар, программалау тілін яғни операциялық
жүйені, программа генераторын, тексті процессорлауды құруды білген Денис
Ритчи құрған.
Бұл тілдің ерекше айтып кететіні: машиналық программаның тиімділігі,
кескінді құрудағы үнемділігі, жеткілікті құрымдылығы және жеделділігі. Бұл
тіл қазіргі заманғы ЭЕМ жағдайларын тиімді қолдануға мүмкіншілік береді.
ЭЕМ-ға арнап жазылған программаның 80%-ы осы СИ тілінде екендігі 1991
жылы Мәскеуде өткен конференцияда Borlan фирмасы дәлелдеп кеткен.
СИ тілінде сандық және сандық емес деректердің барлығын жазуға
болады.
СИ тілін жоғарғы деңгейлі ассемблер тілі деп айтуға болады. ол тіл
бит, байтқа орталық процессордың регистріне және сыртқы құрылғысына
қатынаса алады. Бір жағынан СИ тілінде құрылым деректері және операторлар
бар, жоғарғы дережелі тілді меншіктейді.
СИ тілі-бұл системалық программалауды сапалы жаңа деңгейге көтерудегі
бірден- бір жақсы мүмкіншілік болды.
С++ тілінің басты ерекшелігі программа құруда және қолдануда өзінің
жеке толық деректердің типтерін қолдану болып табылады.
Адамның қызметінің әр түрлі салаларында программаларды қолдану –
барлық программалық қамтамасыз етудің сенімділігін арттыру қажеттілігіне
алып келді. Программалау тілдерін жетілдіру бағыттарының бірі деректердің
типтеу (типизациялау) деңгейін көтеру болды. Деректер типтерінің теориясы
программада қолданатын әр деректердің бір және тек бір ғана типіне
жататынынан шығады. Деректің типі деректің көп мүмкіндік шамасын және осы
деректердің үстінен жіберілген операциялар жиынтығын анықтайды. Нақты
типтің дерегі көп жағдайларда басқа типтің деректеріне өзгертілуі мүмкін,
бірақ бұндай өзгерту программада анық көрсетілуі керек. Аталған талаптарды
орындаудың дәрежесіне байланысты программалаудың сол және басқа тілінің
типтеу деңгейі туралы айтуға болады. Программалау тілінің типтеу деңгейін
көтеруге ұмтылу Паскаль тілінің пайда болуына әкелді, ол дәл типтелген тіл
болып саналады, бірақ та онда типтердің кейбір айқын емес өзгерістері,
мысалы бүтінді бөлшекке өзгертуі шешілген. Программаны жазғанда дәл
типтелінген тілді қолдану берілген мәтінді трансляциялау кезінің өзінде
деректерді пайдаланудың көп қателерін табуға мүмкіндік береді де, осымен
программаның сенімділігін арттырады. Сонымен бірге, дәл типтеу
программистің бостандығын бөгеп, жүйелік программалауда жиі қолданатын
деректерді өзгертудің кейбір тәсілдерін қолдануды қиындатты. Іс жүзінде
Паскальмен бір уақытта көп дәрежеде жүйелік программалауға бағытталған және
әлсіз типтеу тіліне жататын Си тілі дайындалды.
Мысалы, программист ЭЕМ- мен жұмыс істегенде жаңа терезе ашып немесе
керек емес терезені жауып, басқа ағымда терезені таңдап, терезені жылжытып
немесе оның көлемін өзгертіп, экрандағы терезелерді реттеп, тышқан
көмегімен менюден керек программаны таңдау сияқты командаларды орындай
алады. СИ++ осы командаларды формальдайды.
Менің бұл жұмысымның негізгі тақырыбы С++ тілінде меню тізімін құру.
Си тілімен жұмыс істей отырып, массивті жалпы қарастырамыз. Бұл жұмыстың
негізгі мақсаты: С++ тілінде тізім құратын бағдарлама құру.
Жалпы жұмыс екі бөлімнен құралады. Оның бірінші бөлімі массивтермен
жұмыс істеу және массивтерді сұрыптау, олардың максимум және минимум
элементтерін табу. Ал, екінші бөлімінде өзімнің тақырыбымды жалпы
қарастырасмын, яғни үлкен массивтермен жұмыс істеу, динамикалық массивтерді
құру және оларды қолдану, арифметикалық деректердің динамикалық массивін
құру және қолдану, құрылымдық еркін динамикалық массивтерді құру және
қолдану.

1 Деректердің негізгі тұрпаты

С++ барлық айнымалылары оларды қолданғанша жариялануы тиіс. Бұл
айнымалыда болатын мәліметтер тұрпайы туралы ақпарат болатын компилятор
үшін қажет. С++ жеті негізгі мәлімет тұрпайы белгіленген: символды, екі
байтты символды, тұтас санды, жылжымалы нүктелі, екі есе дәл жылжылмалы
нүктелі, логикалық (немесе булев) және мәні жоқ. Осы айнымалылар типтерді
жариялау үшін char, wchar _t, int, float, double, bool және void негізгі
сөздер қолданылады.

1.1 Айнымалыларды жариялау

Айнымалыларды жариялау нұсқаулығының жалпы нұсқасы келесідей:
тек айнымалылардың_ тізімі;
Бұл жерде тек эелементі мүмкін С++ қасиеттер тегі, ал айнымалылардың_
тізімі үтір арқылы бөлінген бірнеше атаудан (идентификаторлардан) тұруы
мүмкін.
int i, j, k;
char, ch, chr
float f, balance;
double d;
С++ айнымалыларның атауы оның тегімен еш байланысы жоқ..
С++ стандартына сәйкес кез-келген атаудың алғашқы 1024 символы (соның
ішінде айнымалыларның да атауы) мәнді болып табылады.Бұл дегеніміз, екі
атау 1024 бір символмен ерекшеленсе, компилятор оларды түрлі атаулар
ретінде қарастыратынын білдіреді.
Айнымалылар функция ішінде функция параметрлерін белгілеуде және
барлық функциялардан тыс жариялануы мүмкін. Жариялану орнына қарай олар
тиісінше локальды айнымалылар, формальды айнымалылар және глобальды
айнымалылар деп аталады.

1.2 Локальды айнымалылар

Функция ішінде жарияланатын айнымалылар, локальды деп аталады. Оларды
функция денесіне қатысты нұсқаулықтар ғана қолдана алады. Локальды
айнымалылар тысқы функцияларға беймәлім. Мысалды қарастырайық..

# include iostream
using namespace std;

void func ( );

int main ( )
{
int x; main ( ) функциясы үшін локальды айнымалылар.

х = 10;
func ( );
cout “\n”;
cout x; 10 саны шығарылады.

return 0;
}
void func ( )
{
int x; func ( ) функциясы үшін локальды айнымалылар.

х = - 199;
cout x; -199 саны шығарылады.

Локальды айнымалылар, ол белгіленген функцияда ғана белгілі.
Осы бағдарламада х атаулы тұтас санды айнымалылар екі рет жарияланады:
алдымен main ( ) функциясында, сосын func ( ) функциясында. Бірақ main ( )
функциясындағы айнымалылар х func ( ) функциясындағы х-ке ешбір қатысы
жоқ. Басқа сөздермен айтқанда func ( ) функциясындағы х ұшырайтын
өзгерістер main ( ) функциясындағы айнымалылар х-ке еш әсер етпейді.
Сондықтан жоғарыда келтірілген бағдарлама экранға -199 және 10 санын
шығарады.
С++ локальды айнымалылар функцияны шақыру кезінде жасалып, одан шығу
кезінде жойылады. Локальды айнымалылар үшін бөлінетін жады туралы да осыны
айтуға болады: функцияны шақыру кезінде оған тиісті мәндер жазылады, ал
функциядан шығу кезінде жады босатылады. Бұл, локальды айнымалылар
функцияларды шақыру арасында өз мәндерін қолдамайтынын білдіреді. (Басқа
сөздермен айтқанда, локальды айнымалылардың мәні әрбір функциядан оралу
кезінде жойылады).
С++ арналған кейбір әдебиет көздерінде локальды айнымалылар динамикалы
немесе автоматты айнымалылар деп аталады. Бірақ біз кеңінен тараған
локальды айнымалылар деген терминді ұстанатын боламыз.

1.3 Формальды параметрлер

Формальды параметр – бұл функцияға берілген аргументтің мәнін алатын
локальды айнымалылар.
Егер функцияның аргументтері болса, олар жариялануы тиіс. Оларды
жариялау формальды параметрлердің көмегімен жүзеге асырылады. Келесі
үзіндіде көрсетілгендей, формальды параметрлер функция атауынан кейін,
дөңгелек жақшалардың ішінде жарияланады.
int func1 (int first, int last, char ch)
{
.
.
.
}
Мұнда func1 ( ) функциясында first, last, ch атаулы үш параметрлері
бар. Осылай жариялаудың көмегімен біз компиляторға, функцияға берілетін
мәндерді қабылдайтын Айнымалылардың әрбір тегін хабарлаймыз. Формальды
параметрлер аргументтер мәнін қабылдаудың арнайы тапсырмасын орындайтынына
қарамастан, оларды функциясы денесінде қарапайым айнымалылар ретінде
қолдануға болады. Мысалы, біз оларға кез-келген мәнді беріп немесе қандай
да бір (С++ үшін мүмкін) формулаларда қолдана аламыз. Бірақ кез-келген
басқа локальды айнымалылар сияқты, функция аяқталғаннан кейін олардың мәні
жойылады.

1.4 Ауқымды айнымалылар

Ауқымды айнымалылар бүкіл бағдарламаға танымал. Айнымалылар
бүкіл бағдарламалық танымалдық беру үшін, оны ауқымды ету қажет.
Локальдыға қарағанда, ауқымды айнымалылар өз мәндерін барлық тіршілік ету
кезінде (тіршілік ету уақытында) сақтайды. Ауқымды айнымалыларны жасау
үшін, оны барлық функциялардан тыс жариялау қажет. Ауқымды айнымалылар кез-
келген функциядан қол жеткізуге болады.
Келесі бағдарламада айнымалылар count барлық функциялардан тыс
жарияланады. Оны жариялау main ( ) функциясының алдында жүреді. Бірақ оны
дәл осылайша басқа жерде де орналастыруға болады, бастысы, ол қандай да бір
басқа функцияныкі болмауы керек. Есіңізде болсын: айнымалыларны оны
қолданғанға дейін жариялау қажет болғандықтан, ауқымды Айнымалыларды ең
жақсысы бағдарлама басталғанға дейін жариялау керек.
# include iostream
using namespace std;
void func1 ( );
void func2 ( );

int count; Бұл ауқымды айнымалылар.

int main ( )
{
int i; Бұл локальды айнымалылар.

for (i=0; i10; i + +) {
count = i * 2;
func1 ( );
}

return 0;

}

void func1 ( )
{

сout “сount : “ сount ; Aуқымды айнымалылар
жүгіну.
сout ‘\n ; Жаңа жолдың символын шығару.
func2 ( );
}
void func2 ( )
{

int count ; ⁄⁄ Бұл локальды айнымалылар.
for (count=0; count3; count + +) count ' . ' ;
}
Айнымалылар count main ( ) не func1 ( ) функциясында
жарияланбайтынына қарамастан, екеуі де оны қолдана алады. Бірақ func2 ( )
функциясында айнымалылар count жарияланады. Осы жерде айнымалылар count
жүгіну кезінде ауқымдыға емес, локальдыға ақол жеткізу орындалады. Ауқымды
және локальды айнымалылардың атауы бірдей екенін есте сақтау қажет,
локальды айнымалылар анықталған функция ішіндегі айнымалыларның даулы
атауына сілтеулер, локальдыға емес, ауқымды айнымалылар қатысты.

2 Массив туралы жалпы түсінік

2.1 Массив дегеніміз не?

Массив – ол реттелген біртекті элементтердің жиыны. Массив жүйелі
элементтерді құрастырады, ол элементтердің элементтердің нөмерлерін
реттейді. Массив арифметикалық негіздерден, символдардан, құрылымдардан,
көрсеткіштерден, файлдардан тұрады. Массивті жариялау инструкциясында
массив элементінің саны көрсетіледі. Массив элементтері 0-ден бастап
номерленеді. Массив элементіне ену үшін элемент индексін көрсетеміз.
СИ-де массивтерді өлшеу саны шектелмеген. Жадыда массив элементі былай
орналасқан. Элементтен элементке өткенде массивтің оң индексі тез өзгереді.
Сол сияқты, жадыда матрица қатарымен орналасқан. СИ- де массивте бағындыру
операциясы жоқ.
Массив элементін жариялауда басты белгілерді меншіктеуге болады.
бірөлшемді массивтерді инициализациялау белгілердің формасы.
тип [k] массиві- аты {белгі тізімі}
Мысалы :
int a[5] ={1,5,3,4,2};
float b[ ]={1.2,3.4,4.5,-2.5,0.3,-55};
Индекс ретінде бүтін типті өрнек константа немесе айнымалыны
пайдалануға болады. Индекс 0-ден n-ге дейін өзгереді.
Массивтерді енгізу, шығару және өңдеу үшін for, while, dowhile
циклдерін қолдануға болады.
Массивте өлшеулер қанша болса квадратты жақшалардың ішіндегі индекстер
сонша болады. Әр индекс өз квадратты жақшасында болады. Элементке
айналдыру массивіне мысал:
a[i], a[i+2]- бірөлшемді
b[0] [0], b[i] [j], b[9] [19]- екіөлшемді
e[i] [j] [k], c[i+2] [2*j-1] [k]-үшөлшемді
СИ-де үзілісті шекаралы массивтер жоқ. Бірақ, егер программа
орындалудан бұрын массив элементнің саны белгілі болса, массив # define
директивасының көмегімен оны тұрақты ретінде анықтауға болады. массив
шекарасын жариялауда тұрақтыспецификаттарын анықтағанда аталған
тұрақтыларды қолдануға болмайды. Программа орындалу процессінде массив
элементінің саны орындалса, ОП-ң динамикалық ерекшелеу қолданылады, мысалы
malloc функциясының көмегімен:
# define m5 -m белгісінің анықталуы.
main( )
{int a[m] ; - массивті жариялау
float b[m]; ... ... -m элементіне.

Бірөлшемді символды массив- жол тұрақты\0 символымен аяқталуы керек.
СИ-де жол- соңында нольдік символы (\0) бар символды массив ретінде
қарастырады.
Егер бірөлшемді массивтің өлшем белгіленбеген болса, онда оны
инициализацияланған белгілердің санымен анықтайды.
Мысалы, а массиві 5 элементтен тұрады, массив в- 6 элементтен.
Көп өлшемді массивті инициализациялау кезінде фигуралы жақшалардың
ішінде үтірмен бөлінген, қабаттасқан тізімді белгілер қолданылады.
Мысалы:
int a[2] [4]={{1,2,3,-4}, -0-ші қатар элементтері
{5,6,-7,8}}, - 1-ші
Жол инициализациясы жақшаға алынған символ тізімі- массив элементі
көмегімен немесе жол- тұрақтылығы- тізбекті символдар көмегімен болуы
мүмкін. Сиволды массивті инициализациялау кезінде, жақша ішіндегі жол
көмегімен компилятор жол аяғында өзі \0 сиволын қояды. Символды массивті
инициализациялау және жариялау мысалы:
char c[ ]= {‘0’, ‘T’, ‘E’, ‘T, ‘:’, ‘\0’ };
char C[ ]=”ОТВЕТ”;
char C[7]=”ОТВЕТ”;
char *C=”ОТВЕТ”;
char C[7]; c=”ОТВЕТ:”;
Тұрақты жолды бөлшектеп қарайық. Тұрақты жол- ол тырнақшаға алынған
нөл және бірнеше символдар.
Мысалы:
Char*a=”CИ++тілі”;
Си-де тұрақты символ рұқсат етілген, ондағы тұрақты сиволдар ішінде
басқару символы орналыстырылған, мысалы терілген басқару символы.
Басқару символына мысалдар:
\n- тексті шығару кезінде келесі жолға көшу.
07- қысқа қоңырау.
Мысал:
include conio.h
include stdio.h
ILE*f; -нәтиже файылы үшін.
-------------------Негізгі функция---------
oid main ()
f= fopen (“0.2. rez”, “w”);- файлға шығару үшін
f=fopen (“con”,”w”); - экранға шығу үшін
clrscr (); - экранды тазалау
char*str1=”\nБерілген текст теру кезінде болмай \келесі жолға
көтерілген. \n”
*str 2=” Берілген тексте теру кезінде болмайды” ”келесі жолға
көшірілген\n”

Орындалған программаның нәтижесі экранға шығарылады:
Берілген текст теру кезінде болмайды.
Берілген текст те теру кезінде болмайды.
Ұзын жолдың мысалы, теру кезінде орналыстырылған.
Екі қысқа жолға
Қоңырау!
Құрылым әртүрлі типті элементтереді бір айнымалыға біріктіру үшін
арналған. Құрылым қарапайым және нұсқағыштармен байланысты болуы мүмкін.
Құрылым элементтері өрістің бір немесе бірнеше типтері болуы мүмкін,
скалярлы және массивтер, тағы сол сияқты басқа құрылымдар.
Си- бұл Паскаль тілінің аналогты жазбасы.
Құрылымның арнаылындырылған типі біріктіру болып табылады.
Массивтерді, құрылымдарды және біріктірулерді комбинациялай отырып, үлкен
әртүрлі құрылымды деректер құруға болады. олар қиын объекті модельдеуге
модельдеуге мүмкіндік береді.
Құрылымды жариялау спецификаторы: Struct
Айнымалы құрылымды типті сипаттау керек:
truct имя- структурного- типа список-полей;
Құрылымды типті жарияладың негізгі формасы:
Truct имя- структурного- типа
{Tun-1 поле-1; -список
Tun-2 поле-2; -полей
... ... ... .-структуры
тип -n поле-n;
};

Мысалы:

truct stud - struct stud-имя- структурного типа
{int n2; -определение элементов структуры
char fio [20];
float stip ;}; - конец объявления типа структуры
truct stud st={12345, “Иванов И.И.,100”}
mst [25];

2.2 Массивтермен жұмыс

Массивтің негізгі қасиеттерін терең түсінген жөн. Мысалы: қарапайым
жағдайды алайық, айталық, маған 5 гимнастты жаттығу жасату үшін программа
құру керек.
Келесі инструкция көмегімен осы бесеуін құрып, оларға ат берейік.
спортсмен Aidar, Askar, Madi, Dina.
Содан соң мен олардың әрқайсына бір жаттығуды қайта- қайта орындауға
команда беруім керек.
Jump Jack (Aidar);
Jump Jack (Askar);
Jump Jack (Madi);
Jump Jack (Dina);
Бұл, әрине, қиын емес, ал егер спротсмендер жүзден аса болса ше? Ал,
егер мың болса ше?
Бұл жағдайдың стандартты шешімі мынандай, барлық группаға ат беріп,
сосын әр нақты спротсменді бірінші, екінші, үшінші деп шақыру.
Ол былай болады:
Бас спротсменнен тұратын группаны Buy деп ат беріп: 1 ден 5 ке
дейінгі индекс мәнін қайталау.
Ол былай болады:
Бес спортсменнен тұратын группаны Guy деп ат беріп, 1-ден 5-ке дейінгі
индекс мәнін қайталау. Группаның барлық мүшелері жаттығуды орындау керек,
енді мен жүздеген жолдарды жазып отырмаймын, Guy массивінде қанша элемент
қолданғңым келеді, сонша сан жазамын.
Guy [0] Guy[1] Guy[2] Guy[3]
Мысал:
Void main prog()
{
Athlete Guy[5]; бес спортсменнен тұратын массивті
жариялау.
For (int which = 0; which=4; which++);
{
Jump jack (Guy [which]); әр спортсменмен жаттығу жасау
}
}
Бұл программада спортсмендер саны әсер етпейді. Массивті жариялау
басқа да кез-келген объекті жариялауға ұқсас, тек массивті жариялаудың
айырмашылығы, массив атынан кейін тік жақшаның ішінде оның элементінің саны
көрсетіледі.
Мысалы:
Int points [10]
Массив аты барлық группа элементін білдіреді. Массив аты тік жақшаның
алдындағы нақты элементті білдіреді. Мысалы, келесі иентификатор 10
элементтен тұратын группаы білдіреді: Points
Ал, нақты бір группа элементіне қатысты болса, былай белгілейміз:
Points [1].
Өрнектеу массиві:
Өрнектеуде әдетте элементтері сан болып келетін сандық массивтер
қолданылады. Мысалы: тип мәні int немесе float. Бұндай массивтің әр-бір
элементі сан болып келгендктен, оның мәні өрнгек орнына қойылады.
Массивтер аргумент ретінде:
Массивтер және оның элементтері функция аргументі бола алады. Бұл
жерде объекттің қандай типін қолданып жатқанын білген маңызды.
Массив элементтерінің саны:
Егер жеті элементтен тұратын массивті жарияласаңыз, бірақ оның үшеуін
ғана қолдансаңыз, программа түзетусіз жұмыс істейді. Көп жағдайларда массив
мөлшерін анықтау мүмкін емес болады. мысалы, группадағы студенттер жасын
анықтағыңыз келсе. Группада 26 студент бар, сол 28 студентке ғана арнап
программа құрамыз. Бірақ, басқа группа үшін бұл программа жарамайды.
Өйткені, ло групада 32 студент болуы мүмкін.
Массивті былай жариялаймыз:
Int student_age[28];
Осы кезде ғана біз 28 мәнін, басқа 32 санына өзгерте аламыз.
Константа (тұрақты) көмегімен массив мөлшерін беру:
Массивті жариялау кезінде оның мөлшерін анықтау үшін айнымалы, яғни
ұрақсыз сан қолдануға болмайды. Мысалы, квадрат жақша ішіндегі n-
константа(тұрақты) болмаса, онда мынау жаиялау дұрыс емес:
Athlete Guy[n];
Бұл қателік, яғни айнымалы сан программаны орындау кезінде анықталады.
Программаны орындау алдында компилятор(түрлендіргіш) айнымалыларды
сақтайтын жады облысын ерекшелеу керек. Ол компилятор массив элементтерінің
орынын резервтеу үшін керек. ... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Си тілінде құрылған программаның құрылымын сипаттау
СИ бағдарламалау тілі және жобалануы туралы
СИ бағдарламалау тілі және жобалануы
СИ тіліндегі символдық функциялар мен процедуралар
Си бағдарламалау тілі
СИ бағдарламалау тілінде жадыны басқару
СИ тіліндегі файлдар және мәтіндік файлдар
Меншіктеу операторы, барлық тілде пайдаланылатын негізгі оператор
Си тiлiнiң негiзгi түсiнiктерi
Ішкі бағдарламалар
Пәндер