ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 22.12.2021

Просмотров: 269

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

# include < coniо.h >

# include < stdio.h >

void main ()

{

int n = 0; clrscr ();

for(printf (“\n Вгадай число! \n”); n != 6; )

scanf (“%d”, &n );

printf (“%d це те, що треба! \n”, n );

printf (“/n Для завершення натисніть клавішу \n”);

getch ();

}

7. За допомогою оператора continue можливо пропустити виконання одного і більше операторів тіла циклу і перейти до виконання сп. 3.

Наприклад:

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

{

if (a[i] = = 0 ) continue;

b – b/ a[i]; …

}

8. За допомогою оператора break можливо закінчити виконання циклу і перейти до виконання оператора, який іде після оператора циклу.

9. Гнучкість використання циклу for збільшує операція кома.

For (i = 1, x = xn; i < = 20; i ++ , x + = dx ) {……}

  1. Операцію кома можливо використовувати в операторі тіла циклу:

For (i = 1; i< = 5; i ++)

j = i, a += i, printf ( “ j =%d a = %f \n”, j, a );

  1. В операторах заголовка циклу можливо використовувати параметр переліковного типу.


While – оператор циклу інтерактивного типу з передумовою.

While ( B(x) ) S;

Де B(x) – вираз будь –якого типу, наприклад логічний;

S – оператор простий або складений;

Тіло циклу виконується, якщо вираз B(x) істинний (!= 0); ,якщо хибний (=0), то не виконується. Якщо вираз хибний до початку першого виконання тілу циклу, то тіло циклу не виконується жодного разу.

Приклад: Дано х. Ділити його пополам, поки х буде > 0, 1.

# include < coniо.h >

# include < stdio.h >

void main ()

{

float x; clrscr ( );

printf (“ введіть дійсне число: \n”);

scanf (“%f”, &x );

while (x > 0.1 ) x/ = 2;

printf (“x = %d ”, x );

printf (“Натисніть будь яку клавішу \n”);

getch ( );

}

Приклад копіювання одного рядка в інший за допомогою пустого оператора

While (str 1 ++ = str 2 ++);


Do-while оператор циклу інтерактивного типу з післяумовою.

Аналіз закінчення циклу відбувається після виконання операторів тілу циклу. Він використовується, коли кількість повторень операторів тіла циклу невідома і визначається в процесі виконання циклу. Оператори тіла циклу повинні виконуватись хоча б один раз.

Форма оператора циклу do-while

do

S

while (B(x));

де B(x) – вираз любого типу, наприклад логічний

S – оператор, простий або складений.

Після кожного виконання циклу аналізується значення B(x):якщо воно

не дорівнює нулю, тобто істинна (=1), то цикл повторюється, якщо хибне (=0), цикл завершується. По операторам continue і break можливо перейти за останній оператор тіла циклу.

Приклад: Дано х>1. Вивести степені х, обчислення проводити доти, поки обчислене значення стане більше, ніж 108.

#include < coniо.h >

#include < stdio.h >

#include < math.h >

void main ( )

{

float x, y = 1. ; clrscr ( );

printf (“ введіть значення для піднесення до степені: \n”);

scanf (“%f”, &x );

printf (“\n x =%.0 f \n Результати: \n”, x);

do

{

y = x; printf (“ %7.0f ”, y );

}

while (y <= le8);

printf (“Натисніть клавішу \n”);

getch ( );

}

x = 3

Результати:

3 9 27 81 243 729 2187

Приклад

Ввести послідовність літер, які закінчуються признаком кінця файлу (EOF), підрахувати кількість пробілів, кількість літер “A” (беручи до уваги верхній та нижній регістри та кількість інших символів).


  1. З використанням оператора if:

#include < stdio.h >

#include < conio.h >

void main ()

{

int ka = 0, kpr = 0, kost = 0;

char c;

clrscr ( );

puts(“ введіть послідовність символів, закінчення EOF ”);

while ((c = getchar ( )) != EOF)

if ( c = = ‘ a’ | | c = = ‘A’) ka ++;

else

if (c = = ‘ ‘ | | c = = ‘\t’ | | c = = ‘\n’) kpr ++;

else kost ++;

printf (“\n Було введено \n Букв А: %3d \n ”, kpr, kost);

printf (“ Пробілів: %3d \n Інших: %3d ”, kpr, kost );

getch ( );

}

  1. З використанням оператора switch

#include < stdio.h >

#include < conio.h >

void main ()

