Функция 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. Рассмотрим следующую программу:

Каким будет состояние программы после выполнения строки 7? Строки 8? Строки 9? 9. Взгляните на следующую программу:

Каким будет состояние программы после выполнения строки 7? Строки 8? Строки 9?
Упражнения по программированию
Для изучения языка С одного лишь чтения книг недостаточно. Вы должны попробовать написать несколько простых программ, чтобы посмотреть, так ли все гладко, как это выглядело в главе.
Введение в язык С 75
Мы предоставим вам некоторые соображения, однако вы сами должны продумать решение существующих задач. Ответы на избранные упражнения по программированию вы найдете на веб-сайте издательства этой книги.
1. Напишите программу, которая использует первый вызов функции printf() для вывода своего имени и фамилии в одной строке, второй вызов printf(), чтобы вывести имя и фамилию в двух строках, и еще два вызова printf() для вывода имени и фамилии в одной строке. Выходные данные должны иметь следующий вид (но с указанием ваших персональных данных):
Иван Иванов <-Первый оператор вывода
Иван <-Второй оператор вывода
Иванов <-По-прежнему второй оператор вывода
Иван Иванов <-Третий и четвертый операторы вывода
2. Напишите программу, выводящую ваше имя и адрес.
3. Напишите программу, которая преобразует ваш возраст в полных годах в количество дней и отображает на экране оба значения. Не обращайте внимания на високосные годы.
4. Напишите программу, которая производит следующий вывод:
Он веселый молодец!
Он веселый молодец!
Он веселый молодец!
Никто не может это отрицать!
Вдобавок к функции main() в программе должны использоваться две определенные пользователем функции: jolly(), которая выводит сообщение “Он веселый молодец!” один раз, и deny(), выводящая сообщение в последней строке.
5. Напишите программу, которая производит следующий вывод:
Бразилия, Россия, Индия, Китай Индия, Китай,
Бразилия, Россия
Вдобавок к функции main() в программе должны использоваться две определенные пользователем функции: br(), выводящую строку “Бразилия, Россия” один раз, и 1с(), которая один раз выводит строку “Индия, Китай”. Функция main() должна позаботиться о любых дополнительных задачах вывода.
6. Напишите программу, которая создает целочисленную переменную по имени toes. Программа должна присвоить переменной toes значение 10. Наряду с этим, программа должна вычислить удвоенное значение toes и квадрат toes. Программа должна вывести все три значения, снабдив их соответствующими пояснениями.
Читать дальше