---
# System prepended metadata

title: Программирование на Си. Введение.

---

# Программирование на Си. Введение.

---

### Расмотрим на примерах синтаксис и особенности языка.

1. Hello world
```c
#include <stdio.h> // подключаем стандартную библиотеку, читайте wiki

int main() // главная функция
{
    printf("Hello World"); // вывод фразы Hello World
    return 0; // возврат программы аргумента 0
}
```

---

2. Calculator
```c
#include <stdio.h>
#include <math.h>

int main()
{
	float a,b,r,c=5; // Переменные для операций
	char i=0; //Переменная для свитча
do
{
    printf("Select the operation:\nOne of: \n+\n- \n* \n/\ns - sqrt\n");
    scanf("%c%*c",&i);
switch(i)
{
	//Сумма
	case '+':
		printf("Fill the figures\n");
		printf("a=");
		scanf("%f",&a);
		printf("b=");
		scanf("%f",&b);
		r=a+b;
		printf("The sum = %f\n",r);
	break;
	//Разность
	case '-':
		printf("Fill the figures\n");
		printf("a=");
		scanf("%f",&a);
		printf("b=");
		scanf("%f",&b);
		r=a-b;
		printf("The diff = %f\n",r);
	break;
	//Умножение
	case '*':
		printf("Fill the figures\n");
		printf("a=");
		scanf("%f",&a);
		printf("b=");
		scanf("%f",&b);
		r=a*b;
		printf("The product = %f\n",r);
	break;
	//Деление
	case '/':
		printf("Fill the figures\n");
		printf("a=");
		scanf("%f",&a);
		printf("b=");
		scanf("%f",&b);
        if (b>0 || b<0) //Проверка b!=0
        {
			r=a/b;
			printf("The quotient = %f\n",r);
		}
        else
            printf("Error: b=0."); //Ошибка b=0
    break;
	//Корень
	case 's':
		printf("Fill the figure\n");
		printf("a=");
		scanf("%f",&a);
		if (a>=0)
		{
		    r=sqrt(a);
		    printf("The radical = %f\n",r);
		}
		else
		    printf("Error: a<0");
	break;
	//Проверка выбора операции
	default: printf("Error: Choose the operation.");
}
printf("\n__________________\n");
} 
while(c=5);
}
```

---

> Для того чтобы скомпилировать написанную в блокноте/редакторе программу, необходимо ввести в командную строку `gcc main.c`, а затем вывести результат `./a.out` (или `gcc main.c -o a.out`)


# Домашнее задание 
 
---
 
## Задание 1 
 
Считать из терминала один ASCII-символ, вывести на экран следующий за ним символ, т.е. увеличить значение считанной переменной на 1. 
 
---
 
## Задание 2 
 
Считать из терминала два целых числа € {0, 1, …, 9}, посчитать и вывести на экран их сумму. 
 
--- 
 
## Задание 3 
 
Считать из терминала целое число, домножить его на 2. Вывести результат на экран. 
 
---
 
## Задание 4 
 
Считать из терминала целое число, разделить его на 3. Вывести результат на экран. 
 
--- 
## Задание 5 
 
Считать из терминала строку. Поменять в ней один или несколько символов и вывести на экран.