Содержание

Курс по C# (си шарп): с нуля, бесплатное онлайн обучение

Основы C#

  • 1. Привет, Мир!
  • 2. Комментарии
  • 3. Инструкции (Statements)
  • 4. Как мы проверяем ваши решения
  • 5. Ошибки оформления (синтаксиса)

C# – язык программирования созданный компанией Microsoft. Он стабильно входит в Top 10 самых популярных языков. На нем можно разрабатывать веб-серверы, настольные и мобильные приложения и даже игры. Изучать C# мы будем с нуля, с самых азов. Первый модуль – плацдарм для написания осмысленных программ. В нем мы разберем, как написать свой первый код на C#. Расскажем, что такое комментарии и зачем они нужны. На примере проверки ваших решений рассмотрим, что такое тестирование и как читать вывод тестов.

Арифметика

  • 6. Арифметические операции
  • 7. Операторы
  • 8. Коммутативная операция
  • 9. Композиция операций
  • 10. Приоритет операций
  • 11. Числа с плавающей точкой
  • 12. Оформление кода

Современные программы создаются для обслуживания бизнесов, помощи в ежедневной жизни и развлечений. Но в основе их работы по-прежнему лежат вычисления. Наиболее простая и базовая тема в программировании — арифметика. В этом модуле мы переведем арифметические действия на язык программирования. Вспомним школьные правила из уроков математики и поговорим о приоритете операций.

Строки

  • 13. Кавычки
  • 14. Экранирующие последовательности
  • 15. Конкатенация

Текст в программировании называется «строками», и эта тема не так проста, как может показаться. Как вывести фразу, в которой есть и одинарные, и двойные кавычки? Как вообще быть с текстом, ведь компьютер не знает ничего о буквах! Модуль посвящен разным аспектам написания текста – от кавычек и экранирования до кодировки.

Переменные

  • 16. Что такое переменная
  • 17. Изменение переменной
  • 18. Выбор имени переменной
  • 19. Ошибки при работе с переменными
  • 20. Выражения в определениях
  • 21. Переменные и конкатенация
  • 22. Именование переменных
  • 23. Магические числа
  • 24. Интерполяция

Информацию можно помещать в специальные «хранилища» — переменные. Это позволяет переиспользовать уже существующие данные и не дублировать их в разных частях кода. В этом модуле мы разберем как изменять переменные и именовать их, чтобы чтение вашего кода было понятным для любого разработчика. Вы поймете, что придумать название переменной не так-то просто! А еще расскажем, как использовать переменные для упрощения сложных вычислений.

Типы данных C#

  • 25. Зачем нужны типы данных
  • 26. Явная типизация
  • 27. Какие бывают типы
  • 28. Значение null
  • 29. Явное преобразование типов

C# — язык со строгой статической типизацией. Как это влияет на код, что такое типы, какие они бывают и кто их выводит. Все это изучается в данном модуле.

Начните прямо сейчас

Регистрация

Вызов методов

  • 30. Методы и их вызов
  • 31. Параметры методов
  • 32. Свойства
  • 33. Вызов метода — выражение
  • 34. Неизменяемость строк
  • 35. Цепочки вызовов методов
  • 36. Детерминированность
  • 37. Побочные эффекты
  • 38. Стандартная библиотека
  • 39. Какие бывают методы

Для выражения любой произвольной операции в программировании существует понятие «функция». Функции — кирпичики, из которых программисты строят системы. В C# функции называют методами. В этом модуле мы научимся пользоваться уже созданными методами. Посмотрим на сигнатуру методов в документации и разберемся, как её использовать.

Определение методов

  • 40. Создание (определение) метода
  • 41. Возврат значений
  • 42. Определение методов
  • 43. Методы с переменным количеством параметров

Определение собственных методов значительно упрощает написание и поддержку программ. Например, умение определять методы позволяет объединять сложные (составные) операции в одну – вся сложность может быть скрыта в одном простом методе. Научившись создавать методы, вы сделаете первый шаг на пути к построению по-настоящему полезных программ. И мы вам в этом поможем. В этом модуле вы создадите свой первый метод и научитесь давать ему (а заодно переменным) понятные названия.

Логика

  • 44. Логический тип
  • 45. Предикаты
  • 46. Комбинирование операций и методов
  • 47. Логические операторы
  • 48. Отрицание
  • 49. Логические операторы 2

Логические выражения позволяют отвечать на вопросы, которые возникают во время работы программы. Пользователь аутентифицирован? Подписка оплачена? Год високосный? В этом модуле изучаем функции-предикаты – те, которые задают вопрос и отвечают на него – правда это или ложь. Попрактикуемся в написании таких функций и перейдем к более сложным логическим выражениям.

