- •1.Основные компоненты программного обеспечения и их связь с аппаратурой. Ретроспектива развития программирования.
- •2 Этапы решения задач на эвм
- •3 Основные типы данных и структуры данных в программировании
- •3.1.1 Арифметические типы
- •3.1.2 Логический тип
- •3.1.3 Символьный тип
- •4 Методы решения задач программирования
- •5 Разработка алгоритмов Пример 5.8
- •Пример 5.9
- •Пример 5.10
- •6 Кодирование алгоритмов на языке си
- •- Семантические;
- •Тело директивы
- •Имя аргумента
- •Оператор
- •6.4.1 Имена переменных Имена переменных могут состоять из букв (только из латинского алфавита), цифр и символа подчеркивания, приравненного к букве. Начинаться имя должно с буквы.
- •Пример 6.3:
- •6.4.2 Типы и размеры данных
- •6.4.3 Константы
- •Пример 6.4:
- •Пример 6.5:
- •Пример 6.6:
- •Пример 6.7:
- •Пример 6.8:
- •7 Декларации в си
- •8 Операторы в языке си
- •9 Управление в си
- •10 Указатели и массивы
- •Литерные указатели
- •11 Структуры в языке си
- •Структуры, вложенные друг в друга
- •Пример 11.10
- •12 Функции и структура программы
- •Аппарат формальних і фактичних аргументів Приклад 12.4
- •Опис прототипу функції
- •Приклад 12.5
- •13 Передача аргументов
Пример 6.4:
170 /*десятичная*/
0252 /*восьмиричная*/
0хАА /*шестнадцатиричная*/
170L /*десятичная длинная*/
0252L /*восьмиричная длинная*/
0ХAАL /*шестнадцатиричная длинная*/
Во внутреннем представлении, если целая константа превысила 16 разрядов – автоматически представляется как 32 разряда (10 с/с). Если значение 8-ой или 16-ой константы превысило наибольшее целое без знака, то оно также будет представлено, как длинное беззнаковое.
6.4.3.2 С плавающей точкой
У констант с плавающей точкой float обязательно должны быть либо десятичная точка, либо е (экспоненциальная часть):
314.15 e-2 = 3.1415 = 314*10-2
6.4.3.3 Символьная
Внутримашинное представление информации записывается для каждого символа, причем изображение символьной константы берется в ‘ ‘.
1) для представления “читаемых” (“печатных”) символов используются внутримашинные коды – ASCII, КОИ-8, ДКОИ.
2) Специальные символьные константы (ESС-последовательности):
Апостроф \’
Кавычки \”
Пусто (нулевой символ) \0
Новая строка \n
Обратная косая \\
3) Последовательности трех восьмеричных символов: \ddd (код символа).
Пример 6.5:
‘M’ ‘m’ ‘П’ ‘п’
‘\n’ ‘\\’
‘\016’ = ‘f’
Символьная константа имеет тип int (т.к. есть расширенные коды в ASCII, размером в 2 байта).
6.4.3.4.Строковая константа
Последовательность символов кодов внутримашинного представления, заключенная в парные кавычки (“ ”).
Пример 6.6:
“MM” “”ПМ” “Informatique” “m” “o”
Строковая константа представляет собой массив символов, в конце которого вставлен код признака конца строки - \0.
“ПМ”
П |
М |
\0 |
6.4.3.5 Константное выражение
Оперирует только с константами.
Кроме арифметических констант могут быть использованы именованные константы.
#define <имя> <текст>
<имя> - символьное имя
<текст> - последовательность литер
Семантика:
Далее по тексту программы производиться замена <имя> на <текст>, кроме как:
внутри строковых констант;
если цепочка, составляющая имя, является частью определения другого имени.
Особенности синтаксиса:
имя может содержать только из заглавные буквы;
не нужно писать декларации;
ее нужна ; после #define.
Пример 6.7:
#define MAX 100
#define V_YEAR 1
После своего определения именованные константы могут использоваться в константных выражениях.
Пример 6.8:
#define MAX 100
…
float a[MAX]…
Пример 6.9:
#define V_YEAR 1
…
int days_of_year [31+28+V_YEAR+31+30+31+30+31+31+30+31+30+31];
7 Декларации в си
7.1 Декларации – назначение и синтаксис
В Си переменные надо объявлять до первого использования.
Декларация:
специфицирует тип;
содержит список переменных этого типа;
возможна начальная инициализация;
возможен квалификатор константы (const).
Пример 7.1:
int up, down, step;
char c, str[101];
или
int up;
int down;
int step;
char c;
char str[101];
7.2 Инициализация
Инициализация (от англ. Initial – начальное) – это процесс придания переменным начальных значений при их объявлении. Записывается в Си в виде выражения после символа равно при декларации переменной:
char newline=’\n’;
Если обычная декларация только выделяет память для переменной, то декларация с инициализацией, записывает в память и соответствующую информацию.
Пример 7.2
int i =0;
int board=MAX+1;
float eps=1.0e-3;
char error[]=”Ошибка: ”;
О |
ш |
и |
б |
к |
а |
: |
\0 |
int kdm[12]={31,28,31,30,31,30,31,30,31,31,30,31,30,31};
7.3 Квалификатор константы const
Квалификатор const записывается перед декларацией. Его используют для того, чтобы запретить возможность изменения значения этой переменной в программе.
Пример 7.3:
const float pi=3.1415;
const int kdm[12]={31,28,31,30,31,30,31,30,31,31,30,31,30,31};
……
pi=3.14; /*нельзя*/
kdm[i]=kdm[i]+1; /*нельзя*/