шпаргалка

Переменные, константы, строки

[ Назад ]
Переменные и именованные константы
Переменная - именованная область памяти.
–Отличительная особенность переменной состоит в возможности связывать с ее именем различные значения, совокупность которых определяется типом переменной.
–При задании значения переменной в соответствующую ей область памяти помещается код этого значения.
–Доступ к значению переменной наиболее естественно обеспечивает ее имя.
–Доступ к участку памяти возможен только по его адресу.
–Понятие переменной можно интерпретировать как пару "имя - значение".

Определение переменных
Каждая переменная перед ее использованием в программе должна быть определена. При определении для переменной выделяется память. Размер участка памяти, выделяемой для переменной, и интерпретация содержимого зависят от типа, указанного в определении переменной.
Форма определения переменных:
Тип <список имен переменных>;
Здесь
Тип – спецификатор типа,
<список имен переменных> - идентификаторы имен переменных(возможно с инициализацией), разделенные запятыми.
Инициализация означает, что переменной присваивается некоторое значение в соответствии с определением.

Примеры определения переменных
char symbol, ее;
unsigned char code;
int number, row;
unsigned long long_number;
float x, X, ссЗ=5.6, pot_8;
double e, Stop, B4;
float pi=3.1415, сс=1.23;
unsigned int year=1997;

Константы
Константа - значение, которое не может быть изменено.
Пять типов констант:
–символы (символ - лексема, которая состоит из изображения символа и ограничивающих апострофов), например, 'А', 'а', 'В', '8', '0','+', ';'
–константы перечисляемого типа,
–вещественные числа,
–целые числа,
–нулевой указатель ("null-указатель")

Константы целые
Десятичные целые определены как последовательности десятичных цифр, начинающиеся не с нуля (если это не число нуль), например, 44 684 0 1024.
Последовательность цифр, начинающаяся с 0 и не содержащая десятичных цифр старше 7,воспринимается как восьмеричная константа, например, 016 .
Последовательность шестнадцатеричных цифр (О, 1,...,9 ,А, В, С, D, Е, F), перед которой записаны символы 0хили 0Х, считается шестнадцатеричной константой, например, 0x16, OXFF -

Вещественные константы
Каждая вещественная константа состоит из следующих частей:
целая часть (десятичная целая константа);
десятичная точка;
дробная часть (десятичная целая константа);
признак показателя "е" или "Е";
показатель десятичной степени (десятичная целая константа, возможно, со знаком). При записи констант с плавающей точкой могут опускаться целая или дробная часть (но не одновременно); десятичная точка или символ экспоненты с показателем степени (но не одновременно).Примеры констант с плавающей точкой:
44. 3.14159 44е0 .314159Е1 0.0
Константы перечисляемого типа
-Целочисленные именованные константы можно вводить с помощью перечисления:
-enum тип_перечисления{список_именовапных_констант};
где enum - служебное слово, вводящееперечисление;
-тип_перечисления - его название -необязательный произвольный идентификатор;
-список_именованных_констант - разделеннаязапятыми последовательность идентификаторов или именованных констант вида: имякопстанты=значение константы
Примеры констант перечисляемого типа
enum {ONE=1, TWO, THREE, FOUR};
enum DAY {SUNDAY, MONDAY, TUESDAY,WEDNESDAY, THURSDAY, FRIDAY, SATURDAY);enum BOOLEAN {NO, YES};Замечание. Если в списке нет ни одного элемента со знаком '=', то значения констант начинаются с 0и увеличиваются на 1 слева направо. Таким образом, NO равно 0, YES равно 1, SUNDAY имеет значение 0 и FRIDAY имеет значение 5.
Строковые константы
Строковая константа определяется как последовательность символов (включая эскейп-последовательности), заключенная в двойные кавычки. Например:
"Образец строки"
или
"
Текст
разместится
в 3-х строках дисплея"
Определение именованных констант
Три способа определения именованных констант
с помощью enum;
const тип имя_константы=значение_константы;
const double Е=2.718282;
const long М=99999999;
const P=765;
#define имя_константы значение_константы
#define EULER 2.718282
Препроцессор заменит текст
double mix = EULER; d = alfa*EULER;
на
double mix = 2.718282; d = alfa*2.718282;
Строки.
Строка – это последовательность символов, заключенная в двойные кавычки “…”. Строка имеет тип char, а класс памяти static. Она инициализируется заданными символами. Все строки, даже если они занесены одинаково, различны. Компилятор располагает в конце каждой строки нулевой (пустой) байт O с тем, чтобы сканирующая строку программа могла найти ее конец. В строке перед символом двойной кавычки должна стоять обязательно . Кроме того, могут использоваться те же обозначения, что были описаны для символьных констант.
Примеры:
“Это строковая константа”
“A”