Условные конструкции

  • 50. Условная конструкция (if)
  • 51. Конструкция if-else
  • 52. Конструкция else if
  • 53. Тернарный оператор
  • 54. Конструкция Switch

Задача функции-предиката — получить ответ на вопрос, но обычно этого недостаточно и нужно выполнить определенное действие в зависимости от ответа. if и switch – конструкции C#, с помощью которых программист может выбирать необходимое поведение программы в зависимости от разных условий: пропускать одни инструкции и выполнять другие. Их и разберем на практике в этом модуле.

  • 55. Цикл While
  • 56. Агрегация данных (Числа)
  • 57. Агрегация данных (Строки)
  • 58. Обход строк
  • 59. Условия внутри тела цикла
  • 60. Формирование строк в циклах
  • 61. Синтаксический сахар
  • 62. Инкремент и декремент
  • 63. Возврат из циклов
  • 64. Цикл For

Любой код может повторяться десятки, тысячи, миллионы раз. В комбинации с другими известными нам инструментами — переменными и условиями — это открывает множество возможностей по построению программ и сложных систем. Приведем простой пример. Вам нужно найти конкретную фразу в учебнике из 500 страниц. Фразу вы помните, а вот номер страницы нет. Самый простой (и долгий) способ — последовательно просматривать страницы до тех пор, пока не найдете нужную. Для выполнения таких повторяющихся действий и нужны циклы.

Готовы попробовать?

Регистрация не требуется

Демо урок

Похожие курсы

Посмотреть все курсы категории Программирование


TypeScript

18 часов3550

Perl

0 часов98

C

2 часа4655

Ruby

13 часов3521

исчерпывающая подборка ресурсов для освоения

Язык Си был разработан Деннисом Ритчи и Брайаном Керниганом в 1969–1973 годах. Си задумывался для реализации операционной сети UNIX, но впоследствии он нашел себе более широкое применение.

На сегодняшний момент Си занимает стабильное второе место в индексе TIOBE.

Зачем нужен Си?

Мы уже писали о важности языка Си, поэтому пробежимся по основным пунктам.

Начнем с того, что большая часть системного программного обеспечения пишется на языке Си. Ядро популярнейшей open source ОС Linux было написано на Си.

Огромным плюсом Си является то, что каждая инструкция языка транслируется в машинный код прямым и понятным образом. Исполняется ровно тот код, который программист видит на экране. Впрочем, в современных компиляторах, конечно, могут применяться хитрые оптимизации, но в меньшинстве случаев.

Стоит также отметить, что наиболее популярные языки программирования тем или иным образом связаны с Си. Так, например, Java и C# имеют так называемый Си-подобный синтаксис, а C++ и Objective-C в том или ином роде являются расширениями Си.

Если вы пишете код на каком-нибудь динамическом языке программирования, будь то PHP, JavaScript или Python, то его интерпретатор, среда исполнения и большинство библиотек в основном написаны на Си. Следовательно, чтобы понять особенности поведения того или иного языка, нужно знать особенности языка Си. А если вы вышли за рамки возможностей своего языка программирования, то не успеете оглянуться, как начнёте писать новое расширение на Си.

К тому же, знание Си позволяет программисту по-настоящему оценить все прелести высокоуровневых языков программирования, а также и ограничения, которые возникают при их использовании.

И это далеко не все доводы в пользу изучения Си.

Что дальше?

Теперь, когда мы разобрались, зачем нам нужен Си, возникает логичный вопрос: «А как его выучить?».

Далее мы подготовили для вас несколько курсов и материалов, которые помогут вам освоиться в новом для вас языке программирования.

Книга «Язык программирования Си»

Никто не расскажет вам о Си лучше, чем создатели этого языка программирования. Поэтому книга «Язык программирования Си», написанная Деннисом Ритчи и Брайаном Керниганом, является must-have для каждого, кто хоть как-то решил связать свою жизнь с Си.


Курс «The Complete C Developer Course — Build 7 Exciting Projects»

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

Курс платный, но он однозначно стоит своих денег. Дальше предлагаем бесплатные материалы.


Знаменитый гарвардский курс «CS50»

Теперь он доступен на русском языке. Прежде всего CS50 научит вас думать. Некоторые из тем, которые вы пройдете в течение курса: абстракция, алгоритмы, структуры данных, инкапсуляция, управление ресурсами, безопасность, разработка программного обеспечения и веб-разработка. Языки, которые вы будете использовать: C, Python, SQL и JavaScript вместе с HTML и CSS. И что немаловажно, курс бесплатный.


Бесплатный курс «C Tutorial for Beginners»

С этой программой вы изучите основы языка Си, разберётесь с указателями, структурами и объединениями, а также научитесь писать простые программы.


Бесплатные онлайн-курсы по Си от двух ведущих финских университетов

Курс включает в себя комплексные материалы и множество упражнений по программированию, а также автоматическую систему тестирования.