{

int ka = 0, kpr = 0, kost = 0;

char c;

clrscr ( );

puts(“ введіть послідовність символів, закінчення EOF ”);

while ((c = getchar ( )) != EOF)

switch ( c )

{ case ‘a’: case ‘A’: ka ++; break;

case ‘ ‘: case ‘t’: case ‘\n’: kpr ++; break;

default: kost ++;

} printf (“\n Було введено \n Букв А: %3d \n ”, kpr, kost);

printf (“ Пропусків: %3d \n Інших: %3d ”, kpr, kost );

getch ( );

}

UNIXctrl /D - ознака закінчення файлу в системі UNIX.

MSDOSctrl/zознака закінчення файлу в системі MSDOS.


П риклад . Дано два дійсних числа – координати ( ) на площині. Необхідно обчислити значення :


F = 1+xy, якщо (х,у)F;

5, якщо (a,y) F

# include < stdio.h >

# include < conio.h >

void main ()

{ float x, y,p;

int n; clrscr ();

m1:

puts (“введіть координати () ”);

printf (“ \n\t x = \n”);

scanf (“%f”, &x );

printf (“\n\t y =” );

scanf (“ %f ”, &y);

if ( y <= 0&& x >= 0&& xx + yy <= 1 // попадання в нижню чверть

| | x <= 0&&y >=0&& y <=1 && x>= -1 ) // в прямокутник

p =1+ xy; else p=5;

printf (“\n Значення p =%-5.2f \n”, p);

printf (“\n Продовжуєм? Да? – введіть 7: ”);

scanf (“ %d”, &n);

if (n = = 7) goto m1;

else puts (“кінець роботи”);

}

Приклад :

Введення символу з клавіатури і виведення його на екран.

#include < stdio.h >

#include < conio.h >

void main ()

{ char ch; clrscr ( ); //очистити екран

printf (“введіть символ: \n “);

ch = getchar ( );

putchar ( ch );

printf (“ \n Для завершення програми натисніть будь-яку клавішу\n ” );

getch ( );

}

Функція getchar зі стандартного вхідного потоку stdin ( за замовчуванням – це клавіатура) зчитує черговий символ в ch – змінну лівої частини. Функція putchar виводить символ, що є параметром.


Приклади вбудованих функцій для арифметичних типів даних.

Abs (x) – модуль аргумента, х – ціле.

Fabs (x) – модуль аргумента, х – дійсне.

Atan(x) –арктангенс ( радіани ).

Sin(x) – синус (кут в радіанах ).

Cos(х) – косинус (кут в радіанах)

Cosh(х) –косинус гіперболічний

Tan(х) - тангенс звичайний

Tanh(х) – тангенс гіперболічний

Sinh(x) – синус гіперболічний

Exp(x) – експонента.

Log(x) – логарифм натуральний.

Log10(x) – логарифм десятковий

Sqrt(x) – обчислення квадратного кореня.

Pow(x, y) - значення х в степені у.

Fmod( x, y ) –остача від ділення двох чисел: х на у ( в Сі ++).

Floor(x) – найближче менше ціле, <=x.

Ceil(x) –найближче більше ціле, >=x.

R = cd = pow (c, d) або для d > 0

С d = e d ln c c d = exp (d ln (c));

Написати арифметичний вираз мовою Сі:

Мовою Сі обчислення виразу буде таким:

Z = ((A + pow(B,C)) /( (c+1-pow(sin(x),3) * (3.2 – (xy) / D)) + 2.5e3 ;

Z = arctg(e ax ).

Z = atan(exp(Ax) sgrt(A/x));

Приклади використання функцій округлення:

Ceil(9,2) = 10

Floor (9,2) = 9


Ceil (-9,8) = -9

Floor (-9,8) = -10,0


Питання для самоконтролю

  1. Поясніть роботу оператора розгалуження.

  2. Коли величина в умовному операторі може дорівнювати нулю?

  3. Які дві форми використання має оператор розгалуження?

  4. Наведіть приклади використання простих і складених операторів в умовному виразі.

  5. Що таке скорочена форма операторів if ?

  6. Як працює умовна тернарна операція?

  7. Запишіть мінімальне значення a i b за допомогою умовної операції.

  8. Поясніть загальну структуру оператора варіанту?

  9. Які команди застосовуються для переривання роботи оператора switch.

  10. Перелічіть правила використання операторів в switch.

  11. Які цикли є в мові Сі, їх відмінності.

  12. Яку форму має оператор циклу for?

  13. Яким чином можна припинити використання циклу?

  14. Що таке безкінечний цикл, як його організувати?

  15. Які основні правила використання циклу for?

  16. Що таке операція кома?

  17. Поясніть правила використання циклу while.

13