Структура програми на мові Сі

Содержание

Слайд 2

Структура програми на мові Сі Одна з функцій має ім’я main

Структура програми на мові Сі

Одна з функцій має ім’я main і

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

Програма визначає, чи є три числа арифметичною прогресією. #include #include #include

Програма визначає, чи є три числа арифметичною прогресією.

#include
#include


#include "file2.c"
int decr;
int main(int argc, char *argv[])
{
int a,b,c,func(int,int,int);
printf("Введіть три числа\n"); scanf("%d%d%d",&a,&b,&c);
if (func(a,b,c))
printf("\nАрифметична прогресія з різницею: %d", decr);
else printf ("\nНе арифметична прогресія");
getch(); return 0;
}

початок

ввести 3 числа

вивести «Ні»

вивести різницю

кінець

прогре-сія?

Так

Ні

Слайд 4

Вміст файлу: file2.c int func(int x, int y, int z) {

Вміст файлу: file2.c

int func(int x, int y, int z)
{

extern int decr;
decr=y-x;
return (y-x==z-y);
}

початок

кінець

Підпрограма-функція int func(int x, int y, int z)

decr=y-x

повернути
y-x==z-y

Слайд 5

Найкоротша програма main() { } або main() { }

Найкоротша програма

main()
{
}
або
main() { }

Слайд 6

Команди препроцесора Починаються з # і повинні стояти на початку рядку

Команди препроцесора

Починаються з # і повинні стояти на початку рядку
#include, #define,

#undef, #if, #ifdef, #ifndef, #else, #endif, #pragma, #line, #error і т.д.
#include – вносить до тексту програми вміст файлу в те місце, де зустрічається.
#include <стандартний_файл>
#include “будь_який_файл”
Слайд 7

Команди препроцесора #define – підставлення #define текст1 текст2 – після зустрічі

Команди препроцесора

#define – підставлення
#define текст1 текст2 – після зустрічі такої команди

нижче неї весь текст1 буде замінений на текст2.
#define pi 3.14
#define begin {
#define abo ||
#define min(x,y) (x#undef текст1 – відміняє відповідний останній #define
Слайд 8

Команди препроцесора #if, #ifdef, #ifndef, #else, #endif – використовуються для умовної

Команди препроцесора

#if, #ifdef, #ifndef, #else, #endif – використовуються для умовної компіляції.
#ifdef

pi
#include
#define LABA 1
#else
#include "matrix.h"
#define LABA 2
#endif
Слайд 9

Команди препроцесора #if SYS == "Windows" #include "windows.h" #endif #pragma –

Команди препроцесора

#if SYS == "Windows"
#include "windows.h"
#endif
#pragma – опція(настроювання) компілятора
#error – виведення

інформації про помилку під час компіляції і завершення компіляції
#ifndef unix
#error "Програму можно компилювати
тільки для Unix!"
#endif
Слайд 10

Оператори мови Сі 1. Оператор-вираз Будь-який вираз, який закінчується крапкою з

Оператори мови Сі

1. Оператор-вираз
Будь-який вираз, який закінчується крапкою з комою є

оператором.
Виконання цього оператора зводиться до обчислення виразу.
Будь-який оператор повертає значення. Якщо його не використати, воно втрачається.
a++;
y=sin(x);
6+x*10;
Слайд 11

Оператори мови Сі 2. Пустий оператор ::= ; Пустий оператор використовується

Оператори мови Сі

2. Пустий оператор
<пустий оператор>::=<пусте місце>;
Пустий оператор використовується тоді коли

за синтаксисом мови програмування повинен бути оператор але він нам не потрібен.
; ; ;
if () ; else ;
If (a<0); else m=0;
Слайд 12

Оператори мови Сі 3. Операторні дужки (складений оператор) об'єднує декілька операторів

Оператори мови Сі

3. Операторні дужки (складений оператор)
об'єднує декілька операторів в

один
Використовується там, де за синтаксисом (правилами) мови може бути тільки один оператор, а нам треба виконати більше (послідовність операторів).
<операторні дужки>::={<оператор1>; … <операторN>;}
Приклад:
If (a>b) {a=b+2; m=sqrt(z); k=1; } else {m=5; z=0; }
Після фігурних дужок крапка з комою не ставиться. Якщо поставити, це буде додатковий оператор(пустий).
Слайд 13

Оператори умовного переходу 4.Оператор умовного переходу if Існують два види умовного оператору if: повний скорочений

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

Існують два види умовного оператору if:


повний
скорочений
Слайд 14

Повний умовний оператор ::= if ( ) ; else ; Спочатку

Повний умовний оператор

<повний умовний оператор>::=
if (<вираз>) <оператор1>; else <оператор2>;
Спочатку вираховується

значення виразу, якщо <вираз>≠0 (true, так, правда, істина), то виконується <оператор1>, якщо <вираз>=0 (false, ні, неправда), то виконується <оператор2>

Так

Ні

оператор1

оператор2

вираз

Слайд 15

Повний умовний оператор if (x>25) y=43; else z=-62; Після виразу і

Повний умовний оператор
if (x>25) y=43; else z=-62;
Після виразу і після else

може бути тільки по одному оператору, якщо треба більше, то використовуються операторні дужки(оператори беруться у фігурні дужки)
if (<вираз>) {оператор1; … операторN;}
else {оператор1; … операторM;};
Слайд 16

Скорочений умовний оператор ::= if ( ) ; Вираховується значення виразу

Скорочений умовний оператор

<скорочений умовний оператор>::=
if (<вираз>) <оператор>;
Вираховується значення виразу та порівнюється

з нулем. Якщо <вираз>≠0 (true, так, правда, істина), то виконується <оператор> і оператор if закінчується.
Якщо <вираз> дорівнює 0 (false, ні, неправда), то оператор if закінчується.
Слайд 17

Скорочений умовний оператор Якщо не потрібен оператор у випадку правдивості логічного

Скорочений умовний оператор

Якщо не потрібен оператор у випадку правдивості логічного виразу,

то після виразу оставити пустий оператор:
if (<вираз>); else<оператор>;
Вираховується значення виразу і порівнюється з нулем. Якщо <вираз>≠0 (true, так, правда, істина), то оператор if закінчується, якщо <вираз> дорівнює 0 (false, ні, неправда), то виконується <оператор> і оператор if закінчується.
Слайд 18

З пустими операторами: if (m==0) c=y; else; if (b З операторними

З пустими операторами:
if (m==0) c=y; else;
if (b<9); else b=0;
З операторними дужками:
if

(k!=m) {m=45; x=r+4;}
if (g<=m); else {r=76; printf("Помилка!"); getchar(); }

Скорочений умовний оператор

g<=m

Так

Ні

r=76

Вивести «Помилка»

Ввести символ

Слайд 19

Вкладені оператори умовного переходу if else відноситься до першого зліва оператору

Вкладені оператори умовного переходу if

else відноситься до першого зліва оператору if,

у якого ще не було else. Для зміни такого порядку використовують операторні дужки.
if (a) if (a)
if (b) op1; else op2; { if (b) op1; }
else op2;
Слайд 20

5. Оператор вибору switch (теж оператор умовного переходу) switch ( )

5. Оператор вибору switch (теж оператор умовного переходу)

switch (<вираз цілого типу>)
{

[<опис змінних>]
{[case <констант-вираз>:][{<оператор}>] }
[default: [{<оператор}>] ]
 }
<констант-вираз>::=<вираз>, що складається тільки зі сталих значень.
Вираховується <вираз цілого типу>
і значення констант-виразів (повинні
бути цілими) і порівнюється між собою,
починаючі з першого констант-виразу.
Якщо знайдено співпадіння, то
виконуються всі оператори від місця
співпадіння і до кінця switch. Якщо спів-
падіння нема, то виконуються оператори
після default. Якщо зустрівся оператор
break, то після нього виконання оператора switch закінчується.

Вир==конст2

Вир==конст3

Вир==констN