Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему Язык программирования C#

Содержание

Введение
Язык программирования C# Введение ©Павловская Т.А. (СПбГУ ИТМО) Для достижения этих целей программа должна: иметь простую ©Павловская Т.А. (СПбГУ ИТМО)Парадигмы программирования Парадигма — способ организации программы, принцип ее ©Павловская Т.А. (СПбГУ ИТМО)Первый взгляд на классы Понятие класс аналогично обыденному смыслу ©Павловская Т.А. (СПбГУ ИТМО)ТрансляцияКомпиляция			ИнтерпретацияИсходный текст программыКомпилятор, компоновщикПрограмма на машинном языкеВыполнениепрограммыОператор на исходном языкеИнтерпре-таторКоманды на машинном языкеВыполнениекоманд ©Павловская Т.А. (СПбГУ ИТМО)Гибридная схема трансляцииИсходный текст программыКомпилятор Программа на промежуточном языкеИсполняющаясистема ©Павловская Т.А. (СПбГУ ИТМО)Схема выполнения программы в .NET Основные понятия языкаСостав языка ©Павловская Т.А. (СПбГУ ИТМО)Состав языкаСимволы:буквы: 		 A-Z, a-z, _, буквы нац. алфавитовцифры: ©Павловская Т.А. (СПбГУ ИТМО)  Вид				ПримерыБулевские		true	false				Целые  дес.		8	 199226 	0Lu			  шестн.	0xA	0x1B8		0X00FFL	Веществ. ©Павловская Т.А. (СПбГУ ИТМО)Имена (идентификаторы)имя должно начинаться с буквы или _;имя должно ©Павловская Т.А. (СПбГУ ИТМО)НотацииПонятные и согласованные между собой имена — основа хорошего ©Павловская Т.А. (СПбГУ ИТМО)Ключевые слова, знаки операций, разделителиКлючевые слова — идентификаторы, имеющие специальное ©Павловская Т.А. (СПбГУ ИТМО)Ключевые слова 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 Типы данных ©Павловская Т.А. (СПбГУ ИТМО)внутреннее представление данных  => множество их возможных значенийдопустимые ©Павловская Т.А. (СПбГУ ИТМО)Различные классификации типов данных ©Павловская Т.А. (СПбГУ ИТМО)Основная классификация типов C# ©Павловская Т.А. (СПбГУ ИТМО)Хранение в памяти величин значимого и ссылочного типа Встроенные типы данных C# ©Павловская Т.А. (СПбГУ ИТМО)Логический и целые ©Павловская Т.А. (СПбГУ ИТМО)Остальные ©Павловская Т.А. (СПбГУ ИТМО)Поля и методы встроенных типовЛюбой встроенный тип C# построен ©Павловская Т.А. (СПбГУ ИТМО)Математические функции: класс Math ©Павловская Т.А. (СПбГУ ИТМО) Линейные программы ©Павловская Т.А. (СПбГУ ИТМО)using System;namespace A{  class Class1  {		static void ©Павловская Т.А. (СПбГУ ИТМО)Переменные Переменная — это величина, которая во время работы ©Павловская Т.А. (СПбГУ ИТМО)Общая структура программы на С#пространство именКласс АКласс ВМетод MainПеременные ©Павловская Т.А. (СПбГУ ИТМО)Область действия и время жизни переменныхПеременные описываются внутри какого-л. ©Павловская Т.А. (СПбГУ ИТМО)Инициализация переменных При объявлении можно присвоить переменной начальное значение ©Павловская Т.А. (СПбГУ ИТМО)Пример описания переменныхusing System;namespace CA1{  class Class1 ©Павловская Т.А. (СПбГУ ИТМО)Именованные константыВместо значений констант можно (и нужно!) использовать в ©Павловская Т.А. (СПбГУ ИТМО)ВыраженияВыражение — правило вычисления значения. В выражении участвуют операнды, ©Павловская Т.А. (СПбГУ ИТМО)Первичные ©Павловская Т.А. (СПбГУ ИТМО)Тип результата выраженияЕсли операнды, входящие в выражение, одного типа, ©Павловская Т.А. (СПбГУ ИТМО)Неявные арифметические преобразования типов в C# ©Павловская Т.А. (СПбГУ ИТМО)Введение в исключения При вычислении выражений могут возникнуть ошибки ©Павловская Т.А. (СПбГУ ИТМО)Инкремент и декремент using System;namespace CA1{  class C1 ©Павловская Т.А. (СПбГУ ИТМО)Операция new Операция new служит для создания нового объекта. ©Павловская Т.А. (СПбГУ ИТМО)Операции отрицания using System;namespace ConsoleApplication1{  class Class1 ©Павловская Т.А. (СПбГУ ИТМО)Явное преобразование типа long b = 300;int a = ©Павловская Т.А. (СПбГУ ИТМО)Умножение Операция умножения (*) возвращает результат перемножения двух операндов. ©Павловская Т.А. (СПбГУ ИТМО)Результаты вещественного умножения ©Павловская Т.А. (СПбГУ ИТМО)Примерusing System;namespace ConsoleApplication1{  class Class1  { ©Павловская Т.А. (СПбГУ ИТМО)Операции сдвига Операции сдвига (>) применяются к целочисленным операндам. ©Павловская Т.А. (СПбГУ ИТМО)Примерusing System;namespace ConsoleApplication1{  class Class1  { ©Павловская Т.А. (СПбГУ ИТМО)Операции отношения и проверки на равенствоОперации отношения (=, ==, ©Павловская Т.А. (СПбГУ ИТМО)Условные логические операции using System;namespace ConsoleApplication1{  class Class1 ©Павловская Т.А. (СПбГУ ИТМО)Условная операция операнд_1 ? операнд_2 : операнд_3Первый операнд — выражение, ©Павловская Т.А. (СПбГУ ИТМО)Присваивание – это замена старого значения переменной на новое. ©Павловская Т.А. (СПбГУ ИТМО)Сложное присваивание в C#x += 0.5; 		соответствует 	x = Ввод-вывод в C# ©Павловская Т.А. (СПбГУ ИТМО)using System;namespace A{  class Class1  { ©Павловская Т.А. (СПбГУ ИТМО)using System;namespace A{  class Class1  { ©Павловская Т.А. (СПбГУ ИТМО)using System;namespace CA1{  class Class1  {
Слайды презентации

