×
Traktatov.net » Язык программирования C [Лекции и упражнения, 6-е изд.] » Читать онлайн
Страница 67 из 557 Настройки

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

Резюме

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

Каждый оператор языка С является инструкцией компьютеру и обязательно заканчивается точкой с запятой. Оператор объявления назначает переменной имя и определяет тип данных, которые будет храниться в этой переменной. Имя переменной может служить примером идентификатора. Оператор присваивания устанавливает значение переменной или, пользуясь более общим термином, области хранения. Оператор вызова функции запускает на выполнение функцию с указанным именем. Когда вызванная функция завершается, управление в программе переходит к оператору, следующему за вызовом функции.

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

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

И, наконец, ключевые слова образуют словарь языка С.

Вопросы для самоконтроля

Ответы на эти вопросы находятся в приложении А.

1.  Как называются базовые модули программы на языке С?

2. Что такое синтаксическая ошибка? Приведите примеры синтаксической ошибки в контексте своего родного языка и языка С.

3. Что такое семантическая ошибка? Приведите примеры в контексте своего родного языка и языка С.

4. Джо из Индианы написал и представил вам на утверждение следующую программу. Помогите ему исправить ошибки.



74 Глава 2

5.  Предположим, что каждый из приведенных ниже примеров является частью завершенной программы. Что выведет каждая такая часть?

а. printf ("Бе, бе, Черная Овечка .");

printf("У тебя найдется шерсть для меня?\n");

б. printf("Прочь!\nВот наглая свинья!\n");

в. printf ("Что?\nНе/nклюет?\n");

г. int num; num = 2;

printf ("%d + %d = %d", num, num, num + num);

6.    Какие из следующих слов являются ключевыми в С? main, int, function, char, =

7.  Как вывести значения переменных words и lines, чтобы они отобразились в следующей форме:

Текст содержал 3020 слов и 350 строк.

Здесь 3020 и 350 представляют значения этих двух переменных.

8.  Рассмотрим следующую программу: