» » » M. УЭИТ - Язык Си - руководство для начинающих


Авторские права

M. УЭИТ - Язык Си - руководство для начинающих

Здесь можно скачать бесплатно " M. УЭИТ - Язык Си - руководство для начинающих" в формате fb2, epub, txt, doc, pdf. Жанр: Программирование, издательство "Мир", год 1988. Так же Вы можете читать книгу онлайн без регистрации и SMS на сайте LibFox.Ru (ЛибФокс) или прочесть описание и ознакомиться с отзывами.
 M. УЭИТ - Язык Си - руководство для начинающих
Рейтинг:
Название:
Язык Си - руководство для начинающих
Автор:
Издательство:
"Мир"
Год:
1988
ISBN:
5-03-001309-1 /русск./
Скачать:

99Пожалуйста дождитесь своей очереди, идёт подготовка вашей ссылки для скачивания...

Скачивание начинается... Если скачивание не началось автоматически, пожалуйста нажмите на эту ссылку.

Вы автор?
Жалоба
Все книги на сайте размещаются его пользователями. Приносим свои глубочайшие извинения, если Ваша книга была опубликована без Вашего на то согласия.
Напишите нам, и мы в срочном порядке примем меры.

Как получить книгу?
Оплатили, но не знаете что делать дальше? Инструкция.

Описание книги "Язык Си - руководство для начинающих"

Описание и краткое содержание "Язык Си - руководство для начинающих" читать бесплатно онлайн.



M. УЭИТ   С. ПРАТА    Д. МАРТИНЯзык Си — руководство для начинающих





Составные операторы (блоки)

     "Составной оператор" представляет собой два или более операторов, объединенных с помощью фигурных скобок; он называется также "блоком". В нашей программе размер обуви 2 мы использовали такой оператор, чтобы иметь возможность включить в оператор while несколько простых операторов. Сравните между собой фрагменты программы:

/* фрагмент1 */

index = 0;

while (index ++  < 10) sam = 10 * index +  2;

printf(" sam = %d\n", sam);

 /* фрагмент2*/

index = 0;

while(index ++  < 10) {

sam = 10*index + 2;

printf(" sam = %d\n", sam);

}

     В фрагменте 1 в цикл while включен только оператор присваивания. (При отсутствии фигурных скобок область действия оператора while распространяется от ключевого слова while до следующего символа "точка с запятой".) Печать данных будет произведена только один раз - после завершения цикла.

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

 


                                                        РИС. 5.7. Цикл while с составным оператором

     Давайте опять посмотрим на фрагменты, содержащие цикл while, и обратим внимание на то, как мы использовали отступы от поля в строках для выделения тела циклов while. Для компилятора отступы в строке не имеют никакого значения; решения вопроса о том, как интерпретировать наши инструкции, он использует фигурные скобки и свое "знание" правил формирования структуры цикла while. Отступы в строках предназначены для нас, чтобы с первого взгляда можно было понять, как устроена программа. Ранее мы показали вам один популярный способ расстановки фигурных скобок, служащий для указания блока или составного оператора. Другой, тоже довольно распространенный способ выглядит следующим образом

while(index++ < 10) {

 sam = 10 * index + 2;

printf(" sam = %d\n", sam);

}

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

Резюме: выражения и операторы

     Выражение состоит из операций и операндов. Примерами простейших выражений являются константы или переменные (операция отсутствует), такие, как 22 или beebop. Более сложные выражения - это 55 + 22 и vap = 2*(vip + (mgx = 4 )).

     Оператор служит камандой компьютеру. Операторы бывают простыми и составными. Простые операторы оканчиваются символом "точка с запятой". Примеры:

1. Операторы описания                      int toes;

2. Операторы присваивания               toes = 12;

3. Операторы вызова функции           printf(" %d\n", toes);

4. Управляющие операторы               while (toes < 20) toes = toes + 2;

5. Пустой оператор                             ;

     Составные операторы, или блоки, состоят из одного или более операторов (которые в свою очередь сами могут быть составными), заключенных в фигурные скобки. Оператор while, приведенный ниже, содержит, например, составной oпeратор:

while(years < 100) {

wisdom = wisdom + 1;

printf(" %d  %d\n" , years, wisdom);

}

