Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Основные элементы Си-программы
В языке Си исходные файлы бывают двух типов: - заголовочные, или h-файлы - файлы реализации, или Cи-файлы Имена заголовочных файлов имеют расширение ". h ". Имена файлов реализации имеют расширения ". c ". Заголовочные файлы содержат только описания. Прежде всего, это прототипы функций. Также в h-файлах описываются имена и типы внешних переменных, константы, новые типы, структуры и т.п. При трансляции заголовочных файлов, как правило, никакие объекты не создаются. Заголовочный файл подключается с помощью директивы препроцессора #include. Например, описания стандартных функций ввода-вывода включаются с помощью строки: #include <stdio.h> Имя h-файла записывается в угловых скобках, если этот h -файл является частью стандартной Си-библиотеки и расположен в одном из системных каталогов. Имена h -файлов, созданных самим программистом в рамках разрабатываемого проекта и расположенных в текущем каталоге, указываются в двойных кавычках, например: #include "mylib.h" Функции Функция является основной структурной единицей языка Си. Функция –это фрагмент программы, который может вызываться из других программ. Функция обычно выполняет алгоритм, который описывается и реализуется отдельно от других алгоритмов. При вызове функции передаются аргументы, которые могут быть использованы в теле функции. Вызов функции происходит в результате использования ее имени в выражении. За именем функции следуют круглые скобки, внутри которых перечисляются фактические значения ее аргументов. Даже если аргументов нет, круглые скобки с пустым списком аргументов обязательно должны присутствовать! После вызова функции значение, возвращенное в результате ее выполнения, используется в выражении (имя функции как бы заменяется возвращенным значением). Примеры: x = sin(1.0); f(); Типы переменных В языке Си используются всего два базовых типа: целые и вещественные числа. Кроме того, имеется фиктивный тип void ("пустота"), который применяется либо для функции, не возвращающей никакого значения, либо для описания указателя общего типа (когда неизвестна информация о типе объекта, на который ссылается указатель). Целочисленные типы Целочисленные типы различаются по длине в байтах и по наличию знака. Их четыре: char, short, int и long. Кроме того, к описанию можно добавлять модификаторы unsigned или signed для беззнаковых (неотрицательных) или знаковых целых чисел.
Тип int Самый естественный целочисленный тип – это тип int, от слова integer –целое число. Тип int всегда соответствует размеру машинного слова или адреса. Все действия с элементами типа int производятся максимально быстро. Всегда следует выбирать именно тип int, если использование других целочисленных типов не диктуется явно спецификой решаемой задачи. Параметры большинства стандартных функций, работающих с целыми числами или символами, имеют тип int. В современных архитектурах элемент типа int занимает 4 байта. Элементы типа int трактуются в Си как числа со знаком. Тип char Тип char представляет целые числа в диапазоне от -128 до 127. Элементы типа char занимают один байт памяти. Слово "char " является сокращением от character, что в переводе означает "символ". Действительно, традиционно символы представляются их целочисленными кодами, а код символа занимает один байт. Тем не менее, подчеркнем, что элементы типа char –это именно целые числа, с ними можно выполнять все арифметические операции. Стандарт Си не устанавливает, трактуются ли элементы типа char как знаковые или беззнаковые числа, но большинство Си-компиляторов считают char знаковым типом. Вещественные типы Вещественных типов два: длинное вещественное число double (переводится как "двойная точность") и короткое вещественное число float (переводится как "плавающее"). Вещественное число типа double занимает 8 байтов, типа float –4 байта. Тип double является основным для компьютера. Тип float –это, скорее, атавизм, оставшийся от ранних версий языка Си. Компьютер умеет производить арифметические действия только с элементами типа double, элементы типа float приходится сначала преобразовывать к double. Точность, которую обеспечивает тип float, низка и не достаточна для большинства практических задач. Все стандартные функции математической библиотеки работают только с типом double. Синтаксис языка Идентификаторы Допустимый идентификатор — это слово (лексема), составленное из допустимых символов алфавита языка программирования, не являющееся знаком некоторой операции или разделителем.
Идентификаторы — это те имена, которые даются программным объектам — (именованным) константам, переменным, типам и функциям. Некоторые лексемы являются зарезервированными (или, что то же самое, ключевыми) словами (см. ниже), и, поэтому, не могут быть использованы в программе в качестве идентификаторов программных объектов. Предопределённые константы Для введения в программе на Си именованных констант используется директива препроцессора # define: # define имя константы [значение];. Введённая таким образом константа будет действовать всюду, начиная с момента задания константы и до конца программного кода или до тех пор, пока действие заданной константы не отменено другой директивой: # undefine имя константы;. Как и для всякого макроса, для именованной константы происходит автоматическая подстановка значения константы в программном коде всюду, где употреблено имя константы. Если для именованной константы указано некоторое значение, то для константы определяется так же и тип, соответствующий виду задаваемого значения. Различают следующие типы констант: - числовые (целочисленные или вещественные); - символьные (выделяются знаком апострофа); - текстовые строки (выделяются знаком двойных кавычек). Ключевые слова Ключевые слова — это лексемы, которые зарезервированы компилятором для обозначения типов переменных, класса хранения, элементов операторов. Стандартом С89 предусмотрены следующие ключевые слова: - для указания операции получения размера объекта: sizeof - для описания прототипа объекта: typedef - для обозначения класса хранения переменных: auto, register - для обозначения того, что объект описывается в другом месте extern - для обозначения того, что объект статический static - для обозначения типа переменных char, short,int, long, signed, unsigned,float, double, void - struct (структура), enum (перечисление), union - для обозначения операторов цикла: do, for, while - для обозначения условного оператора: if, else - для обозначения оператора выбора: switch, case, default - операторы прерывания исполнения кода: break, continue - для обозначения оператора безусловного перехода: goto - для обозначения оператора возврата из функции: return. - В стандарте C99 добавлены следующие ключевые слова: - для обозначения того, что функция является встраиваемой: inline - для обозначения типа переменной: _ Bool, _Complex, _Imaginary
|
||||||
Последнее изменение этой страницы: 2017-02-07; просмотров: 160; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.222.69.152 (0.008 с.) |