Слайд 2 Введение

Введение

Слайд 3 ©Павловская Т.А. (СПбГУ ИТМО)
Для достижения этих целей

©Павловская Т.А. (СПбГУ ИТМО) Для достижения этих целей программа должна: иметь

программа должна:

иметь простую структуру
быть хорошо читаемой
быть

легко модифицируемой

Основные критерии качества программы


надежность
возможность точно планировать производство и сопровождение


Слайд 4 ©Павловская Т.А. (СПбГУ ИТМО)
Парадигмы программирования
Парадигма — способ

©Павловская Т.А. (СПбГУ ИТМО)Парадигмы программирования Парадигма — способ организации программы, принцип

организации программы, принцип ее построения. Наиболее распространенными являются процедурная

и объектно-ориентированная парадигмы. Они различаются способом декомпозиции, положенным в основу при создании программы.

Процедурная декомпозиция состоит в том, что задача, реализуемая программой, делится на подзадачи, а они, в свою очередь — на более мелкие этапы, то есть выполняется пошаговая детализация алгоритма решения задачи.

Объектно-ориентированная декомпозиция предполагает разбиение предметной области на объекты и реализацию этих объектов и их взаимосвязей в виде программы.

Кроме того, существуют функциональная и логическая парадигмы.


Слайд 5 ©Павловская Т.А. (СПбГУ ИТМО)
Первый взгляд на классы
Понятие

©Павловская Т.А. (СПбГУ ИТМО)Первый взгляд на классы Понятие класс аналогично обыденному

класс аналогично обыденному смыслу этого слова в контексте «класс

членистоногих», «класс задач».
Класс является обобщенным понятием, определяющим характеристики и поведение некоторого множества конкретных объектов этого класса, называемых экземплярами класса (объектами).

