Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Копия Си лекция каз.doc
Скачиваний:
3
Добавлен:
01.05.2025
Размер:
3.05 Mб
Скачать

Бақылау сұрақтары

1. Си тілінде қандай операциялар бар?

2. Меншіктеу операторының түрлері.

3. Меншіктеу операторының жазылу форматтары.

4. Арттыру немесе кеміту (инкремент және декремент) операция­лары.

5. Префикстік және постфикстік операциялар.

8. Құрама операторлар қалай ұйымдастырылады?

9. Бос оператор деген не?

10. Типтер ішінде төменнен жоғары қарай бағытталған түрлендірілу реттілігі.

11. Келтіру операцияларының жазылуы.

12. Программа жұмысын басқару операторлары

13. Бірнеше шарттық өрнектерді біріктіретін логикалық операторлардың қолданылуы.

14. Қандай жағдайларда шартты оператор пайдаланылады?

6. Шартты оператордың жазылуының қандай түрлері бар? Олардың мағына жағынан ерекшелігі неде?

10. Шартты операторға мысалдар келтіріңдер.

11. Шартты операторды пайдаланып y=1/(x-1)+1/(x-2) мәнін есептейтін программа құрыңдар.

12. Қабаттасқан шартты операторлардың жазылуы.

13. Шартты операция дегеніміз не?

14. Көп нұсқалы таңдау операторы не үшін қажет? Оның жазылу форматы қандай?

15. Көп нұсқалы таңдау операторына мысал келтіріңдер.

Дәріс№5

4. Цикл операторлары

4.1. For цикл операторы

For операторы айнымалы ретінде берілген цикл параметрінің алғашқы, соңғы мәні мен өзгеру қадамы белгілі болғанда, соған сәйкес бір немесе бірнеше операторларды қайталап орындау кезінде қолда­нылады. Бұл оператор параметрлі цикл операторы немесе арифмети­калық цикл деп аталады.

П араметрлі циклдің орындалу схемасы:

For цикл операторының жалпы жазылу түрі:

for (x=x0; x<=xk; x=x+dx)

{

<1-оператор>;

<2-оператор>;

. . .

<n-оператор>;

}

М ұнда x=x0 – цикл айнымалысының бастапқы мәні, x<=xk – циклдің орындалу шарты, x=x+dx – цикл айнымалысының қадамы. x=x0 цикл опера­торы орындаларда бір рет есептеледі, x<=xk ақиқат болса немесе 0-ге тең болмаса, цикл тұлғасы ретіндегі операторлар атқарылады. Содан соң x=x+dx есептеледі және x<=xk мәні қайта анықталады. x<=xk мәні жалған болса немесе жалпы жағдайда ол 0-ге тең болса, for операторының жұмысы аяқталады. Сонымен цикл тұлғасының келесі орындалуы немесе орын­дал­мауы оның атқарылуы алдында анық­талады.

1-мысал.

/* 1-ден 100-ге дейінгі сандар қосындысын анықтау */

#include <stdio.h>

#include <conio.h>

main ()

{ int s=0,i;

clrscr();

printf("1-ден 100-ге

дейінгі сандар қосындысы:");

for (i=1;i<=100;i++)

s+=i;

printf("s=%d",s);

printf("\nАяқтау үшін Enter

басыңыз\n");

getch();

}

2-мысал. Бүтін сандардың көбейтін­дісін өрнектейтін n! мәнін, яғни n!=1*2*... n табу қажет.

Б ұл алгоритмді құру барысында for операторының кері қарай есептейтін мүм­кіндігін пайдаланайық (4.3-сурет).

#include <stdio.h>

#include <conio.h>

main ()

{ int p=1,i;

int n;

clrscr();

printf("n санын енгізіңіз

де, Enter басыңыз:");

scanf("%d",&n);

printf("1-ден n-ге дейінгі

сандар көбейтіндісі:");

for (i=n;i>1;i--)

p*=i;

printf(" %d",p);

getch();

}

3-мысал.

/* х айнымалысы берілген алғашқы мәннен (х0) соңғы мәнге (хk) дейін тұрақты қадаммен (dx) өзгеріп отырғанда, у функциясының мәндерін анықтау */

#include <stdio.h>

#include <conio.h>

main ()

{ float x,y,x0,xk,dx;

clrscr();

printf("х-тің алғашқы,соңғы мәндері : ");

scanf("%f%f",&x0,&xk);

printf("х-тің өзгеру қадамы dх: ");

scanf("%f",&dx);

x=x0;

printf("----------------------\n");

printf(" x | y\n");

printf("----------------------\n");

for (x=x0;x<=xk;x+=dx)

{ y=-2.4*x*x+5*x-3; /* функция */

printf("%6.2f | %6.2f\n",x,y);

}

printf("----------------------\n");

printf("\nАяқтау үшін Enter басыңыз");

getch();

}

4-мысал. қосындысын анықтау керек.

#include <stdio.h>

#define n 10

main ()

{

int i;

float s=0;

for(i=1,i<=n;i++)

s+=i*i/2;

printf(“нәтиже= %f\n”,s);

}

For цикл операторындағы жақша ішіндегі соңғы өрнек ретінде жалпы дұрыс жазылған кез келген өрнекті пайдалануға болады. Мысалы:

for (d=0.1; d<50; d*=5)

printf(“%f”,d);

For цикл операторындағы жақша ішіндегі бір немесе бірнеше өрнектерді жазбауға да болады, бірақ мұндайда ; символын міндетті түрде өз орындарына жазып отыру керек, мысалы:

x=2; for(n=4; x<=100;)

x=x*n;

For цикл операторында құрама өрнектерді « , » операциясы арқылы жазуға да болады.

« , » операциясы – құрама өрнекті ұйымдастыру үшін қолданы­лады. Осы операцияны қолданғанда, үтір арқылы бөлектенген өрнек­тер сол жақтан оң жаққа қарай есептеледі. « , » операциясы цикл операторының тиімді болуы үшін жиі пайдаланылады. Мысалы:

main ()

{

int x,y;

for (x=1,y=9;x<=10; x++,y--)

printf(“%d%d\n”, x,y);

}

Мұнда алғашқы ; белгісіне дейін және соңғы өрнек арқылы осы цикл операторында екі параметр мәні беріліп (x=1,y=9;), олар x,y айны­малыларын өзгерту үшін қолданылып отыр.

Дәріс№6