Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab1_Zvit.doc
Скачиваний:
4
Добавлен:
18.12.2018
Размер:
121.34 Кб
Скачать

Оператори

Будь-яка програма складається з послідовності операторів. Ознакою закінчення оператора є крапка з комою “;”. Так запис S=5 не є оператором, це просто вираз, а S=5; це вже оператор присвоювання. Аналогічно Паскалю у мові C розрізняють прості оператори і блоки.

Блок - це група операторів, що міститься у фігурних дужках, вони використовуються:

1) щоб згрупувати кілька логічно зв’язаних операторів в один;

2) як тіло функції;

3) для локалізації дії описів.

Оператор if

Оператор if-else використовується для вибору одного з двох варіантів рішення. Синтаксичний опис оператора if-else:

if(вираз)

оператор 1;

else

оператор 2;

Обчислюється “вираз”, якщо його значення “істина” (тобто не нуль) виконується “оператор 1”, якщо “не істина” (тобто нуль) виконується оператор 2. Частина else може бути відсутня. При вкладених if-else необхідно пам’ятати, що else відноситься до внутрішнього if.

if(x>0)

if(a>b) z=a;

else z=b;

Якщо треба змінити порядок необхідно використати фігурні дужки, тобто виділити блок.

if(x>0)

{ if(a>b) z=a; }

else z=b;

Щоб розгалузити програму в кількох напрямках можна використати конструкцію: else if

if(вираз 1) оператор 1;

else if (вираз 2) оператор 2;

else if (вираз 3) оператор 3;

else оператор 4;

Якщо <вираз 1> - “істина” виконується оператор1, якщо “не істина” перевіряється вираз 2. Якщо <вираз 2> - “істина”, виконується оператор 2 і так далі.

Оператор switch

Оператор switch (перемикач) використовується для вибору одного з багатьох варіантів. Він подібний до оператора case у Паскалі.

Синтаксис оператора switch:

switch (вираз) {

case <константа вибору 1>:оператор 1;

case <константа вибору 2>:оператор 2;

default: оператор n }

Якщо “вираз” співпадає з одною із констант вибору, то виконується відповідний оператор або блок операторів. Якщо “вираз” не співпадає ні з однією з констант вибору - виконується оператор після слова “default”.

Для прикладу промоделюємо роботу світлофора.

#include<stdio.h>

main()

{

char ch;

printf(“введи першу літеру кольору”);

scanf(“%с\n”,ch);

switch (ch)& {

case `ч`: printf(“Зачекайте\n”); break;

case `ж`: printf(“Увага\n”); break;

case `з`: printf(“Ідіть\n”); break;

default: printf(“такого кольору у світлофора немає”); break;

} }

“Вираз” і константи вибору повинні бути цілого типу, або типу char. Заборонено використовувати в якості константи вибору змінну. Оператор break здійснює негайний вихід з оператора switch. Якщо цього оператора немає, то будуть виконані оператори всіх варіантів після вибраного.

Лабораторне завдання

Скласти програму знаходження функції для різних значень аргументу . Вивести на друк значення аргументу, функції і проміжних змінних. Передбачити у програмі обхід алгебраїчних операцій, які можуть при певних значеннях аргумента та інших змінних мати невизначений результат, тобто ділення на нуль, добування кореня парного степеня з від”ємного числа, логарифма від”ємного числа і тому подібне.

,

,

,

, , .

Текст програми

# include<stdio.h>

# include<math.h>

main () /* Example of program for Lab. No 1 */

{

float t1,t2,x1,x2,x3,y;

int ioz;

/* Inputting the data */

printf("\n");

printf("Input the datas\n");

/* ioz - Indication for repeating the program */

mm: printf("Index of repeating ioz\n");

scanf("%d",&ioz);

if(ioz>0)

{

printf("x1 value\n");

scanf("%f",&x1);

printf("x2 value\n");

scanf("%f",&x2);

printf("x3 value\n");

scanf("%f",&x3);

/* Determination of parameters */

t1=0.75*sqrt(x1);t2=100.0*log(x2);

/* Calculation of Y value */

if(t1<t2)

y=sqrt(10.0*t2-15.0*t1);

else

y=sqrt(10.0*t1+15.0*t2);

/* Outputting the Y value */

printf("Y value\n");

printf("%e\n",y);

goto mm;

};

return 0;

}

Результат

Input the datas

Index of repeating ioz

1

x1 value

0.237

x2 value

1.2

x3 value

5.0

Y value

1.329830e+01

Index of repeating ioz

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]