Конец холивара. Pascal vs C - [5]

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

В начале программы идут строки такого вида:


#include “имя файла”

#include <имя файла>


Такая строчка заменяется файлом с указанным именем. В первом случае, сначала поиск файла ведётся в текущем каталоге, а затем продолжается в стандартном. Во втором случае – сразу в стандартном.


Например:


#include 2 – для использования функций, связанных с вводом и выводом данных.

#include  – для использования стандартной библиотеки языка Си, которая содержит в себе функции, занимающиеся выделением памяти, контроль процесса выполнения программы, преобразования типов и другие.

#include  – для использования стандартных математических функций.


Эти строки называются директивами препроцессора. Всё что ниже называется блоком описания функции.

Далее следует заголовок функции, например:

int main () – где main – имя функции. В скобках (…) могут быть её аргументы, или слово void (ничто) – если аргументов нет. Описание int указывает, что эта функция возвращает целое число.

После чего следует тело функции в фигурных скобках {…}, которое состоит из описаний констант и переменных и последовательности операторов, разделённых точками с запятыми (;). Тело функции определяет последовательность действий, выполняемых данной функцией – логику функции.

Фигурные скобки обрамляют также и составной оператор, аналогично операторным скобкам BEGIN… END в Pascal.

В конце тела функции обычно ставятся следующие команды:

Команда return 0; которая завершает выполнение функции с возвратом значения 0, определяемого стандартом (для функции main), как код успешного завершения.

При запуске непосредственно из графического окружения, отведенное программе окно может закрыться сразу же после завершения программы. Функция getchar ожидает ввод пользователя, тем самым “откладывая” завершение программы (return). Какие именно действия могут прервать это ожидание – зависит от системы, однако скорее всего, нажатие клавиши Enter завершит эту функцию в любом случае.

Точка в конце программы, в отличии от Pascal, не ставится.

Стандартные типы данных и описание переменных

int – целое

long – длинное целое

short – короткое целое

unsigned – беззнаковое целое

float – вещественное

double – длинное вещественное

char – литерное


В отличии от Pfscal, в С логических переменных нет.


Примеры описания переменных:


int k;

char a, b, c;

double x;

Константы

Примеры описания констант:


int: 17;

float: 1.25;

char: “a”;

Процедуры ввода и вывода

Стандартная библиотека ввода-вывода языка C подключается с помощью директивы препроцессора #include


Форматный ввод данных пользователя с клавиатуры производится функцией scanf ().


scanf (CONTROL, ARG1, ARG2, …);


Данная функция осуществляет чтение символов, вводимых с клавиатуры, и преобразование их во внутреннее представление в соответствии с типом величин. В функции scanf () CONTROL и список аргументов (ARG1, ARG2, …) присутствуют обязательно.

Символьную последовательность, вводимую с клавиатуры и воспринимаемую функцией scanf (), принято называть входным потоком. Функция scanf () разделяет этот поток на отдельные вводимые величины, интерпретирует их в соответствии с указанным типом и форматом и присваивает переменным, содержащимся в списке аргументов. Список аргументов – это перечень вводимых переменных, причем перед именем каждой переменной ставится значок &. Это знак операции “взятие адреса переменной”.

CONTROL заключается в кавычки (то есть является текстовой константой) и состоит из списка спецификаций. Каждая спецификация начинается со знака %, после которого следует спецификатор.

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


d – для целых десятичных чисел (тип int);

u – для целых десятичных чисел без знака (тип unsigned int);

f – для вещественных чисел (тип float) в форме с фиксированной точкой;

е – для вещественных чисел (тип float) в форме с плавающей точкой (с мантиссой и порядком).


Разделителем в потоке ввода между различными значениями может быть любое количество пробелов, а также другие пробельные символы: знак табуляции, конец строки. Только после нажатия на клавишу Enter вводимые значения присвоятся соответствующим переменным. До этого входной поток помещается в буфер клавиатуры и может редактироваться.


Форматный вывод на экран производится функцией printf ().


printf (CONTROL, ARG1, ARG2, …);


CONTROL заключается в кавычки (то есть является текстовой константой) и может включать в себя произвольный текст, управляющие символы и спецификаторы формата.

Список аргументов (ARG1, ARG2, …) может отсутствовать или же состоять из выражений, значения которых выводятся на экран (в частном случае из констант и переменных). Управляющие символы влияют на расположение на экране выводимых знаков. Признаком управляющего символа является значок \.


Вот их список:


\n – перевод строки;

\t – горизонтальная табуляция;

\r – возврат курсора к началу новой строки;

\a – сигнал-звонок;

\b – возврат на один символ (одну позицию);

\f – перевод (прогон) страницы;

\v – вертикальная табуляция.


Спецификатор формата определяет форму внешнего представления выводимой величины.

Вот некоторые спецификаторы формата:


Рекомендуем почитать
Pro Git

Разработчику часто требуется много сторонних инструментов, чтобы создавать и поддерживать проект. Система Git — один из таких инструментов и используется для контроля промежуточных версий вашего приложения, позволяя вам исправлять ошибки, откатывать к старой версии, разрабатывать проект в команде и сливать его потом. В книге вы узнаете об основах работы с Git: установка, ключевые команды, gitHub и многое другое.В книге рассматриваются следующие темы:основы Git;ветвление в Git;Git на сервере;распределённый Git;GitHub;инструменты Git;настройка Git;Git и другие системы контроля версий.


Java 7

Рассмотрено все необходимое для разработки, компиляции, отладки и запуска приложений Java. Изложены практические приемы использования как традиционных, так и новейших конструкций объектно-ориентированного языка Java, графической библиотеки классов Swing, расширенной библиотеки Java 2D, работа со звуком, печать, способы русификации программ. Приведено полное описание нововведений Java SE 7: двоичная запись чисел, строковые варианты разветвлений, "ромбовидный оператор", NIO2, новые средства многопоточности и др.


MFC и OpenGL

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


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

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


Обработка событий в С++

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


Питон — модули, пакеты, классы, экземпляры

Python - объектно-ориентированный язык сверхвысокого уровня. Python, в отличии от Java, не требует исключительно объектной ориентированности, но классы в Python так просто изучить и так удобно использовать, что даже новые и неискушенные пользователи быстро переходят на ОО-подход.