Слайд 1Лекция 3.
Основы языка С#.
дисциплина «Программирование»
Козьминых Н.М.
Слайд 2Алфавит С#
Козьминых Н.М.
Алфавит С# включает:
строчные и прописные буквы латинского алфавита;
цифры
от 0 до 9;
символ “_” (подчеркивание);
набор специальных символов: " {
} , [ ] + - %/ \; ' : ? < > = ! & # *;
комментарии: /* */ (многострочные) и // (однострочные).
Алфавит С# служит для построения слов – лексем:
идентификаторы;
ключевые слова;
знаки (символы) операций;
литералы;
разделители (пробелы, знаки табуляции и переход на новую строку).
Слайд 3Лексемы.
Идентификаторы и ключевые слова
Козьминых Н.М.
Правила построения идентификаторов:
первый символ – буква;
второй
и далее символы – буквы, цифры, «_»;
длина не ограничена.
Ключевые слова:
Слайд 4Лексемы.
Литералы
Козьминых Н.М.
В С# существует четыре типа литералов:
целочисленный литерал:
десятичные, восьмеричные (0
- префикс), шестнадцатеричные (0X или 0x - префикс);
беззнаковые (U или
u), длинные (L или l) - суффикс.
вещественный литерал:
вещественный(F/f), длинный вещественный (L/l), с мантиссой (E/e).
символьный литерал: ‘f’, ‘H’, ‘8’, ‘+’, ‘:’;
строковый литерал: “string”, “мама мыла раму”.
Слайд 5Встроенные типы данных
Козьминых Н.М.
Слайд 6Преобразование встроенных типов данных
Козьминых Н.М.
Неявное преобразование – автоматическое:
short x =
1; int y = x; // неявное преобразование
short
x; int y = 5; x = y; // не скомпилируется
Явное преобразование:
short x; int y = 5; x = (short) y; // скомпилируется
Слайд 7Переменные
Козьминых Н.М.
Переменная – именованная область памяти определенного типа, значение которой
может изменяться программно.
тип имя_перем; // объявление переменной
имя_перем = нач_знач; //
инициализация, если сразу после объявления; присвоение значения - при дальнейшем использовании
тип имя_перем = нач_знач; // определение переменной
int x, y, c;
x = 5;
int z = 8, p = 456;
Слайд 8Константы
Козьминых Н.М.
Константа – переменная, значение которой не может быть изменено.
const
тип имя_конст=нач_знач; // определение константы
const double pi = 3.141592;
y =
x * pi;
z = 5 * y * pi;
Слайд 9Выражения
Козьминых Н.М.
Выражения состоят из операндов – констант, переменных, функций, –
объединенных знаками операций и скобками.
Примеры выражений: a+b
12.5 - z 2*(X+Y)
х++ x+++b --n*2 n*=1
Слайд 10Операции
Козьминых Н.М.
Арифметические: + (бинарная, унарная), - (бинарная, унарная), *, /,
% (остаток от деления), ++ (инкремент, унарная), -- (декремент, унарная)
1/5
-> 0 5./3 или 5./3. или 5/3 -> 1.666666
х=х+1; ++х; х++; // одинаковый результат
Оп. явного приведения типов:
int x = 1, y = 5; float z = x/y; // z = 0
int x = 1; float y = 5; float z = x/y; // z = 0.2
int x = 1, y = 5; float z = (float)x/y; // z = 0.2
Оп. отношения: == (равно), != (не равно), <, >, <=, >=
Логические: ! (не), && (и), ||(или)
Слайд 11Операции (продолжение)
Козьминых Н.М.
Оп. присваивания: =
а = b = с =
х + у;
а+=2 эквивалентно а=а+2
х-=а+b эквивалентно
х=х-(а+b)
р/=10 эквивалентно р=р/10
int а = 3; int b = 2; int с = ++а * b++; // а = 4, b = 3, с = 8
Оп. «условие» (3 операнда): выр1 ? выр2 : вырЗ
Х < 0 ? -X : X; // модуль числа
mах = (а<=b) ? b : а ; // максимальное значение
Слайд 15Функции (методы)
Козьминых Н.М.
Функции (методы) задают определенную функциональность, которую можно многократно
выполнять при различных значениях параметров
Функции (методы) состоят из заголовка и
тела функции
[модификаторы] тип_результата_функции имя_функции([список_формальных_аргументов])
{
// операторы
}
private int sum(int a, int b) // заголовок функции
{ return a + b; } // тело функции
Слайд 16Вопросы…
Спасибо за внимание
Козьминых Н.М.