Break операторы Лекция мазмұны: Программа орындалуы кезінде цикл аяқталмай-ақ одан шығу үшін break операторы қолданылады. Егер бұл оператор бірінің ішіне бірі енгізілген қабаттасқан цикл ішінде орналасса, онда ол ішкі циклдан оның сыртқы циклына шығуды ғана жүзеге асырады.
Мысалы: Екі өлшемді массивтен бір өлшемді массив A[5,5] – B[5] құрастыру керек. Оны түрлендіру ережесі: егер осы жолда бір теріс элемент болса, онда B[i]=1, әйтпесе B[i]=0 болуы тиіс.
for (i=0;i<=n; i++)
{
b[i]=0;
for (j=0;j<=n; j ++)
if (a[i][j]<0)
{
b[i]=1; break;}
}
Continue операторы Программа орындалуы кезінде цикл аяқталмай-ақ одан шығып, қалған операторларды аттап өтіп, осы цикл параметрінің келесі мәніне көшу үшін continue операторы қолданылады, яғни циклдің келесі итерациясына – қадамына басынан бастап ауысу жүзеге асырылады.
Мысалы: Екіөлшемді массив – A[5,5] берілген. Осы массивтегі теріс элементтердің санын анықтайтын және оларды квадраттайтын программа құру керек.
k=0;
for (i=0;i<=5; i++)
for (j=0;j<=5; j ++)
if (a[i][j]>0
continue;
else
{
k=k+1;
a[i][j]=pow(a[i][j],2);
}
Goto операторы Басқа тілдердегідей Си тілінде goto операторы көп қолданылмайды, бұл оператордың жазылуы:
goto <белгі>; мұндағы белгі – оператор нөміріне ұқсас ерекше белгі, яғни идентификатор.
Бұл оператор бірінің ішіне бірі енгізілген бірнеше цикл жиынынан (мәліметтер арасында қателер кездессе) бірден сыртқа шығып кету керек болған кезде қолданылады. Мұндайда break операторын пайдалана алмаймыз.
/* Определение четности введенного числа */
#include main ()
{
int k; /* введенное число */
char symbol;
c1: printf("\n Введите целое число и нажмите Enter : ");
scanf("%i",&k);
printf("Число %i ",k);
if (k % 2 == 0)
printf("четное.");
else
printf("нечетное.");
printf("\nЕще будете вводить? Да - 'Y', Нет - 'N' :");
scanf("%s",&symbol);
if ((symbol=='Y')||(symbol=='y')) goto c1;
}
Switch таңдау операторы
2.Ауыстырғыш бірнеше мүмкіндіктің бірін таңдайды.
switch (өрнек)
{Мұнда
case 1-константа : 1-оператор ;
case 2-константа : 2-оператор ;
. . . . . . . . . . .
[default: операторлар;]
}
Мұнда switch сөзінен кейінгі өрнек мәні есептеледі, ол бүтін санды типте болуы тиіс. Сол мән case сөздерінен кейін жазылған константалар мәндерімен салыстырылады. Егер олардың біріне тең болса, сол жол орындалады, жол соңында көшу операторы болмаса, келесі жолдар толық орындалады. Ал егер switch сөзінен кейінгі өрнек мәні ешбір константамен сәйкес келмесе, онда default сөзінен кейінгі операторлар атқарылады. Кейде default сөзі болмауы да мүмкін.
Мысал:
#include main()
{
int i;
printf("\nБүтін сан енгіз: )";
scanf(“%i”,&i);
switch(i)
{
case 1: printf("\nСан бірге тең!");
case 2: printf("\n2*2=%d",i*i);
case 3: printf("\n3*3=%d",i*i;break;
case 4: printf("\n Сан төртке тең!";
default: printf("\nАяқталды";
}
}
Бұл программаның жұмыс нәтижесі:
1 енгізілгенде мыналар шығарылады:
Сан бірге тең!
2*2=1
3*3=1
2 енгізілгенде мыналар шығарылады:
2*2=4
3*3=4
3 енгізілгенде мыналар шығарылады:
3*3=9
4 енгізілгенде мыналар шығарылады:
Сан төртке тең!
Қалған сандар енгізілсе:
Аяқталды!
сөзі шығарылады.
Программада кездесетін бірнеше нұсқаның бірін таңдап алу керек болған жағдайда, осы switch операторы қолданылады. Оператордың жалпы жазылуы: