1 of 19

�����C Programming�God’s Programing Languagebased on https://www.javatpoint.com/c-programming-language-tutorial, https://www.tutorialspoint.com/cprogramming/index.htm

National Technical University of Oil and Gas

Institute of Information Technologies

Ivano-Frankivsk, Ukraine

2 of 19

Комп'ютерна ера

  • Вважається, що перша електронна обчислювальна машина була винайдена в 1942-1943 роках. З цього часу й почався бурхливий розвиток комп'ютерів та мов програмування.

ЕОМ першого покоління Урал-4

Побудовані на електронних

вакуумних лампах

ЕОМ другого покоління Мінськ-32

Побудовані на транзисторах і

мали власні контролери

3 of 19

3

Поняття мови програмування

To make a computer do anything, you have to write a computer program. To write a computer program, you have to tell the computer, step by step, exactly what you want it to do. The computer then "executes" the program, following each step mechanically, to accomplish the end goal.

When you are telling the computer what to do, you also get to choose how it's going to do it. That's where computer algorithms come in. The algorithm is the basic technique used to get the job done.

4 of 19

4

Мова програмування- це формальна знакова система, призначена для опису

Алгоритмів у формі, яка зручна для виконавця (наприклад, комп'ютера).

Мова програмування визначає набір лексичних, синтаксичних правил, які

використовуються при складанні комп'ютерних програм. Вона дозволяє

програмісту точно визначити те, на які події буде реагувати комп'ютер, які

дані будуть зберігатися і передаватися, а також, які саме дії слід виконати

над цими даними при різних обставинах.

Скільки всього мов програмування? З часів створення перших комп'ютерів,

людство винайшло понад 2500 мов програмування. Деякими мовами вміє

користуватися тільки невелика кількість їх розробників, інші – стають

доступними для мільйона людей. Професійні програмісти іноді застосовують

у своїй роботі більше десятка різноманітних мов програмування

5 of 19

  • C programming is a general-purpose, procedural, imperative computer programming language developed in 1972 by Dennis M. Ritchie at the Bell Telephone Laboratories to develop the UNIX operating system. C is the most widely used computer language. It keeps fluctuating at number one scale of popularity along with Java programming language, which is also equally popular and most widely used among modern software programmers.

Why to Learn C Programming?

  • C programming language is a MUST for students and working professionals to become a great Software Engineer specially when they are working in Software Development Domain. I will list down some of the key advantages of learning C Programming:
  • Easy to learn
  • Structured language
  • It produces efficient programs
  • It can handle low-level activities
  • It can be compiled on a variety of computer platforms

Facts about C

  • C was invented to write an operating system called UNIX.
  • C is a successor of B language which was introduced around the early 1970s.
  • The language was formalized in 1988 by the American National Standard Institute (ANSI).
  • The UNIX OS was totally written in C.
  • Today C is the most widely used and popular System Programming Language.
  • Most of the state-of-the-art software have been implemented using C.
  • Today's most popular Linux OS and RDBMS MySQL have been written in C.

C language is considered as the mother language of all the modern programming languages because most of the compilers, JVMs, Kernels, etc. are written in C language, and most of the programming languages follow C syntax, for example, C++, Java, C#, etc.

Мову створили

1972-1974 – Б. Керніган, Д. Рітчі

6 of 19

Навіщо потрібна Сі?

Важливість мови Сі неоцінена, тому нагадаємо її основні положення.

  • Велика частина системного програмного забезпечення пишеться мовою Сі. Ядро популярної open source ОС Linux було написане на Сі.
  • Величезним плюсом Сі є те, що кожна інструкція мови транслюється в машинний код прямо і зрозуміло. Виконується рівно той код, який програміст бачить на екрані. Втім, у сучасних компіляторах, звичайно, можуть застосовуватися хитрі оптимізації, але в меншій кількості випадків.
  • Варто зазначити, що найпопулярніші мови програмування так чи інакше пов’язані з Сі. Наприклад, Java і C# мають так званий Сі-подібний синтаксис, а C++ і Objective-C у тому або іншому роді є розширеннями Сі.
  • Якщо Ви пишете код динамічною мовою програмування, як-от: PHP, JavaScript або Python, то його інтерпретатор, середовище виконання і більшість бібліотек в основному написані на Сі. Отже, щоб зрозуміти особливості поведінки тієї або іншої мови, треба знати особливості мови Сі. А якщо Ви вийшли за рамки можливостей своєї мови програмування, то не встигнете озирнутися, як почнете писати нове розширення на Сі.
  • До того ж, знання Сі дозволяє програмістові по-справжньому оцінити не лише всі переваги високорівневих мов програмування, але й обмеження, які виникають у разі їх використання.
  • І це далеко не всі аргументи на користь вивчення Сі.

7 of 19

  • Компілюючі мови. Мови програмування діляться на два класи компілюючі та інтерпретуючі. Програма на компілюючій мові за допомогою спеціально ї програми компілятора перетворюється у набір інструкцій для даного типу процесора (машинний код) і далі записується у виконуємий файл ( файли з розширення com, exe), котрий може бути запущеним на виконання як окрема програма. Іншими словами, компілятор перекладає програму з мови високого рівня на низькорівневу мову, зрозумілу процесору.
  • Інтерпретуючі мови Якщо програма написана на інтерпретуючій мові, то інтерпретатор безпосередньо виконує її текст без попереднього перекладу. При цьому програма залишається на вихідній мові і не може бути запущена без інтерпретатораМожна сказати, що процесор комп'ютера це інтерпретатор машинного коду. Можна сказати, що процесор комп'ютера це інтерпретатор машинного коду.
  • Коротко кажучи, компілятор перекладає програму на машинну мову одразу і цілком, створюючи при цьому окрему програму, а інтерпретатор перекладає її на машинну мову під час виконання програми.

8 of 19

Features of C Language

C is the widely used language. It provides many features that are given below.

  • Procedural Language
  • Fast and Efficient
  • Modularity
  • Statically Type
  • General Purpose Language
  • Rich set of built in Operators
  • Libraries with rich Functions
  • Middle Level Language
  • Portability
  • Easy to Extend

9 of 19

auto

double

int

struct

break

else

long

switch

case

enum

register

typedef

char

extern

return

union

const

float

short

unsigned

continue

for

signed

void

default

goto

sizeof

volatile

do

if

static

while

Основні риси мови програмування С.

Мову С найчастіше використовують системні програмісти, хоча нею можна написати будь які програми.

Програмування на С потребує від програміста уважності і обережності. Brian W. Kernighan, автор першої книги з Сі так висловився про цю мову: «Сі — інструмент, гострий, як бритва: за його допомогою можна створити і елегантну програму, і кроваве місиво».

Засоби мови дозволяють писати компактні програми, але читати такі тексти не завжди просто.

Складовими частинами мови є:

  • символи (алфавіт мови) - це основні неподільні знаки, за допомогою яких пишуться всі тексти на мові програмування;
  • лексеми (слова) - мінімальні одиниці мови, які мають самостійний зміст;
  • вирази - задають правило обчислення деякого значення;
  • оператори (інструкції) задають опис деякої дії.

Алфавіт мови

    • великі та малі латинські літери: A-Z, a-z.
    • арабські цифри;
    • символи , . ; : ? ' ! | / \ ~ ( ) [ ] { } < > # % ^ & - + * =

Лексеми.

Лексеми – це слова мови. До лексем відносять ключові слова, ідентифікатори та константи

Ключові слова

10 of 19

Ідентифікатори

  • Ідентифікатори – це імена змінних, функцій та деяких інших об'єктів програми. Основні правила такі:
  • мають починатися з букви;
  • можуть містити цифри;
  • мають писатися без пропусків.
  • У Сі великі і маленькі літери, що використовуються для імен, розрізняються!

Константи

        • Константи цілочислові
  • Десяткові: 12345 -17 +1098
  • Вісімкові: 0110 077 01234567
  • Шістнадцяткові: 0х123 0хF3а2E
        • Дійсні константи
  • З фіксованою крапкою: 1.2345 -0.017 +1098.2345
  • З плаваючою крапкою: 123.45е-2 1.0982345Е3
        • Символьні константи
  • Прості символи: ’A’ ’b’ ’щ’ ’[’ ’\’
  • Ecкейп-послідовності ’\n’ ’\a’ ’\’’ ’\t’
        • Рядки символів
  • ”Привіт першокурснику!\n”
  • ”Ми вивчаємо курс \”Програмування на С\”!”

11 of 19

Типи даних

Основна мета будь-якої програми полягає в обробці даних. У залежності від того, з якими даними ми будемо працювати, вони оброблятимуться по-різному. Наприклад, математичні операції ділення або видобування кореня можна здійснювати над числами, але ніяк над словами.

Тип даних визначає:

¤ внутрішнє представлення даних в пам’яті комп’ютера (скільки комірок пам’яті буде виділено під зберігання значень, як вони будуть перекодовані);

набір значень, які можуть приймати величини цього типу;

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

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

Примітки

♦ Символи “//” означають рядковий коментар, і не сприймаються при компілюванні програми (перевірці тесту програми на помилки, перетворення її в двійкове кодування).

♦ Після кожної команди програми необхідно ставити знак “;”.

Обираючи тип змінної, програміст повинен враховувати, з яким діапазоном значень потрібно працювати, які дії над даними виконувати.

12 of 19

Найпростіша програма

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

До розділу оголошень входять також директиви препроцесору, що починаються символом #

Кожна програма на С та С++ обов’язково повинна мати у своєму складі функцію з назвою main(). Це головна функція програми з якої починається виконання кожної програми (точка входу).

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

Однією з найпоширеніших директив є директива включення #include. Вона призначена для приєднання до програми текстового файлу, ім’я якого задається в цій директиві. Текст файлу вставляється в програму в тому місці, де була записана директива.

Директива допускає дві форми запису імен файлів:

#include < ім’я_файлу > // ім’я в кутових дужках

#include “ім’я_файлу ” // ім’я в лапках

13 of 19

Перша програма

14 of 19

Перша програма

Покажемо програму цього типу на прикладі. Нехай потрібно обчислити висоту зубців ht шарошкового долота типу В-93Т після відпрацювання ним t одиниць часу. Зменшення висоти зубців долота в часі обчислюється за формулою, де k = 4,14, а ω = -1,94.

15 of 19

  • Ви ознайомилися з короткою історією комп'ютерної техніки та еволюцією програмного забезпечення.
  • З'ясували, що синтаксис та базові основи принципів програмування для більшості мов одинакові.
  • Визначили важливість та особливості мови С та її основні переваги.
  • Ознайомилися із синтаксисом, типами даних, структурою мови С.
  • Написали перші програми на мові С

15

Підсумки лекції

16 of 19

Список рекомендованої літератури:

  • Шилдт Г. Полный справочник по С / Г. Шилдт. – М. : Вильямс, 2009. – 704 с.
  • Керниган Б., Ритчи Д. Язык программирования C / Брайан Керниган, Деннис Ритчи – М. : Вильямс, 2013. – 304 с.
  • Kernighan B. W., Ritchie D. M. C Programming Language / Dennis M. Ritchie, Brian W. Kernighan, – 2nd ed. – Prentce-hall, inc., 1988. – 263 p.
  • Kochan S.G. Programming in C/ Stephen G. Kochan – 3nd ed. – Sams Publishing, 2004. – 505 p.

17 of 19

18 of 19

19 of 19

FAE building, the true home of Uni-IT