ПРЕОБРАЗОВАНИЕ ТИПОВ    

 В операторах и выражениях, вообще говоря, должны использоваться переменные и константы только одного типа. Если все же вы смешаете типы в одном выражении, то компилятор с языка Си не считает программу неправильной, как это произошло бы при программировании на Паскале. Вместо этого компилятор использует набор правил для автоматического преобразования типов. Это очень удобно, но может оказаться и опасным, особенно если вы допустили смешение типов нечаянно. (Например, программа lint, работающая в операционной системе UNIX, проверяет несоответствие типов.) Нам представляется разумным привести несколько основных правил, касающихся преобразования типов:

     1. Если операция выполняется над данными двух различных типов, обе величины приводятся к "высшему" из двух типов. Этот процесс называется "повышением" типа.

     2. Последовательность имен типов, упорядоченных от "высшего" к "низшему", выглядит так: double, float, long, int, short и char. Применение ключевого слова unsigned повышает ранг соответствующего типа данных со знаком.

     3. В операторе присваивания конечный результат вычисления выражения в правой части приводится к типу переменной, которой должно быть присвоено это значение. Данный процесс может привести к "повышению" типа, как описано выше, или к "понижению, при котором величина приводится к типу данных, имеющему более низкий приоритет.

     Повышение" типа обычно происходит гладко, в то время как понижение" может привести к затруднениям. Причина этого проста: все число целиком может не поместиться в элементе данных низшего типа. Переменная типа char может иметь целое значение 101, но не 22334. Пример, приведенный ниже, иллюстрирует применение этих правил.

/* Преобразования*/

main()

{

char ch;

int i;

float fl;

fl = i  = ch = 'А'; /* строка8 */

printf(" ch = %c, i = %d, fl = %2.2f\n", ch, i, fl);

ch = ch + 1;  /* строка10 */

i = fl + 2*ch; /* строка11 */

fl = 2.0*ch + 1;      /* строка12*/

printf(" ch = %c,     i =  %d, fl = %2.2f\n", ch, i, fl);ch = 2.0e30;  /* строка 14 */

printf(" Теперь ch    =  %с \n" , ch);

}

Выполнив программу "преобразования", получим следующие результаты:

ch =A, i = 65, fl = 65.00

ch =B, i = 197, fl = 329.00

Теперь  ch =

Вот что происходит в программе.

Строки 8 и 9: Величина ' А' присваивается символьной переменной ch. Переменная i получает целое значение, являющееся преобразованием символа ' А' в целое число, т. е ' 65'. И наконец, перемен ная fl получает значение 65.00, являющееся преобразованием числа 65 в число с плавающей точкой.

Строки 10 и 13: Значение символьной переменной 'А' преобразуется в целое число 65, к которому затем добавляется 1. После этого получившееся в результате число 66 преобразуется в код символа В и помещается в переменную ch.

Строки 11 и 13. При умножении на 2 значение переменной ch преобразуется в целое число (66). При сложении с величиной переменной fl получившееся в результате число (132) преобразуется в число с плавающей точкой. Результат (197.00) преобразуется в число целого типа и присваивается переменной i.

Строки 12 и 13. Перед умножением на 2.0 значение переменной ch(' В') преобразуется в число с плавающей точкой. Перед выполнением сложения величина переменной i(197) преобразуется в число с плавающей точкой, а результат операции (329.00) присваивается переменной fl.

Строки 14 и 15: Здесь производится попытка осуществить преобразование типов в порядке убывания старшинства - переменная ch полагается равной сравнительно большому числу. Результаты оказываются неутешительными. Независимо от переполнения и усечения, которые имеют место, в итоге на нашей системе мы пoлучили код, соответствующий какому-то непечатаемому знаку.

     На самом деле существует еще один вид преобразования типов. Для, сохранения точности вычислений при арифметических операциях все величины типа float преобразуются в данные типа double. Это существенно уменьшает ошибку округления. Конечный результат, естественно, преобразуется обратно в число типа float, если это диктуется соответствующим оператором описания. Вам нет необходимости заботиться о выполнении подобных преобразований, но должно быть приятно сознавать, что компилятор стоит на страже ваших интересов.

Операция приведения


На Facebook В Твиттере В Instagram В Одноклассниках Мы Вконтакте
Подписывайтесь на наши страницы в социальных сетях.
Будьте в курсе последних книжных новинок, комментируйте, обсуждайте. Мы ждём Вас!

Похожие книги на "Язык Си - руководство для начинающих"

Книги похожие на "Язык Си - руководство для начинающих" читать онлайн или скачать бесплатно полные версии.


Понравилась книга? Оставьте Ваш комментарий, поделитесь впечатлениями или расскажите друзьям

Все книги автора M. УЭИТ

M. УЭИТ - все книги автора в одном месте на сайте онлайн библиотеки LibFox.

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Отзывы о " M. УЭИТ - Язык Си - руководство для начинающих"

Отзывы читателей о книге "Язык Си - руководство для начинающих", комментарии и мнения людей о произведении.

А что Вы думаете о книге? Оставьте Ваш отзыв.