Методические рекомендации к выполнению лабораторных работ

Встраиваемые функции

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

Но С позволяет задавать функции, которые не вызываются, а встраиваются в программу непосредственно в месте ее вызова. В результате этого в программе создается столько копий встраиваемой функции, сколько раз к ней обращалась вызывающая программа.

Для объявления встраиваемой функции указывают спецификатор inline перед определением функции.

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

Спецификатор inline является не командой для компилятора, а только запросом. Поэтому, если компилятор по каким-либо причинам не может встроить функцию, она компилируется как обычная, и никаких сообщений об этом на экран не выдается.

Некоторые компиляторы не могут сделать функцию встраиваемой, если функция содержит операторы цикла, switch или goto, если функция рекурсивная.

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

 

 

АО «ФИНАНСОВАЯ АКАДЕМИЯ»

 

Исабаева Г.Ж._____

(Ф.И.О. авторов)

 

 

___________Технология программирования___________

(наименование дисциплины)

 

Астана – 2013г

 

Лабораторная работа №1.

Запуск, работа в интегрированной системе C++. Набор, редактирование и запуск программ.

Цель работы: научить студентов работать в интегрированной системе C, изучая её возможности.

Выполнение одного варианта

Задание.Набрать и запустить программу в интегрированной системе Borland C++.

Войти в каталог ТС на диске С:. Найти подкаталог BIN, войти в него и набрать в командной строке tc(чтобы запустить интегрированную систему). Нажмите на клавиши Alt + F, New.Набрать текст программы.

#include <stdio.h>

void main()

{ const int n=10;

int k=1,m,l,i,j,a[n][n];

for(i=0;i<n;i=i+2)

{for(j=i;j>=0;j--)

{if ((m=i-j)<0) m=0;

a[j][m]=k++;}

for(j=0;j<i+2;j++)

{if ((m=i+1-j)<0) m=0;

a[j][m]=k++;}}

l=0;

for(i=n;i<2*n+1;i=i+2)

{l++;

for(j=n-1;j>=l;j--)

a[j][i-j]=k++;

l++;

for(j=l;j<n;j++)

a[j][i+1-j]=k++;}

for (i=0;i<n;i++)

{for(j=0;j<n;j++)

printf("%3d",a[i][j]);

printf("\n");}}

Нажмите на комбинацию клавиш Ctrl + F9. Система выполнит компиляцию программы и выведет результат на экран. Для просмотра результата нажмите на комбинацию клавиш Alt + F5:

Варианты заданий

Запустить интегрированную среду языка С. Открыть новое окно. Набрать программы, предложенные лектором на лекционных занятиях, сохранить их под разными именами. Запустить программы в интегрированной системе Borland C++ и записать результаты выполнения программ в тетрадях.

Лабораторная работа №2.