МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
Національний університет “Львівська політехніка”
ЗВІТ
до лабораторної роботи № 1
ОСНОВНІ ПОНЯТТЯ АЛГОРИТМІЧНОЇ МОВИ С.
ОПЕРАТОРИ РОЗГАЛУЖЕННЯ ПРОГРАМИ У МОВІ С
Виконав:
Ст. гр. КНз-21
Перевірив:
Доц. кафедри САП
ЛЬВІВ – 2011
Теоретичні відомості
C - універсальна мова програмування. Вона розроблялась в тісному зв’язку з системою UNIX, однак не є прив’язаною до цієї операційнї системи і може використовуватись у будь-яких операційних системах або машинах.
C - мова порівняно “низького рівня” У ній немає:
а) прямих операцій над такими об’єктами як множини, стрічки, списки і масиви;
б) операцій які маніпулюють з цілими масивами або стрічками, натомість використовуються структури;
в) засобів розподілу пам’яті окрім можливості визначення статичних змінних і стекового механізму при виділенні місця для локальних змінних функцій;
г) засобів вводу-виводу (READ, WRITE) і методів доступу до файлів.
Все це механізми високого рівня, які в мові C реалізуються за допомогою функцій.
Мова C містить засоби лише послідовного управління ходом обчислень: не містить засобів мультипрограмування і паралельних процесів.
Основна філософія мови C грунтується на тому що програміст знає, що робить і явно вказує ці наміри. Тому мова C не є “строго типізованою” мовою. Крім того, рівень пріоритетності виконання деяких операторів не є загальноприйнятим, деякі синтаксичні конструкції вимагають покращення. Не звертаючи увагу на деякі недоліки, мова C є ефективною і виразною мовою, придатною для широкого кола задач.
Алфавіт мови c
Програма в мові C записується символами алфавіту, який містить:
1) великі і малі букви латинського алфавіту;
2) десяткові цифри від 0 до 9;
3) спеціальні символи: “,”, [,],(,),{,},+,-,/,%,\,;,:,?,<,>,+,-,|,^,&,*,#.
Із символів складаються базові елементи мови.
Правила запису імені змінної або іменованої константи (ідентифікатора):
-
Ідентифікатори складаються з букв, цифр і знаку підкреслення (“-”) (до складу ідентифікатора не може входити будь-який спеціальний символ).
-
Першим символом повинна бути буква. Не можна починати ідентифікатори із знаку підкреслення оскільки багато змінних бібліотечних програм починається саме з цього знаку.
-
Не можна плутати в ідентифікаторах великі і малі букви (Х і х - це два різні ідентифікатори). Здебільшого імена змінних набирають малими буквами, а іменовані константи - великими.
-
Ідентифікатори не можуть співпадати з ключовими словами мови C.
-
Довжина ідентифікатора: для зовнішніх імен не більше 6 символів; для внутрішніх - не більше 31 символа.
Типи і розміри даних
У мові C дані поділяються на 2 групи:
1) прості або скалярні;
2) складні або структуровані.
Для скалярних даних існують такі базові типи:
1) char - одиничний байт, що містить один символ;
2) int - ціле число;
3) float - число з плаваючою крапкою одиничної точності;
4) double - число з плаваючою крапкою подвійної тосності.
Константи
Константи можуть бути тих самих типів що і змінні:
1) цілого: 1024
2) цілий довгий: 124727119L - останне літера L (або l);
3) беззнаковий довгий: 124727429UL - останні літери UL (або ul);
4) з плаваючою крапкою 7.1425;
5) в експоненціальній формі 0.742е-1;
6) символьні константи ‘X’,’L’,’0’.
Структура програми
По аналогії з Паскалем і Фортраном програма на мові C складається з двох частин:
1) заголовка, 2)тіла програми.
Заголовок складається з директив препроцесора і імені функції. Тіло програми або функції являє собою набір операторів і міститься в фігурних дужках “{}”, що аналогічно оператором Веgin і end у Паскалі. Ознакою закінчення оператора є символ крапка з комою “;”.
В одному рядку може бути кілька операторів як і у Паскалі, але бажано дотримуватись правила “одна стрічка - один оператор” (як у Фортрані), тоді програма більш наглядна і легше читається.
Коментарі в мові C обмежуються символами /* і */.
Наведемо приклад простенької програми за допомогою якої вводимо з клавіатури символ, а на екран виводимо код цього символа.
# include<stdio.h> /* заголовок */
main()
{
char ch;
рrintf (введіть символ\n”); /*тіло функції}*/
scanf (“%с”, &ch);
printf(“\n код символу %C:%d)\n”,ch,ch);
}
Кожна програма на мові C складається з функцій. Функції в C подібні до підпрограм і функцій в Фортрані і до процедур і функцій в Паскалі. В наведеному прикладі це функція main () -основна програма пусті дужки при імені функції означають, що ніяких вхідних параметрів основна програма не потребує. Стрічка # include<stdio.h>вказує компілятору, що необхідно включити інформацію, яка міститься у файлі stdio.h - стандартна бібліотека вводу-виводу. Значок # означає, що це директива препроцесора. Значки “<>” означають, що це стандартні файли, якими комплектується компілятор C.
В наведеному прикладі функція main складається з 4 операторів.
char ch; - опис типу змінної ch.
рrintf (“введіть символ \n”); - виклик бібліотечної функції виводу на друк.В дужках задається список виводу. В даному випадку друкується стрічка символів, що міститься в подвійних лапках:
введіть символ.
Значок \n - перехід на наступну стрічку. scanf (“%с”, &ch); - виклик бібліотечної фукнції форматного вводу.
Аргументами цієї функції є:
1) специфікатор формату: “%c”; 2) вказівник на змінну сh; &ch.
Слід пам’ятати, що для того щоб ввести за допомогою функції scanf якесь значення і присвоїти його змінній одного з основних типів, перед іменем змінної необхідно записати символ “&”(крім char).
Специфікатор формату відображає тип змінної, що виводиться на друк або вводиться з клавіатури.
Розрізняють такі специфікатори формату:
%d- десяткове ціле число:
%f - число з плаваючою крапкою, десятковий запис;
%e - число з плаваючою крапкою, експоненціальний запис;
%g - число з плаваючою крапкою або десятковий або експоненціальний запис аналогічно формату G у Фортрані. Використовується тільки при виводі змінних;
%c - один символ;
%s - стрічка символів;
%u - десяткове ціле без знаку;
%o - вісімкове ціле число без знаку;
%x - шістнадцяткове ціле число без знаку.
Четвертий оператор тіла програми printf(“\n код символу ‘%с’:%d)\n”,ch,ch); виведе на екран повідомлення “код символу”, символ, який Ви набрали з клавіатури, в лапках, а тоді ціле число, що є кодом ASCII цього символа.
Стандартні функції
Основні математичні функції описуються в файлі <math.h> і приводяться в таблиці 2.
Таблиця 2
Ім’я функції |
Математичний запис |
Тип і межі зміни аргументів |
Тип результату |
sin(x) |
sin x |
double |
double |
cos(x) |
cos x |
double |
double |
tan(x) |
tg x |
double |
double |
asin(x) |
arcsin x |
double x[-1,1] |
[-/2,/2] |
acos(x) |
arccos x |
x[-1,1] |
[0,] |
atan(x) |
arctg x |
x[-/2,/2] |
double |
sinh(x) |
sh x |
double |
double |
cosh(x) |
ch x |
double |
double |
tanh(x) |
th x |
double |
double |
exp(x) |
ex |
double |
double |
log(x) |
ln x |
x>0 |
double |
log10(x) |
lg x |
x>0 |
double |
pow(x,y) |
xy |
x0; y>0 |
double |
sqrt(x) |
x0 |
double |
|
fabs(x) |
|x| |
double |
double |
ldexp(x,n) |
x . 2n |
x-double, n-int |
double |
fmod(x,y) |
Залишок від ділення дійсних чисел х на у |
double |
double |