Язык Си - [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
Программы имеют дело с данными. Мы вводим в компьютер числа, буквы и слова и ожидаем, что он будет проводить над ними какие-то операции. В этой и следующей главах мы сосредоточим наше внимание на данных различных типов и их свойствах. В соответствии с этим мы будем последовательно останавливаться на каждом из типов и смотреть, как их можно использовать. Но, по скольку заниматься одним только обсуждением представляется нам не очень веселым делом, мы рассмотрим также небольшие про граммы обработки данных.
Эта глава в основном посвящена обсуждению двух важнейших классов типов данных целым числам и числам с плавающей точкой. Язык Си предоставляет программисту возможность использовать несколько разновидностей этих типов. Мы займемся изучением следующих вопросов: что такое типы данных, как их описать, как и когда их использовать. Кроме того, мы обсудим различия между константами и переменными.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В учебно-методическом пособии рассматриваются основы языка программирования PL/SQL, реализованного в системе управления базами данных Oracle Database Server. Приводятся сведения о поддерживаемых типах данных, структуре программ PL/SQL и выполнении SQL-предложений в них. Отдельно рассмотрено создание хранимых в базах данных Oracle программ PL/SQL – процедур, функций, пакетов и триггеров.
Рассмотрено все необходимое для разработки, компиляции, отладки и запуска приложений Java. Изложены практические приемы использования как традиционных, так и новейших конструкций объектно-ориентированного языка Java, графической библиотеки классов Swing, расширенной библиотеки Java 2D, работа со звуком, печать, способы русификации программ. Приведено полное описание нововведений Java SE 7: двоичная запись чисел, строковые варианты разветвлений, "ромбовидный оператор", NIO2, новые средства многопоточности и др.
Эта книга предназначена для всех, кто желает освоить СУБД MySQL. Для ее чтения вам не нужны никакие специальные знания – достаточно быть пользователем Windows. Вы узнаете, как установить и запустить MySQL, как создать собственную базу данных, как работать с данными при помощи команд SQL, как администрировать базу данных и оптимизировать ее работу. Разработчики веб-приложений на языках PHP, Perl и Java найдут в этой книге полезные сведения по использованию базы данных MySQL в соответствующих приложениях.
РАССЫЛКА ЯВЛЯЕТСЯ ЧАСТЬЮ ПРОЕКТА RSDN, НА САЙТЕ КОТОРОГО ВСЕГДА МОЖНО НАЙТИ ВСЮ НЕОБХОДИМУЮ РАЗРАБОТЧИКУ ИНФОРМАЦИЮ, СТАТЬИ, ФОРУМЫ, РЕСУРСЫ, ПОЛНЫЙ АРХИВ ПРЕДЫДУЩИХ ВЫПУСКОВ РАССЫЛКИ И МНОГОЕ ДРУГОЕ.
Очень часто под рукой не оказывается ни отладчика, ни дизассемблера, ни даже компилятора, чтобы набросать хотя бы примитивный трассировщик. Разумеется, что говорить о взломе современных защитных механизмов в таких условиях просто смешно, но что делать если жизнь заставляет?..