- •Лабораторная работа №1
- •1.1. Цель и содержание работы
- •1.2. Основные конструкции языка c
- •Int X; // Переменная типа int
- •Int list[20]; // Массив целых величин
- •If (условие) оператор1 else оператор2
- •1.3. Функции ввода-вывода языка с
- •1.4. Создание консольного приложения
- •1.5. Меню интегрированной среды
- •1.6. Компиляция, отладка и запуск программы
- •1.7. Упражнения
- •Лабораторная работа №2
- •2.1. Цель и содержание работы
- •2.2. Использование функций библиотеки ipHlpApi
- •2.3. Упражнения
- •Int iErr; // Код ошибки
- •Лабораторная работа №3
- •3.1. Цель и содержание работы
- •3.2. Библиотека функций Winsock2
- •3.3. Структуры данных для работы с сокетами
- •3.4. Приложение-сервер
- •3.5. Приложение-клиент
- •3.6. Упражнения
- •Лабораторная работа №4
- •4.1. Цель и содержание работы
- •4.2. Функции для работы по протоколу udp
- •4.3. Приложение-сервер
- •4.4. Приложение-клиент
- •4.5. Упражнения
- •Лабораторная работа №5
- •5.1. Цель и содержание работы
- •5.2. Сканирование портов
- •5.3. Функции для определения состояния портов
- •5.4. Упражнения
- •Лабораторная работа №6
- •6.1. Цель и содержание работы
- •6.2. Сниффер
- •6.3. Упражнения
- •Библиографический список
Int X; // Переменная типа int
Int list[20]; // Массив целых величин
char *cp; // Указатель на величину типа char
Объявление структуры начинается с ключевого слова struct, задает имя типа структуры и содержит заключенную в фигурные скобки последовательность переменных, называемых элементами структуры.
Пример:
struct employee {
char name[20];
int id;
long class;
};
Объявление функции определяет имя, тип возврата функции, типы ее аргументов.
Примеры:
int add(int, int);
double func(void);
В данном примере функция add имеет аргументы типа int и возвращает величину типа int; функция func не имеет аргументов, возвращает величину типа double.
Объявление может включать спецификаторы класса памяти extern или static. Спецификатор extern используется для объявления ссылки на переменную, определенную в другом файле.
Переменная класса static видима только внутри блока, в котором объявлена, но сохраняют свое значение при завершении блока. Переменные класса static могут быть инициализированы константным выражением; если явной инициализации нет, то переменная автоматически устанавливается в 0. Инициализация выполняется один раз во время компиляции и не повторяется при новом входе в блок.
Функция объявленная как static, видима только в пределах файла, в котором она определена.
Объявление typedef позволяет создавать синонимы для имен типов. Например, WHOLE объявляется как синоним для int:
typedef int WHOLE;
Выражение – это комбинация операндов и операций, значением которой является отдельная величина.
Операнд – это константа, идентификатор, строка, вызов функции, индексное выражение, выражение выбора структурного элемента. Каждый операнд имеет тип. Операнд может быть преобразован из оригинального типа к другому типу посредством операции преобразования типов.
Выражение выбора элемента ссылается на элементы структур или объединений и имеет две синтаксические формы:
выражение.идентификатор
выражение->идентификатор
В первом случае выражение представляет величину типа struct или union, а во второй форме – указатель на структуру или объединение. Идентификатор именует элемент структуры.
Операторы C управляют процессом выполнения программы. Составной оператор ограничивается фигурными скобками. Все другие операторы C заканчиваются точкой с запятой.
Оператор for обычно задает цикл со счетчиком и имеет следующий синтаксис:
for (инициализация; условие; приращение) оператор
Цикл for выполняется, пока условие истинно. Первым шагом является вычисление выражения инициализации. Далее проверяется условие и, если оно истинно, выполняется оператор тела цикла, а затем вычисляется приращение и цикл повторяется.
Оператор while задает цикл с предусловием и имеет следующий вид:
while (условие) оператор
Цикл выполняется, пока условие истинно. Вначале проверяется условие, затем выполняется оператор тела цикла.
Оператор do задает цикл с постусловием и имеет вид:
do оператор while (условие);
Цикл выполняется до тех пор, пока условие истинно. Вначале выполняется оператор тела цикла, затем проверяется условие.
Условный оператор if имеет следующий синтаксис: