Презентация на тему: Язык программирования Си

Реклама. Продолжение ниже
Язык программирования Си
Язык программирования Си
Переменные и константы
Типы данных
Язык программирования Си
Константы
Целый тип данных
Пример
Язык программирования Си
Данные плавающего типа
float
double
Выражения
Унарные операции
Унарные операции выполняются справа налево
Операции уменьшения и увеличения
Бинарные операции выполняются слева направо
Преобразования при вычислении выражений
Преобразования при вычислении выражений
Пример
Мультипликативные операции
Мультипликативные операции
Мультипликативные операции
Аддитивные операции
Пример
Операции увеличения (++) и уменьшения (--)
Язык программирования Си
Примеры :
Язык программирования Си
Приоритеты операций и порядок вычислений
Массивы
Язык программирования Си
Язык программирования Си
Многомерные массивы
Язык программирования Си
Функции
Язык программирования Си
Язык программирования Си
Язык программирования Си
Язык программирования Си
Язык программирования Си
Язык программирования Си
1/42
Средняя оценка: 4.7/5 (всего оценок: 91)
Код скопирован в буфер обмена
Скачать (131 Кб)
Реклама. Продолжение ниже
1

Первый слайд презентации: Язык программирования Си

«После нескольких лет работы вы так и не можете решить восхищаться им или проклинать» (Джефф Элджер)

Изображение слайда
1/1
2

Слайд 2

Джефф Элджер насчитал 2 786 942 книги по С и С++

Изображение слайда
1/1
3

Слайд 3: Переменные и константы

Имена переменных. Имена могут состоять из букв латинского алфавита, цифр и символа подчеркивания "_", который считается буквой. Строчные и прописные буквы различаются. Beta, beta, BETA - разные имена. Число символов в имени не ограничено.

Изображение слайда
1/1
4

Слайд 4: Типы данных

В языке Си имеются два существенно различных типа данных: int - целый; float - вещественный.

Изображение слайда
1/1
5

Слайд 5

Из них можно создавать еще два типа: char - символьный, double - вещественный с двойной точностью. Из этих четырех базовых типов может быть получено много других типов.

Изображение слайда
1/1
6

Слайд 6: Константы

Целые   константы и константы с плавающей точкой записываются в общепринятой для языков программирования форме: 1 3, -941, 0, 76; 13.0, 13E+0, -1.76, 0.123e-2, 6.02E23

Изображение слайда
1/1
7

Слайд 7: Целый тип данных

Тип Размер памяти в байтах Диапазон значений char 1 от -128 до 127 int 2 от -32768 до 32767 short 2 от -32768 до 32767 long 4 от -2 147 483 648 до 2 147 483 647 unsigned shar 1 oт 0 до 255 unsigned int 2 от 0 до 65535 unsigned short 2 от 0 до 65535 unsigned long 4 от 0 до 4 294 967 295

Изображение слайда
1/1
Реклама. Продолжение ниже
8

Слайд 8: Пример

unsigned int n; unsigned int b; int c; ( подразумевается signed int c ); unsigned d; ( подразумевается unsigned int d ); signed f; ( подразумевается signed int f ).

Изображение слайда
1/1
9

Слайд 9

Для определения длины памяти, занимаемой переменной, можно использовать операцию sizeof языка СИ. a = sizeof(int); b = sizeof(long int); c = sizeof(unsigned long); d = sizeof(short);

Изображение слайда
1/1
10

Слайд 10: Данные плавающего типа

float, double, long double

Изображение слайда
1/1
11

Слайд 11: float

занимает 4 байта: 1 бит отводится для знака, 8 бит для экспоненты, 23 бита для мантиссы. Диапазон значений переменной с плавающей точкой приблизительно равен от 3.14E-38 до 3.14E+38.

Изображение слайда
1/1
12

Слайд 12: double

занимает 8 байт в памяти: 1 бит для знака, 11 бит для экспоненты, 52 бита для мантиссы. Диапазон значений равен от 1.7E-308 до 1.7E+308.

Изображение слайда
1/1
13

