Язык Си - [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-е изд.]

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


Рекомендуем почитать
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 так просто изучить и так удобно использовать, что даже новые и неискушенные пользователи быстро переходят на ОО-подход.