# Лекция 1. Введение.
###### tags: `Programming C/Asm`
---
## Расмотрим на примерах синтаксис и особенности языка
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`)
{"metaMigratedAt":"2023-06-16T11:27:18.652Z","metaMigratedFrom":"Content","title":"Лекция 1. Введение.","breaks":true,"contributors":"[{\"id\":\"35c478e2-c7b9-442f-939d-6c71bb27c687\",\"add\":2010,\"del\":54}]"}