Язык программирования C. Структура простейшей программы на языке C

Страницы работы

Содержание работы

Язык программирования C

Цель: систематизировать знания по языку C.

В этой теме мы рассмотрим два раздела:

          Что у языка C общего с другими языками программирования

          Что отличает язык C

1.  C как язык программирования высокого уровня.

Если быть предельно честным, то язык C с большо-о-о-й натяжкой можно назвать языком программирования высокого уровня. Дело в том, что разрабатывался он не как язык для пользователей (как, например, Pascal), а как язык для программистов. Отсюда наличие в нем множества элементов низкоуровневого программирования, присущих ассемблерам,

 и отсутствие, например, строкового типа данных.

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

-  определение (объявление) переменных

-  ввод и вывод данных

-  арифметико-логические операции над переменными

-  операторы, управляющие потоком выполнения

-  циклы

-  подпрограммы

-  конструкторы составных данных (массивов, структур и т.п.)

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

Структура простейшей программы на языке C

Помимо основных конструкций программирования в каждом языке существуют правила построения программных единиц – модулей. В каждом языке обычно имеется главный модуль, с которого начинается выполнение приложения: в FORTRAN’е это PROGRAM; в Pascal’е это стартовая совокупность begin – end;

в C – это функция main().

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

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

Структура простейшей программы на языке C представлена на рисунке

Скругленный прямоугольник: Прочие функции Скругленный прямоугольник: Главная функция main () { ………}Скругленный прямоугольник: Объявление и описание глобальных переменных, констант и функций 

Причем если первые два раздела могут отсутствовать, то наличие функции main(), как мы уже говорили ранее, обязательно.

А теперь давайте разберем более подробно те семь конструкций. которые мы аннонсировали выше.

1.1.  Определение и объявление переменных

Я не по ошибке использовал в заголовке два вроде бы схожих по смыслу слова  - определение и объявление. (define and declare). Это связано с механизмом компиляции отдельных модулей и связывания их (линковки) в единый исполняемый модуль. Поскольку несколько независимо компилируемых модулей могут использовать одни и те же переменные, то место под эти переменные должно быть выделено одним из модулей, а остальные должны знать, что такая переменная (с таким именем и типом) существует и нужно только при связывании получить ее адрес. Аналогичный  или похожий механизм разделения переменных присутствует и в других языках программирования – в FORTRAN’е это область данных COMMON. Поэтому в C кроме ключевых слов для определения переменных – int, char, float и т.п. существует ключевое слово extern – оно означает, что переменная будет (или была) определена в другом месте.

Итак, существуют следующие базисные (основные) типы данных:

целый

символьный

с плавающей точкой.

Основные типы могут иметь модификаторы типа:

беззнаковый (для символьных и целых)

с двойной точностью (для переменных с плавающей точкой)

короткие и длинные (для целых)

Размер памяти, отводимой для переменных, определяется типом и платформой:

символьный – 1 байт независимо от платформы

целый – зависит от платформы. На большинстве платформ размер памяти, отводимый для хранения переменных целого типа равен размеру машинного слова. Так, на IBM PC – 2 байта (16 разрядов), на SUN – 4 байта (32 разряда), на патриархе отечественных компьютеров БЭСМ-6 – аж целых 75!

короткий целый – ВСЕГДА 2 байта

длинный целый – зависит от платформы и определяется в файлах  <types.h> и  <limits.h>

с плавающей точкой – 4 байта

с плавающей точкой двойной точности – 8 байт

длинный с плавающей точкой двойной точности

Помимо базисных типов существует возможность определять производные типы данных – массивы, структуры, перечисления. Это мы обсудим чуть позже.

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

Область действия переменных.

В зависимости от того, как были определены или описаны переменные и константы, определяется из область видимости (действия). Переменные могут быть автоматическим, статическим и глобальными .

Похожие материалы

Информация о работе