3.57M
Category: programmingprogramming

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

1.

Язык Программирования С
Кондратьев Никита Олегович
+7 (913) 377-16-31
[email protected]
1

2.

Язык Программирования С
преподаватель
Романов Евгений Леонидович
+7 (913) 944-90-81
8 (383) 346-04-92
[email protected]
7-311
ВК - http://vk.com/cprog_cs
Сайт - http://ermak.cs.nstu.ru/cprog/HTML/index.htm
2

3.

Язык Программирования С
Электронный журнал
https://docs.google.com/spreadsheets/d/1koKuUrAYOReuX
XNtfelAc6MFY2i55u4xIVIc-OQbHGU/edit#gid=1914733344
Короткая ссылка
https://clck.ru/XLtEU
3

4.

Язык Программирования С
discord.gg/yD6hkWAapP
Информатика. С.
4

5.

Язык Программирования С
ЗАДАЧА или ПРОБЛЕМА
Способы решения
Решение
5

6.

Язык Программирования С
6
Низкоуровневые
Язык ассемблера
Высокоуровневые
Pascal Fortran PHP
C C++ C# Java
Delphi Object Pascal Perl
Сверхвысокоуровневые
ActionScript 3 JavaScript
Python
BAISIC
Ada
Ruby
Haskell

7.

Язык Программирования С
7

8.

Язык Программирования С
1969—1973
Curiosity «Кьюрио́сити»
2.5 миллиона строк кода на Си
8

9.

Язык Программирования С++
C++
C
9

10.

Язык Программирования С#
10

11.

Язык Программирования С
11

12.

Компилятор и Интерпретатор
Исходный код
Компилятор
Бинарный код
Процессор
Исходный код
трансляторы
Интерпретатор
Процессор
12

13.

Компилятор и Интерпретатор
13
Компилятор
Интерпретатор
+
+
+
+
-
Скорость разработки программы
Скорость работы готовой программы
Переносимость на разные платформы
Возможность совершить ошибку
Компилятор
Интерпретатор
С, С++
Python, Ruby, JavaScript
Компилятор и
Интерпретатор
Java, C#

14.

Язык Программирования С
С – формальный язык программирования
«плохие» и «хорошие» ошибки
14

15.

Текстовые Редакторы
Блокнот
Notepad++
https://notepad-plus-plus.org/downloads
Sublime Text https://www.sublimetext.com
15

16.

Программное Обеспечение
Visual Studio
NetBeans
Code::Blocks
16
Dev-C++
IDE (англ. Integrated Development Environment - Интегрированная среда
разработки)
— система программных средств, используемая
программистами для разработки программного обеспечения.

17.

Онлайн Компиляторы
ideone.com
jdoodle.com
codepad.org
17

18.

Visual Studio
Как правильно создать свой первый проект?
18

19.

Visual Studio
Работаем в программе Visual Studio 2022
1. Скачиваем с офф. сайта https://visualstudio.microsoft.com/ru/vs
2. Устанавливаем
3. Запускаем
19

20.

Visual Studio
4. В открывшемся окне
выбираем
Создание проекта
20

21.

Visual Studio
5. Необходимо указать:
• в качестве языка
программирования – С++
(т.к. с писке отсутствует вариант
классического С);
• платформу – Windows;
• тип проекта – Консоль;
6. Среди появившегося списка
выбираем Консольное
приложение
7. Далее
21

22.

Visual Studio
8. Задать Имя проекта
9. Указать Расположение
проекта
10. Поставить галочку
Поместить решение и
проект в одном каталоге
11. Создать
22

23.

Visual Studio
Если всё сделали верно, то проект будет успешно создан.
Откроется окно программы, с примером кода на языке С++
23

24.

Visual Studio
Важный момент!
Т.к. на этапе выбора языка программирования, был выбран
С++ (за отсутствием С), компилятор по умолчанию тоже
для С++. Необходимо его поменять на компилятор для С.
1.
В строке меню выбираем – Отладка
2.
Свойства отладки для проекта…
3.
Раскрываем список раздела С/С++
4.
Внутри раздела выбираем Дополнительно
5.
В
строке
Компилировать
Компилировать как код С (/ТС)
6.
Ок или Применить
как
выбираем
24

25.

Язык Программирования С
Переменные
Функции
25

26.

Переменные
Переменная – контейнер для хранения данных
26

27.

Общий вид Объявления Переменных
тип имя_переменной;
Имя переменной (идентификатор переменной) - это буквенно-цифровая
последовательность символов алфавита.
x b i A C
Array mass sum
f1 f_1
first_number
4ТАХА - первый символ не буква;
Vatra.34 - содержит недопустимый символ точку;
сhar - имя совпадает с ключевым словом;
27

28.

Переменные
• char
• int
• float
• double
Модификаторы - уточняют интерпретацию
значений переменных.
• short (короткий)
• long (длинный)
• signed (знаковый)
• unsigned (беззнаковый)
<модификатор(ы)> <тип> <список имен переменных>;
28

29.

Типы Данных
Имя типа
Байты
bool
char
signed char
unsigned char
int
unsigned int
short
unsigned short
long
unsigned long
long long
unsigned long long
float
double
long double
__int8
unsigned __int8
__int16
unsigned __int16
__int32
unsigned __int32
__int64
unsigned __int64
1
1
1
1
4
4
2
2
4
4
8
8
4
8
8
1
1
2
2
4
4
8
8
Другие имена
нет
нет
нет
нет
signed
unsigned
short int, signed short int
unsigned short int
long int, signed long int
unsigned long int
none (но эквивалентно __int64)
none (но эквивалентно unsigned __int64)
нет
нет
нет
char
unsigned char
short, short int, signed short int
unsigned short, unsigned short int
signed, signed int, int
unsigned, unsigned int
long long, signed long long
unsigned long long
Диапазон значений
false либо true
По умолчанию от -128 до 127
От -128 до 127
От 0 до 255
От -2 147 483 648 до 2 147 483 647
От 0 до 4 294 967 295
От -32 768 до 32 767
От 0 до 65 535
От -2 147 483 648 до 2 147 483 647
От 0 до 4 294 967 295
От -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807
От 0 до 18 446 744 073 709 551 615
3,4E +/- 38 (7 знаков)
1,7E +/- 308 (15 знаков)
То же, что double
От -128 до 127
От 0 до 255
От -32 768 до 32 767
От 0 до 65 535
От -2 147 483 648 до 2 147 483 647
От 0 до 4 294 967 295
От -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807
От 0 до 18 446 744 073 709 551 615
Если имя начинается с двух символов подчеркивания __ - тип данных является нестандартным
29

30.

Функции
30
Функция
main()
Функция
Функция
Функция

31.

Функции
31
Функция
Определение
функции
Вызов функции
Прототип
функции

32.

Стандартный вид Функции
спецификатор_типа имя_функции (список параметров)
{
тело функции;
}
32

33.

Первая Программа
1. int main ()
2. {
3. return 0;
4. }
5.
6.
спецификатор_типа имя_функции (список параметров)
7.
{
8.
9.
тело функции;
10.
}
11.
12.
33

34.

Первая Программа
34

35.

Задача 1.
Вывести текст в окно командной строки
35

36.

Функция printf()
printf();
int main()
main(){}
{
}
36
print format

37.

Функция printf()
1. int main()
2. {
printf("Hello, World!");
3.
return 0;
4.
5. }
6.
7.
8.
printf(“Hello, World!”);
9.
10.
11.
12.
37

38.

#include
Предварительное объявление. Прототипы функций.
#include <stdio.h>
std – standart
i – input
o – output
.h – так называются заголовочные файлы (написаны на
языке си)
38

39.

#include
#include <stdio.h> - поиск будет происходить в стандартных
каталогах, предназначенных для хранения
заголовочных файлов.
#include “stdio.h” - поиск будет происходить в текущем
рабочем каталоге. Если файл не найден, то поиск
продолжается в стандартных каталогах.
39

40.

Задача 1.
1. #include <stdio.h>
2. int main()
3. {
printf("Hello, World!");
4.
return 0;
5.
6. }
7.
8.
9.
10.
11.
12.
40

41.

Задача 1.
41

42.

Задача 2.
Получить в командной строке такой текст:
42

43.

Задача 2.
1. #include <stdio.h>
2. int main()
3. {
printf("Hello, World!");
4.
printf("My name is Nikita");
5.
return 0;
6.
7. }
8.
9.
10.
11.
12.
43

44.

Символьные константы с Обратным Слэшем
Код
\b
\f
\n
\r
\t
\"
\'
\0
\\
\v
\a
\N
\xN
Значение
Забой
Перевод формата
Новая строка
Возврат каретки
Горизонтальная табуляция
Двойная кавычка
Одинарная кавычка
Нулевой символ
Обратный слэш
Вертикальная табуляция
Звонок
Восьмеричная константа (N - это восьмеричное значение)
Шестнадцатеричная константа (N - это шестнадцатеричное значение)
Символы с обратным слэшем следует использовать таким же образом, как и обычные символы.
44

45.

