Лекции по проге / 01_Структура программы, типы данных (3)
.pdf
Имена переменных в языке Си
Имя переменной (функции и т.д.) может содержать латинские буквы, цифры и знак подчеркивания
Имя переменной НЕ должно начинаться с цифры
Язык Си различает прописные и строчные буквы: I и i — разные переменные
Корректные имена: i, weight123, my_name, HisName, __yylval
Некорректные имена: 123weight, abc$ef
31
Имена переменных в языке Си
Имя переменной должно ясно обозначать ее назначение (какие данные она хранит)
Слова в именах переменных следует писать на английском языке, либо транслитерацией русских слов
Слова в именах переменных могут разделяться символом подчеркивания либо отделяться заглавной буквой в начале каждого слова
Признаком качественного программирования является соблюдение стиля (языка слов, способа раз-
32 деления слов) одинаковым во всей программе.
Задание
Определите среди следующих имен хорошие, неудачные и некорректные
getcwd, ResultFileHandle, 1j_list, dlina_kvadrata, flag15, __, слон_г, i, mini-car
33
Имена переменных в языке Си. Хорошие имена
ResultFileHandle Точно описано какой файл, слова с большой буквы, язык
английский
dlina_kvadrata Транслит, слова разделены подчеркиванием
i |
Общепринятое обозначение |
|
счетчика цикла, происходит от |
34 |
слова iteration |
|
Имена переменных в языке Си. Неудачные имена
getcwd |
Сложно угадать, что имя обозначает get |
|
current working directory |
flag15 |
Непонятно, что именно обозначает 15-й |
|
флаг и чем отличается от 14-го |
__ |
Имя из одних подчеркиваний |
|
допустимо, но совершенно непонятно |
35
Имена переменных в языке Си Некорректные имена
1j_list |
Начинается с цифры |
слон_г |
Содержит русские буквы, допустимы |
|
только латинские |
mini-car |
Содержит символ минус — |
|
допустимы только подчеркивания |
36
Синтаксис объявления переменной
Перед использованием переменная должна быть объявлена:
<тип> <имя переменной> [= <выражение>];
Использование необъявленной переменной приведет к ошибке компиляции ... необъявленный идентификатор (... undeclared identifier)
37
Задание
Объявите целочисленную переменную i и присвойте ей начальное значение 0
38
Синтаксис объявления переменной
int i = 0;
Другие примеры:
//Объявления переменных
int x, s; // без инициализации int y = 0, u = 77; // обычная инициализация
// Допустимая инициализация float w1 = 0f, w2 = 5.5,
w3 = w1 + w2 + 125.25;
39
Использование не инициализированной переменной
Попытка использовать не инициализированную переменную в вычислениях приводит к ошибке во время выполнения программы
... Использована неинициализированная локальная переменная ... (... The variable ...
is being used without being defined)
int |
x, y; |
// объявление без инициализации |
||
x = |
y + 1; |
// |
возникнет |
ошибка выполнения |
40 |
|
// |
программы |
|
