ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 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 ) {……}
-
Операцію кома можливо використовувати в операторі тіла циклу:
For (i = 1; i< = 5; i ++)
j = i, a += i, printf ( “ j =%d a = %f \n”, j, a );
-
В операторах заголовка циклу можливо використовувати параметр переліковного типу.
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” (беручи до уваги верхній та нижній регістри та кількість інших символів).
-
З використанням оператора 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 ( );
}
-
З використанням оператора 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 ( );
}
UNIX – ctrl /D - ознака закінчення файлу в системі UNIX.
MS – DOS – ctrl/z –ознака закінчення файлу в системі MS – DOS.
П риклад . Дано два дійсних числа – координати ( ) на площині. Необхідно обчислити значення :
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
Питання для самоконтролю
-
Поясніть роботу оператора розгалуження.
-
Коли величина в умовному операторі може дорівнювати нулю?
-
Які дві форми використання має оператор розгалуження?
-
Наведіть приклади використання простих і складених операторів в умовному виразі.
-
Що таке скорочена форма операторів if ?
-
Як працює умовна тернарна операція?
-
Запишіть мінімальне значення a i b за допомогою умовної операції.
-
Поясніть загальну структуру оператора варіанту?
-
Які команди застосовуються для переривання роботи оператора switch.
-
Перелічіть правила використання операторів в switch.
-
Які цикли є в мові Сі, їх відмінності.
-
Яку форму має оператор циклу for?
-
Яким чином можна припинити використання циклу?
-
Що таке безкінечний цикл, як його організувати?
-
Які основні правила використання циклу for?
-
Що таке операція кома?
-
Поясніть правила використання циклу while.