Шпора системне

1 Коротка історія мови програмування С.

Мова С була створена Денисом Річі в 1972р. для розробки операційної системи , щоб допомогти швидко писати програми. Ним почали користуватися для розробки потужних програм.

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

2 Характеристика мови програмування.

Мова характеризується такими властивостями:

1. Гнучкість. Обмеження програмування _ це обмеження вашої фантазії. Вона використовується при розробці

Операційних систем

Текстових редакторів

Графічних програм

Програм діловодства

Компіляторів інших мов.

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

3. Модульність. С – модульна мова. Програму можна і треба писати в вигляді окремих підпрограм-модулі, які називаються функціями. Такі функції можна потім використати в інших програмах і для іншої мети.

4. Компактність. Словник дуже короткий. В ньому декілька фіксованих термінів, які називаються ключовими словами.(службовими). Вони служать для функціональних можливостей мови.

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

Програма складається з таких елементів:

Директиви препроцесора, які спецефікують дії препроцесора по перетворенню тексту програми перед компіляцією

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

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

Щоб програма могла бути скомпільована і визначена, вона повинна мати хоч би одне визначення функції. Якщо програма має декілька функцій, то серед них виділяється одна головна, яка повинна мати ім’я main(). З неї починається виконання програми, вона задає порядок дій і керує решту функціями.

4 Етапи обробки програми .

Початкова програма, підготована на С у вигляді текстового файлу, проходить 3 етапи обробки:

препроцесорне перетворення тексту ;

компіляція;

3) компонування

5 Призначення директиви препроцесора.

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

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

Після виконання препроцесорної обробки в тексті програми не залишається жодної препроцесорної директиви.

Приклад програми на С:

#include //препроцесорна директива

void main()//функція

{//початок

printf(“Hello! “);//друк

}//кінець

6 Елементи мови програмування С.

У тексті на будь-якій природній мові можна виділити чотири основних елементи: символи, слова, словосполучення й речення. Алгоритмічна мова також містить такі елементи, тільки слова називають лексемами , словосполучення — виразами, речення – операторами.

7 Алфавіт мови програмування С.

Розглянемо елементи алгоритмічної мови С:

Алфавіт мови включає:

великі й малі латинські букви й знак підкреслення;

арабські цифри від 0 до 9;

спеціальні знаки “{},| []()+-/%*.\’:;&?=!#^

пробільні символи (пробіл, символи табуляції і переходу на новий рядок).

Знаки операцій – це один або декілька символів, що визначають дію над операндами. Операції поділяються на унарні, бінарні й тернарні по кількості операндів, що беруть участь у цій операції.

Роздільники – дужки, крапка з комою, пробільні символ

8.Ідентифікатори мови програмування С.

Ідентифікатор — це ім’я змінної, функції, константи, мітки або іншого об’єкти.

Вимоги до імен змінних.

Ім’я складається з великих і малих латинських букв, арабських цифр і символу підкреслювання.

Першим символом повинна бути буква і символ підкреслювання, який до речі першим не рекомендується використовувати. Цифри не можуть бути першими.

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

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

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

Оскільки пропуски в іменах змінних використовувати не можна, то є дві рекомендації для використання імен змінних, що складаються з кількох слів є:

Розділяти слова символом підкреслювання (Size_file)

Кожне слово починати з великої букви, (SizeFile)

9. Ключові слова мови програмування С.Ключові слова – це слова, які мають спеціальне призначення для компілятора. ЇХ можна використовувати як ідентифікатори, бо їх значення строго визначене і їх присутність в програмі виконує строго регламентовану функцію. Словник мови програмування С короткий. Всі ключові слова пишуться малими і латинськими літерами. Прикладом ключових слів є: for(для), if(якщо), case( варіант), do(виконати).

10 Коментарі мови програмування С.

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

11 Зберігання інформації в константах .

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

Константи є двох типів :

Літеральні

Символічні

Літеральні константи — це константи, являють собою значення, які стоять там, де вони використовуються в програмі без змін. Літеральні константи є

дійсні, якщо вони записані з десятковою комою і компілятор її сприймає як дійсне число з подвійною точністю,

цілі константи це числа без крапки.

десяткова, починається з любої цифри, крім нуля, може мати знак плюс або мінус, без знакова константа завжди додатна, має цифри від 0 до

вісімкова починається з нуля, має далі вісімкові цифри від 0 до 7, може мати знак плюс або мінус, без знакова константа завжди додатна.

