Язык Си - [10]
ДОПОЛНИТЕЛЬНЫЙ ПРИМЕР
main()/* butler*/
{
printf("Я вызываю функцию butler.\n");
butler();
printf ("Да. Принесите мне чашку чая и гибкие диски.\n");
}
butler()
{
printf("Bы вызывали, сэр?\n");
}
Результаты работы программы выглядят следующим образом:
Я вызываю функцию butler. Bы вызывали, сэр? Да. Принесите мне чашку чая и гибкие диски.
Функция butler() определяется точно так же, как и функция main(); ее тело заключено в фигурные скобки. Вызов функции осуществляется путем простого указания ее имени, включая круглые скобки. Мы вернемся к этому важному вопросу только в гл. 9, а здесь хотели продемонстрировать ту легкость, с которой вы можете включать в программу свои собственные функции.
ЧТО ВЫ ДОЛЖНЫ БЫЛИ УЗНАТЬ В ЭТОЙ ГЛАВЕ
Ниже приведена краткая сводка строгих правил (но не чрезмерно жестких), которые, мы надеемся, вы усвоили. Мы включили сюда же краткие примеры.
Как назвать файл, содержащий вашу программу: eye.с, или black.с, или infan.c и т. п.
Какое имя можно использовать в качестве названия программы, состоящей из одной функции: main().
Структура простой программы: заголовок, тело, фигурные скобки, операторы. Как описать целую переменную: int varname;
Как присвоить значение переменной: varname = 1024;
Как напечатать фразу printf ("Хотите купить утку?");
Как напечатать значение переменной: printf ("%d", varname);
Символ новая строка: \n
Как включать комментарии в программу: /*анализ движения наличных денег*/
ВОПРОСЫ И ОТВЕТЫ
Ниже приведено несколько вопросов, которые помогут вам проверить и расширить свое понимание материала данной главы.
Вопросы
1. Икабод Боуди Марфут (ИБМ) подготовил программу, приведенную ниже, и принес ее вам для проверки. Пожалуйста, помогите ему найти в ней ошибки.
include studio, h main{} /*эта программа печатает число недель в году/*
(
int s
s: = 56;
print (В году s недель.);
2. Что будет напечатано в каждом из примеров, приведенных ниже, в предположении, что они являются частями некоторых полных программ?
a. printf(" Б-э-э Б-э-э, Черная Овца.");
а. printf("У тебя есть шерсть?\n");
б. рrintf("Убирайся!\n Мешок сала!");
в. printf("Что?\n Нет/n Кларнет?\n");
г. int num;
num = 2;
printf(" %d + %d = %d", num, num, num + num);
Ответы
1.
Строка 1:
данная строка должна начинаться с символа # правильное написание имени файла — stdio.h; имя файла должно быть заключено в угловые скобки.
Строка 2:
вместо фигурных скобок {} необходимо использовать круглые ();
комментарий должен оканчиваться символами */, а не /*
Строка 3:
вместо круглой скобки ( должна стоять фигурная {.
Строка 4:
оператор должен оканчиваться символом "точка с запятой".
Строка 5:
эту строку (пустую) м-р ИБМ написал Совершенно правильно!
Строка 6:
в операторе присваивания необходимо использовать символ =, а не :=. (К сожалению, м-р ИБМ имеет представление о языке Паскаль.)
В году 52 недели, а не 56.
Строка 7:
оператор должен выглядеть так printf ("В году %d недель. \n", s);
Строка 8:
отсутствует, но она обязательно должна быть и содержать закрывающую фигурную скобку — }.
2. а. Б-э-э Б-э-э. Черная Овца. У тебя есть шерсть?
(Заметим, что пробел после точки отсутствует. Для того чтобы поместить в это место пробел, необходимо было вместо "У тебя" писать " У тебя")
б. Убирайся!
Мешок сала!
(Отметим, что курсор теперь находится в конце второй строчки.)
в. Что?
Нет /n Кларнет?
Заметим, что символ (/) производит не тот же эффект, как символ (\)
г. 2 + 2 = 4
(Отметим, что каждое вхождение комбинации символов %d в строку заменяется значением соответствующей переменной из списка. Заметим также, что символ + означает сложение и что таким образом вычисления могут быть проведены "внутри" оператора printf().)
УПРАЖНЕНИЯ
Чтобы изучить язык Си, одного только чтения недостаточно. Вы должны попробовать сами написать одну или две простые программы и посмотреть, пройдет ли все так же гладко, как это может показаться в результате чтения данной главы. Мы хотим предложить вам несколько идей, но, если желаете, вы можете воспользоваться своими собственными соображениями на этот счет.
1. Напишите программу, печатающую ваше имя.
2. Напишите программу, печатающую ваши имя и адрес, используя три или более строк.
3. Напишите программу, которая укажет ваш возраст, данный в годах, в днях. Не усложняйте ее, учитывая високосные и невисокосные годы.
3. Данные, язык Си и вы
int, short, long, unsigned, char, float, double sizeof
Программы имеют дело с данными. Мы вводим в компьютер числа, буквы и слова и ожидаем, что он будет проводить над ними какие-то операции. В этой и следующей главах мы сосредоточим наше внимание на данных различных типов и их свойствах. В соответствии с этим мы будем последовательно останавливаться на каждом из типов и смотреть, как их можно использовать. Но, по скольку заниматься одним только обсуждением представляется нам не очень веселым делом, мы рассмотрим также небольшие про граммы обработки данных.
Эта глава в основном посвящена обсуждению двух важнейших классов типов данных целым числам и числам с плавающей точкой. Язык Си предоставляет программисту возможность использовать несколько разновидностей этих типов. Мы займемся изучением следующих вопросов: что такое типы данных, как их описать, как и когда их использовать. Кроме того, мы обсудим различия между константами и переменными.
![Язык программирования C [Лекции и упражнения, 6-е изд.]](/storage/book-covers/92/9246b6fb87d50a85c0d498c0c8ca4f20637f4822.jpg)
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
![Изучаем Java EE 7](/storage/book-covers/e0/e0ee9b7e3e4f168a93df98d7e47d66089eac3652.jpg)
Java Enterprise Edition (Java EE) остается одной из ведущих технологий и платформ на основе Java. Данная книга представляет собой логичное пошаговое руководство, в котором подробно описаны многие спецификации и эталонные реализации Java EE 7. Работа с ними продемонстрирована на практических примерах. В этом фундаментальном издании также используется новейшая версия инструмента GlassFish, предназначенного для развертывания и администрирования примеров кода. Книга написана ведущим специалистом по обработке запросов на спецификацию Java EE, членом наблюдательного совета организации Java Community Process (JCP)
![Геймдизайн. Рецепты успеха лучших компьютерных игр от Super Mario и Doom до Assassin’s Creed и дальше](/storage/book-covers/d0/d0fc13172d4310c9da7b10ba57a3fcb2e3d9f10d.jpg)
Что такое ГЕЙМДИЗАЙН? Это не код, графика или звук. Это не создание персонажей или раскрашивание игрового поля. Геймдизайн – это симулятор мечты, набор правил, благодаря которым игра оживает. Как создать игру, которую полюбят, от которой не смогут оторваться? Знаменитый геймдизайнер Тайнан Сильвестр на примере кейсов из самых популярных игр рассказывает как объединить эмоции и впечатления, игровую механику и мотивацию игроков. Познакомитесь с принципами дизайна, которыми пользуются ведущие студии мира! Создайте игровую механику, вызывающую эмоции и обеспечивающую разнообразие.
![Обработка событий в С++](/build/oblozhka.dc6e36b8.jpg)
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
![MFC и OpenGL](/build/oblozhka.dc6e36b8.jpg)
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
![Симуляция частичной специализации](/storage/book-covers/7e/7e33d937f206a76edb7f45006e896cc191605df5.jpg)
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
![Питон — модули, пакеты, классы, экземпляры](/build/oblozhka.dc6e36b8.jpg)
Python - объектно-ориентированный язык сверхвысокого уровня. Python, в отличии от Java, не требует исключительно объектной ориентированности, но классы в Python так просто изучить и так удобно использовать, что даже новые и неискушенные пользователи быстро переходят на ОО-подход.