Основы языка C#

Содержание

Слайд 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

Преобразование встроенных типов данных

Козьминых Н.М.

Неявное преобразование – автоматическое:
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 =

Операции (продолжение)

Козьминых Н.М.

Оп. присваивания: =
а = 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 : а ; // максимальное значение
Слайд 12

Пример 1 Козьминых Н.М.

Пример 1

Козьминых Н.М.

Слайд 13

Пример 2 Козьминых Н.М.

Пример 2

Козьминых Н.М.

Слайд 14

Пример 2 (ответы) Козьминых Н.М.

Пример 2 (ответы)

Козьминых Н.М.

Слайд 15

Функции (методы) Козьминых Н.М. Функции (методы) задают определенную функциональность, которую можно

Функции (методы)

Козьминых Н.М.

Функции (методы) задают определенную функциональность, которую можно многократно выполнять

при различных значениях параметров
Функции (методы) состоят из заголовка и тела функции
[модификаторы] тип_результата_функции имя_функции([список_формальных_аргументов])
{
// операторы
}
private int sum(int a, int b) // заголовок функции
{ return a + b; } // тело функции