Новосибирский Государственный Университет
Опубликован: 26.08.2005 | Доступ: свободный | Студентов: 17111 / 2712 | Оценка: 4.07 / 3.55 | Длительность: 13:11:00
ISBN: 978-5-9556-0057-4
Лекция 2:

Данные, символьные строки, директива #define

< Лекция 1 || Лекция 2: 1234 || Лекция 3 >

Строковые константы. Строковая константа представляется последовательностью символов кода ASCII, заключенной в кавычки.

Например,

"Это строковая константа"

В конце каждой строки компилятор помещает нулевой символ '\0', отмечающий конец данной строки. Каждая строковая константа, даже если она идентична другой строковой константе, сохраняется в отдельном месте памяти. Если необходимо ввести в строку символ кавычек ( " ), то перед ними надо поставить символ обратной косой ( \ ). В строку могут быть введены любые специальные символьные константы, перед которыми стоит символ \. Символ \ и следующий за ним символ новой строки игнорируется.

Перечисляемые константы. Имена, указанные в описании перечисляемых констант, трактуются как целые числа (см. описание перечисления).

Описание данных типа float и double. Числа с плавающей точкой в языке Си описываются типом float. Числа с плавающей точкой аналогичны числам в обычной алгебраической записи, используемой при работе с очень большими или малыми числами.

Пример алгебраической записи чисел с плавающей точкой:

Число Алгебраическая запись Запись для ввода в машину
5000 = 5.0 * 103 = 5.0e+3
0.000077 = 7.7 * 10-5 = 7.7e-5

Обычно для размещения в памяти числа с плавающей точкой отводится 32 бита - 8 бит для представления порядка и знака и 24 бита - для мантиссы, т.е. коэффициента при степени десяти. Для представления данных типа double (вычисление с двойной точностью) используется удвоенное число битов. Другой способ определения данных типа double заключается в использовании ключевых слов long float.

Переменные с плавающей точкой описываются и инициализируются таким же образом, что и переменные целого типа.

Например,

float dog, cat, bigword=5.77e+34;

Константы с плавающей точкой. В языке Си имеется несколько возможностей записи констант с плавающей точкой. Наиболее общая форма записи константы - это последовательность десятичных цифр со знаком, включающим в себя десятичную точку, затем символ e или Е и показатель степени по основанию 10 со знаком. Знак ( + ) можно не писать. Ниже приведено несколько правильно записанных констант с плавающей точкой:

1.1e+12
   3.14159
! Во время разработки программы необходимо составить список требуемых переменных и указать при этом, какого они должны быть типа. Описывайте эти данные в самом начале тела функции, в которой они используются. Имена переменных выбирайте таким образом, чтобы они указывали на их смысл. При инициализации переменной следите за тем, чтобы тип константы соответствовал типу переменной, хотя язык Си рассматривает такие несоответствия менее жестко, чем Паскаль, но лучше учиться избегать дурного тона в программировании!

Символьные строки

Символьная строка - это последовательность символов, возможно пустая ( "" ). Рассмотрим пример:

"Большой спрос на образование в области
 информационных дисциплин объясняется не только 
 популярностью компьютеров в современном обществе, 
 но и реальной пользой от их применения."

Кавычки не являются частью строки. Они вводятся только для того, чтобы отметить ее начало и конец. В языке Си нет специального типа, который можно было бы использовать для описания строк. Вместо этого строки представляются в виде "набора" элементов типа char. Это означает, что символы в строке можно представить расположенными в соседних ячейках памяти - по одному символу в ячейке. Символ \0 в языке Си используется для того, чтобы отмечать конец строки. Нуль-символ не выводится на печать и в таблице кода ASCII (American Standard Code for Information Interchange) имеет номер 0. Наличие нуль-символа означает, что количество ячеек массива символов должно быть на одну больше, чем число символов строки. Массив можно представить как совокупность нескольких ячеек памяти, объединенных в одну строку. Массив - это упорядоченная последовательность элементов данных одного типа. В нашем примере мы создали массив из 177 ячеек памяти, в каждую из которых можно поместить один символ типа char. Это можно сделать с помощью оператора описания:

char String[177];

Квадратные скобки указывают, что переменная String - массив из 177 элементов, а char задает тип каждого элемента. Длину строки в символах (без завершающего символа) определяет функция strlen( ). Обращение к ней в нашем примере выглядит так:

strlen(String);

Результат - целое число.

< Лекция 1 || Лекция 2: 1234 || Лекция 3 >
Вадим Ратьков
Вадим Ратьков

Объясните, пожалуйста, чем отличаются два этих кода?

printf("смешанное деление: 7./4 это %2.2f \n", 7./4);

и

printf("смешанное деление: 7./4 это %f \n", 7./4);

%f  это, понятное дело, float. А что такое %2.2f ?

Вопрос возник при прочтении лекции 3 часть вторая курса Основы программирования на языке C.

http://www.intuit.ru/studies/courses/43/43/lecture/1281?page=2

Анна Алексанина
Анна Алексанина

Я хочу выполнить одну из программ, которые есть в лекции. Но для этого мне надо компилировать текст, а я не знаю, как это сделать. ОС Windows.

Александр Коровников
Александр Коровников
Россия, г. Санкт-Петербург
Владимир Крюков
Владимир Крюков
Казахстан