шістнадцяткова починається з 0Х або 0х може мати цифри від 0 до 9 і букви від A до F, може мати знак плюс або мінус, беззнакова константа завжди додатна.

Залежно від значення цілої константи компілятор по-різному представить її в пам’яті комп’ютера (тобто компілятор припише константі відповідний тип даних).

Символічні константи — це константи, представлені своїм іменем.

Символьні константи – це один або два символи, взяті в апострофи. Символьні константи, що складаються з одного символу, мають тип char і займають у пам’яті один байт, символьні константи, що складаються із двох символів, мають тип int і займають два байти.

Рядкова константа – це послідовність символів в подвійних лапк.ах. Всередині рядків також можуть використовуватися керуючі символи. Наприклад: “\nновий рядок”.

12 Оператори присвоєння

Операції присвоювання задаються сукупністю знаків:

=, +=, -=, += і т.д.

Формат операції простого присвоювання:

операнд1 = операнд2;

Ліводопустиме значення (L-значення) — вираз, що адресує деяка ділянка пам’яті, тобто в нього можна записати значення. Ця назва відрізняється від операції присвоювання, тому що саме ліва частина операції присвоювання визначає, у яку область пам’яті буде занесений результат операції. Змінна — це окремий випадок ліводопустимого виразу.

13 Вирази на мові програмування С

14 Арифметичні операції.

В мові є 3 унарні операції (які мають один аргумент) і 5 бінарних (які мають 2 аргументи).

Знаки операцій забезпечують формування виразів. Вирази складаються з операндів, знаків операцій і дужок. Кожен операнд є, в свою чергу, виразом або частковим випадком виразу — константою або змінною.

15.Унарні арифметичні операції

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

++ Операція інкременту — збільшення на одиницю:

префіксна операція — збільшує операнд до його використання,

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

— Операція декременту зменшення на одиницю:

префіксна операція — зменшує операнд до його використання,

постфіксна операція зменшує операнд після його використання.

sizeof обчислення розміру (у байтах) для об’єкта того типу, що має операнд

має дві форми

