Разделы презентаций


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

Содержание

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

Слайды и текст этой презентации

Слайд 1Язык программирования Си
«После нескольких лет работы вы так и не

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

Язык программирования Си«После нескольких лет работы вы так и не можете решить восхищаться им или проклинать» (Джефф

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

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

Слайд 3 Переменные и константы
Имена переменных. Имена могут состоять из букв латинского

алфавита, цифр и символа подчеркивания "_", который считается буквой.
Строчные

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

Слайд 4Типы данных
В языке Си имеются два существенно различных типа

данных:
int- целый;
float - вещественный.

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

Слайд 5Из них можно создавать еще два типа:
char - символьный ,


double - вещественный с двойной
точностью.

Из этих четырех базовых типов

может быть получено много других типов.

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

Слайд 6Константы
   Целые   константы и константы с плавающей точкой записываются в

общепринятой для языков программирования форме:
  
 13, -941, 0,

76;

13.0, 13E+0, -1.76, 0.123e-2, 6.02E23

Константы   Целые   константы и константы с плавающей точкой записываются в общепринятой для языков программирования форме:    13,

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

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

Слайд 8Пример
unsigned int n;
unsigned int b;


int c; (подразумевается signed int c

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

Слайд 9Для определения длины памяти, занимаемой переменной, можно использовать операцию sizeof

языка СИ.
a = sizeof(int);
b = sizeof(long int);


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

Слайд 10Данные плавающего типа
float,
double,
long double

Данные плавающего типа float, double, long double

Слайд 11float
занимает 4 байта:
1 бит отводится для знака,
8

бит для экспоненты,
23 бита для мантиссы.

Диапазон значений переменной

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

Слайд 12double
занимает 8 байт в памяти:
1 бит для знака,


11 бит для экспоненты,
52 бита для мантиссы.

Диапазон значений равен

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

Слайд 13Выражения
Комбинация знаков операций и операндов, результатом которой является определенное

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

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

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

(декремент);

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

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

операндом (префиксная форма), то изменение операнда происходит до его использования

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

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

Пусть n=5
Чему

равны m и n после вычислений?
1) m=n++
2)

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

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

Бинарные операции  выполняются слева направо

Слайд 18Преобразования при вычислении выражений
1. Операнды типа float преобразуются к

типу double.
2. Если один операнд long double, то второй

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

Слайд 19Преобразования при вычислении выражений
5. Любые операнды unsigned char или unsigned

short преобразуются к типу unsigned int.
6. Если один операнд

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

Слайд 20Пример
double ft,sd;
unsigned char ch;


unsigned long in;
int i;


....
sd=ft*(i+ch/in);
Примерdouble ft,sd;    unsigned char ch;    unsigned long in;

Слайд 21Мультипликативные операции
int i=5;
float f=0.2;
double

g,z;
g=f*i;

Тип произведения i и

f преобразуется к типу double, затем результат присваивается переменной g.

Мультипликативные операцииint i=5;   float f=0.2;   double g,z;     g=f*i; Тип

Слайд 22Мультипликативные операции
int i=49, j=10, n, m;
n

= i/j;

/* результат 4 */
m = i/(-j); /* результат -4 */


Мультипликативные операции int i=49, j=10, n, m;   n = i/j;

Слайд 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 */
Операция остаток от деления (%) дает остаток от деления первого операнда на второй.
Знак результата зависит от конкретной реализации. В данной реализации знак результата совпадает со знаком делимого
Мультипликативные операции int n = 49, m = 10, i, j, k, l;   i =

Слайд 24Аддитивные операции
В некоторых случаях над операндами аддитивных операций выполняются

общие арифметические преобразования.
Однако преобразования, выполняемые при аддитивных операциях, не

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

Слайд 25Пример
int i=30000,
int j=30000, k;


k=i+j;

В результате сложения k получит значение равное

-5536.

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

Слайд 26Операции увеличения (++) и уменьшения (--)
являются унарными операциями присваивания.
Если

знак операции стоит перед операндом (префиксная форма записи), то изменение

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

Слайд 27В том случае если знак операции стоит после операнда (постфиксная

форма записи), то операнд вначале используется для вычисления выражения, а

затем происходит изменение операнда.

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

Слайд 28Примеры:
int t=1, s=2, z, f;


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

результате получится z=5, t=2.

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

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

деления.
В результате получим s=3, f=1.

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

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

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

Слайд 31Массивы
это конечная совокупность данных одного типа.
Индексы массива в

Си всегда начинаются с 0, а не с 1,

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

Слайд 32 Начальные значения массивам в языке Си могут быть присвоены при

компиляции только в том случае, если они объявлены с классом

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

Слайд 33#include main() { int p,i=0; static a[10]={10,11,12,13,14,15,16,17,18,19}; while(i

i++; } i=0; while(i

#include  main() { int p,i=0; static a[10]={10,11,12,13,14,15,16,17,18,19}; while(i

Слайд 34Многомерные массивы
В случае многомерных массивов количество пар скобок соответствует размерности

массива, а число внутри скобок показывает размер массива по данному

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

Слайд 35#define M 5 #include main() { int a[M][M]; int

j,i=0; while(i

while(j

Что будет выведено на экран?

#define M 5 #include  main() {  int a[M][M];    int j,i=0;

Слайд 36Функции
Функция имеет вид:     
[тип] имя([список формальных параметров])       описания

формальных параметров; { описания; операторы; }

По умолчанию тип функции целый.

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

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



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


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

Слайд 38 Если в программе функция физически следует за вызывающей ее функцией,

то надо объявить функцию внешней с помощью описателя extern:
extern

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

Слайд 40  /*Возведение в степень - главная программа*/    #include    main() {     

int a,n;      printf("Введи a,n \n");      scanf("%d %d",&a,&n);      printf("%d в

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

Слайд 41/*СОРТИРОВКА */ #include 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

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

Слайд 42/*функция сортировки*/ int sor(int x[], int n) { int i,j,z; for(i=0;i

for(j=i+1;jx[j])

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

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика