Язык Си - [6]

Шрифт
Интервал

Теперь мы с вами готовы приступить к изучению гл. 2.

2. Введение в язык Си

СТРУКТУРА ПРОСТОЙ ПРОГРАММЫ, ОПИСАНИЕ ПЕРЕМЕННЫХ, ИСПОЛЬЗОВАНИЕ КОММЕНТАРИЕВ, ЧИТАЕМОСТЬ ПРОГРАММ, ОПЕРАЦИИ

ПРИМЕР ПРОСТОЙ ПРОГРАММЫ НА ЯЗЫКЕ СИ

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

#include

main() /*простая программа*/

{

int num;

num = l;

printf ("Я простая");

printf ("вычислительная машина.\n");

printf ("Мое любимое число %d, потому что оно самое первое.\n", num);

}

Если вы считаете, что программа должна вывести нечто на экран дисплея, то вы совершенно правы! Несколько труднее понять, что же появится на экране на самом деле, поэтому давайте выполним программу на ЭВМ и посмотрим к чему это приведет.

Первый шаг заключается в использовании имеющегося у вас текстового редактора для создания файла, содержащего текст программы. Этому файлу необходимо будет присвоить какое-то имя; если вам не приходит в голову ничего оригинального, то назовите его main.с. Выполните компиляцию вашей программы. (Для этого вы должны терпеливо ознакомиться с руководством по компилятору, имеющемуся в составе вашей вычислительной системы.) Теперь запустим программу. Если все пойдет хорошо, то результат должен выглядеть следующим образом:

Мы выполним два просмотра текста программы: во время первого объясним смысл каждой строки, а во время второго — рассмотрим дополнительные вопросы и детали.

Первый просмотр: краткий обзор

#include — включение другого файла.

Эта строка указывает компилятору, что нужно включить информацию, содержащуюся в файле stdio.h.


main() — имя функции


РИС. 2.1. Структура программы, написанной на языке Си.

Любая программа, написанная на языке Си, состоит из одной или более "функций", являющихся основными модулями, из которых она собирается.

Наша программа состоит из одной функции main, и круглые скобки указывают именно на то, что main() — имя функции.


/*простая программа*/ — комментарий.

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


{ — начало тела функции.

Открывающая фигурная скобка отмечает начало последовательности операторов, образующих тело (или определение) функции. Конец определения отмечается закрывающей фигурной скобкой }.


int num; — оператор описания.

С помощью такого оператора мы объявляем, что будем использовать в программе переменную num, которая принимает целые (int) значения.


num =1; — оператор присваивания.

Этот оператор служит для присваивания переменной num значения 1.


printf (" Я простая"); — оператор вывода на печать.

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


printf(" вычислительная машина.\n"); — еще один оператор вывода на печать.

Этот оператор добавляет слова вычислительная машина. в конец последней печатаемой фразы. Комбинация символов \n указывает компилятору на начало новой строки.


printf ("Мое любимое число %d, потому что оно самое первое. \n", num);

Этот оператор выводит на печать значение переменной num (равное 1), содержащееся во фразе в кавычках. Символы %d указывают компилятору, где и в какой форме печатать значение этой переменной num.


} — конец. Как уже упоминалось, программа завершается закрывающей фигурной скобкой.

Второй просмотр: детали

#include < stdio.h>:

Файл с именем stdio.h является частью пакета, имеющегося в любом компиляторе языка Си и содержащего информацию о вводе-выводе (например, средства взаимодействия программы с вашим терминалом). В качестве имени файла используется аббревиатура английских слов:


standard input/оutput header — стандартный заголовок ввода-вывода.


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


Возможно, вас удивляет, почему одно из основных средств языка — процедуры ввода-вывода — не включается компилятором в программу автоматически. Дело в том, что этот пакет используется далеко не всегда, а ведь одна из целей создания языка Си — получение компактного объектного кода. Между прочим, упомянутая строка не является даже оператором языка Си. Символ # указывает, что она должна быть обработана "препроцессором" языка Си. Как вы уже могли предположить из названия, препроцессор осуществляет некоторую предварительную обработку текста программы перед началом компиляции. В дальнейшем мы рассмотрим несколько примеров использования команд препроцессора.


Еще от автора Митчел Уэйт
Язык программирования C [Лекции и упражнения, 6-е изд.]

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


Рекомендуем почитать
Программирование приложений для мобильных устройств под управлением Android. Часть 1

Книга посвящена разработке программ для мобильных устройств под управлением операционной системы Android. Рассматривается создание приложений с использованием системных компонентов и служб Android. Приведены базовые данные о структуре приложений, об основных классах и их методах, сопровождаемые примерами кода. Часть 1 содержит шесть глав, описывающих основные принципы создания приложений, пользовательский интерфейс, полномочия приложений, а так же базовые классы: Activity, Intent, Fragment. Книга предназначена для программистов, владеющих языком программирования Java и желающих освоить написание приложений, работающих под ОС Android.


Платформа J2Me

Эта книга научит вас, как разрабатывать программное обеспечение для платформы J2ME компании «Sun Microsystems». Эта книга придерживается стиля учебного пособия, это не справочное руководство.Цель — дать вам твердую основу в понятиях и техниках, которая даст вам возможность решиться на самостоятельную разработку качественных приложений.


Обработка баз данных на Visual Basic.NET

Это практическое руководство разработчика программного обеспечения на Visual Basic .NET и ADO.NET, предназначенное для создания приложений баз данных на основе WinForms, Web-форм и Web-служб. В книге описываются практические способы решения задач доступа к данным, с которыми сталкиваются разработчики на Visual Basic .NET в своей повседневной деятельности. Книга начинается с основных сведений о создании баз данных, использовании языка структурированных запросов SQL и системы управления базами данных Microsoft SQL Server 2000.


Исчерпывающее руководство по написанию всплывающих подсказок

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


Симуляция частичной специализации

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


Создаем порт для FreeBSD своими руками. Часть II

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