Над курсом совместно работали университет Аалто и университет Хельсинки (тот самый, где когда-то обучался Линус Торвальдс), а объясняемый в нем материал полностью дублирует курсы по Си, преподаваемые в этих университетах.


Книга «Learn C The Hard Way»

Книга обучит вас тому Си, который применяется в реальной жизни для создания реальных проектов, а не абстрактным механизмам и педантичной теории. Вы также изучите несколько важных тем, таких как алгоритмы и структуры данных и автоматизированное тестирование. Желающие могут найти ее перевод на русский язык. Tproger тоже часто рекомендует хорошие книги по программированию, так что загляните в соответствующую рубрику на нашем сайте.


Интерактивное обучение Си

Руководство покрывает как базовые конструкции языка, так и более продвинутые, такие как указатели, объединения, бинарные деревья и многое другое.


Введение в Си от Hexlet

Курс предназначен для абсолютных новичков в программировании. Он познакомит вас с главными концепциями языка Си.


Еще больше материалов по Си можно найти в нашей огромной подборке «Бесплатные материалы для программистов».

Learn C from Scratch — Бесплатный интерактивный курс

ИНТЕРАКТИВНЫЙ КУРС

Новичок

103 Уроки

Сертификат об окончании

Хотите обучить свою команду?

Предоставьте своим инженерам возможность быстрее реализовать свой потенциал.

Обзор курса

Хотите с нуля освоить основные концепции программирования? Чувствуете ли вы необходимость иметь лучшее и расширенное понимание того, как все это работает? Что ж, вы попали в нужное место. Этот курс описывает типы данных, поток управления, функции, ввод/вывод, память, компиляцию…

Как вы научитесь

Практическая среда программирования

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

Быстрее, чем видео

Видео сдерживают вас. В среднем видеоурок произносится со скоростью 150 слов в минуту, а вы можете читать со скоростью 250. Вот почему наши курсы основаны на тексте.

Настройка не требуется

Немедленно приступайте к обучению, вместо того чтобы возиться с SDK и IDE. Это все в облаке.

Прогресс, который вы можете показать

Встроенные тесты позволяют проверить свои навыки. Сертификаты об окончании позволяют их показать.

Практическая среда программирования

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

Быстрее, чем видео

Видео сдерживают вас. В среднем видеоурок произносится со скоростью 150 слов в минуту, а вы можете читать со скоростью 250. Вот почему наши курсы основаны на тексте.

Настройка не требуется

Немедленно приступайте к обучению, вместо того, чтобы возиться с SDK и IDE. Это все в облаке.

Прогресс, который вы можете показать

Встроенные тесты позволяют проверить свои навыки. Сертификаты об окончании позволяют их показать.

Содержание курса

1. Зачем программировать на C?

Что такое C?Преимущества и проблемыКогда следует использовать C?РезультатыСсылки

2. Основные типы, операторы и выражения

Операторы печатиПеременныеТипы и размеры данныхКонстантыОбъявленияВыраженияПреобразования типовОпределение собственных имен типов с использованием typedefОператоры приращения и декрементаУпражнения по основным типам, операторам и выражениямПроверьте себя на Основные типы, операторы и выражения

3. Управление потоком

LoopSconditionalSswitchbreak и продолжение управления управлением Flowquiz самостоятельно на управлении потоком

4. Функции

RationalEdefining функция ArgumentsReturn CaleArgument CheckingVarible Scopeautomatic VS Static Variablesvariadic FecutySexcises на функциях на функциях

5. МассивыМассивы переменной длиныАргументы командной строкиСтруктурыУпражнения по сложным типам данныхВикторина по сложным типам данных

6. Память: стек и куча

СтекКучаСтек против кучи: плюсы и минусыПримеры со стеком и кучейКогда использовать кучу?СсылкиПроверить себя по стеку и куче

7. Указатели PointersQuiz Yourself on Pointers

8. Strings

StringsПодпрограммы обработки строк в стандартной библиотеке CArrays of StringsLinksExercises on StringsTuiz on Strings

9. Ввод и вывод

Потоки ввода/выводаВвод и вывод с помощью файловБинарные файлы (необработанные байты)СсылкиУпражнения на ввод и выводТестирование ввода и вывода

10. Макросы и препроцессор C

Процессор C и оператор `#define`МакросыУсловная компиляцияСсылкиВикторина

11. Компиляция, компоновка , Makefile, заголовочные файлы

Разделение вашей программы на несколько файловУтилита GNU `make` и MakefilesLinks

12. Отладка

Отладчик проекта GNU gdbBreakpointGotchasTricky CodeLinksQuiz

13. Ускорение вашего кода

Профилирование вашего кода с помощью `gprof`Известные слагиИспользование флагов компилятора OptimizerСсылки

14. Дополнительная тема 1: Краткий обзор некоторых других полезных библиотек C

ВведениеНаучная библиотека GLibGNU (GSL)BLAS / LAPACKApopheniaGNUplot

C

Зачем нужно параллельное программирование?Виды параллельного программированияИнструменты для параллельного программированияOpenMPMPIСсылкиУпражненияВикторина

16. Разное

Темы, не затронутые здесь (пока)Ссылки

17. Настройка вычислительной среды

Установите какой-нибудь базовый инструментУпражнения

Присоединяйтесь к более чем 1,7 миллионам учащихся из таких компаний, как

Рекомендуется после окончания этого курса
Рекомендуется после окончания этого курса
Рекомендуется после окончания этого курса

Что говорят наши учащиеся наши ученики говорят:

КУРС:

Fahim ul Haq

Лицензия: Все права защищены

Атрибуция: C Programming Boot Camp Пол Гриббл

Команды любого размера выбирают

Обучение для бизнеса

для обучения, повышения квалификации и адаптации своих разработчиков

Обучение программированию на C с нуля

Добро пожаловать в Учебник по C ! ресурсы программиста C для всего, что связано с языком программирования C.

Если вы…

  • Все еще пытаетесь начать работу с C.
  • Не знаете с чего начать изучение программирования на C.
  • Не так много извлек из языка C.

Этот учебник C поможет вам решить такие проблемы.

Раздел 1. Начало работы с C

  • Введение в язык программирования C — познакомьте вас с языком программирования C и возможностями C.
  • Настройка IDE — узнайте, как настроить IDE CodeBlocks.
  • Привет, мир! — разработать первую программу на C под названием Hello, World!

Раздел 2. Переменные и константы

  • Переменные — объявить и использовать переменные в программе C.
  • Константы — узнайте, как определять константы, содержащие значения.
  • Комментарии — показывают, как документировать код.

Раздел 3. Типы данных

  • Типы данных — узнайте о различных типах, которые поддерживает C.
  • Integer — руководство по целочисленным типам C.
  • float — объясните вам, как работает число с плавающей запятой.
  • Символ — понять, как C управляет символьными данными.
  • Enum — узнайте, как определять именованные целочисленные константы с помощью перечисления.

Раздел 4. Операторы

  • Арифметические операторы — знакомят вас с арифметическими операторами языка C.
  • Операторы присваивания — показывают, как эффективно использовать простой оператор присваивания и составные операторы присваивания.
  • Операторы отношения — руководство по использованию операторов отношения для сравнения двух значений.
  • Логические операторы — научитесь использовать логические операторы, включая логическое И, логическое ИЛИ и логическое НЕ.

Раздел 5. Управление потоком

  • if — показать вам, как выполнить одно или несколько операторов, когда условие истинно.
  • if…else — узнайте, как выполнять другие операторы, когда условие в предложении if равно false .
  • Тернарный оператор — показывает, как использовать тернарный оператор, чтобы сделать код более кратким.
  • switch…case — объясните оператор switch…case.
  • for Loop — узнайте, как использовать оператор цикла for для многократного выполнения блока кода.
  • while — подскажет, как использовать оператор while для выполнения цикла, пока выполняется условие.
  • do…while — показать вам, как использовать оператор do…while для выполнения цикла на основе условия.
  • break — узнайте, как использовать оператор break для досрочного выхода из цикла.
  • continue — показать вам, как пропустить текущую итерацию и начать новую, используя оператор continue .
  • goto – научиться использовать (не использовать) goto 9Заявление 0195.

Раздел 6. Массивы

  • Массив — объясните вам тип массива, который содержит другие типы
  • Строка — узнайте о строках и о том, как эффективно манипулировать строками.

Раздел 7. Основы работы с указателями

  • Указатель — поможет вам понять основную концепцию указателя.

Раздел 8. Структура и объединение

  • Структура — показывает, как использовать тип структуры, состоящий из нескольких переменных.
  • Union — объясню вам, как тип union работает в C.

Раздел 9. Функции

  • Функция — покажет вам, как определить пользовательскую функцию в C.
  • Передача по значению — узнайте, как передавать аргументы в функция по значению.
  • Передача по ссылке — объясните вам, как передавать аргументы в функцию по ссылке.
  • Рекурсивная функция — познакомить вас с рекурсивными функциями и их реализацией в C.

Раздел 10. Управление памятью

  • Динамическое выделение памяти — показывает, как динамически распределять память.
  • Typedef — узнайте, как определить имя нового типа данных.

Раздел 11. Расширенные указатели

  • Указатели функций – изучение основных функций ввода/вывода файлов.

Раздел 12. Файловый ввод/вывод

Стандартная библиотека C предоставляет вам несколько удобных функций для работы с файлами.