Структура программы
Типы данных
Константы и переменные
Операции
Ввод-вывод
Условные операторы
Операторы цикла
Функции, математические функции
Область видимости объектов и модификация
Указатели
Массивы
Динамическое выделение памяти
Функции обработки строк
Сложные типы данных
Директивы препроцессора
Переопределение типов
Функции работы с датой и временем
Работа с файлами
Язык программирования Си — универсальный язык программирования, который завоевал особую популярность у программистов, благодаря сочетанию возможностей языков программирования высокого и низкого уровней. Большинство программистов предпочитают использовать язык Си для серьезных разработок потому, что их привлекают такие особенности языка, как свобода выражения мыслей, мобильность и чрезвычайная доступность.
Язык Си даёт возможность программисту осуществлять непосредственный доступ к ячейкам памяти и регистрам компьютера, требуя при этом знания особенностей функционирования ЭВМ. В этом Си схож с языком низкого уровня — ассемблером, хотя на самом деле он представляет собой гораздо более мощное средство решения трудных задач и создания сложных программных систем.
Язык Си был разработан американцем Деннисом Ритчи в исследовательском центре Computer Science Research Center of Bell Laboratories корпорации AT&T в 1972 г. Первоначальная реализация Си была выполнена на ЭВМ PDP-11 фирмы DEC для создания операционной системы UNIX. Позже он был перенесен в среду многих операционных систем и существует независимо от любой из них. Программы, написанные на языке Си, как правило, можно перенести в любую другую операционную систему или на другой компьютер либо с минимальными изменениями, либо вовсе без них.
Язык Си также используется при составлении программ для микроконтроллеров.
Язык Си оказал существенное влияние на развитие индустрии программного обеспечения, а его синтаксис стал основой для таких языков программирования как C++, C#, Java, PHP и др.
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 <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"
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{
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;
}