Задача 2.
1. #include <stdio.h>
2. int main()
3. {
printf("Hello, World!\n");
4.
printf("My name is Nikita");
5.
return 0;
6.
7. }
printf(“\nHello, World!");
8.
printf("\n");
9.
10.
11.
12.
45

46.

Задача 3.
Получить в командной строке такой текст:
Hello, World!
My name is Nikita
My age is 27
46

47.

Задача 3.
1. #include <stdio.h>
2. int main()
3. {
printf("Hello, World!\n");
4.
printf("My name is Nikita\n");
5.
printf("My age is 27");
6.
return 0;
7.
8. }
9.
10.
11.
12.
47

48.

Спецификаторы Формата
Код
%c
%d
%i


%f
%g
%G

%s
%x


%n
%u
%[]
%%
Значение
Одиночный символ
Знаковое десятичное целое число
Знаковое десятичное целое число
Научная нотация (е - строчная)
Научная нотация (Е - прописная)
Десятичное число с плавающей точкой
Использует или %е, или %f, соответствующее более короткому представлению
Использует или %Е, или %F, соответствующее более короткому представлению
Беззнаковое восьмеричное число
Строка символов
Беззнаковое шестнадцатиричное число (строчные буквы)
Беззнаковое шестнадцатиричное число (прописные буквы)
Указатель
Ассоциированный аргумент - это указатель на целое, равное числу символов
Беззнаковое десятичное число
Сканирует множество символов
Выводит знак %
48

49.

Задача 3.
1. #include <stdio.h>
2. int main()
3. {
printf("Hello, World!\n");
4.
printf("My name is Nikita\n");
5.
printf("My age is %d", 27);
6.
return 0;
7.
8. }
9.
10.
11.
12.
49

50.

Задача 3.
50

51.

Задача 3.5.
51

52.

Задача 3.5.
1. #include <stdio.h>
2. int main()
3. {
printf("Hello, World!\n");
4.
printf("My name is Nikita\n");
5.
printf("My age is %d\n", 27);
6.
printf("My favorite color - %s color\n", "Blue");
7.
return 0;
8.
9. }
10.
11.
12.
52

53.

Задача 4.
Используя функцию printf() вывести в командную строку число,
записанное в переменную.
53

54.

Задача 4.
1. #include <stdio.h>
2. int main()
3. {
int x;
4.
x = 27;
5.
printf("Hello, World!\n");
6.
printf("My name is Nikita\n");
7.
printf("My age is %d", x);
8.
return 0;
9.
10. }
11.
12.
54

55.

Задача 5.
Написать программу «простейший калькулятор»:
Проинициализировать 2 переменные, и присвоить им любые числовые
значения.
Ваша программа должна подсчитать и вывести на экран сумму этих
чисел.
*Найти разность, произведение
**частное
55

56.

Задача 5.
1. #include <stdio.h>
2. int main()
3. {
int a;
4.
int b;
5.
int c;
6.
a = 10;
7.
b = 15;
8.
c = a + b;
9.
printf("Sum is: %d", c)
10.
return 0;
11.
12. }
56

57.

Задача 5.
1. #include <stdio.h>
2. int main()
3. {
int a, b, c;
4.
a = 10;
5.
b = 15;
6.
c = a + b;
7.
printf("Sum is: %d", c)
8.
return 0;
9.
10. }
11.
12.
57

58.

Задача 5.
1. #include <stdio.h>
2. int main()
3. {
int a = 10, b = 15, c;
4.
c = a + b;
5.
printf("Sum is: %d", c)
6.
return 0;
7.
8. }
9.
10.
11.
12.
58

59.

Задача 5.
1. #include <stdio.h>
2. int main()
3. {
int a = 10, b = 15;
4.
printf("Sum is: %d", a + b);
5.
return 0;
6.
7. }
8.
9.
10.
11.
12.
59

60.

Задача 6.
Ввести число с клавиатуры и присвоить его переменной.
60

61.

Функция scanf()
scanf();
61
scan format
scanf(“%d”, &x);
scanf(“%d\n”, &x);
printf(“Number is %d\n”, x);

62.

Задача 6.
1. #include <stdio.h>
2. int main()
3. {
int x;
4.
printf("Enter number\n");
5.
scanf("%d", &x);
6.
printf("You number is %d\n", x);
7.
return 0;
8.
9. }
10.
11.
12.
62

63.

Функция scanf()
error C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable
deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
#define _CRT_SECURE_NO_WARNINGS
scanf();
scanf_s();
63

64.

Задача 6.
64

65.

Задача 7.
Модернизировать программу «простейший калькулятор»:
• Пользователь вводит с клавиатуры 2 числа.
• Ваша программа выводит на экран сумму, разность,
произведение, частное этих чисел.
65

66.

Задача 7.
1. #include <stdio.h>
2. int main()
3. {
int a, b;
4.
printf("Enter first numer: ");
5.
scanf("%d", &a);
6.
printf("Enter second numer: ");
7.
scanf("%d", &b);
8.
printf("Sum %d + %d = %d\n", a, b, a + b);
9.
printf("Difference %d - %d = %d\n", a, b, a - b);
10.
11. }
12.
66
English     Русский Rules