Структура программ на языке Си. Директива процессора, комментарии.




Интуитивное понятие алгоритма.

Алгоритм – последовательность действий, известных исполнителю на получения определенного результата за конечное число ходов.

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

 

4. Основные свойства алгоритма.&& 5. Взаимосвязь между набором элементарных операций и исполнителем алгоритма.

Свойство дискретности –представимость алгоритма в виде последовательных шагов.

Последовательность должна быть конечной.

Любой шаг алгоритма должен быть элементарным для исполнителя.

Выполняя алгоритм, исполнитель действует механически, не отклоняясь от приписанной последовательности.

Действие, выполняемые на каждом шаге, однозначны и результат определён значениями, полученными на предыдущих шагах – свойство определённости (=детерминированности).

Допустимые исходные данные определяют свойства массовости алгоритма.

Сам алгоритм и исходные данные предстают исполнителю в некоторой форме, как правило, на двух языках: алгоритмический и язык спецификаций (=операндов и данных).

При реальном выполнении затрачиваются ресурсы(ограниченные, которых может и не хватить) Это потенциальная выполнимость алгоритма.

Введение в язык Си: истоки, парадигма программирования (отношение между набором алгоритмов и набором данных в программах).

Си— стандартизированный процедурный язык программирования, разработанный в начале 1970-х годов сотрудниками BellLabs Кеном Томпсоном и ДеннисомРитчи как развитие языка Би (В). Си был создан для использования в операционной системе UNIX. Был перенесён на многие другие операционные системы. Он является языком для создания системного программного обеспечения, создания прикладных программ. В дальнейшем синтаксис языка Си стал основой для многих других языков.

Для языка Си характерны лаконичность, стандартный набор конструкций управления потоком выполнения, структур данных и обширный набор операций.

Си – язык высокого уровня.
Программы на языке высокого уровня имеют два основных аспекта:

· набор алгоритмов

· набор данных

Отношения между этими компонентами называется парадигмой программирования.

В процедурном подходе(=парадигма) задача моделируеся набором алгоритмов.

В рамках объектного подхода(исходя из абстрактных типов данных) задача моделируется набором абстракции данных.

C и Pascal являются примерами языков, предназначенных для директивного программирования

Сейчас весьма распространенным стал объектно-ориентированный (objectoriented) подход, реализуемыйязыками C++ и Java.

 

 

Структура программ на языке Си. Директива процессора, комментарии.

Программа на языке Си это текстовый файл с расширением. c

Текст программы имеет определенную структуру:

1. директивы процессора

2. объявление глобальных переменных и/или констант

3. объявление и определение функций

4. функция main

Это не жесткий порядок, а ориентировочный.

Иногда используются прототипы функций, а сами функции описываются полностью после функции main.Функция - имеет { "тело" } в фигурных скобках. Тело - это код на Си определяющий то, что делает функция. Знак;после функции не ставится.

Программа на Си всегда начинает работу с функции main().

Директива – это указание компилятору языка С++ выполнить то или иное действие в момент компиляции программы. Существует строго определенный набор возможных директив, который включает в себя следующие определения:

#define, #elif, #else, #endif, #if, #ifdef, #ifndef, #include, #undef.

Директива #define используется для задания констант, ключевых слов, операторов и выражений, используемых в программе. Общий синтаксис данной директивы имеет следующий вид:
#define<идентификатор><текст>
или
#define<идентификатор> (<список параметров>) <текст>
Следует заметить, что символ ‘;’ после директив не ставится. Приведем примеры вариантов использования директивы #define.

Листинг 1.2. Примеры использования директивы #define.
#include
#define TWO 2
#define FOUR TWO*TWO
#define PX printf(“X равно %d.\n”, x)
#define FMT «X равно %d.\n»
#define SQUARE(X) X*X
int main()
{
int x = TWO;
PX;
x = FOUR;
printf(FMT, x);
x = SQUARE(3);
PX;

return 0;
}

Директива #include позволяет добавлять в программу ранее написанные программы и сохраненные в виде файлов. Например, строка

#include<stdio.h>

указывает препроцессору добавить содержимое файла stdio.h вместо приведенной строки.. Есть две разновидности директивы #include:
#include<stdio.h> - имя файла в угловых скобках
и
#include «mylib.h» - имя файла в кавычках

Угловые скобки сообщают препроцессору о том, что необходимо искать файл (в данном случае stdio.h) в одном или нескольких стандартных системных каталогах. Кавычки свидетельствуют о том, что препроцессору необходимо сначала выполнить поиск файла в текущем каталоге, т.е. в том, где находится файл создаваемой программы, а уже затем – искать в стандартных каталогах.

Комментарии
Текст, заключённый в служебные символы /* и */ (в этом порядке), полностью игнорируется компилятором. Вложение комментариев не допускается. Компиляторытакже позволяют использовать комментарии, начинающиеся с символов // и заканчивающиеся переводом строки.

 

12. Понятие «тип» в С++; категории: скалярные и агрегированные типы; основные(фундаментальные) и производные типы.

Все типы можно разбить на 4 категории:

1) пустой void

2) скалярный

3) тип «функция»

4) агрегированный

Скалярный тип включает в себя:

a) арифметические типы

b) перечисления

c) указатели

d) ссылочный тип (в С++)

 

Агрегированный тип включает в себя:

a) массивы

b) структуры

c) объединения

d) классы(в С++)

Типы:


· Основные(фундаментальные):
void

char

int

float

double

 

· Производные:
ссылки
массивы
функции
структуры
классы
объединения




Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-12-07 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: