Язык Си

Главная / Язык Си

Структура программы

Типы данных

Константы и переменные

Операции

Ввод-вывод

Условные операторы

Операторы цикла

Функции, математические функции

Область видимости объектов и модификация

Указатели

Массивы

Динамическое выделение памяти

Функции обработки строк

Сложные типы данных

Директивы препроцессора

Переопределение типов

Функции работы с датой и временем

Работа с файлами


Язык программирования Си — универсальный язык программирования, который завоевал особую популярность у программистов, благодаря сочетанию возможностей языков программирования высокого и низкого уровней. Большинство программистов предпочитают использовать язык Си для серьезных разработок потому, что их привлекают такие особенности языка, как свобода выражения мыслей, мобильность и чрезвычайная доступность.

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

Язык Си был разработан американцем Деннисом Ритчи в исследовательском центре Computer Science Research Center of Bell Laboratories корпорации AT&T в 1972 г. Первоначальная реализация Си была выполнена на ЭВМ PDP-11 фирмы DEC для создания операционной системы UNIX. Позже он был перенесен в среду многих операционных систем и существует независимо от любой из них. Программы, написанные на языке Си, как правило, можно перенести в любую другую операционную систему или на другой компьютер либо с минимальными изменениями, либо вовсе без них.

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

Язык Си оказал существенное влияние на развитие индустрии программного обеспечения, а его синтаксис стал основой для таких языков программирования как C++, C#, Java, PHP и др.


Комментариев к записи: 20


  • Доброго времени суток, есть ли у языка С свой официальный сайт? как например у Dart или Python. Развивается ли этот яп есть ли для него фреймворки, куча вопросов а гуглеж ответов не прибавляет...

    • Елена Вставская
      Сейчас развивается скорее язык C++, который перенял весь синтаксис Си и дополнил его своим.

      • Добрый день Елена, если у вас есть к этому интерес, могли бы вы разобрать структуру Zip файла на си, точнее: как из него можно вытащить информацию о самих файлах. Спасибо.

        • Елена Вставская
          С ходу не подскажу, а времени нет разбираться с этим вопросом. Если кто-нибудь ответит, буду признательна.

    • Константин
      https://en.cppreference.com/w/ сайт где описывается язык и стл (как си, так и с++)

  • Здравствуйте. не понимаю что не так не накапливается строка в обратном порядке
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>


    char* reverse(const char* text)
    {char* NewTxt ="kjkjhk";
    char sumbol;
    int poz=strlen(text)-1;
    while(poz>=0)
    {//
        sumbol=text[poz];
        NewTxt+=sumbol;
    printf(" Char -  %s,%d\n",sumbol,poz);
    poz--;
    }
    return NewTxt;
    }

    int main()
    {
    printf(" dfskhlkjhdfg  \n");
    char* reversed;
    reversed = reverse("Hello world!");
    printf("%s\n", reversed);
    // "!DLROW OLLEH"
    }

    • Елена Вставская
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      char* reverse(const char* text)
      {
        char* NewTxt = (char*)malloc(strlen(text) + 1);
        char sumbol;
        int poz = strlen(text) - 1;
        int j = 0;
        while (poz >= 0)
        {//
          sumbol = text[poz];
          NewTxt[j++]= sumbol;
          printf(" Char - %c,%d\n", sumbol, poz);
          poz--;
        }
        NewTxt[j++] = '\0';
        return NewTxt;
      }

  • Григорий
    Здравствуйте Елена! Подскажите как к Вам обратится, как то вы упомянули чтоб я показал код программы через форму на сайте. Я не нашел пока куда обратится. Сейчас пишу в сообщениях по поводу массивов, они кудато исчезают я совсем запутался - где мои вопросы и в каком порядке они к Вам поступили. Скажите как вам скинуть маааленкий кодик в котором мне нужен от вас совет. Спасибо.

    • Елена Вставская
      Через vk или через страницу "контакты". К сожалению, в комментариях приходят горы спама, и я при удалении иногда могу задеть реальные сообщения.


  • Здрасте скажите а программисту обязательно нужно знать как происходит компиляция?



    • Елена Вставская
      В каком смысле объединить? Написать две функции, одну вызвать из другой.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *