Структура повторення do while 


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



ЗНАЕТЕ ЛИ ВЫ?

Структура повторення do while



Структура вибору if

Синтаксис:

if (<умова>)

{
<послідовність_операторів>;

}

 

Структура вибору if/else

Синтаксис:

if (<умова>)

{
<послідовність_операторів_1>;

}
else

{

<послідовність_операторів_2>;

}

 

або

 

if (<умова_1>)

{
<послідовність_операторів_1>;

}
else if (<умова_2>)

{

<послідовність_операторів_2>;

}

 

Структура вибору switch

Синтаксис:

switch(<вираз цілого типу>)
{
case <значення_1>:
<послідовність_операторів_1>;
break;
case <значення_2>:
<послідовність_операторів_2>;
break;
..............................................................
case <значення_n>:
<послідовність_операторів_n>;
break;
[default:
<послідовність_операторів_n+1>;]
}

 

 

Структура повторення while

Синтаксис:

while (<логічний вираз>)

{
<послідовність_операторів>;

}

 

Структура повторення for

Синтаксис:

for([ініціалізація];[перевірка_умови];[нове_значення])

{
<послідовність_операторів>;

}

 

Структура повторення do while

do

{
<послідовність_операторів>;

}

while (<логічний_вираз>);

 

Оператор розриву break

Синтаксис:

break;

Оператор продовження continue

Синтаксис:

continue;

 

Оператор переходу goto

Синтаксис:

goto <мітка>;

/*... */

<мітка>:

<послідовність_операторів>;

 

Таблиця 1.9. Математичні функції (math.h)

Функція Опис Тип повернення
abs(int x); Повертає модуль цілого числа. int
acos(double x); acosl(long double (x)); Повертає арккосинус аргумента. double long double
asin(double x); asinl(long double (x)); Повертає арксинус аргумента double long double
atan(double x); atanl(long double (x)); Повертає арктангенс аргумента. double long double
atan2(double y, double x); atan2l(long double(y), long double (x)); Повертає арктангенс відношення аргументів. double long double
ceil(double x); ceill(long double (x)); Заокруглення до найменшого цілого, більшого або рівного заданому числу double long double
cos(double x); cosl(long double x); Обчислення косинуса. double long double
cosh(double x); coshl(long double (x)); Обчислення гіперболічного косинуса double long double
exp(double x); exp(long double (x)); Повертає степінь числа е. double long double
fabs(double x); fabsl(long double @E(x)); Повертає модуль числа (для дійсних чисел) double long double
floor(double x); floorl(long double (x)); Заокруглення до найменшого цілого, меньшого або рівного заданому числу double long double
fmod(double x, double y); fmod(long double (x), long double (y)); Повертає залишок від ділення аргументів double long double
frexp(double x, int *exponent); frexp(long double (x), int *(exponent)); Виділяє з числа мантису і експоненціальну частину double long double
ldexp(double x, int expon); ldexpl(long double (x), int (expon)); Перетворює мантису і показник степеня в число. double long double
log(double x); logl(long double (x)); Обчислює натуральний логарифм double long double
log10(double x); log10l(long double (x)); Обчислює десятковий логарифм double long double
modf(double x, double *ipart); modfl(long double (x), long double *(ipart)); Розбиває число на цілу і дробову частини (зберігає цілу частину в ipart та повертає дробову частину) double long double
pow(double x, double y); pow(long double (x), long double (y)); Підносить число до вказаного степеня double long double
sin(double x); sinl(long double x) Обчислює синус аргумента double long double
sinh(double x); sinhl(long double (x)); Обчислює гіперболічний синус аргумента double long double
sqrt(double x); sqrtl(long double @E(x)); Обчислює квадратний корінь аргумена double long double
tan(double x); tanl(long double x); Обчислює тангенс аргумента double long double
tanh(double x); tanhl(long double (x)); Обчислює гіерболічний тангенс аргумента double long double

Генерація випадкових чисел

Заголовний файл: <stdlib.h>

 

Функція rand()

Синтаксис:

int rand(void);

Повертає випадкове ціле число в діапазоні від 0 до RAND_MAX.

 

Функція srand()

Синтаксис:

void srand(unsigned к);

Ініціалізує генератор випадкових чисел.

 

Функції

Синтаксис:

тип_поверн_значення ім'я_функції ([список_аргументів])

{

<оператори тіла функції>;

}

 

 

Рекурсивні функції

Прямою (безпосередньою) рекурсією називається рекурсія, при якій всередині тіла деякої функції міститься виклик тієї ж функції.

void fn(int i)

{

/*... */

fn(i);

/*... */

}

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

Непряма рекурсія:

Класи пам’яті

Клас пам'яті Ключове слово Час існування Область дії
Автоматичний auto тимчасово блок
Регістровий register тимчасово блок
Статичний локальний static постійно блок
Статичний глобальний static постійно файл
Зовнішній extern постійно програма

Сортування методом вибору

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

Даний процес виконується до тих пір, поки не буде поставлено на місце N-1 елемент.

 

Сортування вставками

Даний метод сортування називається сортування вставками, так як на і-му етапі відбувається "вставка" і-ого елемента a[i] в потрібну позицію серед елементів a[1], a[2], …, a[i-1], які вже впорядковані. Після цієї вставки перші і елементів будуть впорядковані.

 

Швидке сортування

Швидке сортування полягає в тому, що множина елементів В { k1, k2, …, kn } перетворюється на множину B1, {k1}, B2, де В1 - підмножина В з елементами, не більшими за k1, а В2 - підмножина В з елементами більшими k1. Причому елемент k1 після розбиття множини В буде перебувати на потрібному місці. Далі до множин B1 і B2 знову застосовують впорядкування швидким сортуванням.

 

Блокове сортування

 

Пошук в масивах

 

Бінарний пошук

Високошвидкісний бінарний пошук використовується у випадку відсортованого масиву.

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

 

Покажчики

 

Форма оголошення змінної типу покажчик:

тип [модифікатор] * ім’я_покажчика;

де тип - найменування типу змінної, адресу якої буде містити змінна-покажчик (на яку він буде вказувати).

Модифікатор необов'язковий і може мати значення:

near - ближній, 16-бітний покажчик (встановлюється за замовчуванням), призначений для адресації 64-кілобайтного сегмента ОП;

far - дальній, 32-бітний покажчик, містить адресу сегмента і зсув у ньому: може адресувати ОП обсягом до 1 Мб;

huge - величезний, аналогічний покажчику типу far, але зберігається у нормалізованому форматі, що гарантує коректне виконання над ним операцій; застосовується до функцій і до покажчиків для специфікації того, що адреса функції або змінної, що адресується, має тип huge;

ім’я_покажчика - ідентифікатор змінної типу покажчик.

 

Таблиця символів ASCII


Структури

 

Синтаксис:

struct [ім'я_структури]

{

тип1 елемент1;

тип2 елемент2;

........................

типN елементN;

} [список описів];

 

Об’явлення typedef

Синтаксис:

struct ім'я_структури

{

тип1 елемент1;

тип2 елемент2;

........................

типN елементN;

};

typedef struct ім'я_структури ім'я_типу;

або

typedef struct [ім'я_структури]

{

тип1 елемент1;

тип2 елемент2;

........................

типN елементN;

} ім'я_типу;

 

Бітові поля

Синтаксис:

struct [ім'я_структури]

{

тип1 елемент1: розмір_поля1;

тип2 елемент2: розмір_поля2;

........................

типN елементN: розмір_поляN;

} [список описів];

 

Об'єднання

Синтаксис:

union [ім'я_об'єднання]

{

тип1 елемент1;

тип2 елемент2;

........................

типN елементN;

} [список описів];

 

 

Перераховані константи

Синтаксис:

enum [ ім'я_типу ] { список_констант } [список описів];

 

 

Файлові потоки

 

Структура FILE

typedef struct

{

short level; /*рівень буферу*/

unsigned flags; /*статус файлу */

char fd; /*дескриптор файла*/

char hold; /*попередній символ,якщо немає буферу*/

short bsize; /*розмір буферу*/

unsigned char *buffer; /*буфер передавання даних*/

unsigned char *curp; /*поточний активний покажчик*/

short token; /*перевірка коректності*/

} FILE;

 

Структура вибору if

Синтаксис:

if (<умова>)

{
<послідовність_операторів>;

}

 

Структура вибору if/else

Синтаксис:

if (<умова>)

{
<послідовність_операторів_1>;

}
else

{

<послідовність_операторів_2>;

}

 

або

 

if (<умова_1>)

{
<послідовність_операторів_1>;

}
else if (<умова_2>)

{

<послідовність_операторів_2>;

}

 

Структура вибору switch

Синтаксис:

switch(<вираз цілого типу>)
{
case <значення_1>:
<послідовність_операторів_1>;
break;
case <значення_2>:
<послідовність_операторів_2>;
break;
..............................................................
case <значення_n>:
<послідовність_операторів_n>;
break;
[default:
<послідовність_операторів_n+1>;]
}

 

 

Структура повторення while

Синтаксис:

while (<логічний вираз>)

{
<послідовність_операторів>;

}

 

Структура повторення for

Синтаксис:

for([ініціалізація];[перевірка_умови];[нове_значення])

{
<послідовність_операторів>;

}

 

Структура повторення do while

do

{
<послідовність_операторів>;

}

while (<логічний_вираз>);

 

Оператор розриву break

Синтаксис:

break;



Поделиться:


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

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