Операторы безусловных переходов


а) Оператор goto метка. В языках Бейсик и Фортран этот оператор является очень важным. В отличии от них в СИ рекомендуется его использовать как можно реже или не использовать совсем (т.к. в СИ это можно осуществить более удобными способами).

Операторы условия


В Си существует несколько разновидностей оператора условия if. а) оператор условия if Оператор выполняется, если условие истинно. Оператор может быть простым и составным. Позволяет пропустить оператор или блок операторов, если условие ложно. Оператор выполняется, если условие истинно.

СТАНДАРТНЫЕ ФУНКЦИИ ВВОДА И ВЫВОДА


Функции ввода — вывода служат для ввода данных в программу с клавиатуры и вывода их на экран. 1. Printf (). Предназначена для вывода данных на экран Printf («Управляющая строка» , список аргументов);

ВВОД/ВЫВОД В ПОТОК С++


Система ввода/вывода – неотъемлемая часть среды программирования С++, и она занимает в языке особое место? В заголовочном файле iostream.h содержаться следующие объявления одного потока ввода и трех потоков вывода:

МАССИВЫ


Одномерные массивы Массив — это набор переменных, расположенных последовательно в памяти, имеющих одно имя и отличающихся друг от друга числовым признаком. Признаком массива являются [], а число в скобках указывает количество элементов массива.

МНОГОМЕРНЫЕ МАССИВЫ.


Определяются в программе также как и одномерные с указанием размерности каждого индекса в квадратных скобках. float rain[5][12]; Количество выделяемой памяти рассчитывается как 4*5*12 байт.

ФУНКЦИИ


Функция – это фрагмент программы со своим именем, к которому можно обратиться для выполнения необходимых действий.

КЛАССЫ ПАМЯТИ И ОБЛАСТЬ ДЕЙСТВИЯ.


До сих пор мы имели дело с локальными переменными, которые доступны только в одной функции. В данном случае переменные a, b в main и myfunc являются разными переменными.

ПРЕПРОЦЕССОР ЯЗЫКА СИ.


Компиляция выполняет еще один шаг перед собственно компиляцией исходного файла, называемый предварительно обработкой. Препроцессор просматривает программу и заменяет символьные аббревиатуры в программе на соответствующие директивы. Он расширяет возможности языка 3 функциями.

УКАЗАТЕЛИ.


Память состоит из байтов, каждый из которых пронумерован, начиная с 0, 1, 2 … Номер – это адрес. В Си есть переменные, которые могут содержать этот адрес – указатели и операция взятия адреса — &. int pooh=1; — определение и инициализация переменной. pooh — её имя.

Операции над указателями


1. Присвоить ему значение адреса int*px, x=2; px=&x; 2. Можно присвоить константу — адрес ячейки с описанием состояния аппаратных средств — абсолютный адрес. 3. После присвоения адреса можно применять операцию взятия косвенного адреса. 

СИМВОЛЬНЫЕ СТРОКИ И ФУНКЦИИ НАД СТРОКАМИ.


Всякий раз, когда компилятор встречается с чем-то заключённым в кавычки, он определяет это как строковую константу. Символы+’\0′ запи-сыватся в последовательные ячейки памяти. Если необходимо включить кавычки в символьную строку, нужно поставить впереди \».

Преобразование символьных строк


