ПРИЛОЖЕНИЕ В
ОСНОВЫПРОГРАММИРОВАНИЯ НА ЯЗЫКЕ С
Язык C является широко распространенным языком программирования. Он был создан в начале 70-х годов 20-го столетия в процессе разработки операционной системы UNIX, ее программное обеспечение написано на C. В связи с этим данный язык называют языком системного программирования, так как он удобен для написания операционных систем и других системных программ. Вместе с тем он является универсальным языком программирования, так как с равным успехом использовался при написании больших вычислительных программ, программ для обработки текстов и баз данных.
Элементы языка С
Комментарии
Комментарии предназначены для записи в программе пояснений к отдельным операторам или группам операторов. Комментарии могут быть однострочными и многострочными.
Форма записи однострочного комментария:
/* текст комментария */
Пример. Однострочный комментарий к оператору ввода данных с клавиатуры:
/* Ввод исходных данных */ или
scanf(“%d%f”, &k, &p); /* Ввод исходных данных */
Форма записи многострочного комментария:
/* строка 1 комментария
…
строка N комментария */
Пример. Многострочный комментарий, содержащий сведения о программе и ее разработчиках:
/* ….Название программы….
…. Программисты ….
…. Название фирмы ….*/
Идентификаторы
Идентификаторы используются в программах для обозначения данных, функций с помощью имен. Максимальная длина идентификатора 32символа.
Для записи идентификаторов используются: буквы латинского алфавита (строчные и прописные), цифры, _ (подчеркивание), например:
a_f1
В идентификаторах нельзя использовать следующие символы: .:; + / & #,..
|
Идентификаторы могут начинаться: с букв,с _ (подчеркивание), но не с цифр,
например:
x1 alfa size_of_memory _art - правильно 5ats - неправильно
Данные
Данные – это величины, с которыми в программе выполняются различные операции (арифметические, логические, ввода, вывода).
К данным относятся: константы, переменные, массивы, указатели, структуры. Рассмотрим вначале константы и переменные, а остальные виды данных – позже.
Константы
Константы – это величины, которые в процессе работы программы не изменяют своих значений. В языке С имеется несколько типов констант:
1) Целые числа – различают три вида: десятичные, восьмеричные, шестнадцатеричные.
- десятичные: используется десять цифр (0…9) и знак - (минус) для отрицательных чисел
45, -126, 1389
- восьмеричные: используется восемь цифр (0,1,2,3,4,5,6,7), первой цифрой в числе должен быть 0
0135→1358 024→248
- шестнадцатеричные: используется 16 символов (0…9ABCDEF), впереди числа должно быть записано 0х
0х6A9F →6A9F 16 0х5E →5E 16 0х5792→579216
2) Вещественные числа – предназначены для записи действительных чисел, используется 2 формы записи:
- с десятичной точкой: 251,46 → 251.46 -17,392 → -17.392
- с порядком: m E p → m*10p, где m– мантисса, Е – основание степени 10, р – порядок (степень 10):
23,69*10 -8 → 23.69Е-8 = 2.369Е-7 152,34*10 6 → 152,34Е6 = 1.5234Е8
3) Символьные константы – это отдельные символы из таблицы ASCII (256 символов или 28, т.к. для кодирования символов используется 8 бит или 1 байт):
‘ A ‘ ‘! ‘ ‘ 5 ‘
‘ 5 ‘ ≠ 5 т.к. ‘ 5 ‘ – символ, занимает 1 байт, а 5 – число, занимает 2 байта
4) Строковые константы – это последовательность символов, заключенная в кавычки:
|
“Исходные_данные“
В конце строки автоматически записывается служебный символ ‘\0‘ – признак конца строки. Длина строки равна количеству символов плюс служебный символ.
Переменные
Переменные – это величины, которые в процессе работы программы могут принимать различные значения. Любая переменная имеет две характеристики: тип и имя (идентификатор). Все переменные в программе должны быть описаны.
Форма описания переменных:
Тип имя1, имя2, …, имяN;
где Тип – название типа данных, значение которого может принимать переменная;
имяI – идентификатор для обозначения переменной (имя переменной).
Типы данных переменных: стандартные, нестандартные (определяемые программистом).
Стандартные типы переменных
тип | размер в байтах | диапазон значений |
short int - целый | -32768…+32768 | |
unsigned short int | 0…65535 | |
int | -2147483648… +2147483648 | |
unsigned int | 0…4294967295 | |
float - вещественный | -2147483648.0/ 2147483647.0 | |
double | -9223372036854775808.0 / + 9223372036854775807.0 | |
char - символьный |
Примеры описания переменных
int k, m;
long d, f, h;
unsigned n;
unsigned long v, w;
float x, a, b;
double t, z, q;
char p, s;
Инициализация переменных
При описании переменных в программе, им могут задаваться начальные значения, которые потом могут изменяться. Такое действие называется инициализацией переменных. Инициализация переменных не является обязательной и выполняется при необходимости.
Форма записи инициализации переменных:
Тип имя = значение;
Например:
int k=10, m;
float x=–3.5, eps=1.0e–5, y, z;
char p=’!’, s=37, q;
Арифметические операции
|
Имеется два вида арифметических операций:
1. Двухместные, в которых имеется два операнда
+ сложение a + b
- вычитание a - b
* умножение a * b
/ деление a / b
% остаток от целочисленного деления a % b
(8%2 → 0, 10%3 → 1)
2. Одноместные, в которых имеется один операнд
++ - увеличение на 1 a++ → a=a+1
-- - уменьшение на 1 a-- → a=a-1
Стандартные математические функции
В библиотеке языка С имеется множество стандартных математических функций, которые позволяют без дополнительного программирования вычислять большинство известных математических функций. Наиболее часто используемые стандартные математические функции приведены ниже:
sin(x) - sin x sqrt(x) - √x
сos(x) - cos x exp(x) - ex
tan(x) - tg x log(x) - ln x
atan(x) - arctg x log10(x) - lg x
pow(x, y) - xy abs(x) - |x|, для целых чисел
fabs(x) - |x|, для вещественных чисел
Для их использования в программе необходимо:
- вначале записать директиву препроцессора: #include <math.h>, которая включает в программу заголовочный файл math.h с прототипами (заголовками) стандартных математических функций;
- затем в каком-либо операторе вызвать требуемую функцию, указав ее имя и задав в скобках один или два аргумента.
Примеры записи вызовов стандартных математических функций:
sin (5.5) exp (1.1*x+2.9) log (fabs(y-3.7)) pow(x, 2.1)
Для использования - #include <math.h>