- •Додатковий матеріал до лекцій із дисципліни "Програмування"
- •1 Структури та об’єднання
- •1.1 Структури
- •1.2 Об’єднання та бітові поля
- •2 Функції
- •2.1 Передача параметрів за значенням
- •2.2 Передача параметрів за покажчиком
- •2.3 Функції та масиви
- •2.4 Функції з параметрами за замовченням
- •2.5 Функції з змінним числом параметрів
- •2.6 Передача параметрів в функцію main()
- •2.7 Рекурсивні та інлайн-функції
- •2.8 Функції, що повертають покажчик
- •2.9 Функції та структури
- •2.10 Перевантаження функцій та шаблони функцій
- •2.11 Покажчик на функцію
- •3 Робота з файлами
- •3.1 Відкриття та закриття файлів
- •3.2 Введення даних в файл та виведення даних з файлу
- •3.3 Керування файлами та каталогами
- •4 Багатофайлова компіляція
- •Література
4 Багатофайлова компіляція
Приклад 4.1
// файл file_1.cpp |
extern int b; |
int func2(int,int); |
int a=5; |
int func1(int c) |
{int f=func2(a,b); |
return f+c; } |
// файл file_2.cpp |
extern int k; |
int func2(int x, int y) |
{ return x*y+k;} |
// файл file_3.cpp |
#include<stdio.h> |
#include ”file_1.cpp” |
#include ”file_2.cpp” |
int b=10; |
int main() |
{int d=2,res; |
res= func1(d+k); |
printf(“k=%d res=%d ”,k,res); |
return 0;} |
int k=20; |
|
|
|
Приклад 4.2
// файл common.h |
exrtern int a; |
exrtern int b; |
exrtern int k; |
int func1(int); |
int func2(int, int); |
// файл filе_1.cpp |
#include ”common.h” |
int a=5; |
int func1(int c) |
{int f=func2(a,b); |
return f+c; } |
// файл file_2.cpp |
#include ”common.h” |
int func2(int x, int y) |
{ return x*y+k;} |
// файл file_3.cpp |
#include<stdio.h> |
#include ”common.h” |
#include ”file_1.cpp” |
#include ”file_2.cpp” |
int b=10; |
int main() |
{int d=2,res; |
res=func1(d+k); |
printf(“k=%d res=%d ”,k,res); |
return 0;} |
int k=20; |
|
Приклад 4.3
// файл arith.h |
float sum(float, float); |
float sub(float, float); |
float mul(float, float); |
// файл sum.cpp |
float sum (float a, float b) |
{return a+b;} |
// файл sub.cpp |
float sum (float a, float b) |
{return a-b;} |
// файл mul.cpp |
float mul (float a, float b) |
{return a*b;} |
// файл prog.cpp |
#include<stdio.h> |
#include ”arith.lib” |
int main() |
{float c=15.0, d=3.0; |
printf(”sum=%.1f sub=%.1f\n”,sum(c,d),sub(c,d)); |
printf(”mul=%.1f div=%.1f\n”,mul(c,d),div(c,d)); |
return 0; } |
|
f:\users\prog>tlib.exe arith+sum.obj+sub.obj+mul.obj |
Література
Подбельский В.В. Язык Си++: Учеб. пособие. – 5-е изд. – М.: Финансы и статистика, 2000. – 560 с.
Подбельский В.В. Практикум по программированию на языке Си: Учебн. пособие. – М.: Финансы и статистика, 2004. – 576 с.
Подбельский В.В., Фомин С.С. Программирование на языке Си: Учебн. пособие. – 2-е изд.,– М.: Финансы и статистика, 2002. – 600с.
Павловская Т.А. С/С++. Программирование на языке высокого уровня. СПб: Питер, 2003. – 461 с.
Касаткин А.И., Вальвачев А.Н. Профессиональное программирование на языке Си: От Turbo C Borland C++. – Мн.: Выш. Шк., 1992. – 240 с.
Березин Б.И., Березин С.Б. Начальный курс С и С++. – М.: ДИАЛОГ-МИФИ, 2002. – 288 с.
Фридман А.П. Основы объектно-ориентированного программирования на языке Си++. – М: Горячая линия. – Телеком. Радио и связь, 1999. – 208 с.
Уильям Топп, Уильям Форд. Структуры данных в С++. / Пер. с англ. – М.: ЗАО “Издательство БИНОМ”, 1999. – 816с.: ил.
Крячков А.В., Сухинина И.В., Томшин В.К. Программирование на С и С++. Практикум: Учебное пособие для вузов / А.В. Крячков, И.В. Сухинина, В.К. Томшин. – 2-е изд., исправ. – М.: Гарячая линия.-Телеком, 2000. – 344с.
Крупник А. Изучаем Си. – СПб.: Питер, – 2001. – 256с.
С/С++. Структурное программирование. Практикум / Т.А. Павловская, Ю.А. Щупак. – СПб.: Питер, 2002. – 240с.
Культин Н.Б. С /С++ в задачах и примерах.- СПб.: БХВ: Петербург, 2001. – 288с.
Х.М. Дейтел, П.Дж. Дейтел. Как программировать на С++. – 5-е изд. / Пер. с англ. – М.: ООО "Бином-Пресс", 2008.– 1456 с.
Шилдт, Герберт. Полный справочник по С++. – 4-е изд. / Пер. с англ. – М.: Вильямс, 2008. – 800 с.
