Арифметичні та логічні операції 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Арифметичні та логічні операції



Арифметичні операції(%) застосовуються над змінними та числами з фіксованою та плаваючою точками (операнди, операції, %) має операндуми, числа з фіксованою точкою типи 1 та 2 операндів можуть відрізнятся, тип рез. Це тип операндів після перетворення. Перетворення типу в арифм.операціях здійснюється як до так і після виконання, при цьому операнди типу float перетв до типу double.

Якщо 1 операнд типу double то і другий операнд перетв. до типу double. Операнди типу char-> до int. Якщо 1 з операндів має тип unsigned int то і 2 операнд перетвор до unsigned int.

Логічні операції реалізують логічне заперечення, множення та додавання.Операнди логічних операцій можуть бути цілого та дійсного типів, типів 1 та 2 операндів, можуть бути різними.Тип результата – int,хоча цей int значення або 0 або число відмінне від 0. Якщо значення логічної операції 0, це означає хибне. Якщо відмінне від нуля то істинне.

Базові типи даних мови С

Тип даних – множина значень плюс перелік дій або операцій, які можна виконати над кожною змінною даного типу. Вважається що змінна або вираз належать до конкретного типу, якщо його значення лежить в області допустимих значень даного типу.

Базові типи даних мови С можна перерахувати у наступній послідовності:

char- символ. Тип може використовуватись для зберігання літери, цифри або іншого символу з множини символів ASCII. Значенням об’єкта типу char є код символу. Тип char інтерпретується як однобайтове ціле з областю значень від -128 до 127.

Int – ціле. Цілі числа в діапазоні від -32768 до 32767.Як різновиди цілих чисел, у деяких видах компіляторів існують short – коротке ціле(слово) та long(4 байти) – довге ціле.

Float – число з плаваючою комою одинарної точності. Тип призначений для зберігання дійсних чисел. Може представляти числа як у фіксованому форматі (наприклад число пі – 3.14159), так і в експоненціальній формі – 3.4Е+8.

Double - число з плаваючою комою подвійної точності. Має значно більший діапазон значень ніж float: ±(1.710. 308... 1.710308).

Дані типу перелік. Оголошення. Доступ до елементів, приклади.

Перелік – це тип даних, що викликає до себе набір іменованих констант цього типу.

Елементи переліку називаються константами переліку.

Для того, щоб оголосити перелічувальний тип даних, необхідно написати спеціальне слово: enum, далі пишеться ім'я нашого перераховується типу даних і всі його значення, які ми самі напишемо.

Оголошення: enum <ім’я типу> {<список перелічення>} <ім’я змінної>

або

enum <ім’я типу> <ім’я змінної>

Наприклад:

enum char {r,b,a,c..}

enum char imya

Не забувайте, що структури, перелічувального типу даних (enum) потрібно оголошувати до їх ініціалізації.

Використовуються для:

- економія коду

легше написати структуру з трьох змінних, і потім тільки ініціалізувати одну змінну, ніж кожен раз писати по три змінних з їх ініціалізацією.

-зручність розуміння коду

структура дає логічне обгрунтування створеної змінної, що набагато полегшує розуміння коду

-легкість в обігу і передачу у функцію, і запис в файл - все це стає в рази простіше і зрозуміліше.

Структура програм розроблених мовою С.

#include< дерективи процесора>

Опис глобальних обєктів

Заголовок основної функції main()

{

Тіло функції main()

}

Заголовок функції_1

{

Тіло функції_1

}

Заголовок функції_n

{

Тіло функції_n

}

Заголовочні файли мови С. Стандартна бібліотека.порядок підключення ф-ій стандарт.бібліотек.

а)Заголовочні файли:

stddef.h(містить в собі визначення окремих стандартних ідентифікаторів)

limits.h(цей заголовочний файл містить різні, залежні від реалізації, символьні і цілочисельні типи даних.вказані мінімальні значення гарантуються стандартом ANSI. Значення вказуються в круглих дужках після описання.

stdbool.h(цей заготовочний файл містить визначення для роботи з мулевими змінними(тип _bool)

float.h (цей заготовочний файл містить визначення різних значень, зв’язаних з речовою арифметикою. Значення вказуються в круглих дужках після описання.

stdint.h(цей заголовочний файл містить різні визначення і константи, які можна використовувати при роботі з цілими числами в програмах, незалежних від системи)

б)Стандартні бібліотеки:

stdio.h(стандартна);

Бібліотеки які часто використовуються: conio.h(дозвіл працювати з екраном);math.h(матем.);string.h(рядками.);graphies.h(графіки);ctype.h(перетворення даних);alloc.h(розподілу памяті)

ОПЕРАТОРИ УМОВНОЇ ТА БЕЗУМОВНОЇ ПЕРЕДАЧІ УПРАВЛІННЯ if, goto.

Оператор умовного переходу if

If (<umova>) <operator_1>;

[else <operator_2>];

Else відноситься до найближчого if.

Приклад програми.

#include <stdio.h>;

Int main ()
{

Int t=2, b=7, r=3;

If (t>b)

If (b<r) r=b

Else r=t;

Return 0

}

Умовою в операторі if може бути арифметичний, логічний вираз, вираз порівняння, ціле число, змінна цілого типу, виклик функції, що повертає ціле значення.

Оператор goto:

Безумовний перехід (англ. unconditional branch) - перехід в задану точку програми без перевірки виконання будь-яких умов. В мові програмування такому переходу відповідає спеціальна інструкція goto. У невеликих програмах, goto може полегшити і спростити написання програмного коду. Хоча зазвичай її використання можна замінити іншими інструкціями, наприклад, циклом.

goto <ім'я мітки>;

***

<ім'я мітки>: оператор;

Оператор goto передає управління безпосередньо на оператор, позначений міткою <ім'я мітки>. Позначений оператор виконується відразу ж після виконання оператора goto, якщо оператор з даною міткою відсутній або є більше одного оператора зазначеного однієї і тієї ж міткою, то видається повідомлення про помилку.

приклад:

if (errorcode> 0)

goto exit;

***

exit: return (errorcode);

У прикладі оператор goto передає управління на оператор, позначений міткою exit, коли відбувається помилка.

Мітка - це простий ідентифікатор. Її ім'я не повинно збігатися з будь-якими службовими або зарезервованими словами С. Назви міток для однієї ф-і повинні бути різними.

Оператор switch.

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

Формат

Switch <viraz>

{

Case <const_1>:<operator_1>;

Case <const_2>:<operator_2>;

Case <const_n>:<operator_n>;

Default: <operator>;

}

Здійснюється обчислення виразу представляється цілим числом. Потім здійснюється перевірка чи співпадає значення виразу за ключовими словами case. Управління передається на оператор константи, яка дорівнює значенню виразу. Після цього виконуються усі оператори тіла switch. Якщо жодна з констант не дорівнює значенню виразу, виконується оператор після default.

Int=2

Switch (i)

{

Case 1: i+=2; break;

Case 2: i+=3; break;

Case 0: i/=2; break;

Case 4: i-=5; break;

Default;

}

 

11. for (<ініціалізація>; <перевірка умови>; <модифікатор>) <оператор>

For (i=2; i<=10; i++) S=S+1;

Схема виконання оператора for:
1. Обчислюється вираз 1.
2. Обчислюється вираз 2.
3. Якщо значення виразу 2 відмінно від нуля (істина), виконується тіло циклу, обчислюється вираз 3 і здійснюється перехід до пункту 2, якщо вираз 2 дорівнює нулю (брехня), то управління передається на оператор, наступний за оператором for.
Суттєво те, що перевірка умови завжди виконується на початку циклу. Це означає, що тіло циклу може жодного разу не виконатися, якщо умова виконання відразу буде хибним.

Іншим варіантом використання оператора for є нескінченний цикл. Для організації такого циклу можна використовувати пусте умовний вираз, а для виходу з циклу зазвичай використовують додаткову умову і оператор break.
Приклад:
for (;;)
{
...
... break;
...
}
Так як згідно синтаксису мови С оператор може бути порожнім, тіло оператора for також може бути порожнім. Така форма оператора може бути використана для організації пошуку.

 

 

12. While (<умова>) <оператор> з перед умовою. Обчислює значення виразу. Може бути виконана один раз, декілька разів або не бути виконаною.

Схема виконання оператора while наступна:
1. Обчислюється вираз.
2. Якщо вираз помилково, то виконання оператора while закінчується і виконується наступний по порядку оператор. Якщо вираз істинний, то виконується тіло оператора while.

Так само як і при виконанні оператора for, в операторі while спочатку відбувається перевірка умови. Тому оператор while зручно використовувати в ситуаціях, коли тіло оператора не завжди потрібно виконувати.
Всередині операторів for і while можна використовувати локальні змінні, які повинні бути оголошені з визначенням відповідних типів.

 

13. Do <команда_1>; while (<вираз>); з після умовою. Команда буде виконуватися хоча б один раз завжди.

Схема виконання оператора do while:
1. Виконується тіло циклу (яке може бути складеним оператором).
2. Обчислюється вираз.
3. Якщо вираз помилково, то виконання оператора do while закінчується і виконується наступний по порядку оператор. Якщо вираз істинний, то виконання оператора триває з пункту 1.
Щоб перервати виконання циклу до того, як умова стане хибним, можна використовувати оператор break.
Оператори while і do while можуть бути вкладеними.
Приклад:
int i, j, k;
...
i = 0; j = 0; k = 0;
do {i + +;
j -;
while (a [k] <i) k + +;
}
while (i <30 & & j <-30);

 



Поделиться:


Последнее изменение этой страницы: 2016-04-21; просмотров: 490; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.12.161.77 (0.013 с.)