Слайд 13: Выражения

Комбинация знаков операций и операндов, результатом которой является определенное значение, называется выражением. Знаки операций определяют действия, которые должны быть выполнены над операндами. Каждый операнд в выражении может быть выражением.

Изображение слайда
1/1
14

Слайд 14: Унарные операции

+ унарный плюс; ++ увеличение (инкремент); -- уменьшение (декремент);

Изображение слайда
1/1
Реклама. Продолжение ниже
15

Слайд 15: Унарные операции выполняются справа налево

Если знак операции записан перед операндом (префиксная форма), то изменение операнда происходит до его использования в выражении. Если знак операции записан после операнда (постфиксная форма), то операнд вначале используется в выражении, а затем происходит его изменение.

Изображение слайда
1/1
16

Слайд 16: Операции уменьшения и увеличения

Пусть n=5 Чему равны m и n после вычислений? 1) m=n++ 2) m=++n

Изображение слайда
1/1
17

Слайд 17: Бинарные операции выполняются слева направо

Знак операции Операция Группа операций * Умножение Мультипликативные / Деление % Остаток от деления + Сложение Аддитивные - Вычитание

Изображение слайда
1/1
18

Слайд 18: Преобразования при вычислении выражений

1. Операнды типа float преобразуются к типу double. 2. Если один операнд long double, то второй преобразуется к этому же типу. 3. Если один операнд double, то второй также преобразуется к типу double. 4. Любые операнды типа char и short преобразуются к типу int.

Изображение слайда
1/1
19

Слайд 19: Преобразования при вычислении выражений

5. Любые операнды unsigned char или unsigned short преобразуются к типу unsigned int. 6. Если один операнд типа unsigned long, то второй преобразуется к типу unsigned long. 7. Если один операнд типа long, то второй преобразуется к типу long. 8. Если один операнд типа unsigned int, то второй операнд преобразуется к этому же типу.

Изображение слайда
1/1
20

Слайд 20: Пример

double ft,sd; unsigned char ch; unsigned long in; int i; .... sd=ft*(i+ch/in);

Изображение слайда
1/1
21

Слайд 21: Мультипликативные операции

int i=5; float f=0.2; double g,z; g=f*i; Тип произведения i и f преобразуется к типу double, затем результат присваивается переменной g.

Изображение слайда
1/1
22

Слайд 22: Мультипликативные операции

int i=49, j=10, n, m; n = i/j; /* результат 4 */ m = i/(-j); /* результат -4 */

Изображение слайда
1/1
23

Слайд 23: Мультипликативные операции

int n = 49, m = 10, i, j, k, l; i = n % m; /* 9 */ j = n % (-m); /* 9 */ k = (-n) % m; /* -9 */ l = (-n) % (-m); /* -9 */ Операция остаток от деления (%) дает остаток от деления первого операнда на второй. Знак результата зависит от конкретной реализации. В данной реализации знак результата совпадает со знаком делимого

Изображение слайда
1/1
24

Слайд 24: Аддитивные операции

В некоторых случаях над операндами аддитивных операций выполняются общие арифметические преобразования. Однако преобразования, выполняемые при аддитивных операциях, не обеспечивают обработку ситуаций переполнения и потери значимости. Информация теряется, если результат аддитивной операции не может быть представлен типом операндов после преобразования. При этом сообщение об ошибке не выдается !

Изображение слайда
1/1
25

Слайд 25: Пример

int i=30000, int j=30000, k; k=i+j; В результате сложения k получит значение равное -5536.

Изображение слайда
1/1
26

Слайд 26: Операции увеличения (++) и уменьшения (--)

являются унарными операциями присваивания. Если знак операции стоит перед операндом (префиксная форма записи), то изменение операнда происходит до его использования в выражении и результатом операции является увеличенное или уменьшенное значение операнда.

Изображение слайда
1/1
27

Слайд 27

В том случае если знак операции стоит после операнда (постфиксная форма записи), то операнд вначале используется для вычисления выражения, а затем происходит изменение операнда.

Изображение слайда
1/1
28

Слайд 28: Примеры :

