Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Programmirovanie_-_1_kurs / Лекции (опорный конспект)

.pdf
Скачиваний:
69
Добавлен:
09.06.2015
Размер:
2.39 Mб
Скачать

11.4. Позиционирование (3)

2)

131

12. Модульная программа

Исходные файлы проекта:

заголовочные файлы (.h)

файлы реализации (.cpp)

lab.cpp

array.h

array.cpp

#include "array.h"

void sort(int* A, int n)

{

for (int i=0; i<n-1; i++)

{

int min_ind = i; int min_val = A[i];

for (int j=i+1; j<n; j++) if (A[j]<min val)

{

min_ind = j; min_val = A[j];

}

A[min_ind] = A[i]; A[i] = min_val;

}

}

void print(int* A, int n)

{

for (int i=0; i<n; i++) std::cout << A[i] << " ";

}

132

12.1.Спецификатор extern

Спецификатор extern указывает, что идентификатор уже был определен в другом месте программы

lab.cpp

unit.h

unit.cpp

133

12.2.Спецификатор static

Спецификатор static используется для объявления статических переменных

lab.cpp

unit.cpp

#include "unit.h"

void main()

{

f( ; f(); f(); getch();

}

unit.h

134

12.3. Этапы создания исполнимой программы

135

13.Параметры командной строки

Интерфейс командной строки позволяет передать в вызываемую программу набор параметров

2)

1)

136

13.1. Переадресация стандартного ввода-вывода

(>) переадресация стандартного вывода на заданный файл

(<) переадресация стандартного ввода на заданный файл

3)c:\>myapp < in.txt Hello, world

 

 

 

 

 

Hello, world

 

 

 

 

 

 

Hell

world

 

 

 

 

 

 

Hello, world

 

 

 

 

 

 

Hello, world

 

 

 

 

 

 

Hello, world

 

 

 

 

 

 

Hello, world

 

 

 

 

 

 

Hello, world

 

 

 

 

 

 

Hello, world

 

 

 

 

 

 

Hello, world

 

1) c:\>myapp

2)

 

4)

 

 

 

 

 

 

 

 

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Hello, world

 

Hello, world

 

Hello, world

 

Hello, world

137

Hello, world

 

14.Директивы препроцессора

14.1.Директива #include

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

Имя включаемого файла должно соответствовать соглашениям операционной системы и может состоять либо только из имени файла, либо из имени файла с предшествующим ему маршрутом

Если имя файла указано в кавычках (“файл”), то поиск файла осуществляется в соответствии с заданным маршрутом, а при его отсутствии в текущем каталоге

Если имя файла задано в угловых скобках (<файл>), то поиск файла производится в стандартных для среды разработки директориях

138

14.2.Директива #define (1)

Директива #define служит для замены часто использующихся констант, ключевых слов, операторов или выражений некоторыми идентификаторами

Конструкции, определенные при помощи директивы #define, подставляются в код программы препроцессором до основной компиляции программы

Для отмены действия директивы #define используется директива

#undef

1)

Предкомпиляция

139

14.2. Директива #define (2)

2)

3) #define MAX(x,y) ((x)>(y))?(x):(y)

t=((i)>(s[i])?(i):(s[i]);

t=MAX(i,s[i]);

4)

void main()

{

int a = (10+3)*(1.2+1.8); printf("%d", a);

getch();

}

140