Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Proga (pechat).docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
90.29 Кб
Скачать

8.Структура программ на языке Си. Директива процессора, комментарии.

Программа на языке Си – это текстовый файл с расширением «.c».

Текст программы имеет определенную структуру:

1. директивы процессора

2. объявление глобальных переменных и/или констант

3. объявление и определение функций

4. функция main

Это не жесткий порядок, а ориентировочный.

Иногда используются прототипы функций, а сами функции описываются полностью после функции main. Функция - имеет { "тело" } в фигурных скобках. Тело - это код на Си определяющий то, что делает функция. Знак «;» после функции не ставится.

Программа на Си всегда начинает работу с функции main().

Директива – это указание компилятору языка С++ выполнить то или иное действие в момент компиляции программы. Существует строго определенный набор возможных директив, который включает в себя следующие определения: #define, #elif, #else, #endif, #if, #ifdef, #ifndef, #include, #undef.

Символ ‘;’ после директив не ставится.

Директива #define используется для задания констант, ключевых слов, операторов и выражений, используемых в программе. Общий синтаксис данной директивы имеет следующий вид:

#define <идентификатор> [(<список параметров>)] <текст>

Директива #include позволяет добавлять в программу ранее написанные программы сохраненные в виде файлов.

Есть две разновидности директивы #include:

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

  • #include «mylib.h» - имя файла в кавычках, свидетельствуют о том, что препроцессору необходимо сначала выполнить поиск файла в текущем каталоге, т.е. в том, где находится файл создаваемой программы, а уже затем – искать в стандартных каталогах.

Комментарии

Текст, заключённый в служебные символы /* и */ (в этом порядке), полностью игнорируется компилятором. Вложение комментариев не допускается. Компиляторы также позволяют использовать комментарии, начинающиеся с символов // и заканчивающиеся переводом строки.

9. Основные (стандартные) типы данных в С++.

  1. char (1 байт) – хранит либо небольшие целые числа, либо коды символов (трактовка зависит от операции).

  1. unsigned char – 0..255

signed char – -128..+127

  1. ASCII-код

wchar_t – расширенный (2 байта)

  1. int, занимает 2 (Borland) или 4 (Visual) байта, в зависимости от среды

  1. unsigned int – 0..65 535

  2. short int – -32 768..+32 767

  3. int (≡signed int) – -32 768..+32 767

  1. long (4 байта)

  1. unsigned long – 0..4 294 967 295

  2. long (=signed long) – -2147483648..+2147483647

  1. Данные с плавающей точкой (вещественные)

  1. float (4 байта) – 3,4*10-38..3,4*10+38 (точность десятичных чисел: 7)

  2. double (8 байт) – 1,7*10-308..1,7*10+308 (точность десятичных чисел: 15)

  3. long double (8 байт) – 3,4*10-4 932..3,4*10+4 932 (точность десятичных чисел: 19)

С поддерживает стандарт iEE хранения вещественных чисел: представляются в виде 2-х компонент: C=M*2P (М – мантисса)

S (знак)

P (порядок)

1* M (разряд)

* - implicit one (неявная единица)

float

31 30 23 22 0

Double

63 62 52 51 0

long double

79 78 64 63 0

10. Переменные и константы в С++. Модификатор const.

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

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

·         Локальными переменными называют переменные, описанные внутри блока , они размещаются в стеке, не имеют значений по умолчанию, и разрушаются при выходе из блока.

С переменной связано два значения:  её значение R-значение(Read Value) и значение адреса области памяти, l-значение(location-value). Константами называют неизменяемые величины. Различают целые, вещественные, символьные и строковые константы. Модификатор const показывает, что значение переменной изменять нельзя. Такую переменную называют именованной  константой, или просто константой. Константа должна быть инициализирована при объявлении. # include <math.h> int x; //х - глобальная переменная. void main(void) {int x=1;//локальная переменная. Она “прячет” глобальную переменную. Локальный х=1; {int x; //второй локальный х, перекрывает первый локальный х; x=3;//Второй локальный х =3 } x=x++; //Первый локальный х=2; } int *p=&x; //Взяли адрес глобального х; int y=x++; //y=1 :: -- операция разрешения, только для глобальных переменных. int x; void main(void); {int x=10; //Локальный х. ::x=-7;//Глобальный х=-7. }

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]