Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курс лекций по С,С++.doc
Скачиваний:
28
Добавлен:
25.04.2019
Размер:
694.78 Кб
Скачать

3.1. Внутренняя структура программы

Исполняемая программа на Си состоит из 4 частей: область команд, область статических данных, область динамических данных, область стека см. Рис.2.

  1. Область команд содержит машинные команды;

  2. Стек используется для временного хранения данных и адресов возврата при вызовах подпрограмм;

  3. Область статических данных для хранения переменных программы;

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

3.2. Пример программы на си

заголовок

# include < stdio.h > //включение файла

void main (void) /*пример*/- имя функции и комментарии

{

тело функции

int num;

num = 1;

printf("пример программы"); // вывод на экран

printf("на Си");

} // конец тела функции

Программа Си всегда имеет функцию main(). С нее начинается выполнение программы.

Рис.2. Внутренняя структура программы на Си.

4.Базовые элементы языка си

  1. Комментарии – используются для документирования программы.

  • // - далее все игнорируется до конца строки.

  • /* Текст */ - в любом месте программы

  • /* Строка 1 - для комментария любой длины

строка 2

строка 3

*/

  1. Идентификатор - это имя, которое присваивается какому-либо объекту (переменной). Используются строчные и прописные английские буквы, цифры и знак подчёркивания. Строчные и прописные буквы различаются. Начинаются с буквы или знака подчеркивания. Длина не ограничена.

В современном программировании часто используется для создания идентификаторов Венгерская нотация. Например: WordParametrFormat или Word_Parametr_Format.

  1. Служебные слова – это слова, с которыми в языке жестко сопоставлены определённые смысловые значения и которые не могут быть использованы для других целей. Это имена операторов, команды препроцессора и так далее.

5.Данные в программе на си

Каждая программа оперирует в программе с данными. Они присутствуют в программе в виде переменных и констант.

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

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

5.1. Константы

Константы - это фиксированные значения. Значение, будучи установлено, больше не меняется.

Типы констант:

  1. Целые и длинные целые. Записываются в десятичной, восьмеричной и шестнадцатеричной системе счисления.

Десятичная система:

Размер: Диапазон чисел:

16 битов  32768 знаковое

0 – 65535u беззнаковое - (unsigned)

32 бита  2147483648l знаковое длинное – (long)

0 – 4294967295ul беззнаковое длинное - (unsigned long )

Пример: 12, 12567, 24u, 135l, 4567ul

Восьмеричная система:

Если число начинается с цифры 0, оно интерпретируется как восьмиричное число

16 битов 0  077777

0100000  0177777u

32 бита 0200000  01777777777l

020000000000  037777777777ul

Пример: 0674

Шестнадцатеричная система:

Если число начинается с символа 0х, то оно интерпретируется как шестнадцатиричное

16 битов 0x0000  0x7FFF

0x8000  0xEFFFu

32 бита 0x10000  0x7FFFFFFFl

0x80000000  0xFFFFFFFFul

Пример: 0х3D4

b) Вещественные константы. Это числа с плавающей точкой. Значение имеет дробную часть. По умолчанию все вещественные константы имеют тип двойной точности double. Занимают в памяти 8 байт. Диапазон значений  1 e 308.

Принудительно можно задать формат одинарной точности. Число будет занимать 4 байта. (5.75 f)

А также расширенной точности – 10 байт. (3.14L)

Знак + можно не писать. Разрешается опускать либо десятичную точку, либо экспоненциальную часть, но не одновременно (.2; 4е16). Можно не писать дробную либо целую часть, но не одновременно (100.; .8е-5)

c) Символьные константы. Это набор символов, используемых в ЭВМ.

Делятся на 2 группы: печатные и непечатные (управляющие коды). Символьная константа включает в себя только 1 символ, который необходимо заключить в апострофы и занимает 1 байт памяти.

Любой символ имеет своё двойное представление в таблице ASCII

Символ 'А' 'a' ' ' '\n'

Его код 65 97 32 10

Как целый тип данных 'A'=01018, 010000012, 4116, 6510.

Управляющие коды начинаются с символа \ и тоже заключаются в апострофы. Наиболее распространенные управляющие коды:

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

\t – табуляция (сдвиг курсора на некоторое фиксированное значение)

\b – шаг назад (сдвиг на одну позицию назад)

\r – возврат каретки (возврат к началу строки)

\f – подача бланка (протяжка бумаги на 1 страницу)

\\ - слеш

\’ - апостроф

\” - кавычки

Последние три знака могут выступать символьными константами, а также применяться в функции вывода на экран printf() , поэтому применение их в качестве символов может привести к ошибке. Например, если мы хотим вывести строку «Символ \ называется слеш», то оператор должен выглядеть так:

рrintf( «Символ \\ называется слеш»

  1. Строковые константы - содержат последовательность из 1 и более символов,

заключённых в " ". Расходуется по 1 байту на любой символ + 1байт на так называемый ноль-символ - признак конца строки. Ноль-символ – не цифра ноль, он означает, что количество символов в строке (N) должно быть на 1 байт больше (N+1), чтобы обозначать конец строки.