Функции определены в заголовочном файле stdlib.h. 1. int atoi() — строку в целое. double atof() — строку в число с плавающей точкой. void main(void){ char num[10]; int val; puts(«Введите число»); gets(num);

Структуры


Рассмотрим новый тип данных — структуру. Он не только гибок для представления разнообразных данных, но и позволяет создавать новые типы данных. 

Передача структуры в функцию


Саму структуру нельзя использовать в качестве аргумента функции. 1. Можно передавать элемент структуры в качестве аргумента. Тогда функция не знает, что это структура. struct funds{ char* bank; float fonds; char* name; float savef;

Перечисления. Объединения.


Объединения Объединения — это средство, позволяющее запоминать данные различ-ных типов в одном и том же месте памяти. Объединение позволяет создавать массив, состоящий из элементов одинакового размера, каждый из которых может содержать различные типы данных.

Битовые поля


В некоторыя задачах для экономии памяти необходимо упаковывать несколько объектов в одно машинное слово. В С для этого определяются поля и доступ к ним. Поле – это последовательность битов внутри одного целого значения. struct {unsigned a:8; unsigned b:6; unsigned c:2;}d;  

ДИНАМИЧЕСКОЕ ВЫДЕЛЕНИЕ ПАМЯТИ.


До сих пор в программа использовались переменные и массивы, создаваемые компилятором языка. Однако при этом не рационально расходуется память. 

Операция new и delete в С++


В С++ появились операции выделения динамической памяти и удаления (освобождения) динамической памяти. Операции new и delete выполняют динамическое распределение и отмену распределения памяти, аналогично, но с более высоким приоритетом, нежели стандартные библиотечные функции семейства malloc и free.

АРГУМЕНТЫ КОМАНДНОЙ СТРОКИ


У функции main() могут быть свои формальные аргументы. В них возникает необходимость, если нужно передать какие-либо значения в программу из командной строки. int main(int argc, char *argv[]) {}

ФАЙЛы в СИ


Язык Си «рассматривает» файл как структуру. В stadio.h содержится определение структуры файла. Определен шаблон и директива препроцессора #defile FILE struct iobuf FILE краткое наименование шаблона файла. Некоторые системы используют директиву typedef для установления этого соответствия.

ДИНАМИЧЕСКИЕ СТРУКТУРЫ ДАННЫХ


Многие задачи программирования используют динамические структуры данных. Например, организация каталога книг в библиотеке. Нельзя зара-нее определить количество книг, числящихся в библиотечном фонде, так как идет постоянное поступление новых книг и списание старых. Для реализации таких задач существуют различные связные списки:

Бинарные деревья


В бинарном дереве каждый узел содержит 2 указателя. Начальная точка бинарного дерева называется корневым узлом. Корневой узел Е указывает на В и Н. Узел В является корневым узлом для левого поддерева Е, узел Н – для правого поддерева Е. За исключением самого нижнего яруса каждый узел бинарного дерева имеет одно или два поддерева.

РАЗМЕЩЕНИЕ ДАННЫХ В ПАМЯТИ


Данные могут храниться в регистрах процессора, в области статической памяти, в области организованной как стек, в динамической памяти. Статическая память — данные размещаются в ней после компиляции и хранятся до конца. В стеке — временно. Размещением данных управляет программист. Адрес любого участка памяти состоит из смещения и сегмента. Это 16-ти разрядные числа.

МОДЕЛИ ПАМЯТИ


C++ поддерживает 6 моделей памяти: tiny, small, medium, compact, large, huge. Для каждой модели различается количество сегментов отведенных под код программы и данных. Рассмотрим эти модели.

СОДЕРЖАНИЕ


1. ОБЗОР ЯЗЫКОВ ПРОГРАММИРОВАНИЯ 2 1.1 Pascal 2 1.2 С. 2 2 ЭТАПЫ СОЗДАНИЯ ПРОГРАММЫ 3

Технология программирования и информатизация общества


Технологии программирования играло разную роль на разных этапах развития программирования. По мере повышения мощности компьютеров и развития средств и методологии программирования росла и сложность решаемых на компьютерах задач, что привело к повышенному вниманию к технологии программирования.

Программа как формализованное описание процесса обработки данных. Программное средство.


Целью программирования является описание процессов обработки данных (в дальнейшем ? просто процессов). Дадим ряд определений: Данные (data) ? это представление фактов и идей в формализованном виде, пригодном для передачи и переработке в некоем процессе.