Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теор. мат. к 1 практ.р._Си.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
193.02 Кб
Скачать

Разделители

  1. Для обозначения соответственно начала и конца составного оператора или блока используют фигурные скобки {}.

  2. Запятая может использоваться в качестве операции, а может применяться для разделения элементов списка.

  3. Любое допустимое выражение, за которым следует точка с запятой, воспринимается как оператор.

Структура программы на языке Си

/* многострочный

комментарий */ или

// однострочный комментарий

< # директивы препроцессора>

< Объявление глобальных данных >

< Объявление прототипов пользовательских функций или самих функций >

Заголовок функции <тип> main( < список параметров>)

{

< Операторы объявления >

< Исполняемые операторы >

}

Текст между фигурными скобками называется телом функции.

Комментарий – это часть программы, которая игнорируется компилятором и служит для удобочитаемости исходного текста. В языке программирования Си существует 2 вида комментариев:

однострочный (//…);

многострочный (/*…*/).

  1. препроцессорная директива обычно размещается в одной строке.

  2. все директивы начинаются с символа #.

Препроцессор сканирует исходный текст программы в поиске строк, начинающихся с #. Такие строки воспринимаются препроцессором как команды, которые определяют действия по преобразованию текста. Директива #include <…> предназначена для включения в текст программы текста файла из каталога заголовочных файлов, поставляемых вместе со стандартными библиотеками компилятора.

После выполнения обработки в тексте программы не остается ни одной препроцессорной директивы. Теперь программа представляет собой набор описаний и определений.

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

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

Для подключения заголовочных файлов используется директива (команда) препроцессора #include, после которой в угловых скобках ставится имя файла <имя.h>.

Препроцессор – это специальная программа, которая обрабатывает текст программы раньше транслятора.

//Пример программы вычисления площади треугольника

#include <stdio.h>

#include <math.h>

#define DL 10

#define N 30

#define STEP 20

int main (void)

{

double a, b, c, p, s;

printf (”Введите длины сторон треугольника\n”);

scanf (”%lf%lf%lf”, &a, &b, &c);

p=(a+b+c)/2;

s=sqrt(p*(p-a)*(p-b)*(p-c));

printf (”Площадь S=%lf”, s);

return 0:

}

Объявления.

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

int m,k,i,n,y;

float s;

int x=(y+(++n))*6;

Типы данных.

При объявлении переменной компилятор выделяет место в памяти компьютера, необходимое для размещения переменной данного типа. Размер типа определяется аппаратной и программной платформой компьютера.

В языке С существует 4 базовых типа данных:

Char с='R'; - 1 байт, используется для хранения символов, однако формально является целочисленным, т.к. каждый символ имеет свой числовой код, значение которого и хранится в ячейке. Символ R имеет код 82.

Int x,y,z; – 2 байта или 4 байта. В зависимости от аппаратной и системной реализации компьютера. Диапазон допустимых значений для 2-х байтовой ЭВМ будет -32768.. 32767.

Float а; - 4 байта, 3.4*10-38.. 3.4*1038 . Вещественное число одинарной точности.

Double; - 8 байт, 1.7*10-308.. 1.7*10308. Вещественное число двойной точности.

Voidэтот тип обозначает пустое множество значений. Обозначает отсутствие значения.

Под данные типа void память не выделяется, он используется, как тип возвращаемого значения когда функция ничего не возвращает, используется как посредник.

Кроме того, существуют модификаторы типа – специальные служебные слова short, long, Signed (со знаком) и unsigned (без знака). Они могут применяться к базовым типам:

Signed и unsigned применяются только к типам Char и Int. К целым числам применимы short, long.

short Int x,y,z; слово Int в этом случае можно опустить:

short x,y,z;

Sizeof (int) – позволяет получить информацию об объеме памяти, выделяемой для данного типа.

В таблице 3 представлены типы данных, размеры ячейки и допустимые значения переменных.

Таблица 3

Тип данных

Размер байт/бит

Диапазон значений

unsigned char

1/8

0 … 255

char

1/8

-128 … 127

unsigned int

2/16

0 … 65535

short int

2/16

-32768 … 32767

unsigned short

2/16

0 … 65535

int

2/16

-32768 … 32767

unsigned long

4/32

0 … 4294967295

long

4/32

-2147483648 … 2147483647

float

4/32

3.4E-38 … 3.4E+38

double

8/64

1.7E-308 … 1.7E+308

long double

10/80

3.4E-4932 … 1.1E+4932

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

Порядок выполнения операций определяется рангом (приоритетом) операции и правилами группировки (ассоциативность). Для изменения порядка выполнения операций и их группирования используют разделители (круглые скобки).

В общем случае, унарные операции, условная операция и операции присваивания правоассоциативны, а остальные операции левоассоциативны: выражение x = y = z; означает x = (y = z); выражение x+ y –z; означает (x + y) – z.