Любой язык программирования подобен языку человека. Как и в нашем с вами языке (русском, английском и так далее), в языке программирования можно выделить алфавит, слова и предложения. Но язык программирования в отличии от языка человека гораздо проще и подчиняется жестким правилам. Это обусловлено примитивностью вычислительной техники: компьютер — не человек, домыслить ничего не может и обрабатывает только такой набор команд, который трактуется однозначно.
Итак, разберем базовые понятия языка С# и начнем с основы основ в любом языке — его алфавита.
Алфавит языка — это тот набор символов (знаков), который допустим в данном языке. В алфавит языка C# входят:
прописные и строчные буквы (латинские и национальных шрифтов) и символ подчеркивания (_);
цифры;
специальные знаки: ' " , { } | [ ] ( ) + - / \ % ? ! . ; : < = > & * ~ ^
неотображаемые символы («обобщенные пробельные символы»), они используются для отделения лексем друг от друга (это пробелы, табуляция, переход на новую строку).
Из отдельных символов алфавита языка строятся более крупные блоки программы: лексемы, директивы препроцессора и комментарии.
Лексема — это последовательность из одного или несколько символов, представляющая определенный смысл. Лексемам в языке человека соответствует понятие слово. В литературе, посвященной трансляции с языков программирования, часто используется термин токен, имеющий тот же смысл. Существует несколько видов лексем:
идентификаторы (имена объектов);
ключевые (зарезервированные, служебные) слова;
знаки операций;
разделители;
литералы.
Идентификатор — это последовательность букв, цифр и символов подчеркивания. Идентификаторы используются для обозначения имен объектов, используемых в программе. Всё, что применяется в программе, имеет имя. Имена (названия) имеют константы, переменные, методы, классы и т. д. Имя не может начинаться с цифры. Длина имени произвольная. Ограничения накладываются только на внешние имена, например, на имена библиотек, но это ограничения не языка C#, а операционной системы. В идентификаторах допускается применять национальные шрифты, например, русские буквы, но это нежелательно.
Замечание. В традиционных языках программирования (C, Паскаль и другие) символы национальных шрифтов можно применять только в качестве символов-констант (например, 'Я'), в символьных строках ("Это строка") и комментариях. В C# символы национальных шрифтов допустимы и для обозначения имен (идентификаторов). Это повышает читаемость программы, но создает дополнительные проблемы. Ведь служебные слова по-прежнему состоят только из латинских букв. Попробуйте сами набирать текст программы, где в каждом предложении необходимо многократно переключаться с русского языка на английский!
Ключевые слова — это служебные слова, которые зарезервированы в языке, их можно использовать только по прямому назначению (например, for — это заголовок оператора цикла и ничего более), т. е. зарезервированные слова нельзя использовать в качестве имен переменных пользователя. Ключевые слова, определенные в стандарте языка C# версии 2.0, приведены в таблице ниже:
Таблица 1. Ключевые слова C# |
|||||
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 |
volatile |
while |
|
Знаки операций — это один или несколько символов, определяющих действие над операндами. Внутри знака операции не может быть пробелов (пробел — это всегда разделитель). Например, в выражении x+y знак + означает операцию сложения, а x и y являются операндами. Операции и знаки, их означающие, мы будем изучать по мере необходимости.
Операнд — это константа, переменная или вызов метода (функции). Операнды, связанные знаками операций, образуют выражения. Понятие «выражение» в языке программирования соответствует понятию «словосочетание» в языке человека. Тип выражения определяется типом операндов.
Разделитель используются для разделения или для группировки элементов. Примеры разделителей: пробелы, скобки, точка, запятая.
Литералы (константы)— это величины, которые неизменны. В C# допустимы целые, вещественные, символьные, строковые, логические константы и константа null. Компилятор определяет тип константы по ее внешнему виду. Примеры констант всех допустимых типов:
Таблица 2. Константы C# |
||
Константа |
Примеры |
Пояснения |
целые |
10 25 |
|
вещественные |
1.5 1.1e-5 |
|
символьные |
'A' '?' |
|
строковые |
"слово" |
|
логические |
true, false |
Означают: истина, ложь |
Константа null |
null |
Ссылка, которая не указывает ни на какой объект |
Рассмотрим константы различных типов немного подробнее.
Целые числа могут записываться в десятичной системе счисления либо в шестнадцатеричной. Во втором случае в начале числа ставятся символы 0x или 0X.
Вещественные числа записываются только в десятичной системе счисления, но в двух формах: с фиксированной точкой и с порядком.
Символьная константа представляет собой любой символ в кодировке Unicode. Под символ отводится 2 байта. Имеется 4 формы записи символьных констант:
обычный символ, имеющий графическое представление (кроме апострофа), например, 'A', '+' и т.д.;
управляющая последовательность — '\n', '\0';
символ в шестнадцатеричном коде — '\x20', '\xFF';
символ в виде escape-последовательности Unicode — '\uA81B'.
Управляющая последовательность (по-другому — escape-последовательность) представляет собой определенный символ, перед которым стоит обратная косая черта (обратный слэш). При этом два эти знака считаются за один символ. Escape-последовательности необходимы для обозначения символов, не имеющих графического представления (например, \n — переход на новую строку), а также для символов, которые имеют специальное значения в символьных и строковых константах, например, апостроф. В таблице ниже приведены все допустимые значения управляющих последовательностей.
Таблица 3. Управляющие последовательности символов |
|
Escape-последовательность |
Описание |
\a |
Звуковой сигнал (звонок) |
\b |
Возврат на одну позицию (забой) |
\f |
Подача страницы (для перехода к началу следующей странице) |
\n |
Переход на новую строку |
\r |
Возврат каретки |
\t |
Горизонтальная табуляция |
\v |
Вертикальная табуляция |
\0 |
Нуль-символ |
\' |
Апостроф (одинарная кавычка) |
\" |
Двойная кавычка |
\\ |
Обратная косая черта |
Комментарии — это фрагменты программы, которые не обрабатываются компиляторов, а используются для пояснения текста программы. В языке C# имеются те же виды комментариев, что и в C++, а так же появился новый вид. Перечислим их.
1)Однострочный комментарий — начинается с двух символов «косая черта», например:
// это комментарий в одну строку
2)Многострочный комментарий — начинается с пары символов /* и заканчивается парой */. Пример:
/* Большой
комментарий
*/
3)Комментарии для автоматической генерации документации в XML-формате. Они начинаются с трёх символов «косая черта». Например,
///<summary>
///This is Alfa class
///</summary>
|
|
|