Для запуска программы на выполнение необходимо в среде программирования выбрать пункт меню "Run". При этом выполняется три операции: предкомпиляция, компиляция и компоновка. На рис. 2.1 показана схема получения загрузочного модуля из исходного текста программы prog1.c.
На этапе предкомпиляции специальная программа - препроцессор производит преобразования в исходном тексте программы (файл с расширением.с) согласно директив препроцессора (начинаются с #).
В процессе компиляции специальная программа – компилятор языка С просматривает исходный текст программы, проверяет его на наличие синтаксических ошибок (нарушений правил языка С). Если ошибки есть, то об этом выдаются соответствующие сообщения и компиляция прекращается. Если ошибок нет, то формируется объектный модуль программы (файл с расширением.obj), который представляет собой результат перевода операторов языка С в наборы машинных команд в двоичном коде.
|
|
|
Ниже приведен исходный текст простой программы, составленной на языке 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;
}
}