int t=1, s=2, z, f; z=(t++)*5; Вначале происходит умножение t*5, а затем увеличение t. В результате получится z=5, t=2.

Изображение слайда
1/1
29

Слайд 29

f=(++s)/3; Вначале значение s увеличивается, а затем используется в операции деления. В результате получим s=3, f=1.

Изображение слайда
1/1
30

Слайд 30: Приоритеты операций и порядок вычислений

Приоритет Знак операции Типы операции Порядок выполнения 1 ~ ! * & ++ -- sizeof приведение типов Унарные Справа налево 2 () []. -> Выражение Слева направо 3 * / % Мультипликативные Слева направо 4 + - Аддитивные

Изображение слайда
1/1
31

Слайд 31: Массивы

это конечная совокупность данных одного типа. Индексы массива в Си всегда начинаются с 0, а не с 1, т.е. описание int x[5]; порождает элементы: x[0], x[1], x[2], x[3], x[4].

Изображение слайда
1/1
32

Слайд 32

Начальные значения массивам в языке Си могут быть присвоены при компиляции только в том случае, если они объявлены с классом памяти extern или static, например: static int a[ 5 ]={5,0,4,-17,49};

Изображение слайда
1/1
33

Слайд 33

#include <stdio.h> main() { int p,i=0; static a[10]={10,11,12,13,14, 1 5,16,17,18,19}; while(i<10/2) { p=a[i]; a[i]=a[9-i]; a[9-i]=p; i++; } i=0; while(i<10)       printf(" %d",a[i++]); } Что будет выведено на экран?

Изображение слайда
1/1
34

Слайд 34: Многомерные массивы

В случае многомерных массивов количество пар скобок соответствует размерности массива, а число внутри скобок показывает размер массива по данному измерению. Например, матрица из 2 строк и 5 столбцов: int a[2][5].

Изображение слайда
1/1
35

Слайд 35

#define M 5 #include <stdio.h> main() { int a[M][M]; int j,i=0; while(i<M) { j=0; while(j<M) { a[i][j]=((i+1)/(j+1))*((j+1)/(i+1)); printf("%d",a[i][j]); j++; } i++;printf("\n"); }} Что будет выведено на экран?

Изображение слайда
1/1
36

Слайд 36: Функции

Функция имеет вид: [тип] имя([список формальных параметров])       описания формальных параметров; { описания; операторы; } По умолчанию тип функции целый.

Изображение слайда
1/1
37

Слайд 37

Возвращающее функцией значение передается в вызывающую программу оператором return   (выражение). Значение выражения (возвращаемого значения) и есть результат функции.

Изображение слайда
1/1
38

Слайд 38

Если в программе функция физически следует за вызывающей ее функцией, то надо объявить функцию внешней с помощью описателя extern: extern int fun()

Изображение слайда
1/1
39

Слайд 39

/*Функция y=t**n*/       int power(t,n);       int t,n;    { int p=1;          while(n!=0)    { if(n%2 !=0) p=p*t; n=n/2; t=t*t;    } return(p); }

Изображение слайда
1/1
40

Слайд 40

/*Возведение в степень - главная программа*/    #include <stdio.h>    main() {      int a,n;      printf("Введи a,n \n");      scanf("%d %d",&a,&n);      printf("%d в степени %d = %d ", a,n,power(a,n)); }

Изображение слайда
1/1
41

Слайд 41

/* СОРТИРОВКА */ #include <stdio.h> main() { extern int sor(); int i,n; static a[10]={10,1,9,2,8,3,7,4,6,5}; n=10; sor(a,n); for(i=0; i<n; i++)   printf(" %d",a[i]); }

Изображение слайда
1/1
42

Последний слайд презентации: Язык программирования Си

/* функция сортировки */ int sor(int x[], int n) { int i,j,z; for(i=0;i<n-1;i++)     for(j=i+1;j<n;j++) if(x[i]>x[j]) { z=x[i];           x[i]=x[j];           x[j]=z; }   return; }

Изображение слайда
1/1
Реклама. Продолжение ниже