- •Вопрос1)Общая структура программы на языке Си.
- •1.Внутреннее представление данных в оперативной памяти;
- •2.Совокупность значений (диапазон), которые могут принимать данные этого типа;
- •3.Набор операций, которые допустимы над такими данными.
- •Вопрос2)Константы в программах
- •Вопрос3)Операции, выражения
- •Вопрос 4
- •Вопрос 5
- •Вопрос 6 Общая структура программы на языке Си.
- •Вопрос 7
- •Вопрос 8 Арифметические операции
- •Вопрос 9
- •Вопрос 10
- •If (выражение) оператор;
- •If (выражение) оператор 1 ;
- •If (выражение 1) оператор 1;
- •If (выражение 2) оператор 2;
- •If (выражение 3) оператор 3;
- •Вопрос 11
- •Вопрос 12
- •Вопрос 13
- •Вопрос 14
- •Вопрос 15
- •Вопрос 16
- •Вопрос 17
- •Вопрос 19 Операция sizeof
- •Вопрос 20
- •Вопрос 21
- •Вопрос 22 Связь указателей и массивов.
- •Вопрос 23
- •Вопрос 24
- •Вопрос 25 Массивы структур
- •Вопрос 26
- •Вопрос 27
- •Вопрос 28
- •Вопрос 29
- •Вопрос 30
- •Вопрос 31
- •Закрытие файла
- •Вопрос 32
- •Вопрос 33 Вложенные структуры
- •Вопрос 34 Массивы структур
- •Вопрос 35 Размещение структурных переменных в памяти
- •Вопрос 36
- •Вопрос 37
- •Вопрос 38
- •Вопрос 39
Вопрос2)Константы в программах
Константы - объекты, не подлежащие использованию в левой части оператора присваивания, т.к. константа - является неадресуемой величиной и, хотя она хранится в памяти ЭВМ, обычно нет никакого способа узнать ее адрес. В языке Си константами являются:
- самоопределенные арифметические, символьные и строковые данные;
- идентификаторы массивов и функций;
- элементы перечислений.
Арифметические константы могут быть целого или вещественного типов.
Вопрос3)Операции, выражения
Операции языка Си предназначены для управления данными (более 40). Для их использования необходимо знать:
- синтаксис;
- приоритеты (15 уровней);
- порядок выполнения.
Выражения состоят из операндов, операций, скобок и используются для вычисления некоторого значения определенного типа. Каждый операнд может быть, в свою очередь, выражением или одним из его частных случаев.
Операции, применяемые к одному операнду, - унарные, к двум операндам – бинарные, есть операция с тремя операндами - тернарная. Операции выполняются в соответствии с приоритетами. Для изменения порядка выполнения операций используются круглые скобки.
Большинство операций выполняются слева направо, например, a+b+c (a+b)+c. Исключение: унарные операции, операции присваивания и условная операция (?:) - справа налево.
Операция явного приведения типа
В любом выражении преобразование типов может быть осуществлено явно. Для этого достаточно перед любым выражением поставить в скобках идентификатор соответствующего типа.
Вид записи операции: (тип) выражение;
Ее результат - значение выражения, преобразованное к заданному типу представления.
Операция приведения типа вынуждает компилятор выполнить указанное преобразование, но ответственность за последствия возлагаются на программиста. Рекомендуется использовать эту операцию в исключительных случаях.
Например:
double x;
int n=6, k=4;
1) x=n/k; - дробная часть будет отброшена
2) x=(double)n/k; - использование операции приведения типа здесь позволяет избежать округления результата деления целочисленных операндов.
Другой пример:
int i=100000, j=100000;
long long k;
k=(long long)i*j; - использование операции приведения типа здесь позволяет избежать переполнения типа int.
Вопрос 4
Роль препроцессора.
Перед компиляцией программа на языке Си обрабатывается специальной программой – препроцессором, который работает под управлением директив.
Препроцессорные директивы начинаются с символа #, за которым следует наименование директивы, указывающее текущую операцию препроцессора.
Препроцессор решает ряд задач по предварительной обработке программы, основной из которых является «подключение» к программе так называемых заголовочных файлов (обычных текстов) с декларацией стандартных библиотечных функций, которые используются в программе. Наименование такой директивы: include (подключить), а общий формат ее использования:
#include <имя_файла.h>
где «h» – расширение заголовочных файлов.
Если имя файла заключено в угловые скобки (< >), то поиск данного файла производится в стандартной директории (папке) с этими файлами, если же имя файла заключено в двойные кавычки (” ”), то поиск данного файла производится в текущей директории.
К наиболее часто используемым библиотекам относятся:
stdio.h - содержит стандартные функции файлового ввода-вывода;
conio.h - функции для работы с консолью (клавиатура, экран монитора);
iostream.h - функции потокового ввода-вывода (см. ниже);
math.h - математические функции.
Второе основное назначение препроцессора – это обработка макроопределений. Макроподстановка define (определить) имеет общий вид:
#define < ID > <строка>
Например: #define PI 3.1415927
В ходе препроцессорной обработки программы появление в тексте идентификатора PI везде заменяется значением 3.1415927.
Другие возможности препроцессора будут рассмотрены позже.