- •Методичні вказівки до виконання лабораторних робіт із дисципліни "Основи програмування"
- •Порядок виконання лабораторних робіт
- •Поради та рекомендації:
- •Загальні відомості
- •Int a; float b; char c, st[20];
- •If(умова) вираз_1 else вираз_2
- •For(ініціалізація_циклу; умова; список_виразів) тіло_циклу
- •Лабораторна робота №1 Базові типи змінних. Елементарні введення-виведення
- •Void main()
- •Завдання до програми 1.1
- •Void main()
- •Завдання до програми 1.2
- •Void main()
- •Завдання до програми 1.3
- •Void main()
- •Void main()
- •Void main()
- •Контрольні питання до лабораторної роботи № 1
- •Void main;
- •Лабораторна робота №2 Умовні оператори. Оператори множинного вибору
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Int main()
- •Контрольні питання до лабораторної роботи № 2
- •Лабораторна робота №3 Оператори циклу
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Контрольні питання до лабораторної роботи № 3
- •Як виконується оператор for із неповним набором аргументів? Поясніть результати роботи наступних фрагментів програм.
- •Лабораторна робота №4 Масиви і покажчики
- •Void main()
- •Int main()
- •Int I,imax, imin ,count;
- •Void main()
- •Void main()
- •Void main()
- •Контрольні питання до лабораторної роботи № 4
- •Void main()
- •Лабораторна робота №5 Робота з різноманітними масивами
- •Int main()
- •Int main()
- •Int main()
- •Int main()
- •Контрольні питання до лабораторної роботи № 5
- •Void main()
- •Література
Загальні відомості
Програма мовою Сі – це послідовність препроцесорних директив, описів та визначень глобальних змінних та функцій.
Базові типи змінних. Для визначення змінних цілого типу даних використовують ключові слова char, int, short, long. Слова signed, unsigned позначають знакове чи беззнакове ціле число, за умовчанням всі числа є знакові. Для визначення змінних дійсного типу даних використовують ключові слова float, double, long double.
У мові Сі визначені наступні арифметичні типи даних:
Тип даних Розмір Діапазон значень
char 1 байт від -128 до +127
unsigned char 1 байт від 0 до 255
int 2 байта від -32768 до +32767
unsigned int 2 байта від 0 до 65535
long 4 байта від -215 до +215-1
unsigned long 4 байта від 0 до +216-1
float 4 байта від ± 3.410-38 до ±3.410+38
double 8 байт від ±1.710-308 до ±1.710+308
long double 10 байт від ±3.410-4932 до ±3.410+4932
Константи цілого типу за замовченням мають тип int. Для завдання константи типу long дописується символ L або l, для завдання константи типа unsigned – символ U або u (234L, 456u, 23456Lu), для завдання константи в 8-й системі числення (СЧ) спочатку константи дописується 0, в 16-й системі (СЧ) – 0х (020, 0х4а).
Константи дійсного типу за замовченням мають тип double. Для завдання константи типу float дописується символ F або f, для завдання константи типа long double дописується символ L або l: 23.4f, 4.56E-2L.
Препроцесорні директиви. Директиви препроцесора – це записані в тексті програми інструкції, які починаються з нового рядку зі знаку #. Ці директиви виконуються препроцесором до компіляції програми, доповнюючи вхідний текст програми.
Директива #include включає в текст програми зміст зазначеного файлу. Ця директива має дві форми:
#include "ім'я_файлу"
#include <ім'я_файлу>
Директива #define виконує заміну ідентифікаторів константтами або будь-якою послідовністю операторів (виразів), що часто використовуються. Синтаксис директиви #define такий:
#define ідентифікатор рядок_заміщення
Заміни в тексті можна відмінити за допомогою директиви:
#undef ідентифікатор
Наприклад, перша директива замінить у тексті програми кожний символ W на число 80, а друга директива відмінить цю заміну.
#define W 80
#undef W
Елементарне введення-виведення даних.
Форматоване виведення даних здійснюється функцією:
printf(рядок_формату, список_виведення);
Cписок_виведення може містити константи, змінні та будь-які вирази, розділені комами, рядок_формату записується в подвійних лапках ("ххх") і може містити: послідовність звичайних символів, що виводяться на екран; спеціальні символи, що керують розміщенням даних на екрані (ESC–послідовності); спеціфікатори формату даних.
Спеціфікатори формату –це наступна послідовність:
%[-][довжина поля][.точність][l або L] специфікація типу
де [-] – зсув виведених даних до лівого краю поля; [довжина поля] – кількість позицій для виведення; [.точність] – кількість дробових цифр для дійсних чисел, чи кількість виведених символів для рядків; l або L – позначка для чисел типу long, double, long double.
Для виведення даних використовують такі специфікатори типів:
%c – ціле число типу char, int, short у вигляді символу;
%d – ціле число типу char, int, short у 10-ій системі числення;
%u – беззнакове ціле число у 10-ій системі числення;
%o – ціле число у 8-ій системі числення;
%x – ціле число в 16-ій системі числення;
%ld – ціле число типу long int у 10-ій системі числення;
%lo – ціле число типу long int у 8-ій системі числення;
%lx – ціле число типу long int у 16-ій системі числення;
%f – дійсне число типу float;
%e – дійсне число типу float в експоненціальній формі;
%lf – дійсне число типу doublе;
%le – дійсне число типу doublе в експоненціальній формі;
%Lf – дійсне число типу long double;
%Le – дійсне число типу long double в експоненціальній формі;
%s – рядок;
%p – адреса.
Форматоване введення даних здійснюється функцією:
scanf(рядок_формату, список_введення);
Список_введення повинний містити адреси змінних, раніш визначених у програмі, а рядок_формату записується в подвійних лапках (" ") і може містити тільки специфікатори типів даних, що наведені вище.
Функція scanf() здійснює введення чисел, символів та рядків з клавіатури до натискання клавіші <Enter> або до виявлення першого неприпустимого символу у вхідному потоці.
Для неформатованого введення символів використовуються функції getchar(), getch(), getche(), для виведення символів – putchar(), putch(). Для неформатованого введення рядків використовується функція gets(), для виведення рядків – puts().
Наприклад:
