Программирование >>  Элементы языков с и с++ 

1 ... 25 26 27 [ 28 ] 29 30 31 ... 200


чтобы цикл while ВЫПОЛНИЛСЯ хотя бы один раз. Для этого и используют пару dc.while, в которой условие продолжения проверяется в конце цикла, поэтому тело оператора будет выполнено хотя бы один раЗ. Формат оператора таков:

{ тело оператора} while (условие цикла)

C:\WINDOWS\system32\cmd.e№

nter int n for sprintf О... >12

nter float ID for sprintfO >12.5

nter string for sprintfO. >v=12 12.506000

ontinue - Enter, exit - Ctrl+z >Z

Inter string for strcpyO > (2345

Copied string=12345

Continue - Enter, exit - Ctrl+z >Z

nter stringl for strcnpO >quer bnter string2 for strcnpO >asdf trcnps value=1 tringls length=4 strinl > string2

ontinue - enter, exit - Ctrl+z >Z

nter stringl for strcatO >1234 nter string2 for strcatO >5678 treats value=12345678 continue - enter, exit - Ctrl+z >Z 1Х>1Я продолжения нажмите любую клавишу

Рис. 5.1. Результат работы программы листинга 5.1

Точка с запятой обязательна. Для ввода нескольких вариантов данных в этой проверочной программе потребовалось ввести так называемое зациктвание: поставить оператор while, который за счет запроса ввода символа обеспечивает зацикливание либо для продолжения ввода другого варианта данных, либо для выхода из участка проверки. Но на первом участке удобно проводить проверку на продолжение ввода вариантов данных не в начале участка, а в конце, чтобы первый вариант данных вводился без проверки. Иначе пошел бы запрос на ввод символа для проверки на продолжение ввода: про-



грамма ожидала бы ввода, на экране бы мигал один курсор, и пользователю было бы непонятно, что же надо дальше делать.

Поясним немного, что сделала функция sprintf ().

Для ее проверки мы ввели два числа (одно в формате int, другое в формате float) и строку (в формате s), чтобы показать, что sprintf о их обработает по форматам (в управляющей строке функции мы задали эти форматы) и соберет в единую строку, включив в нее и символы, которые находились межд) полями, задающими форматы (т. е. между полями, начинающимися со знака % и оканчивающимися одним из символов форматирования d. f, s,...).

Для функции strcmp о мы вывели значение, которое она возвращает, чтобы читатель мог удостовериться, что это есть разность между первыми несрав-нившимися кодами символов. Попробуйте определить, какие символы первыми не сравнились, найдите их коды: это можно сделать, воспользовавшись стандартной функцией char (имя символа), которая возвращает код символа, указанного у нее в аргументе (например, int a=char ( а)).

Результат работы проверочной программы приведен на рис. 5.1.



Глава 6

Дополнительные сведения о типах данных, операциях, выражениях . и элементах управления

Новые типы переменных

Мы уже знаем, что в языке С наряду с рассмотренными типами переменных (mt, char, float) существуют И Другие типы данных, сведения о которых необходимо уточнить:

□ double - указывает, что данные имеют тип с плавающей точкой двойной точности;

□ long - указывает, что данные имеют тип целое со знаком , но по сравнению с данными типа int занимают в 2 раза больше памяти;

П short int - короткое целое со знаком, занимает в 2 раза меньше памяти, чем int;

□ long double - длинное удвоенное с плавающей точкой;

П unsigned char- если В переменной, объявленной с таким типом данных, будет находиться число (которое, естественно, будет изображено кодами цифр), то знаковый бит такого числа будет подавлен, т. е. не будет учитываться как знак числа, а только как элемент числа. Это исказит размер отрицательных чисел.

Г Примечание

Знаковый бит всегда располагается в старшем (находящемся слева) разряде. Биты в записи числа нумеруются справа налево: О, 1. 2,... Это означает, что если под число отведено 4 байта (т. е. 32 бита), то самый старший бит 31-й.

4Ь 960



1 ... 25 26 27 [ 28 ] 29 30 31 ... 200

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика