C идентификаторы: Ключевые слова и идентификаторы в C++ | Уроки С++
C#: синтаксис
Синтаксис и другие основные моменты C#.
Идентификаторы (Identifiers)
Идентификаторы — имена классов, методов, переменных и т.д. Они должны состоять из юникод символов и начинаться с буквы или нижнего подчеркивания. Идентификаторы в C# чувствительны к регистру. По соглашению параметры, локальные переменные и частные (private) свойства и методы пишутся в camel case (слова пишутся слитно, без пробелов и нижних подчеркиваний, каждое новое слово кроме первого с заглавной буквы, например, myVariavle
), все остальные идентификаторы — в стиле Pascal case (тоже самое, что и camel case, только первое слово с заглавной, например, MyClass
).
Ключевые слова (Keywords)
Ключевые слова — имена, зарезервированные компилятором, которые нельзя использовать в качестве идентификаторов. Их полный список (76):
abstract
as
base
bool
break
byte
case
catch
char
checked
class
const
continue
decimal
default
delegate
do
double
else
enum
event
explicit
extern
false
finally
fixed
float
for
foreach
goto
if
implicit
in
int
interface
internal
is
lock
long
namespace
new
null
object
operator
out
override
params
private
protected
public
readonly
ref
return
sbyte
sealed
short
sizeof
stackalloc
static
string
struct
switch
this
throw
true
try
typeof
uint
ulong
unchecked
unsafe
ushort
using
virtual
void
while
Если необходимо в качестве идентификатора использовать ключевое слово, это можно сделать поставив перед ключевым словом символ @
, например, @Class
. При этом символ @
не будет являться частью идентификатора и @myVariable
будет эквивалентно myVariable
.
Существуют также контекстные ключевые слова (Contextual keywords), которые в рамках определенного контекста становятся ключевыми и не могут быть использованы как идентификаторы, но вне своего контекста они могут быть идентификаторами даже без символа @
. К ним относятся:
add
ascending
async
await
by
descending
dynamic
equals
from
get
global
group
in
into
join
let
on
orderby
partial
remove
select
set
value
var
where
yield
Литералы (Literals)
Литералы — простейшие фрагменты данных, используемые в коде программы (например, в выражении var myVariable = 12;
, «12» — литерал).
Знаки пунктуации (Punctuators)
Знаки пунктуации используются для разграничения структуры программы (это, например, {
}
;
). Фигурные скобки группируют несколько инструкций (statement) в блок инструкций (statement block). Точка с запятой разделяет не блочные инструкции (инструкцию можно разбивать на несколько строк).
Операторы (Operators)
Операторы преобразуют и комбинируют выражения. Операторы обозначаются символами, например, . ( ) * + =
. Точка обычно отделяет дробную часть в числовых литералах (десятичная точка) или используется как разделитель пространств имен, классов и их членов. Круглые скобки используются при объявлении и вызове методов. Знак равенства выполняет присваивание, двойной знак равенства — сравнение.
Комментарии могут быть однострочными и многострочными. Однострочный комментарий начинается с двойного слэша и продолжается до конца строки. Многострочный начинается с /*
и заканчивается */
.
Имена идентификаторов | Microsoft Docs
-
- Чтение занимает 2 мин
-
В этой статье
Идентификатор — это имя, которое вы присваиваете типу (классу, интерфейсу, структуре, делегату или перечислению), члену, переменной или пространству имен.An identifier is the name you assign to a type (class, interface, struct, delegate, or enum), member, variable, or namespace. Допустимые идентификаторы должны соответствовать следующим правилам.Valid identifiers must follow these rules:
- Идентификатор должен начинаться с буквы или
_
.Identifiers must start with a letter, or_
. - Идентификаторы могут содержать буквенные символы Юникода, десятичные числа, символы соединения Юникода, несамостоятельные знаки Юникода или символы форматирования Юникода.Identifiers may contain Unicode letter characters, decimal digit characters, Unicode connecting characters, Unicode combining characters, or Unicode formatting characters. Дополнительные сведения о категориях Юникода см. в разделе База данных категорий Юникода.For more information on Unicode categories, see the Unicode Category Database.
Вы можете объявить идентификаторы, соответствующие ключевым словам C#, с помощью префикса идентификатора@
.You can declare identifiers that match C# keywords by using the@
prefix on the identifier.@
не является частью имени идентификатора.The@
is not part of the identifier name. Например,@if
объявляет идентификатор с именемif
.For example,@if
declares an identifier namedif
. Эти буквальные идентификаторы предназначены главным образом для взаимодействия с идентификаторами, объявленными в других языках.These verbatim identifiers are primarily for interoperability with identifiers declared in other languages.
Полное определение допустимых идентификаторов см. в разделе об идентификаторах в спецификации языка C#.For a complete definition of valid identifiers, see the Identifiers topic in the C# Language Specification.
Соглашения об именахNaming conventions
В дополнение к правилам для идентификаторов существует ряд соглашений об именовании, используемых в API-интерфейсах .NET.In addition to the rules, there are a number of identifier naming conventions used throughout the .NET APIs. По соглашению программы C# используют PascalCase
для имен типов, пространства имен и всех открытых членов.By convention, C# programs use PascalCase
for type names, namespaces, and all public members. Кроме того, часто используются следующие соглашения.In addition, the following conventions are common:
- Имена интерфейсов начинаются с заглавной буквы
I
.Interface names start with a capitalI
. - Типы атрибутов заканчиваются словом
Attribute
.Attribute types end with the wordAttribute
. - Типы перечисления используют единственное число для объектов, не являющихся флагами, и множественное число для флагов.Enum types use a singular noun for non-flags, and a plural noun for flags.
- Идентификаторы не должны содержать два последовательных символа
_
.Identifiers should not contain two consecutive_
characters. Эти имена зарезервированы для идентификаторов, созданных компилятором.Those names are reserved for compiler generated identifiers.
Спецификация языка C#C# Language Specification
Дополнительные сведения см. в спецификации языка C#.For more information, see the C# Language Specification. Спецификация языка является предписывающим источником информации о синтаксисе и использовании языка C#.The language specification is the definitive source for C# syntax and usage.
См. такжеSee also
C++. Идентификаторы, литералы, зарезервированные слова.
Поиск на других ресурсах:
1. Какое назначение идентификаторов в C++? Правила создания идентификаторов.
Идентификатор представляет собой имя, которое присваивается переменной, константе, функции, собственному типу или другому элементу, который определяется пользователем. Идентификаторы могут состоять из одного или нескольких символов. Имена переменных должны начинаться из буквы или символа подчеркивания.
В языке C++ строчные и прописные символы рассматриваются как разные символы (в отличие от языка Паскаль и других языков).
Примеры идентификаторов:
x max Delta my_method w23x5
⇑
2. Какие элементы языка C++ запрещается использовать в качестве идентификатора?
В языке C++ нельзя использовать в качестве идентификаторов ключевые слова.
Список ключевых слов языка C++:
asm auto bool break case catch char class const const_class continue default delete do double dinamic_cast else enum explicit export extern false float for friend goto if inline int long mutable namespace new operator private protected public register reinterpret_cast return short signed sizeof static static_cast struct switch template this throw true try typedef typeid typename union unsigned using virtual void volatile wchar_t while
⇑
3. Что собой представляют литералы в языке C++?
Литералы – это фиксированные значения (константы), которые не могут быть изменены программой в процессе выполнения. Литералы (константы) могут иметь любой базовый тип данных. Способ представления каждой константы зависит от ее типа.
Примеры литералов:
23 -8.45 's' L'A' 12.345F 4.3e-8 4.3E-8 1300L
⇑
4. Каким образом компилятор распознает целочисленные литералы?
Компилятор C++ пробует определить тип литерала самостоятельно по его значению.
Например, для 16-разрядной среды:
- число 23 связывается с типом int;
- число 300929 связывается с типом long int.
Если нужно принудительно установить значение long int, тогда к литералу нужно прибавить суффикс ‘L‘ или ‘l‘. Например:
20L -300l
Если нужно установить значение литерала как беззнакового (с префиксом unsigned), тогда к литералу добавляется суффикс ‘U‘ или ‘u‘. Например:
1500u // тип unsigned long int 1500U // unsigned int 1500u // unsigned int 1500ul // unsigned long int 1500UL // unsigned long int
⇑
5. Каким образом компилятор распознает литералы с плавающей запятой?
По умолчанию, все константы с плавающей запятой имеют тип double. Если нужно установить тип float, тогда к константе нужно прибавить суффикс ‘f‘ или ‘F‘. Если нужно установить тип long double, тогда к константе прибавляется суффикс ‘l‘ или ‘L‘.
Например:
9000.0009f // float 8888.777F // float 111.222 // double 0.33L // long double -56785757574.33l // long double
⇑
6. Каким образом в C++ записываются шестнадцатеричные и восьмеричные литералы?
Часто в программах целесообразным есть использование шестнадцатеричной или восьмеричной систем исчисления вместо десятичной. Запись литералов в шестнадцатеричной или восьмеричной системах исчисления используется только для целочисленных типов.
В восьмеричной системе исчисления используются цифры от ‘0‘ до ‘7‘.
В шестнадцатеричной системе исчисления используются цифры от ‘0‘ до ‘9‘ и буквы от ‘А‘ до ‘F‘.
Восьмеричные литералы начинаются с префикса ‘0‘.
Шестнадцатеричные литералы начинаются с префикса ‘0x‘ или ‘0X‘.
Например:
010 // Число 10 в восьмеричной системе исчисления 055 // восьмеричная система исчисления 0x10 // шестнадцатеричная система исчисления 0XAFD // шестнадцатеричная система исчисления
⇑
7. Что собой представляют управляющие последовательности символов?
В языках программирования существует ряд констант, которые невозможно ввести в исходный текст программы непосредственно с клавиатуры. Например, символ новой строки.
Кроме того, некоторые символы, такие как одинарные или двойные кавычки, в C++ имеют специальное назначение. Поэтому, их иногда, невозможно ввести напрямую.
Во избежание этой проблемы, в языке C++ (да и в других языках) введены так называемые управляющие последовательности символов. Эти последовательности заменяют символы, которые имеют специальное назначение или символы, которые невозможно ввести с клавиатуры напрямую.
Управляющие символьные последовательности языка C++:
\b - возврат на одну позицию \f - переход к началу следующей страницы \n - новая строка \r - возврат каретки \t - горизонтальная табуляция \" - двойная кавычка \' - одинарная кавычка \\ - обратная дробная черта \v - вертикальная табуляция \a - звуковой сигнал \? - вопросительный знак \N - восьмеричная константа (где N - сама восьмеричная константа) \x - шестнадцатеричная константа (где N - сама шестнадцатеричная константа)
Пример описания переменной, в которую заносится символ управляющей последовательности.
char c1, c2; c1 = '\\'; // обратная дробная черта c2 = '\"'; // двойная кавычка c1 = '\23'; // 23 в восьмеричной системе исчисления c2 = '\x5F'; // 5F в шестнадцатеричной системе исчисления
⇑
Связанные темы
Идентификаторы. Язык программирования Си для персонального компьютера
Идентификаторы
Идентификаторы — это имена переменных, функций и меток, используемых в программе. Идентификатор вводится в объявлении переменной или функции, либо в качестве метки оператора. После этого его можно использовать в последующих операторах программы. Идентификатор — это последовательность из одной или более латинских букв, цифр и символов подчеркивания, которая начинается с буквы или символа подчеркивания. Допускается любое число символов в идентификаторе, однако только первые 32 символа рассматриваются компилятором языка Си как значащие. Если первые 32 символа у двух идентификаторов совпадают, компилятор языка Си рассматривает их как один и тот же идентификатор. Компоновщик также распознает 32 символа в именах глобальных переменных.
В идентификаторах версии 1.5 СП ТС допускается знак $, однако, идентификатор не может с него начинаться.
Компиляторы языка Си в СП MSC и СП ТС имеют опцию, позволяющую изменять число значащих символов в идентификаторах.
При использовании символов подчеркивания в качестве первых символов идентификаторов необходимо соблюдать осторожность, поскольку такие идентификаторы могут совпасть (войти в конфликт) с именами «скрытых» библиотечных функций.
Примеры идентификаторов:
temp1
top_of_page
skip12
Компилятор языка Си рассматривает буквы верхнего и нижнего регистров как различные символы. Поэтому можно создавать идентификаторы, которые совпадают орфографически, но различаются регистром букв. Например, каждый из следующих идентификаторов является уникальным:
add
ADD
Add
aDD
В СП ТС, однако, существует опция компиляции, позволяющая рассматривать в именах внешних переменных буквы верхнего и нижнего регистров как совпадающие.
Компилятор языка Си не допускает использования идентификаторов, совпадающих по написанию с ключевыми словами.
Например, идентификатор while недопустим (однако идентификатор While—допустим).
Поделитесь на страничке
Следующая глава >
Алфавит, идентификаторы, ключевые слова и константы C++
В тексте на любом естественном языке можно выделить четыре основных элемента: символы, слова, словосочетания и предложения. Подобные элементы содержит и алгоритмический язык, только слова называют лексемами (элементарными конструкциями), словосочетания — выражениями, а предложения — операторами. Лексемы образуются из символов, выражения — из лексем и символов, а операторы — из символов, выражений и лексем. В этой записи рассмотрен алфавит языка программирования C++ и его лексемы.
Алфавит C++
Алфавит C++ включает:
- прописные и строчные латинские буквы и знак подчеркивания;
- арабские цифры от 0 до 9;
- специальные знаки: ? { } , ¦ [ ] ( ) + — / % * . \ ‘ : ? < = > ! & # ~ — ; ^
- пробельные символы: пробел, символы табуляции, символы перехода на новую строку.
Из символов алфавита формируются лексемы языка:
- идентификаторы;
- ключевые (зарезервированные) слова;
- знаки операций;
- константы;
- разделители (скобки, точка, запятая, пробельные символы).
Границы лексем определяются другими лексемами, такими, как разделители или знаки операций.
Идентификаторы
Идентификатор — это имя программного объекта. В идентификаторе могут использоваться латинские буквы, цифры и знак подчеркивания. Прописные и строчные буквы различаются, например, sysop, SySoP и SYSOP — три различных имени. Первым символом идентификатора может быть буква или знак подчеркивания, но не цифра. Пробелы внутри имен не допускаются.
Совет
Для улучшения читаемости программы следует давать объектам осмысленные имена. Существует соглашение о правилах создания имен, называемое венгерской нотацией (поскольку предложил ее сотрудник компании Microsoft венгр по национальности), по которому каждое слово, составляющее идентификатор, начинается с прописной буквы, а вначале ставится префикс, соответствующий типу величины, например, iMaxLength, IpfnSetFirstDialog.
Другая традиция — разделять слова, составляющие имя, знаками подчеркивания: maxjength, number_of_galosh.
Длина идентификатора по стандарту не ограничена, но некоторые компиляторы и компоновщики налагают на нее ограничения. Идентификатор создается на этапе объявления переменной, функции, типа и т. п., после этого его можно использовать в последующих операторах программы. При выборе идентификатора необходимо иметь в виду следующее:
- идентификатор не должен совпадать с ключевыми словами и именами используемых стандартных объектов языка;
- не рекомендуется начинать идентификаторы с символа подчеркивания, поскольку они могут совпасть с именами системных функций или переменных, и, кроме того, это снижает мобильность программы;
- на идентификаторы, используемые для определения внешних переменных, налагаются ограничения компоновщика (использование различных компоновщиков или версий компоновщика накладывает разные требования на имена внешних переменных).
Ключевые слова
Ключевые слова — это зарезервированные идентификаторы, которые имеют специальное значение для компилятора. Их можно использовать только в том смысле, в котором они определены. Список ключевых слов C++ приведен в таблице ниже.
Список ключевых слов C++ | |||
asm | else | new | this |
auto | enum | operator | throw |
bool | explicit | private | true |
break | export | protected | try |
case | extern | public | typedef |
catch | false | register | typeid |
char | float | reinterpret_cast | typename |
class | for | return | union |
const | friend | short | unsigned |
const_cast | goto | signed | using |
continue | if | sizeof | virtual |
default | inline | static | void |
delete | int | static__cast | volatile |
do | long | struct | wchar_t |
double | mutable | switch | while |
dynamic_cast | namespace | template |
Знаки операций
Знак операции — это один или более символов, определяющих действие над операндами. Внутри знака операции пробелы не допускаются. Операции делятся на унарные, бинарные и тернарную по количеству участвующих в них операндов. Знаки операций приведены в отдельной заметке – Операции языка C++
Один и тот же знак может интерпретироваться по-разному в зависимости от контекста. Все знаки операций за исключением [ ], ( ) и ? : представляют собой отдельные лексемы.
Большинство стандартных операций может быть переопределено (перегружено).
Константы
Константами называют неизменяемые величины. Различаются целые, вещественные, символьные и строковые константы. Компилятор, выделив константу в качестве лексемы, относит ее к одному из типов по ее внешнему виду (формат константы можно указать самостоятельно).
Форматы констант, соответствующие каждому типу, приведены в таблице ниже.
Константа | Формат | Константа |
Целая | Десятичный: последовательностьдесятичных цифр, начинающаясяне с нуля, если это не число нуль
Восьмеричный: нуль, за которым
следуют восьмеричные цифры
(0,1,2,3,4,5,6,7)
Шестнадцатеричный: 0х или 0Х,
за которым следуют шестнадцатеричные
цифры (0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F) | 8, 0, 199226
01, 020, 07155
0хА, 0x1B8, 0X00FF |
Вещественная | Десятичный:[цифры].[цифры]Экспоненциальный:
[цифры][.][цифры]{Е¦е}[+¦ -][цифры] | 5.7, .001, 35.0.2Е6, .11е-З, 5Е10 |
Символьная | Один или два символа, заключенных в апострофы | ‘А’, ‘ю’, ‘*’, ‘db’, ‘\0’, ‘\n’ , ‘\012’, ‘\x07\x07’ |
Строковая | Последовательность символов, заключенная в кавычки | «Здесь был Vasia»,»\t3начение r=\0xF5\n» |
Не следует забывать, что у каждого типа данных есть диапазон допустимых значений.
Если требуется сформировать отрицательную целую или вещественную константу, то перед константой ставится знак унарной операции изменения знака (-), например: -218, -022, -0х3C, -4.8, -0.1e4.
Вещественная константа в экспоненциальном формате представляется в виде мантиссы и порядка. Мантисса записывается слева от знака экспоненты (Е или е), порядок — справа от знака. Значение константы определяется как произведение мантиссы и возведенного в указанную в порядке степень числа 10. Обратите внимание, что пробелы внутри числа не допускаются, а для отделения целой части от дробной используется не запятая, а точка.
Символьные константы, состоящие из одного символа, занимают в памяти один байт и имеют стандартный тип char. Двухсимвольные константы занимают два байта и имеют тип int, при этом первый символ размещается в байте с меньшим адресом.
Все строковые литералы рассматриваются компилятором как различные объекты.
Строковые константы, отделенные в программе только пробельными символами, при компиляции объединяются в одну. Длинную строковую константу можно разместить на нескольких строках, используя в качестве знака переноса обратную косую черту, за которой следует перевод строки. Эти символы игнорируются компилятором, при этом следующая строка воспринимается как продолжение предыдущей. Например, строка
“Никто не доволен своей \
внешностью, но все довольны \
своим умом”
полностью эквивалентна строке
“Никто не доволен своей внешностью, но все довольны своим умом”
В конец каждого строкового литерала компилятором добавляется нулевой символ, представляемый управляющей последовательностью \0.
Поэтому длина строки всегда на единицу больше количества символов в ее записи. Таким образом, пустая строка ?? имеет длину 1 байт.
Обратите внимание на разницу между строкой из одного символа, например, «А», и символьной константой ?А?.
Пустая символьная константа недопустима.
Комментарии
Комментарий либо начинается с двух символов «прямая косая черта» (//) и заканчивается символом перехода на новую строку, либо заключается между символами-скобками /* и */. Внутри комментария можно использовать любые допустимые на данном компьютере символы, а не только символы из алфавита языка C++, поскольку компилятор комментарии игнорирует. Вложенные комментарии-скобки стандартом не допускаются, хотя в некоторых компиляторах разрешены.
По материалам книги «Программирование на языке высокого уровня C\C++», Павловская Т.А.
C++ и не только: Идентификаторы и ключевые слова
Идентификатор — это имя программного объекта. В идентификаторе могут использоваться латинские буквы, цифры и знак подчеркивания. Прописные и строчные буквы различаются, например, sysop, SySoP и SYSOP — три различных имени. Первым символом идентификатора может быть буква или знак подчеркивания, но не цифра. Пробелы внутри имен не допускаются.
Совет
Для улучшения читаемости программы следует давать объектам осмысленные имена. Существует соглашение о правилах создания имен, называемое венгерской нотацией (поскольку предложил ее сотрудник компании Microsoft венгр по национальности), по которому каждое слово, составляющее идентификатор, начинается с прописной буквы, а вначале ставится префикс, соответствующий типу величины, например, iMaxLength, IpfnSetFirstDialog.
Другая традиция — разделять слова, составляющие имя, знаками подчеркивания: maxjength, number_of_galosh.
Длина идентификатора по стандарту не ограничена, но некоторые компиляторы и компоновщики налагают на нее ограничения. Идентификатор создается на этапе объявления переменной, функции, типа и т. п., после этого его можно использовать в последующих операторах программы. При выборе идентификатора необходимо иметь в виду следующее:
- идентификатор не должен совпадать с ключевыми словами и именами используемых стандартных объектов языка;
- не рекомендуется начинать идентификаторы с символа подчеркивания, поскольку они могут совпасть с именами системных функций или переменных, и, кроме того, это снижает мобильность программы;
- на идентификаторы, используемые для определения внешних переменных, налагаются ограничения компоновщика (использование различных компоновщиков или версий компоновщика накладывает разные требования на имена внешних переменных).
Ключевые слова
Ключевое слово — это зарезервированные идентификаторы, которые имеют специальное значение для компилятора. Их можно использовать только в том смысле, в котором они определены. Ключевые слова делятся на:
- спецификаторы типов: char, double, enum, float, int, long, short struct, signed, union, unsigned, void, typedef
- квалификаторы типов: const, volatile
- квалификаторы классов памяти: auto, extern, register, static
- операторы языка и идентификаторы специального назначения: break, continue, do, for, goto, if, return, switch, while; default, cas else,sizeof
- модификаторы и псевдопеременные: конкретный набор зависит от компилятора
Идентификаторы | CSS | WebReference
Идентификатор определяет уникальное имя элемента, которое используется для изменения его стиля и обращения к нему через скрипты.
Синтаксис
#<Имя идентификатора> { Описание правил стиля }
При описании идентификатора вначале указывается символ решётки (#), затем идёт имя идентификатора. Оно должно начинаться с латинского символа и может содержать в себе символ дефиса (-) и подчеркивания (_). Использование русских букв в именах идентификатора недопустимо. В отличие от классов идентификаторы должны быть уникальны, иными словами, встречаться в коде документа только один раз.
Обращение к идентификатору происходит с помощью атрибута id, значением которого выступает имя идентификатора (id=»header»). Символ решётки при этом уже не указывается.
Обозначения
Описание | Пример | |
---|---|---|
<тип> | Указывает тип значения. | <размер> |
A && B | Значения должны выводиться в указанном порядке. | <размер> && <цвет> |
A | B | Указывает, что надо выбрать только одно значение из предложенных (A или B). | normal | small-caps |
A || B | Каждое значение может использоваться самостоятельно или совместно с другими в произвольном порядке. | width || count |
[ ] | Группирует значения. | [ crop || cross ] |
* | Повторять ноль или больше раз. | [,<время>]* |
+ | Повторять один или больше раз. | <число>+ |
? | Указанный тип, слово или группа не является обязательным. | inset? |
{A, B} | Повторять не менее A, но не более B раз. | <радиус>{1,4} |
# | Повторять один или больше раз через запятую. | <время># |
Пример
<!DOCTYPE html>
<html>
<head>
<meta charset=»utf-8″>
<title>Идентификаторы</title>
<style>
#help {
position: absolute; /* Абсолютное позиционирование */
left: 160px; /* Положение элемента от левого края */
top: 50px; /* Положение от верхнего края */
width: 225px; /* Ширина блока */
padding: 5px; /* Поля вокруг текста */
background: #f0f0f0; /* Цвет фона */
}
</style>
</head>
<body>
<div>
Этот элемент помогает в случае, когда вы находитесь в осознании того
факта, что совершенно не понимаете, кто и как вам может помочь. Именно
в этот момент мы и подсказываем, что помочь вам никто не сможет.
</div>
</body>
</html>
Результат примера показан на рис. 1.
Рис. 1. Вид текста, оформленного с помощью идентификатора
Примечание
В браузере Internet Explorer до версии 7 идентификаторы иногда игнорируются, если они комбинируются с селекторами элементов или классами.
Спецификация
Каждая спецификация проходит несколько стадий одобрения.
- Recommendation (Рекомендация) — спецификация одобрена W3C и рекомендована как стандарт.
- Candidate Recommendation (Возможная рекомендация) — группа, отвечающая за стандарт, удовлетворена, как он соответствует своим целям, но требуется помощь сообщества разработчиков по реализации стандарта.
- Proposed Recommendation (Предлагаемая рекомендация) — на этом этапе документ представлен на рассмотрение Консультативного совета W3C для окончательного утверждения.
- Working Draft (Рабочий проект) — более зрелая версия черновика после обсуждения и внесения поправок для рассмотрения сообществом.
- Editor’s draft (Редакторский черновик) — черновая версия стандарта после внесения правок редакторами проекта.
- Draft (Черновик спецификации) — первая черновая версия стандарта.
Браузеры
В таблице браузеров применяются следующие обозначения.
- — свойство полностью поддерживается браузером со всеми допустимыми значениями;
- — свойство браузером не воспринимается и игнорируется;
- — при работе возможно появление различных ошибок, либо свойство поддерживается лишь частично, например, не все допустимые значения действуют или свойство применяется не ко всем элементам, которые указаны в спецификации.
Число указывает версию браузера, начиная с которой свойство поддерживается.
Автор и редакторы
Автор: Влад Мержевич
Последнее изменение: 02.03.2020
Редакторы: Влад Мержевич
C Ключевые слова и идентификаторы
Набор символов
Набор символов — это набор алфавитов, букв и некоторых специальных символов, которые допустимы в языке C.
алфавитов
Прописные буквы: A B C ................................... X Y Z Строчные: a b c ...................................... x y z
C принимает как строчные, так и прописные буквы в качестве переменных и функций.
цифр
0 1 2 3 4 5 6 7 8 9
Специальные символы
, | < | > | . | ! | * | / | | |
– | \ | ~ | + |
Пробелы Символы
Пустое пространство, новая строка, горизонтальная табуляция, возврат каретки и подача страницы.
C Ключевые слова
Ключевые слова — это заранее определенные зарезервированные слова, используемые в программировании, которые имеют особое значение для компилятора. Ключевые слова являются частью синтаксиса и не могут использоваться в качестве идентификатора.Например:
int money;
Здесь int
— ключевое слово, которое указывает, что money — это переменная типа int
(целое число).
Так как C чувствителен к регистру, все ключевые слова должны быть написаны в нижнем регистре. Вот список всех ключевых слов, разрешенных в ANSI C.
авто | двойной | внутренний | структура |
перерыв | еще | длинный | переключатель |
корпус | перечисление | регистр | typedef |
знак | внешний | возврат | штуцер |
продолжить | для | подписанный | пусто |
до | если | статический | а |
по умолчанию | перейти | размер | летучие |
конст. | поплавок | короткий | без знака |
Все эти ключевые слова, их синтаксис и применение будут обсуждаться в соответствующих разделах.Однако, если вы хотите получить краткий обзор этих ключевых слов, не вдаваясь в подробности, посетите Список всех ключевых слов в программировании на C.
C Идентификаторы
Идентификатор относится к имени, присвоенному таким объектам, как переменные, функции, структуры и т. Д.
Идентификаторы должны быть уникальными. Они созданы, чтобы дать объекту уникальное имя, чтобы идентифицировать его во время выполнения программы. Например:
int money;
двойной счетBalance;
Здесь деньги и accountBalance — идентификаторы.
Также помните, что имена идентификаторов должны отличаться от ключевых слов. Вы не можете использовать int
в качестве идентификатора, потому что int
является ключевым словом.
Правила именования идентификаторов
- Действительный идентификатор может содержать буквы (как прописные, так и строчные), цифры и символы подчеркивания.
- Первая буква идентификатора должна быть буквой или знаком подчеркивания.
- Вы не можете использовать такие ключевые слова, как
int
,,
и т. Д.как идентификаторы. - Нет правила относительно длины идентификатора. Однако в некоторых компиляторах могут возникнуть проблемы, если длина идентификатора превышает 31 символ.
Вы можете выбрать любое имя в качестве идентификатора, если вы будете следовать приведенному выше правилу, однако дайте значимые имена идентификаторам, которые имеют смысл.
.
идентификаторов C ++ — qaruQaruSite
Переполнение стека
- Около
Продукты
- Для команд
Переполнение стека
Общественные вопросы и ответыПереполнение стека для команд
Где разработчики и технологи делятся частными знаниями с коллегамиВакансии
Программирование и связанные с ним технические возможности карьерного ростаТалант
Нанимайте технических специалистов и создавайте свой бренд работодателяРеклама
Обратитесь к разработчикам и технологам со всего мира- О компании
Загрузка…
.
Ключевые слова и идентификаторы языка C
Ключевые слова — это сохраненные слова, которые имеют особое значение в языке C. Значение ключевых слов языка C уже было описано компилятору C. Это значение нельзя изменить. Таким образом, ключевые слова нельзя использовать в качестве имен переменных, потому что это может попытаться изменить существующее значение ключевого слова, что недопустимо (не волнуйтесь, если вы не знаете, что это за переменные, вы скоро поймете). 32 ключевых слова на языке C.
auto | double | int | struct | ||
break | else | long | switch | ||
case | enum | regig60007 | return | union | |
char | float | short | unsigned | ||
continue | for | signed | volatile | ||
9000 | до | если | статический | а |
Что такое идентификаторы?
В языке C идентификаторы — это имена, присвоенные переменным, константам, функциям и пользовательским данным.Эти идентификаторы определены в соответствии с набором правил.
Правила для идентификатора
- Идентификатор может содержать только буквенно-цифровые символы (a-z, A-Z, 0-9) и подчеркивание (
_
). - Первый символ идентификатора может содержать только алфавит (a-z, A-Z) или подчеркивание (
_
). - также чувствительны к регистру в C. Например, name и Name — это два разных идентификатора в C.
- Ключевые слова не могут использоваться в качестве идентификаторов.
- Никакие специальные символы, такие как точка с запятой, точка, пробелы, косая черта или запятая, не могут использоваться в идентификаторе или в качестве идентификатора.
Идентификаторы
Когда мы объявляем переменную или любую функцию в программе на языке C, чтобы использовать ее, мы должны предоставить ей имя, которое идентифицирует ее во всей программе, например:
int myvariable = "Studytonight";
Здесь myvariable
— имя или идентификатор переменной, в которой хранится значение «Studytonight».
Набор символов
В языке C символы сгруппированы в следующие категории:
- Буквы (все алфавиты от a до z и от A до Z).
- цифр (все цифры от 0 до 9).
- Специальные символы (например, двоеточие
:
, точка с запятой;
, точка,
, подчеркивание_
, амперсанди
и т. Д.). - Белые пространства.
Вот небольшое видео
.Идентификатор
— cppreference.com
Идентификатор — это произвольно длинная последовательность цифр, символов подчеркивания, строчных и прописных латинских букв и символов Юникода, заданная с помощью escape-обозначений \ u
и \ U
(начиная с C99). Допустимый идентификатор должен начинаться с нецифрового символа (латинская буква, подчеркивание или нецифровой символ Юникода (начиная с C99)). Идентификаторы чувствительны к регистру (строчные и прописные буквы различны).
Это определяется реализацией, если в идентификаторах разрешены необработанные (не экранированные) символы Unicode: char * \ U0001f431 = "кот"; // поддерживается char * 🐱 = "кошка"; // определяется реализацией // (е.г. работает с Clang, но не с GCC до версии 10) | (начиная с C99) |
Идентификаторы могут обозначать следующие типы сущностей:
Каждый идентификатор, кроме имен макросов или имен параметров макросов, имеет область действия, принадлежит пространству имен и может иметь связь. Один и тот же идентификатор может обозначать разные объекты в разных точках программы или может обозначать разные объекты в одной и той же точке, если объекты находятся в разных пространствах имен.
[править] Зарезервированные идентификаторы
Следующие идентификаторы зарезервированы и не могут быть объявлены в программе (это вызывает неопределенное поведение):
1) Идентификаторы, являющиеся ключевыми словами, не могут использоваться для других целей.В частности, #define или #undef идентификатора, идентичного ключевому слову, недопустимы.
2) Все внешние идентификаторы, начинающиеся с символа подчеркивания.
3) Все идентификаторы, начинающиеся с символа подчеркивания, за которым следует заглавная буква или другой символ подчеркивания (эти зарезервированные идентификаторы позволяют библиотеке использовать множество скрытых макросов и функций, не являющихся внешними)
4) Все внешние идентификаторы, определенные стандартной библиотекой (в размещенной среде). Это означает, что никакие пользовательские внешние имена не могут совпадать с именами библиотек, даже если объявлена функция, идентичная библиотечной функции.
5) Идентификаторы, объявленные как зарезервированные для будущего использования стандартной библиотекой, а именно
-
cerf
,cerfc
,cexp2
,cexpm1
,clog10
,clog1p
,clog2
,clgamma
и их варианты с суффиксом clgamma иclgamma
, в - , начинающиеся с
, это
или отдо
, за которым следует строчная буква ви - , начинающийся с
str
, за которым следует строчная буква в - , начинающиеся с
str
,mem
илиwcs
, за которыми следует строчная буква в - , начиная с
wcs
, за которым следует строчная буква в - , начинающийся с
atomic_
, за которым следует строчная буква в - , начинающиеся с
cnd_
,mtx_
,thrd_
илиtss_
, за которыми следует строчная буква в <нитях.h>
-
- , начиная с
int
илиuint
и заканчивая_t
, в - , начиная с
atomic_
илиmemory_
, за которым следует строчная буква в - , начинающиеся с
cnd_
,mtx_
,thrd_
илиtss_
, за которыми следует строчная буква в
- , начиная с
- , начиная с
E
, за которым следует цифра или заглавная буква в - , начинающийся с
FE_
, за которым следует заглавная буква в - , начиная с
INT
илиUINT
и заканчивая_MAX
,_MIN
или_C
, в - , начиная с
PRI
илиSCN
, за которым следует строчная буква или букваX
, в - , начинающийся с
LC_
, за которым следует заглавная буква в - , начиная с
SIG
илиSIG_
, за которым следует заглавная буква в - , начиная с
TIME_
, за которым следует заглавная буква в - , начиная с
ATOMIC_
, за которым следует заглавная буква в
- , начиная с
- , начиная с
memory_order_
, за которым следует строчная буква в - , начинающиеся с
cnd_
,mtx_
,thrd_
илиtss_
, за которыми следует строчная буква в <нитях.ч>
- , начиная с
Доступны все остальные идентификаторы, не опасаясь неожиданных коллизий при переносе программ из одного компилятора и библиотеки в другой.
Примечание: в C ++ идентификаторы с двойным подчеркиванием везде зарезервированы; в C зарезервированы только те, которые начинаются с двойного подчеркивания.
[править] Пределы перевода
Несмотря на то, что не существует конкретного ограничения на длину идентификаторов, ранние компиляторы имели ограничения на количество значимых начальных символов в идентификаторах, а компоновщики вводили более строгие ограничения на имена с внешней связью.C требует, чтобы любая соответствующая стандарту реализация поддерживала по крайней мере следующие ограничения:
| (до C99) |
| (начиная с C99) |
[править] Ссылки
- C11 стандарт (ISO / IEC 9899: 2011):
- 5.2.4.1 Пределы перевода (стр. 25-26)
- 6.4.2 Идентификаторы (стр: 59-60)
- 6.10.8 Предопределенные имена макросов (стр: 175-176)
- 6.11.9 Предопределенные имена макросов (стр: 179)
- 7.31 Будущие направления библиотеки (стр: 455-457)
- K.3.1.2 Зарезервированные идентификаторы (p: 584)
- C99 стандарт (ISO / IEC 9899: 1999):
- 5.2.4.1 Пределы перевода (стр. 20-21)
- 6.4.2 Идентификаторы (стр: 51-52)
- 6.10.8 Предопределенные имена макросов (стр: 160-161)
- 6.11.9 Предопределенные имена макросов (стр: 163)
- 7.26 Будущие направления библиотек (стр: 401-402)
- Стандарт C89 / C90 (ISO / IEC 9899: 1990):
- 2.2.4.1 Пределы перевода
- 3.8.8 Предопределенные имена макросов
[править] См. Также
.