- •Программалау тілдері
- •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 ()
Сөз тіркестерімен жұмыс істейтін функциялар
1) strlen(str) функциясы str сөз тіркесіндегі символдар санын (соңғы нөлді есепке алмайды), яғни жолдың ұзындығын анықтайды, оның типі int, тақырыптық файлы <string.h>.
Мысалы. Бірнеше сөз тіркестерінің ұзындығын анықтайтын программа құру керек.
// strlen(str) функциясын пайдалану
#include <conio.h>
#include <stdio.h>
#include <string.h>
main ()
{
static char t[]=”Студенттер жайлы хабарлама.”;
clrscr();
printf(“%d\n”,strlen(t));
printf(“%d\n”,strlen(”Студенттер жайлы
хабарлама.”));
printf(”%d\n”,strlen(”аль-Фараби ат.КазҰУ”));
printf(“%d\n”,strlen(“”));
getch();
}
Мұның нәтижесі:
27
27
19
0
2) strcat(stroka1,stroka2) функциясы қатарларды біріктіру үшін қолданылады. Ол stroka1 және stroka2 тіркестерін біріктіріп, нәтижені stroka1 айнымалысына меншіктейді, stroka2 тіркесінің мәні өзгермейді
Мысалы:
// strcat(str1, str2) функциясын пайдалану
#include <conio.h>
#include <stdio.h>
#include <string.h>
main ()
{
char str1[50]="Си тілін оқимыз, ";
char str2[]="жақында емтихан тапсырамыз.";
clrscr();
printf("%s\n",strcat(str1,str2));
puts(str1); // қатарды экранға шығару
puts(strcat("Егер жақсы оқысақ, ",str2));
getch();
}
Мұның нәтижесі:
Си тілін оқимыз, жақында емтихан тапсырамыз.
Си тілін оқимыз, жақында емтихан тапсырамыз.
Егер жақсы оқысақ, жақында емтихан тапсырамыз.
Келесі мысалда студенттің аты пернелерден енгізіліп, ол екінші тіркеспен біріктіріледі.
// strcat(str1, str2) функцияларын пайдалану
#include <conio.h>
#include <stdio.h>
#include <string.h>
main ()
{
char name[80];
char stud[]= " - КазҰУ студенті";
clrscr();
puts("атын енгіз:");
gets(name);
strcat(name,stud);
puts(name);
getch();
}
3) strcmp(stroka1,stroka2) функциясы екі сөз тіркесін салыстыру үшін қолданылады. Егер олар бірдей болса, функцияның мәні 0-ге тең болады, әйтпесе ол екі тіркестің айырмасын береді. Егер stroka1<stroka2 болса, нәтиже 0-ден кіші, ал stroka1> stroka2 болса, нәтиже 0-ден артық болады. Көбінесе бұл тәсіл екі тіркестің бірдей еместігін анықтау үшін ғана қолданылады.
Мысалы:
main ()
{
printf("%d\n",strcmp("Сәлем","Сәлем"));
printf("%d\n",strcmp("Azat","Izat"));
printf("%d\n",strcmp("Абайда","Абайла"));
getch();
}
Мұның нәтижесі:
0
-8
-7
Алғашқы екі сөз бірдей, нәтижесі – 0, келесі екі сөздің алғашқы әрпі әр түрлі, олардың ASCII-кодтарының айырмасы – -8 (А - 65, I - 73), ал 3-жолы -7 (д – 164, л – 171, олардың кодтарының айырмасы 164-171=-7).
// strcmp(str1, str2) функциясын пайдалану
#include <conio.h>
#include <stdio.h>
#include <string.h>
#define NAME "Ритчи"
main ()
{
char f[20];
puts("Си тілінің авторы кім:");
gets(f);
while(strcmp(f,NAME)!=0)
{puts("басқа кім болуы мүмкін:");
gets(f);
}
puts("Жауап дұрыс!");
getch();
}
Нәтижесі:
Си тілінің авторы кім:
Керниган
басқа кім болуы мүмкін:
Ритчи
Жауап дұрыс!
4)strcpy(str1,str2) функциясы сөз тіркесінің көшірмесін алу үшін қолданылады, мұнда str2 айнымалысындағы сөз тіркесі str1 айнымалысына көшіріледі. Мысалы:
// strcpy(str1, str2) функциясын пайдалану
#include <conio.h>
#include <stdio.h>
#include <string.h>
main ()
{
char str1[21];
strcpy(str1,"Хал қалай, Азат?");
puts(str1);
strcpy(str1,"Тамаша!");
puts(str1);
getch();
}
Нәтижесі:
Хал қалай, Азат?
Тамаша!
2-мысал:
// strcpy(str1, str2) функциясын пайдалану
#include <conio.h>
#include <stdio.h>
#include <string.h>
#define stroka "көшіру функциясы"
main ()
{
char *ptr=stroka;
char res[25];
clrscr();
puts(ptr);
puts(res);
strcpy(res,ptr);
puts(ptr);
puts(res);
getch();
}
Нәтижесі:
көшіру функциясы
көшіру функциясы
көшіру функциясы
Мұнда ptr айнымалысы көшіру функциясы сөзін береді, res айнымалысы бос жол береді, ал келесі жолы екеуі де көшіру функциясы сөзін береді.
5) strstr(str1,str2) функциясы 2-ші көрсетілген жолды 1-ші жолдың ішінен іздейді.
6) strset(str,ch) функциясы берілген қатардағы барлық символдарды көрсетілген символға (char ch) ауыстырады.
7) strtod(str1,str2) функциясы берілген қатарды double типті санға ауыстырады.
8) strchr(str,c) функциясы берілген қатардағы коды көрсетілген символдың позициясын анықтайды.
9) strrev(str) функциясы берілген қатардың барлық символдарын керісінше бейнелейді.
10) strpbrk(str1,str2) функциясы 2-ші қатардың кез келген символын 1-ші қатардан іздейді.
Бақылау сұрақтары
Тіркестік айнымалылардың сипатталу тәсілдері қандай?
Тіркестік айнымалы қандай идентификатормен (атаумен) және қалай анықталады?
Бір тіркестік айнымалыға немесе тұрақтыға қанша символ жазуға болады?
Тіркестік айнымалының ұзындығы қалай анықталады?
Тіркестік өрнектер дегеніміз не?
Тіркестік айнымалылар мен тұрақтыларға қандай амалдар қолданылады?
Тіркестің ішкі символдарын қалай бөліп алуға болады?
Си тілінде сөз тіркестерін өңдейтін қандай функциялар бар? Оларды қалай пайдаланады және олар қалай жазылады?
Дәріс№12