Все классы .NET имеют одного общего предка — класс object, и организованы в единую иерархическую структуру.
Классы логически сгруппированы в так называемые пространства имен, которые служат для упорядочивания имен классов и предотвращения их конфликтов: в разных пространствах имена могут совпадать. Пространства имен могут быть вложенными

Класс содержит данные, задающие свойства объектов класса, и функции (методы), определяющие их поведение.


Слайд 6 ©Павловская Т.А. (СПбГУ ИТМО)
Трансляция
Компиляция Интерпретация
Исходный текст программы
Компилятор,
компоновщик
Программа на

©Павловская Т.А. (СПбГУ ИТМО)ТрансляцияКомпиляция			ИнтерпретацияИсходный текст программыКомпилятор, компоновщикПрограмма на машинном языкеВыполнениепрограммыОператор на исходном языкеИнтерпре-таторКоманды на машинном языкеВыполнениекоманд

машинном языке



Выполнение
программы
Оператор на исходном языке
Интерпре-
татор
Команды на машинном языке



Выполнение
команд







Слайд 7 ©Павловская Т.А. (СПбГУ ИТМО)
Гибридная схема трансляции
Исходный текст программы
Компилятор

©Павловская Т.А. (СПбГУ ИТМО)Гибридная схема трансляцииИсходный текст программыКомпилятор Программа на промежуточном языкеИсполняющаясистема


Программа на промежуточном языке



Исполняющая
система



Слайд 8 ©Павловская Т.А. (СПбГУ ИТМО)
Схема выполнения программы в .NET

©Павловская Т.А. (СПбГУ ИТМО)Схема выполнения программы в .NET

Слайд 9 Основные понятия языка
Состав языка

Основные понятия языкаСостав языка

Слайд 10 ©Павловская Т.А. (СПбГУ ИТМО)
Состав языка
Символы:
буквы: A-Z, a-z,

©Павловская Т.А. (СПбГУ ИТМО)Состав языкаСимволы:буквы: 		 A-Z, a-z, _, буквы нац.

_, буквы нац. алфавитов
цифры: 0-9, A-F
спец. символы: +,

*, {, …
пробельные символы

Лексемы:
константы 2 0.11 “Вася”
имена Vasia a _11
ключевые слова double do if
знаки операций + - =
разделители ; [ ] ,

Выражения
выражение - правило вычисления значения: a + b
Операторы
исполняемые: c = a + b;
описания: double a, b;


Слайд 11 ©Павловская Т.А. (СПбГУ ИТМО)
Вид Примеры
Булевские true false
Целые дес. 8

©Павловская Т.А. (СПбГУ ИТМО) Вид				ПримерыБулевские		true	false				Целые дес.		8	 199226 	0Lu			 шестн.	0xA	0x1B8		0X00FFL	Веществ. с тчк	5.7

199226 0Lu
шестн. 0xA 0x1B8 0X00FFL
Веществ. с тчк 5.7 .001f 35m
с

порядком 0.2E6 .11e–3 5E10
Символьные 'A' '\x74' '\0' '\uA81B' Строковые "Здесь был Vasia"
"\tЗначение r=\xF5\n"
"Здесь был \u0056\u0061"
@"C:\temp\file1.txt"
Константа null null

Константы (литералы) C#


Слайд 12 ©Павловская Т.А. (СПбГУ ИТМО)
Имена (идентификаторы)
имя должно начинаться с

©Павловская Т.А. (СПбГУ ИТМО)Имена (идентификаторы)имя должно начинаться с буквы или _;имя

буквы или _;
имя должно содержать только буквы, знак подчеркивания

и цифры;
прописные и строчные буквы различаются;
длина имени практически не ограничена.
имена не должны совпадать с ключевыми словами, однако допускается: @if, @float…
в именах можно использовать управляющие последовательности Unicode

Примеры правильных имен:
Vasia, Вася, _13, \u00F2\u01DD, @while.

Примеры неправильных имен:
2late, Big gig, Б#г


Слайд 13 ©Павловская Т.А. (СПбГУ ИТМО)
Нотации
Понятные и согласованные между собой

©Павловская Т.А. (СПбГУ ИТМО)НотацииПонятные и согласованные между собой имена — основа

имена — основа хорошего стиля. Существует несколько нотаций —

соглашений о правилах создания имен.
В C# для именования различных видов программных объектов чаще всего используются две нотации:
Нотация Паскаля - каждое слово начинается с прописной буквы:
MaxLength, MyFuzzyShooshpanchik
Camel notation - с прописной буквы начинается каждое слово, составляющее идентификатор, кроме первого:
maxLength, myFuzzyShooshpanchik

Слайд 14 ©Павловская Т.А. (СПбГУ ИТМО)
Ключевые слова, знаки операций, разделители
Ключевые

©Павловская Т.А. (СПбГУ ИТМО)Ключевые слова, знаки операций, разделителиКлючевые слова — идентификаторы, имеющие

слова — идентификаторы, имеющие специальное значение для компилятора. Их можно

использовать только в том смысле, в котором они определены.
Например, для оператора перехода определено слово goto.
Знак операции — один или более символов, определяющих действие над операндами. Внутри знака операции пробелы не допускаются.
Например, сложение +, деление /, сложное присваивание %=.
Операции делятся на унарные (с одним операндом), бинарные (с двумя) и тернарную (с тремя).

Разделители используются для разделения или, наоборот, группирования элементов. Примеры разделителей: скобки, точка, запятая.


Слайд 15 ©Павловская Т.А. (СПбГУ ИТМО)
Ключевые слова 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

©Павловская Т.А. (СПбГУ ИТМО)Ключевые слова 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

Слайд 16 Типы данных

Типы данных

Слайд 17 ©Павловская Т.А. (СПбГУ ИТМО)
внутреннее представление данных =>

©Павловская Т.А. (СПбГУ ИТМО)внутреннее представление данных => множество их возможных значенийдопустимые

множество их возможных значений

допустимые действия над данными => операции

и функции

Тип данных определяет:

Концепция типа данных


Слайд 18 ©Павловская Т.А. (СПбГУ ИТМО)
Различные классификации типов данных

©Павловская Т.А. (СПбГУ ИТМО)Различные классификации типов данных

Слайд 19 ©Павловская Т.А. (СПбГУ ИТМО)
Основная классификация типов C#

©Павловская Т.А. (СПбГУ ИТМО)Основная классификация типов C#

Слайд 20 ©Павловская Т.А. (СПбГУ ИТМО)
Хранение в памяти величин значимого

©Павловская Т.А. (СПбГУ ИТМО)Хранение в памяти величин значимого и ссылочного типа

и ссылочного типа


Слайд 21 Встроенные типы данных C#

Встроенные типы данных C#

Слайд 22 ©Павловская Т.А. (СПбГУ ИТМО)
Логический и целые

©Павловская Т.А. (СПбГУ ИТМО)Логический и целые

Слайд 23 ©Павловская Т.А. (СПбГУ ИТМО)
Остальные

©Павловская Т.А. (СПбГУ ИТМО)Остальные

Слайд 24 ©Павловская Т.А. (СПбГУ ИТМО)
Поля и методы встроенных типов
Любой

©Павловская Т.А. (СПбГУ ИТМО)Поля и методы встроенных типовЛюбой встроенный тип C#

встроенный тип C# построен на основе стандартного класса библиотеки

.NET. Это значит, что у встроенных типов данных C# есть методы и поля. С помощью них можно, например, получить:
double.MaxValue (или System.Double.MaxValue) — максимальное число типа double;
uint.MinValue (или System.UInt32.MinValue) — минимальное число типа uint.
В вещественных классах есть элементы:
положительная бесконечность PositiveInfinity;
отрицательная бесконечность NegativeInfinity;
«не является числом»: NaN.

Слайд 25 ©Павловская Т.А. (СПбГУ ИТМО)
Математические функции: класс Math

©Павловская Т.А. (СПбГУ ИТМО)Математические функции: класс Math

Слайд 26 ©Павловская Т.А. (СПбГУ ИТМО)

©Павловская Т.А. (СПбГУ ИТМО)

Слайд 27 Линейные программы

Линейные программы

Слайд 28 ©Павловская Т.А. (СПбГУ ИТМО)
using System;
namespace A
{
class

©Павловская Т.А. (СПбГУ ИТМО)using System;namespace A{ class Class1 {		static void Main()

Class1
{
static void Main()
{

// описания и операторы
}

// описания
}
}

Структура простейшей программы на С#


Слайд 29 ©Павловская Т.А. (СПбГУ ИТМО)
Переменные
Переменная — это величина,

©Павловская Т.А. (СПбГУ ИТМО)Переменные Переменная — это величина, которая во время

которая во время работы программы может изменять свое значение.


Все переменные, используемые в программе, должны быть описаны.
Для каждой переменной задается ее имя и тип:
int number; float x, y; char option;
Тип переменной выбирается исходя из диапазона и требуемой точности представления данных.

Слайд 30 ©Павловская Т.А. (СПбГУ ИТМО)
Общая структура программы на С#

пространство

©Павловская Т.А. (СПбГУ ИТМО)Общая структура программы на С#пространство именКласс АКласс ВМетод

имен

Класс А

Класс В

Метод Main
Переменные класса
Методы класса:


Переменные класса
Локальные переменные
Методы

класса:




Слайд 31 ©Павловская Т.А. (СПбГУ ИТМО)
Область действия и время жизни

©Павловская Т.А. (СПбГУ ИТМО)Область действия и время жизни переменныхПеременные описываются внутри

переменных
Переменные описываются внутри какого-л. блока (класса, метода или блока

внутри метода)
Блок — это код, заключенный в фигурные скобки. Основное назначение блока — группировка операторов.
Переменные, описанные непосредственно внутри класса, называются полями класса.
Переменные, описанные внутри метода класса, называются локальными переменными.
Область действия переменной - область программы, где можно использовать переменную.
Область действия переменной начинается в точке ее описания и длится до конца блока, внутри которого она описана.
Время жизни: переменные создаются при входе в их область действия (блок) и уничтожаются при выходе.


Слайд 32 ©Павловская Т.А. (СПбГУ ИТМО)
Инициализация переменных
При объявлении можно

©Павловская Т.А. (СПбГУ ИТМО)Инициализация переменных При объявлении можно присвоить переменной начальное

присвоить переменной начальное значение (инициализировать).
int number = 100; float x

= 0.02; char option = ’ю’;
При инициализации можно использовать не только константы, но и выражения — главное, чтобы на момент описания они были вычислимыми, например:
int b = 1, a = 100;
int x = b * a + 25;
Поля класса инициализируются «значением по умолчанию» (0 соответствующего типа).
Инициализация локальных переменных возлагается на программиста. Рекомендуется всегда инициализировать переменные при описании.

Слайд 33 ©Павловская Т.А. (СПбГУ ИТМО)
Пример описания переменных
using System;
namespace CA1
{

©Павловская Т.А. (СПбГУ ИТМО)Пример описания переменныхusing System;namespace CA1{ class Class1 {

class Class1
{ static void Main()

{
int i = 3;
double y = 4.12;
decimal d = 600m;
string s = "Вася";

}
}
}

Слайд 34 ©Павловская Т.А. (СПбГУ ИТМО)
Именованные константы
Вместо значений констант можно

©Павловская Т.А. (СПбГУ ИТМО)Именованные константыВместо значений констант можно (и нужно!) использовать

(и нужно!) использовать в программе их имена.

Это облегчает

читабельность программы и внесение в нее изменений:

const float weight = 61.5;
const int n = 10;
const float g = 9.8;


Слайд 35 ©Павловская Т.А. (СПбГУ ИТМО)
Выражения
Выражение — правило вычисления значения.

©Павловская Т.А. (СПбГУ ИТМО)ВыраженияВыражение — правило вычисления значения. В выражении участвуют


В выражении участвуют операнды, объединенные знаками операций.
Операндами выражения

могут быть константы, переменные и вызовы функций.
Операции выполняются в соответствии с приоритетами.
Для изменения порядка выполнения операций используются круглые скобки.
Результатом выражения всегда является значение определенного типа, который определяется типами операндов.
Величины, участвующие в выражении, должны быть совместимых типов.

t + Math.Sin(x)/2 * x
результат имеет вещественный тип

a <= b + 2
результат имеет логический тип

x > 0 && y < 0
результат имеет логический тип


Слайд 36 ©Павловская Т.А. (СПбГУ ИТМО)
Первичные

©Павловская Т.А. (СПбГУ ИТМО)Первичные 		      (),

(), [],

++, --, new, …
Унарные ~, !, ++, --, -, …
Типа умножения (мультипликативные) *, /, %
Типа сложения (аддитивные) +, -
Сдвига <<, >>
Отношения и проверки типа <, >, is, …
Проверки на равенство ==, !=
Поразрядные логические &, ^, |
Условные логические &&, ||
Условная  ?:
Присваивания            =, *=, /=,…

Приоритеты операций C#


Слайд 37 ©Павловская Т.А. (СПбГУ ИТМО)
Тип результата выражения
Если операнды, входящие

©Павловская Т.А. (СПбГУ ИТМО)Тип результата выраженияЕсли операнды, входящие в выражение, одного

в выражение, одного типа, и операция для этого типа

определена, то результат выражения будет иметь тот же тип.
Если операнды разного типа и (или) операция для этого типа не определена, перед вычислениями автоматически выполняется преобразование типа по правилам, обеспечивающим приведение более коротких типов к более длинным для сохранения значимости и точности.
Автоматическое (неявное) преобразование возможно не всегда, а только если при этом не может случиться потеря значимости.
Если неявного преобразования из одного типа в другой не существует, программист может задать явное преобразование типа с помощью операции (тип)x.

Слайд 38 ©Павловская Т.А. (СПбГУ ИТМО)
Неявные арифметические преобразования типов в

©Павловская Т.А. (СПбГУ ИТМО)Неявные арифметические преобразования типов в C#

Слайд 39 ©Павловская Т.А. (СПбГУ ИТМО)
Введение в исключения
При вычислении

©Павловская Т.А. (СПбГУ ИТМО)Введение в исключения При вычислении выражений могут возникнуть

выражений могут возникнуть ошибки (переполнение, деление на ноль).
В

C# есть механизм обработки исключительных ситуаций (исключений), который позволяет избегать аварийного завершения программы.
Если в процессе вычислений возникла ошибка, система сигнализирует об этом с помощью выбрасывания (генерирования) исключения.
Каждому типу ошибки соответствует свое исключение. Исключения являются классами, которые имеют общего предка — класс Exception, определенный в пространстве имен System.
Например, при делении на ноль будет выброшено исключение DivideByZeroException, при переполнении — исключение OverflowException.

Слайд 40 ©Павловская Т.А. (СПбГУ ИТМО)
Инкремент и декремент
using System;
namespace

©Павловская Т.А. (СПбГУ ИТМО)Инкремент и декремент using System;namespace CA1{ class C1

CA1
{ class C1
{ static void

Main()
{ int x = 3, y = 3;
Console.Write( "Значение префиксного выражения: " );
Console.WriteLine( ++x );
Console.Write( "Значение х после приращения: " );
Console.WriteLine( x );

Console.Write( "Значение постфиксного выражения: " );
Console.WriteLine( y++ );
Console.Write( "Значение у после приращения: " );
Console.WriteLine( y );
}}}

Результат работы программы:
Значение префиксного выражения: 4
Значение х после приращения: 4
Значение постфиксного выражения: 3
Значение у после приращения: 4


Слайд 41 ©Павловская Т.А. (СПбГУ ИТМО)
Операция new
Операция new служит

©Павловская Т.А. (СПбГУ ИТМО)Операция new Операция new служит для создания нового

для создания нового объекта. Формат операции:

new тип ( [

аргументы ] )

С помощью этой операции можно создавать объекты как ссылочных, так и значимых типов, например:

object z = new object();
int i = new int(); // то же самое, что int i = 0;

Слайд 42 ©Павловская Т.А. (СПбГУ ИТМО)
Операции отрицания
using System;
namespace ConsoleApplication1
{

©Павловская Т.А. (СПбГУ ИТМО)Операции отрицания using System;namespace ConsoleApplication1{ class Class1 {

class Class1
{ static void Main()

{
sbyte a = 3, b = -63, c = 126;
bool d = true;
Console.WriteLine( -a ); // Результат -3
Console.WriteLine( -c ); // Результат -126
Console.WriteLine( !d ); // Результат false
Console.WriteLine( ~a ); // Результат -4
Console.WriteLine( ~b ); // Результат 62
Console.WriteLine( ~c ); // Результат -127
}}}

Слайд 43 ©Павловская Т.А. (СПбГУ ИТМО)
Явное преобразование типа
long b

©Павловская Т.А. (СПбГУ ИТМО)Явное преобразование типа long b = 300;int a

= 300;
int a = (int) b;

// данные не теряются
byte d = (byte) a; // данные теряются

Слайд 44 ©Павловская Т.А. (СПбГУ ИТМО)
Умножение
Операция умножения (*) возвращает

©Павловская Т.А. (СПбГУ ИТМО)Умножение Операция умножения (*) возвращает результат перемножения двух

результат перемножения двух операндов.
Стандартная операция умножения определена для

типов int, uint, long, ulong, float, double и decimal.
К величинам других типов ее можно применять, если для них возможно неявное преобразование к этим типам. Тип результата операции равен «наибольшему» из типов операндов, но не менее int.
Если оба операнда целочисленные или типа decimal и результат операции слишком велик для представления с помощью заданного типа, генерируется исключение System.OverflowException

Слайд 45 ©Павловская Т.А. (СПбГУ ИТМО)
Результаты вещественного умножения

©Павловская Т.А. (СПбГУ ИТМО)Результаты вещественного умножения

Слайд 46 ©Павловская Т.А. (СПбГУ ИТМО)
Пример
using System;
namespace ConsoleApplication1
{ class

©Павловская Т.А. (СПбГУ ИТМО)Примерusing System;namespace ConsoleApplication1{ class Class1 { static void

Class1
{ static void Main()

{
int x = 11, y = 4;
float z = 4;
Console.WriteLine( z * y ); // Результат 16
Console.WriteLine( z * 1e308 ); // Рез. "бесконечность"
Console.WriteLine( x / y ); // Результат 2
Console.WriteLine( x / z ); // Результат 2,75
Console.WriteLine( x % y ); // Результат 3
Console.WriteLine( 1e-324 / 1e-324 ); // Результат NaN
}}}

Слайд 47 ©Павловская Т.А. (СПбГУ ИТМО)
Операции сдвига
Операции сдвига (

©Павловская Т.А. (СПбГУ ИТМО)Операции сдвига Операции сдвига (>) применяются к целочисленным

и >>) применяются к целочисленным операндам. Они сдвигают двоичное

представление первого операнда влево или вправо на количество двоичных разрядов, заданное вторым операндом.
При сдвиге влево (<<) освободившиеся разряды обнуляются. При сдвиге вправо (>>) освободившиеся биты заполняются нулями, если первый операнд беззнакового типа, и знаковым разрядом в противном случае.
Стандартные операции сдвига определены для типов int, uint, long и ulong.

Слайд 48 ©Павловская Т.А. (СПбГУ ИТМО)
Пример
using System;
namespace ConsoleApplication1
{ class

©Павловская Т.А. (СПбГУ ИТМО)Примерusing System;namespace ConsoleApplication1{ class Class1 { static void

Class1
{ static void Main()

{
byte a = 3, b = 9;
sbyte c = 9, d = -9;
Console.WriteLine( a << 1 ); // Результат 6
Console.WriteLine( a << 2 ); // Результат 12
Console.WriteLine( b >> 1 ); // Результат 4
Console.WriteLine( c >> 1 ); // Результат 4
Console.WriteLine( d >> 1 ); // Результат -5
}
}
}

Слайд 49 ©Павловская Т.А. (СПбГУ ИТМО)
Операции отношения и проверки на

©Павловская Т.А. (СПбГУ ИТМО)Операции отношения и проверки на равенствоОперации отношения (=,

равенство
Операции отношения (=, ==, !=) сравнивают

первый операнд со вторым.
Операнды должны быть арифметического типа.
Результат операции — логического типа, равен true или false.
x == y -- true, если x равно y, иначе false
x != y -- true, если x не равно y, иначе false
x < y -- true, если x меньше y, иначе false
x > y -- true, если x больше y, иначе false
x <= y -- true, если x меньше или равно y, иначе false
x >= y -- true, если x больше или равно y, иначе false

Слайд 50 ©Павловская Т.А. (СПбГУ ИТМО)
Условные логические операции
using System;
namespace

©Павловская Т.А. (СПбГУ ИТМО)Условные логические операции using System;namespace ConsoleApplication1{ class Class1

ConsoleApplication1
{ class Class1
{ static void

Main()
{
Console.WriteLine( true && true ); // Результат true
Console.WriteLine( true && false ); // Результат false
Console.WriteLine( true || true ); // Результат true
Console.WriteLine( true || false ); // Результат true
}
}
}

Слайд 51 ©Павловская Т.А. (СПбГУ ИТМО)
Условная операция
операнд_1 ? операнд_2

©Павловская Т.А. (СПбГУ ИТМО)Условная операция операнд_1 ? операнд_2 : операнд_3Первый операнд —

: операнд_3

Первый операнд — выражение, для которого существует неявное преобразование

к логическому типу.
Если результат вычисления первого операнда равен true, то результатом будет значение второго операнда, иначе — третьего операнда.

using System;
namespace ConsoleApplication1
{ class Class1
{ static void Main()
{
int a = 11, b = 4;
int max = b > a ? b : a;
Console.WriteLine( max ); // Результат 11
}}}

Слайд 52 ©Павловская Т.А. (СПбГУ ИТМО)
Присваивание – это замена старого

©Павловская Т.А. (СПбГУ ИТМО)Присваивание – это замена старого значения переменной на

значения переменной на новое. Старое значение стирается бесследно.
Операция может

использоваться в программе как законченный оператор.
переменная = выражение

a = b + c;
x = 1;
x = x + 0.5;


Правый операнд операции присваивания должен иметь неявное преобразование к типу левого операнда, например:
вещественная переменная = целое выражение;

Операция присваивания

1

x


1+0.5


1.5


Слайд 53 ©Павловская Т.А. (СПбГУ ИТМО)
Сложное присваивание в C#
x +=

©Павловская Т.А. (СПбГУ ИТМО)Сложное присваивание в C#x += 0.5; 		соответствует 	x

0.5; соответствует x = x + 0.5;
x *= 0.5;

соответствует x = x * 0.5;

a %= 3; соответствует a = a % 3;
a <<= 2; соответствует a = a << 2;

и т.п.



Слайд 54 Ввод-вывод в C#

Ввод-вывод в C#

Слайд 55 ©Павловская Т.А. (СПбГУ ИТМО)
using System;
namespace A
{ class

©Павловская Т.А. (СПбГУ ИТМО)using System;namespace A{ class Class1 { static void

Class1
{ static void Main()

{
int i = 3;
double y = 4.12;
decimal d = 600m;
string s = "Вася";

Console.Write( i );
Console.Write( " y = {0} \nd = {1}", y, d );
Console.WriteLine( " s = " + s );
}
}
}

Вывод на консоль

Результат работы программы:
3 y = 4,12
d = 600 s = Вася

Console.WriteLine(i + " y = " + y);
Console.WriteLine("d = " + d + " s = " + s );


Слайд 56 ©Павловская Т.А. (СПбГУ ИТМО)
using System;
namespace A
{ class

©Павловская Т.А. (СПбГУ ИТМО)using System;namespace A{ class Class1 { static void

Class1
{ static void Main()

{
string s = Console.ReadLine(); // ввод строки

char c = (char)Console.Read(); // ввод символа
Console.ReadLine();

string buf; // буфер для ввода чисел
buf = Console.ReadLine();
int i = Convert.ToInt32( buf ); // преобразование в целое

buf = Console.ReadLine();
double x = Convert.ToDouble( buf ); // преобразование в вещ.

buf = Console.ReadLine();
double y = double.Parse( buf ); // преобразование в вещ.
}
}
}

Ввод с консоли


  • Имя файла: yazyk-programmirovaniya-c.pptx
  • Количество просмотров: 150
  • Количество скачиваний: 0