Схема получения рабочей программы (загрузочного модуля) из исходного текста программы 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Схема получения рабочей программы (загрузочного модуля) из исходного текста программы



Для запуска программы на выполнение необходимо в среде программирования выбрать пункт меню "Run". При этом выполняется три операции: предкомпиляция, компиляция и компоновка. На рис. 2.1 показана схема получения загрузочного модуля из исходного текста программы prog1.c.

На этапе предкомпиляции специальная программа - препроцессор производит преобразования в исходном тексте программы (файл с расширением.с) согласно директив препроцессора (начинаются с #).

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

нет ошибок
На этапе компоновки специальная программа – компоновщик просматривает объектный модуль и определяет наличие вызовов стандартных функций, подключает необходимые библиотеки языка С (файлы с расширением.lib). В результате формируется загрузочный модуль – выполняемая программа (файл с расширением.exe), в который включены машинные коды из объектного модуля и необходимые стандартные функции из библиотек.

 

Ниже приведен исходный текст простой программы, составленной на языке C, в которой производится описание вещественного массива x из 20 элементов, вычисление значений его элементов, определение их среднего арифметического значения и вывод результатов на экран.

# include <stdio.h> /* Включение файла с описаним функций ввода- вывода */

 

# include <math.h> /* Включение файла с описаним математических функций */

 

# include <conio.h> /* Включение файла с описаним функцийй управлния консолью*/

 

int main ()

{

//Описание данных программы

int i;

float x[20], s;

printf(“ Масив X \n”);

//Формирование массива, его вывод и накопление суммы

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

{

x[i]=i*1.5*cos(2.1*i);

printf(“%.1f”,x[i]);

s+=x[i];

}

//расчет среднего значения

s/=20;

printf(“Среднее значение S=%.3f \n”,s);

return 0;

}

Вопросы для самоконтроля

1 Из каких разделов состоит программа?

2 Какие действия выполняет директивы препроцессора?

3 Как выглядит заголовок главной функции?

4 Как отделяются операторы друг от друга?

5 Какую функцию выполняют # include?

6 Для чего выполняется описание данных?

7 Какое расширение имеет файл с текстом программы?

 


ОПЕРАТОРЫ ЯЗЫКА СИ

Операторы предназначены для выполнения в программах разных операций: арифметических, логических, ввода, вывода и других. В тексте программы один оператор отделяется от другого точной с запятой;.

3.1.Оператор присваивания

Данный оператор выполняет присвоения переменной, указанной в левой части, значение выражения, расположенного в правой части оператора.
Формы записи оператора:

Оператор присваивания имеет три формы: простой, многоместный, совмещенный.

Простой:

v=a; 

где: a-арифметическое выражение,

    v-переменная,

  = - знак присваивания

Пример:

void main() {

int present, entr;

present =exp(2,9);

entr = 20;

present = present + entr;

Многоместный - позволяет присваивать значение одного выражения сразу нескольким переменным.

k=m=i=1 v1=v2=…=124

Совмещенный - совмещает в себе две операции:

- изменение переменной на заданную величину;

- присвоение ей нового значения;

v+ =a;            v=v+a

v - =a;           v=v-a

v*=a;             v=v*a

v/=a;             v=v/a

v% =a;            v=v% a

k+=1;             k++ (k=k+1)

k-=1;             k- - (k=k-1)

 

Пример

x+=0.5; z*=2.8;

t-=y*sin(0.2*x);

3.2. Составной оператор – образуется путем заключения в фигурные скобки двух или более операторов.

{оператор 1;

оператор n;

}

 

Пример 3.1

{ f = 1/2 *3*x;  k* = f;}

 

Составные операторы могут быть вложенными. Тогда следует помнить, что закрывается первым тот оператор, который открылся последним, и последним закрывается тот, который открылся первым.

{

{

оператор 1;

оператор 2;

}

 

{

оператор 3;

оператор 4;

}

 

}

Вывод данных на дисплей.

Для вывода информации на экран используется оператор printf(…), который выглядит следующим образом:

printf (“управляющая строка”,список вывода);

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

Форматные спецификации содержат знак % и символ, соответствующий типу вводимой информации:

%d – целые десятичные

%u – беззнаковое десятичное 

%c - символ 

%s – строка

%f – вещественное с десятичными знаками.

%е – вещественное с порядком

%g – короткое вещественное

%0 – восьмиричное

%x – шестнадцатиричное

\n переход на новую строку



Поделиться:


Последнее изменение этой страницы: 2021-04-04; просмотров: 83; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.137.192.3 (0.009 с.)