2. а. Он продал картину за 234 50 долл
б. Hi! Примечание: первый символ - это символическая константа, второй - десятичное целое число, преобразованное в символ, а третий - представлен символической константы в коде ASCII.
в. Его Гамлет был смешным, но не вульгарным имеет 41 символ.
г. 1.20Е+03то же самое, что и 1201,00?
3. Вспомните, что в гл 3 говорилось по поводу управляющих последовательностей, и попробуйте записать оператор в таком виде printf(" \" %s \" \n имеет %d символов \n", Q, strlen(Q)).
4. Строка 1: символ #опущен; вместо а-яй-яйдолжно стоять "а-яй-яй"
Строка 2: символ #опущен
Строка 6: переменная nameдолжна быть массивом, например char name[25]
Строка 8: в управляющей строке должен стоять символ \n
Строка 10: вместо %сдолжно быть %s
Строка 11 поскольку переменная аgецелого типа, необходимо использовать %d, а не %f, кроме того, вместо аgедолжно стоять &аgе
Строка 12: имя xpнигде не было описано
Строка 13: правильная, но при выводе на печать результат будет испорчен из-за ошибки, допущенной при определении В
Кроме того, программа служит примером плохого стиля программирования.
5. Операции, выражения и операторы
ОПЕРАЦИИ И ОПРАТОРЫ. ВЫПОЛНЕНИЕ АРИФМЕТИЧЕСКИХ ОПЕРАЦИЙ. ИСПОЛЬЗОВАНИЕ ОПЕРАТОРА while. ВЫРАЖЕНИЯ. ПРОСТЫЕ СОСТАВНЫЕ ОПЕРАТОРЫ. ПРЕОБРАЗОВАНИЯ ТИПОВ. КЛЮЧЕВЫЕ СЛОВА. While. ОПЕРАЦИИ. + - * / % ++ -- (тип)
В гл. 3 и 4 мы говорили о типах данных, используемых в языке Си. Здесь же мы рассмотрим способы обработки данных - для этого язык Си имеет широкий набор возможностей. Начнем с основных арифметических операций сложения, вычитания, умножения и деления. Чтобы сделать наши программы более интересными и поучительными, мы впервые в этой главе коснемся циклов. А пока, чтобы ввести вас в курс дела, приведем простую программу, выполняющую несложные арифметические действия:
/* размеробуви1 */
#define OFFSET 7 64
#define SCALE 0 325
main( )
{
/* пересчет размера обуви в размер ноги в дюймах */
float shoe, foot;
shoe =90;
foot = SCALE*shoe + OFFSET;
printf(" Размер обуви (мужской) размер ноги\n");
printf(" %10 lf %13 2f дюйм\n" , shoe, foot);
}
Здорово, в нашей программе выполняется умножение и сложение, т.е. берется ваш размер обуви (если вы носите размер 9), а вам сообщается длина стопы в дюймах. Вы скажете, что могли бы решить данную задачу в уме за меньшее время, чем потребовалось для ввода самой программы в машину. Это, конечно, правильно. Создание программы, способной оперировать только одним размером обуви, выглядит как ненужная трата времени и усилий. Мы могли бы придать программе большую эффективность, сделав ее диалоговой, но и это окажется непроизводительным использованием возможностей машины.
Нам нужно лишь каким то образом заставить компьютер выполнить повторяющиеся вычисления. Вообще говоря, именно эта появляется одной из главных причин использования машин. Для выполнения арифметических вычислений. Язык Си предлагает несколько способов реализации повторяющихся вычислений, сейчас обсудим один из них. Данный способ, называемый "while", дает возможность использовать операторы языка более интересным образом. Ниже приводится модификация нашей программы, занимающейся пересчетом размеров обуви.
/* размер обуви2 */
#define OFFSET 7 64
#define SCALE 0 325
main()
{
/* пересчет размера обуви в размер ноги в дюймах */
float shoe, foot;
printf("Размер обуви (мужской) размер ноги\n");
shoe = 3.0;
while(shoe < 18.5)
{
foot = SCALE *shoe + OFFSET;
printf(" %10 lf %13 2f %l6 2f дюйма\n" , shoe, foot);
shoe = shoe + 1.0;
}
printf("Ecли эта обувь годится вам, носите ее \n");
}
Вот результат работы программы, размер обуви2, приведенный в сокращеннoм виде:
Размер обуви (мужской) Размер ноги
3.01 8.61 дюйма
4.0 8.94 дюйма
... ...
... ...
17.0 13.16 дюйма
18.0 13.46 дюйма
Если эта обувь годиться вам, носите ее.
(Значения констант для данной программы пересчета были получены во время нашего визита инкогнито в обувной магазин. В единственном обнаруженном там классификаторе размеров приводились данные только относительно мужской обуви. Лица, интересующиеся размерами женской обуви, должны посетить обувной магазин сами).
Читать дальше