1
Содержание
1. Встроенные типы данных ……………………………………………….. стр. 2
2. Описание переменных (2 слайда) ………………………………………… стр. 3
3. Методы и свойства класса Console (2 слайда) …………………………... стр. 5
5. Вывод в консоль …………………………………………………………….. стр. 8
4. Ввод с клавиатуры ………………………………………………………….. стр. 7
6. Что бы консоль не пропадала при завершении программы…………... стр. 9
7. Математические операции (3 слайда) ……………………………………. стр. 10
11. Описание массивов ………………………………………………………... стр. 22
9. Ветвление в программах (4 слайда) ……………………………………… стр. 15
8. Случайные числа (2 слайда) ………………………………………………. стр. 13
10. Циклы (3 слайда) ………………………………………………………….. стр. 19
12. Пример работы с одномерным массивом (2 слайда) ………………….. стр. 23
13. Форматированный вывод (3 слайда) …………………………………... стр. 25
14. Задача на двумерный массив(3 слайда) ………………………………... стр. 28
18. Работа с Visual Studio IDE (2008) ...……………………………………… стр. 44
15. Работа со строками (6 слайдов) …………………………………………. стр. 31
16. Процедуры и функции (3 слайда) ……………………………………….. стр. 37
17. Сохранение и чтение данных из файла (3 слайда) ……………………. стр. 40
19. Список используемой литературы ………………...…………………… стр. 47
Тип | Область значений | Размер |
byte | 0 до 255 | Беззнаковое 8-бит целое |
char | U+0000 до U+ffff | 16-битовый символ Unicode |
bool | true или false | 1 байт |
short | -32768 до 32767 | Знаковое 16-бит целое |
ushort | 0 до 65535 | Беззнаковое 16-бит целое |
int | -2147483648 до 2147483647 | Знаковое 32-бит целое |
uint | 0 до 4294967295 | Беззнаковое 32-бит целое |
long | -9223372036854775808 до 9223372036854775807 | Знаковое 64-бит целое |
ulong | 0 до 18446744073709551615 | Беззнаковое 64-бит целое |
float | ±1,5*10-45 до ±3,4*1033 | 4 байта, точность — 7 разрядов |
double | ±5*10-324 до ±1,7*10306 | 8 байтов, точность — 16 разрядов |
decimal | (-7,9 * 1028 до 7,9 * 1028) / (100–28) | 16 байт, точность — 28 разрядов |
Встроенные типы данных
2
Содержание
var number = 5;
// number будет типа int
var text = "Пример ";
// text будет типа string
var number2 = 0.5;
// number2 будет типа double
Начиная с версии C# 3.0 в язык было добавлено ключевое слово var, которое позволяет создавать переменные без явного указания типа данных.
4
Описание переменных
Содержание
Работа с консолью и класс Console
5
Класс Console представляет ряд методов для взаимодействия с консолью:
Beep подача звукового сигнала
Clear очистка консоли
WriteLine вывод строки текста, включая символ возврата каретки (то есть с переводом на новую строку)
Write вывод строки текста, но без символа возврата каретки
ReadLine считывание строки текста со входного потока
Read считывание введенного символа в виде числового кода данного символа. С помощью преобразования к типу char мы можем получить введенный символ
ReadKey считывание нажатой клавиши клавиатуры ConsoleKeyInfo key = Console.ReadKey()
6
Класс Console обладает свойствами, которые позволяют управлять консолью. Некоторые из них:
BackgroundColor цвет фона консоли
ForegroundColor цвет шрифта консоли
BufferHeight высота буфера консоли
BufferWidth ширина буфера консоли
Title заголовок консоли
WindowHeight и WindowWidth высота и ширина консоли соответственно
Работа с консолью и класс Console
Содержание
7
Console.ForegroundColor = ConsoleColor.White;
Ввод с клавиатуры
Console.Write("Введи a= (дробное)");
double a = Convert.ToDouble(Console.ReadLine());
Console.Write("Введи b= (целое)");
int b = Convert.ToInt32(Console.ReadLine());
Ввод значения дробной переменной с клавиатуры
Ввод значения целой переменной с клавиатуры
Установка белого цвета шрифта
Содержание
8
Вывод в консоль
Console.WriteLine("Сумма "+a+ " + " +b+ "=" +c);
Console.WriteLine("Сумма {0} + {1} = {2}",a,b,c);
Десятичная дробь вводится через запятую
Значения переменных вставляются внутрь строки
Значения переменных при выводе на экран вставляются между строками
Содержание
9
Console.WriteLine("Для завершения нажми ENTER ");
Console.Read();
Работа с консолью и класс Console
В конце программы, ждем пока не нажата клавиша ENTER
Console.WriteLine("Для завершения нажми ESC ");
while(Console.ReadKey().Key!= ConsoleKey.Escape);
Или при помощи цикла пока не нажата клавиша ESC
Содержание
Математические вычисления
Запись на C# | Возвращаемый результат |
Math.Abs(Х); | Модуль числа Х |
Math.Ceiling (Х); | Округление числа Х до большего целого |
Math.Floor(Х); | Округление числа Х до меньшего целого |
Math.Cos (Х); | Косинус аргумента Х |
Math.E | Число е. е = 2,718282 |
Math.Exp (Х); | Экспонента, число е в степени Х |
Math.Log(Х); | Логарифм натуральный числа Х |
Math.Log10(Х); | Логарифм десятичный числа Х |
Math.Max(Х,Y); | Максимум из двух чисел Х и Y. |
11
Запись на C# | Возвращаемый результат |
Math.Min (X,Y); | Минимум из двух чисел Х и Y. |
Math.Pi | Число пи. |
Math.Pow(X,Y); | Число X в степени Y |
Math.Round(Х); | Простое округление числа Х |
Math.Sing(Х); | Знак числа Х |
Math.Sin(Х); | Синус аргумента Х |
Math.Sqrt(Х); | Квадратный корень числа Х |
Math.Tan(Х); | Тангенс аргумента Х |
Примечание: аргументы тригонометрических функций задаются в радианах.
Математические вычисления
12
Содержание
Случайные числа
Для генерации случайных чисел в программах, написанных на C#, предназначен класс Random
Random rand = new Random();
Сначала создаем объект типа Random, потом вызываем его метод Next, и получаем случайное число
13
int a;
a = rand.Next(100);
Создаем переменную а и помещаем в нее случайное число из интервала от 0 до 99
Случайные числа
double a;
a= Convert.ToDouble(rand.Next(10001))/100;
int a;
a = rand.Next(10, 51);
14
Создаем переменную а и помещаем в нее случайное число из интервала от 10 до 50
Создаем переменную а и помещаем в нее случайное дробное число из интервала от 1 до 100 с точностью до сотых
Содержание
Составные условия образуются из простых условий добавлением логических операций
И- &&, ИЛИ - || , НЕ- !
Если А, В – простые условия, то:
1. Составное условие ( А && В ) будет выполняться только тогда, когда выполняются каждое из простых условий.
2. Составное условие ( А || В ) будет выполняться тогда, когда выполняется хотя бы одно из простых условий.
3.Составное условие ( ! А ) будет выполняться, когда не выполняется простое условие А.
17
Ветвление в программах
18
Console.WriteLine("Нажмите Y или N");
string selection = Console.ReadLine();
switch (selection)
{
case "Y":
Console.WriteLine("Вы нажали букву Y");
break;
case "N":
Console.WriteLine("Вы нажали букву N");
break;
default:
Console.WriteLine("Это неизвестная буква");
break;
}
Конструкция switch/case позволяет обработать сразу несколько условий:
Содержание
float[] a = new float[1000];
float[,] a = new float[100,100];
int[] b = new int[] { 1, 2, 3, 5 };
int[,] b = new int[]{{0,1,2},{3,4,5}}
Описание массивов
Одномерный массив а из 1000 элементов:
Двумерный массив а размером 100 х 100:
Одномерный массив b из 4-х элементов, заданных в программе:
Двумерный массив b размером 2 х 3, заданный в программе:
22
Содержание
23
Random rand = new Random();
double [] a = new double [100];
Console.Write("Введи n= ");
int n = Convert.ToInt32(Console.ReadLine());
for (int i = 0; i < n; i++)
{
a[i]=rand.Next(-10,10);
Console.Write(a[i]+"; ");
}
Задача. Заполнить массив из n чисел случайными числами из интервала от -10 до 10, и вывести его на экран
24
double s = 0;
double k = 0;
for (int i = 0; i < a.Length; i++)
{
if (a[i] > 0) {
s = s+a[i]; k++;
};
}
Console.WriteLine("Сумма положительных " + s);
Console.WriteLine("Количество положительных "+k);
double sr = s / k;
Console.WriteLine("Ср.арифм. положительных "+sr);
Задача. Найти среднее арифметическое положительных элементов массива
Содержание
25
Выравнивание с помощью пробелов
Для выравнивания числа по правому краю используется запятая перед двоеточием. То есть, ставится запятая, а следом идет число, которое указывает, сколько пробелов должно быть. Пример: "0,10:0.0".
Для выравнивания по левому краю, шаблон будет таким же, за исключением того, что число пробелов должно быть указано со знаком минуса.
P.S. Этот способ можно использовать только с помощью метода String.Format
String.Format("{0,10:0.0}", 123.4567); // " 123.5"
String.Format("{0,-10:0.0}", 123.4567); // "123.5 "
String.Format("{0,10:0.0}", -123.4567); // " -123.5"
String.Format("{0,-10:0.0}", -123.4567); // "-123.5 "
26
Цифры перед точкой
Если на выходе нужно получить строку, в которой число знаков перед точкой будет не менее заданного числа, используйте шаблон, в котором указывается столько нулей перед точкой, сколько символов должно быть минимально.
String.Format("{0:00.0}", 123.4567); // "123.5" String.Format("{0:00.0}", 23.4567); // "23.5" String.Format("{0:00.0}", 3.4567); // "03.5"
String.Format("{0:00.0}", -3.4567); // "-03.5"
27
Цифры после точки
В этом примере демонстрируется перевод вещественного числа в строку с фиксированным числом десятичных знаков. Например, для двух знаков используется шаблон "0.00". Если вещественное число содержит менее десятичных знаков, то оставшиеся позиции справа заполняются нулями, если же число знаков больше — производится округление.
String.Format("{0:0.00}", 123.4567); // "123.46" String.Format("{0:0.00}", 123.4); // "123.40" String.Format("{0:0.00}", 123.0); // "123.00"
Содержание
28
Random rand = new Random();
int [,] a = new int[100,100];
Console.Write("Введи n= ");
int n = Convert.ToInt32(Console.ReadLine());
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
a[i, j] = rand.Next(-10, 10);
Console.Write("{0,5:0}",a[i, j]);
}
Console.WriteLine();
}
Задача. Заполнить массив N x N случайными числами [-10; 10], и вывести его на экран.
ВНИМАНИЕ ! При работе со строками в С# необходимо помнить очень важную вещь: значение строки не может быть изменено. Все методы, казалось бы, изменяющие строку, на самом деле лишь возвращают её измененную копию.
string s1 = "hello";
string s2 = null;
string s3 = new String('a', 6);
// результатом будет строка "aaaaaa"
string s4 = new String(new char[]{'w', 'o', 'r', 'l', 'd'});
Создание строк
При помощи конструктора класса String
При помощи переменной типа string
32
35
Length | Позволяет получить количество символов в строке. |
Concat() | Позволяет соединить несколько строк или переменных типа object. |
Format() | Применяется для форматирования строки с использованием различных примитивов (строк и числовых данных) и подстановочных выражений вида {0}. |
Insert() | Позволяет вставить одну строку внутрь существующей. |
Remove() Replace() | Удаляют или заменяют символы в строке. |
ToUpper() ToLower() | Преобразуют все символы строки в строчные или прописные. |
Chars | Позволяет получить символ, находящийся в определенной позиции строки. |
Join() | Создает строку, соединяя заданные строки и разделяя их строкой-разделителем. |
Replace() | Заменяет один символ строки другим. |
Substring() | Позволяет получить подстроку основной строки, начинающуюся с определенного символа и имеющую заданную длину. |
Некоторые методы класса String
36
Задача. Заменить символы а(русские, строчные) на о в строке.
string s1 = "";
for (int i = 0; i < s.Length; i++)
{
if (s[i] == 'а') s1 = s1 + "о";
else s1 = s1 + s[i];
}
Console.WriteLine("Заменили А на О -" + s1);
Решение с использованием дополнительной строки
Содержание
38
class Program
{
static void Main(string[] args)
{
Sum(2, 4);
Sum(3, -5);
Console.WriteLine("Нажми ENTER ");
Console.Read();
}
static void Sum(int x, int y)
{
Console.WriteLine("{0} + {1} = {2}",x,y,x+y);
}
}
Задача. Создать процедуру складывающую два числа.
Процедура
Вызов процедуры из основной программы
39
class Program
{
static void Main(string[] args)
{
int f = Function(5);
Console.WriteLine(f);
Console.WriteLine(Function(2));
Console.WriteLine("Нажми ENTER ");
Console.Read();
}
static int Function(int c)
{
return c*c;
}
}
Задача. Создать функцию, возводящую в квадрат произвольное число
Функция
Вызов функции из основной программы
Содержание
40
StreamWriter sw = File.CreateText("data.txt");
Console.Write("Введи n= ");
int n = Convert.ToInt32(Console.ReadLine());
int a;
for (int i = 0; i < n; i++)
{
a=rand.Next(-10,10);
sw.WriteLine(Convert.ToString(a));
}
sw.Close();
Задача. Создать файл с именем data.txt и заполнить его N случайными числами.
Создаем элемент класса StreamWriter и связываем его с файлом на диске
Записываем в файл очередную строку
Закрываем файл
41
StreamReader f = new StreamReader("data.txt");
String line;
while ((line = f.ReadLine()) != null)
{
Console.WriteLine(line);
}
f.Close();
Задача. Данные из файла с именем data.txt вывести на экран (консоль)
Создаем элемент класса StreamReader и связываем его с файлом на диске
Пока строки не кончатся выводим их на экран
Закрываем файл
Список используемой литературы:
1. Герберт Шилдт. C# 3.0. Полное руководство. Издательство: Вильямс, 2010
4. Сайт http://metanit.com/ Сайт посвященный C# и семейству технологий .NET (ASP.NET MVC, WPF, Xamarin, EntityFramework и т.д.), технологии на базе Java ( Java SE, программирование под ОС Андроид и т.д.), работа с базами данных (MS SQL Server, MySQL, MongoDB) а также WEB-технологии, такие как HTML5, AJAX, jQuery, ExtJS, AngularJS и др.
3. Чарльз Петцольд. Программирование с использованием Microsoft Windows Forms. Издательство: Русская Редакция, Питер, 2006
47
5.Сайт http://mvblog.ru/archives/519 Форматированный вывод в C#
2. М Дрейер. C# для школьников. Издательство: Интернет Университет Информационных Технологий, Москва, 2010
Содержание
© ООО «Знанио»
С вами с 2009 года.