sizeof (вираз

sizeof (тип)

16 Бінарні арифметичні операції .

+

бінарний плюс (додавання арифметичних операндів)

-

бінарний мінус (віднімання арифметичних операндів)

*

Множення операндів арифметичного типу

/

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

%

одержання залишку від ділення цілочисельних операнд

17 Логічні операції.

В мові є три логічні операції.

&&

кон’юнкція (І) цілочисельних операндів або відношень, цілочисельний результат неправда(0) або істина(не 0)

||

диз’юнкція (АБО) цілочисельних операндів або відношень, цілочисельний результат неправда(0) або істина(не 0)

!

логічне заперечення (НІ). Як логічні значення використовується 0 — неправда й не 0 — істина, запереченням 0 буде 1, запереченням будь-якого ненульового числа буде 0.

менше, ніж

>

більше, ніж

менше або дорівнює

>=

більше або дорівнює

==

дорівнює

!=

не дорівнює

18 Операції порівняння

Пари арифметичних виразів, об’єднані операцією порівняння, називається відношенням. Якщо відношення має ненульове значення, то воно — істинне, інакше — хибне

Таблиця 3. Операції порівняння:

19. Операції інкременту та її форми

++ Операція інкременту — збільшення на одиницю:

префіксна операція — збільшує операнд до його використання,

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

20 Операції декременту та її форми

Операція декременту зменшення на одиницю:

префіксна операція — зменшує операнд до його використання,

постфіксна операція зменшує операнд після його використання.

21 Пріоритет виконання операції

22 Основні відомості про пам’ять комп’ютера.

Компютер має оперативну память

23 Опис змінних цілого типу.

26 Опис символів за допомогою ключового слова char.

Значеннями типу char є елементи до кінця впорядкованої множини символів. Кожному символу ставиться у відповідність число, що називається кодом символу. Під величину символьного типу виділяється 1 байт. Тип char може використовуватися зі специфікаторами signed й unsigned. У даних типу signed char можна зберігати значення в діапазоні від -128 до 127. При використанні типу unsigned char значення можуть перебувати в діапазоні від 0 до 255. Символи з кодами від 0 до 31 відносяться до службових й мають самостійне значення тільки в операторах вводу-виводу.

Величини типу char також застосовуються для зберігання чисел із зазначених діапазонів

27 Порожній тип void.

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

28 Задання значення змінних при описі.

29 Літеральні константи.

Літеральні константи — це константи, являють собою значення, які стоять там, де вони використовуються в програмі без змін. Літеральні константи є

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

цілі константи це числа без крапки. Цілі константи можна записати в одній з трьох систем числення

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

вісімкова починається з нуля, має далі вісімкові цифри від 0 до 7, може мати знак плюс або мінус, без знакова константа завжди додатна.

шістнадцяткова починається з 0Х або 0х може мати цифри від 0 до 9 і букви від A до F, може мати знак плюс або мінус, беззнакова константа завжди додатна.

Залежно від значення цілої константи компілятор по-різному представить її в пам’яті комп’ютера (тобто компілятор припише константі відповідний тип даних).

30 Символьні константи

Символьні константи – це один або два символи, взяті в апострофи. Символьні константи, що складаються з одного символу, мають тип char і займають у пам’яті один байт, символьні константи, що складаються із двох символів, мають тип int і займають два байти. Послідовності, що починаються зі знака \ , називаються керуючими, вони використовуються для представлення символів, що не мають графічного відображення, наприклад:

\a – звуковий сигнал,

\b – повернення на один крок,

\n – з нового рядка,

\t — горизонтальна табуляція.

31 Завдання символічних констант за допомогою ключового слова const.

Для опису і завдання констант використовують ключове слово const. Синтаксис опису і формат завдання константи:

Const тип ідентифікатор константи – значення.

Наприклад const int a=100;

Однотипні константи можна описувати і задавати через кому одним ключовим словом.

const float b=100.23, c=23.78;

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

32 Завдання символічних кон6стант за допомогою директиви define.

Директива #define. Формат директиви

#define імя константи літерал(значення, величина константи).

Ім’я константи задовольняє тим же правилам, що і -змінна, адже це той самий ідентифікатор. Ім’я константи рекомендують позначати великими буквами, щоб відрізнити від імені змінної. Директива це одна з директив препроцесора, після неї не ставиться крапка з комою, вона може стояти в будь-якому місці програми, але константа, описана нею діє тільки в тій частині програми, яка йде після директиви. Йде заміна по цілій програмі імені константи на літерал (її значення). Вона не заміняє входження імені константи , які є частинами інших імен, а також коментарів. Наприклад:

#define РІ 3.14

#define РІА 100 Буквосполучення РІ не буде замінено.

33Специфікатори тип

Для виводу даних обов’язково в форматному рядку необхідно вписати специфікатор типу( % специфікатор). Кожне дане яке ми виводимо повинне мати свій специфікатор типу. Напрклад для типу int (%d), для типу float (% f)

35 Функції scanf() форматного виводу даних з клавіатури.

Ввід за допомогою функції scanf(), котра вимагає підключення файлу stdio.h. є форматований. Синтаксис функції

scanf ( форматний рядок, список аргументів);

Функція scanf(), має змінне число аргументів, мінімум два. Перший аргумент це специфікація формату, який задається спеціальними символами, і задаються правила ідентифікації введених даних. Список аргументів — це адреси змінних, які повідомляють, що введене значення треба помістити в змінну. Наприклад:

scanf(’’%d’’, &x); scanf(“ %d%f ”, &x,&y);

%d повідомляє функції, що введене значення ціле число зі знаком треба помістити в змінну х.

36 Функція рrintf(), форматного виводу даних на екран.

Вивід за допомогою функції рrintf(), котра вимагає підключення файлу stdio.h. є форматований. Синтаксис фанкції.

Функція printf() має змінне число аргументів, мінімум один. Цей аргумент це специфікація формату, який задається спеціальними символами, і задаються правила ідентифікації виведених даних.. Наприклад:

printf ( форматний рядок, список аргументів);

Форматний рядок — рядок символів, взятих у лапки, що показує, як повинні бути надруковані аргументи. Наприклад:

printf ( “Значення числа Пі дорівнює %f\n”, pi);

Оператор printf(‘%d’, i) — Відображає на екрані значення змінної і, один рядок формата, який містить специфікацію виводу.

Оператор printf(‘%d plus %d = %d’, a, b, a+b) містить 4 аргументи, який містить текст і специфікації (3) виводу і 2 змінні та вираз, значення яких треба вивести. Специфікація виводу починається з %, за яким іде один або декілька символів, символи, що не входять в специфікацію, виводяться на екран без змін.

39 Поняття про складні оператори.



Страницы: Первая | 1 | 2 | 3 | Вперед → | Последняя | Весь текст