2. Организация работы с файлами: Открытие и закрытие.
Организация работы с файлами
Язык Си, кроме стандартного ввода данных с клавиатуры и вывода результатов на экран, предоставляет также возможность обмена при операциях ввода/вывода с внешними устройствами, в том числе, с файлами на диске.
В Си не предусмотрены никакие предопределенные структуры файлов (такие как последовательного или прямого доступа). Все файлы рассматриваются как последовательности, потоки байтов.
Поток- это источник или приемник данных. Его можно связать с каким- либо внешним устройством, например, с принтером, клавиатурой, диском и т.д.
В языке Си определены два вида потоков: текстовый и бинарный.
Текстовый поток - это последовательность строк. Каждая строка содержит нуль и более символов и обязательно заканчивается символом – терминатором новая строка '
'.
Бинарный или двоичный поток - это последовательность двоичных кодов (байтов), как правило, используемая для запоминания кодов машинного языка.
Когда программа начинает работу, то автоматически открываются три потока: stdin, stdout, stderr.
STDIN –стандартный входной поток (по умолчанию связан с клавиатурой).
STDOUT – стандартный выходной поток (по умолчанию связан с экраном монитора).
STDERR – поток стандартных ошибок (связан с экраном монитора).


Открытие файла
Для того, чтобы связать программу с файлом на диске, необходимо определить в программе переменную типа указатель на файл: FILE *fp;
где FILE – это структура, определённая в <stdio.h> с помощью средства typedef и содержащая некоторую информацию о файле.
После того, как указатель на файл описан, его можно связать с конкретным файлом в момент открытия данного файла. Открыть файл можно с помощью следующей конструкции:
fp = fopen (“ имя_ файла”, “ режим_ доступа”);
Константы в круглых скобках имеют следующий смысл:
имя_файла – это параметр, характеризующий имя и тип используемого файла на диске, например, “test.txt”;
режим доступа – это параметр, характеризующий как должен использоваться данный файл. Этот параметр может принимать следующие значения:
’r’ -файл открывается для чтения (файл должен существовать на диске);
’w’ - файл открывается для записи; если файла с указанным именем нет, то он создаётся; если файл существует, то старое содержимое файла уничтожается;
’а’ - файл открывается, либо создаётся для дозаписи в конец файла;
’r+’ – файл открывается для чтения и записи (файл должен существовать).
’w+’ – файл открывается для чтения и записи; старое содержимое, если файл существовал, теряется.
’а+’ – файл открывается, либо создаётся для чтения уже существующей информации и добавления новой в конец файла.
Обычно по умолчанию файл считается текстовым, однако можно явно указать с каким файлом будет работать программа: текстовым (t) или бинарным (b), например:
r + t, w + b, at, wt +, и т. д.
Операцию открытия файла можно записать и так:
FILE *fp = fopen (‘test. txt’, ‘w’);
Теперь указатель fp будет связан с файлом на диске с именем ‘test.txt’. Во всех операциях с файлом теперь следует указывать fp.
Закрытие файла
После того, как работа с файлом закончена, его следует закрыть. Операция закрытия файла имеет вид:
fclose (имя файла), например: fclose (fp);
Так как операции с файлами осуществляются посредством промежуточной буферизации, то операция закрытия осуществляет выталкивание содержимого буфера.
Если операции закрытия файла в программе нет, то по окончанию программы все открытые файлы будут закрыты автоматически. Следует, однако, помнить, что настройка среды ограничивает число одновременно открытых файлов, поэтому следует явно определять операцию их закрытия.



КАТЕГОРИИ:

Network | английский | архитектура эвм | астрономия | аудит | биология | вычислительная математика | география | Гражданское право | демография | дискретная математика | законодательство | история | квантовая физика | компиляторы | КСЕ - Концепция современного естествознания | культурология | линейная алгебра | литература | математическая статистика | математический анализ | Международный стандарт финансовой отчетности МСФО | менеджмент | метрология | механика | немецкий | неорганическая химия | ОБЖ | общая физика | операционные системы | оптимизация в сапр | органическая химия | педагогика | политология | правоведение | прочие дисциплины | психология (методы) | радиоэлектроника | религия | русский | сертификация | сопромат | социология | теория вероятностей | управление в технических системах | физкультура | философия | фотография | французский | школьная математика | экология | экономика | экономика (словарь) | язык Assembler | язык Basic, VB | язык Pascal | язык Си, Си++ |