
- •Программалау тілдері
- •2.2. Си тілінің қарапайым элементтері
- •2.2.1 Пайдаланылатын символдар си тілінің символдарын бес топқа бөлуге болады.
- •2.2.2 Тілдің қарапайым объектілері
- •Бақылау сұрақтары
- •2.3. Си тіліндегі мәліметтер типтері және енгізу, шығару функциялары
- •2.4. Бүтін сан түріндегі мәліметтерді сипаттау
- •2.4.2. Char типі
- •2.4.3. Float және double жылжымалы нүктелі нақты сандар типтері
- •2.5 Символдық тіркестер (жолдар, қатарлар)
- •2.6. Printf және scanf функциялары
- •Бақылау сұрақтары
- •3. Си тілінде қолданылатын негізгі операторлар
- •3.1. Меншіктеу операторы
- •3.2. Типтерді түрлендіру
- •Int I; float fl;
- •3.3. Программа жұмысын басқару операторлары
- •3.4. Шартты оператор
- •If (шарт)
- •If (шарт)
- •Int r; /* gil-ды 4-ке бөлгендегі қалдық */
- •Int ball;
- •3.4.1 Шартты операция
- •3.5. Switch көп нұсқалы таңдау операторы
- •Бақылау сұрақтары
- •4. Цикл операторлары
- •4.1. For цикл операторы
- •4.2. While операторы
- •4 .3. Do ... While цикл операторы
- •5. Си тілінде массивтерді пайдалану
- •Int index;
- •Void main()
- •Жиымды өңдеу есептерінің түрлері (кластары)
- •Void main()
- •Void main()
- •Int b[10]; //қосымша массив
- •Жиымды сұрыптау (сорттау, реттеу)
- •Жай таңдау жолымен сұрыптау
- •Жай енгізу (кірістіру) тәсілімен сұрыптау
- •Жай алмастыру арқылы сұрыптау
- •Int *iptr;
- •Функциялар арасында байланыс жасау үшін нұсқауыштарды пайдалану
- •Void change (int *u, int *V)
- •Int temp;
- •Int xmin,X[10];
- •6. Екі өлшемді жиымдар
- •Void line()
- •Void line()
- •Екінші типтегі есептер алгоритмдері
- •Void line()
- •Int I,j,jmin,min;
- •Int amin;
- •Бақылау сұрақтары
- •7. Сөз тіркестерін өңдеу
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Сөз тіркестерімен жұмыс істейтін функциялар
- •Көмекші программа. Функцияны пайдалану
- •Int mini(int X, int y)
- •Int maxi(int X, int y)
- •Void lin(char a)
- •Void z1(int *X, int *y)
- •Void z1(int*, int*);
- •Int rus (unsigned char r)
- •Int min_index(int sp[], int ras)
- •Void init(int mas[],int ras);//функцияны сипаттау
- •Жоғарыда қарастырырылған функцияда екі өлшемді жиымның бағаналарының саны тұрақты және ол ауқымды ko айнымалысымен анықталған.
- •Void main(void)
- •Index(s1,s2)
- •Void main(void)
- •Int main()
- •Бақылау сұрақтары
- •Құрылымдарды пайдалану мысалы:
- •Void Vvod(int nom,struct Spisok *sved)
- •Void main(void)
- •Vvod(-1,sved);
- •Int I; clrscr();
- •Void main(void)
- •Int I,j,k,priznak;
- •If(!priznak) break;
- •If(!priznak)break; }
- •Бақылау сұрақтары
- •Void main ()
- •Int pages;
- •Void main()
- •Бақылау сұрақтары
- •11. Графикалық режимде жұмыс істеу
- •Void main ( )
- •Int gmode; //режим аты
- •Int errorcode; // қате коды
- •11.1. Графикалық режим орнату, одан шығу, мәтін жазу, сызық салу функциялары
- •Initgraph(&Driver,&Mode,Path);
- •Initgraph(&Driver,&Mode," ");
- •Экранға мәтін шығару функциясы
- •Экрандағы көрсетілген орынға мәтін шығару функциясы
- •1) Line (x1,y1,x2,y2);
- •2) Lineto (X,y);
- •11.2. Сызық стильдерін беру
- •Int gmode;
- •11.3. Тұйық сызықтар салу
- •Көпбұрыш салу функциясы
- •Int gmode;
- •Іші боялған контурлы эллипс салу функциясы
- •Pieslice(X,y,БұрышБасы,БұрышСоңы,Радиус);
- •Void main ()
- •Void main ( )
- •Void main ()
Бақылау сұрақтары
Тұтынушы функциясын сипаттау дегеніміз не?
Егер функцияның параметрлері жоқ болса, ол қалай сипатталады?
Тұтынушы функциясы мен стандартты функциялардың айырмашылығы неде ?
Функция аргументтерін беру жолдарын атаңыз?
“Жергілікті” және “ауқымды” айнымалылардың айырмашылығы.
“Жергілікті” айнымалылардың әрекет ету аймағы ұғымы.
“Ауқымды” айнымалылардың әрекет ету аймағын түсіндіріңіз.
Return операторының қолданылуы және атқаратын қызметі.
дӘРІС№13
Жазбамен жұмыс.
Си тіліндегі құрылымдар өзара логикалық байланысқан әртүрлі типті мәліметтерді байланыстырады. Мәліметтердің құрылымдық типтері келесі сипаттаумен анықталады:
struct құрылым_ аты
{
элементтерді сипаттау;
};
Құрылымға компьютер жадынан орын бөлу үшін құрылымдық айнымалыны анықтап алу керек:
struct құрылым_аты айнымалы_аты;
Құрылымдарды анықтау барысында олардың элементтеріне бастапқы мәндерді меншіктеуге болады. Құрылым элементтерінің мәндерін енгізу үшін ағымдық енгізу операторы cin>> немесе форматпен енгізу операторы – scanf қолданылады.
Құрылымдармен келесі амалдарды орындауға болады:
1) Құрылымның адресін алу амалы. Құрылымның адресін алу үшін құрылымдық айнымалыға нұсқауыш (&) амалы қолданылады.
2) Құрылымның элементін пайдалану үшін нүкте (.) амалы (тікелей ену) немесе (->) (нұсқауыш бойынша ену) амалы қолданылады.
Құрылымдық айнымалы float, int, char типті айнымалылар сияқты пайдаланылуы мүмкін. Мысалы:
struct gr /* құрылым аты */
{char fio[10]; /* құрылым элементі */
int est[25]: /* құрылым элементі */
int nomer; /* құрылым элементі */
}
gruppa1; /*құрылымдық айнымалы аты */
struct gr gruppa2; /* құрылымдық айнымалыны хабарлау*/
Егер құрылымды сипаттаушы берілген файлдағы барлық функциялардың алдында орналасса, онда ол құрылымды осы файлдағы барлық функциялар пайдалана алады. Құрылымдық айнымалыны анықтау барысында оған алғашқы мәндерді меншіктеуге болады (құрылым өрістеріне мән беруге болады). Мысалы:
struct date { int day,month,year;};
d[5]={{1,3,1980},
{5,1,1990},
{1,1,2002}};
Құрылымдарды пайдалану мысалы:
#include <stdio.h>
#include <string.h>
#include <conio.h>
struct Spisok {
char Fio[20];
char Grup[10];
int Ot[3];
float S_Bal;
} *sved;
Void Vvod(int nom,struct Spisok *sved)
{printf("\n Мәліметтерді енгізіңіз:");
scanf(“%d”,nom+1);
printf("\n фамилиясы - ");
gets(sved.Fio);
printf("топ нөмірі - ");
gets(sved.Grup);
float s=0;
for(int i=0;i<3;i++) {
printf("\n бағалары - ");
scanf(“%d”,sved.Ot[i]);
s+=sved.Ot[i];
}
sved.S_Bal=s/3.;
return;}
Void main(void)
{struct Spisok Stud[50]; int i,N; char Bukva;
clrscr();
printf("\n 50-ден кіші бүтін сан енгізіңіз");
scanf(“%d”,&N);
for(i=0;i<N;i++) Vvod(i,&Stud[i]);
printf ("\n студенттердің тізімі:");
for(i=0;i<N;i++)
printf("\n %20s %10s %4.2f",Stud[i].Fio,
Stud[i].Grup,Stud[i].S_Bal);
printf ("\n Фамилиядағы әріпті іздеу");
scanf(“%c”,&Bukva);
printf("\n Студенттер туралы мәлімет");
int kod_p=0;
for(i=0;i<N;i++)
if(Stud[i].Fio[0]==Bukva){ kod_p=1;
printf("\n %20s %10s%4.2f",Stud[i].Fio,
Stud[i].Grup,Stud[i].S_Bal);}
if(kod_p==0) printf("Ондай жазба жоқ!");
printf ("\n Жазбаны іздеу");