БАЗОВЫЕ ЭЛЕМЕНТЫ ЯЗЫКА СИ

 

Рассмотрим обязательные элементы, с помощью которых должна оформляться программа на Си:

 

1. Комментарии – используются для документирования программы. Любая программа должна содержать комментарии: какой алгоритм применяется, что делает программа…

Ø 1 способ: /* Текст */ - в любом месте программы.

Как только компилятор встречает /**/, он их пропускает. Компилятор игнорирует /* */, так как он не в состоянии интерпретировать язык, отличающийся от языка Си. То есть, если вы хотите исключить из компиляции какую-то строку, то заключите её в /**/.

Ø 2 способ: если комментарий большой, то используем такой тип

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

строка 2

строка 3*/

Ø 3 способ: // - текст до конца строки.

 

2. Идентификатор - это имя, которое присваивается какому-либо объекту (переменной). Используются строчные и прописные буквы, цифры и знак подчёркивания. Строчные и прописные буквы различаются. (В Бейсике не различаются). Если назвать переменную name, Name или NAME, то это будут разные переменные.

Начинаются идентификаторы с буквы или знака подчеркивания. Например, _name. Но не рекомендуется начинать с _, так как этот знак используется для глобальных имен сомого языка Си.

В современном программировании часто используется для создания идентификаторов Венгерская нотация, где используются определенные символы, характеризующие идентификатор, например:

b – байт; ch – однобайтовый символ;

w – слово; f – флаг;

l – длинное слово; fn – функция;

u – беззнаковое; p – указатель;

с – счетчик; d – разность двух пре-х

cz – строка; и т.д.

 

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

 

ДАННЫЕ В ПРОГРАММЕ НА СИ

 

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

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

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

 

Константы

 

Константы - это фиксированные значения. Значение, будучи установлено, больше не меняется. Константы бывают различных типов. Типы отличаются по принципу размещения в памяти ЭВМ, а для человека по виду записи. В Си существует 7 ключевых слов, используемых для указания на различные типы данных: int, long, short, unsigned, char, float, double.

 

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

a) Целые и длинные целые. Записываются в десятичной, восьмеричной и шестнадцатеричной системе счисления. Они могут быть знаковые и беззнаковые.

Десятичная система: целые константы занимают 16 бит памяти, и принимают диапазон значений: -32768 до +32767(215). Если константа беззнаковая, то диапазон удваивается: 0 до 65535 (за счет того, что 15-й разряд – знаковый используется под число). Для обозначения беззнакового числа используют суффикс u (unsigned), например 123u.

Если число больше 40000, то компилятор автоматически преобразует его в отрицательное число, поэтому суффикс u обязателен:40000u. В примере 123u компилятору все равно – есть суффикс или его нет, так как это число входит в диапазон 32767.

Длинное целое занимает 32 бита, диапазон значений

± 2147483648 (знаковое длинное – long). Если вы поставили суффикс l, то, несмотря на число, будет занято 32 бита. Например: -5326l

0 – 4294967295 беззнаковое длинное - (unsigned long). Диапазон увеличивается за счет 31-го бита. Используются суффиксы ul, например, 32659ul.

 

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

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

16 битов 0 ¸ 077777

0100000 ¸ 0177777u

32 бита 0200000 ¸ 01777777777l

020000000000 ¸ 037777777777ul

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

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

16 битов 0x0000 ¸ 0x7FFF

0x8000 ¸ 0xEFFFu

32 бита 0x10000 ¸ 0x7FFFFFFFl

0x80000000 ¸ 0xFFFFFFFFul

 

b) Вещественные константы. Это числа с плавающей точкой. Значение имеет дробную часть. По умолчанию все вещественные константы имеют тип двойной точности double. Занимают в памяти 8 байт(даже если 0,0). Диапазон значений ±1*10±307, можно записать и в научной форме, например: 0,5е+15 или

1,2е-3=1,2*10-8=0,0012.

Принудительно можно задать формат одинарной точности float. Число будет занимать 4 байта, используется суффикс f (5.7 f). Соответсвенно диапазон сужается ±1*10±37

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

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

 

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

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

Любой символ имеет своё двойное представление в таблице ASCII. В программе символьные константы вводятся в одинарных кавычках, при компиляции в программу подставляется числовое значение символа из ASCII. Один символ занимает 1 байт.

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

Его код 65 97 32 10

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

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

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

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

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

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

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

\\ - слеш

\’ - апостроф

\” - кавычки

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

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

 

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

«Мир» -

м и р 0

 

 








Дата добавления: 2016-02-02; просмотров: 3315;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.013 сек.