Слайд 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Вопросы…
Спасибо за внимание
Козьминых Н.М.