269.50K
Category: programmingprogramming

Типы данных, операции. Лекция №2

1.

Ответы на вопросы
Лекции № 1
Как выводить русские буквы ?
http://kaf401.rloc.ru/
Informatics/localdevcpp.html
Если установлена Windows 8 ?
http://sourceforge.net/projects/
orwelldevcpp/?source=typ_redirect

2.

Лекция № 2
Типы данных,
операции

3.

Типы данных
int a;
// целого типа
float b;
// вещественного типа
char c;
// символьного типа
double d; // двойной точности
bool p;
// логический
void
// пустой,
// не имеющий значения

4.

Модификаторы
short
короткий
(int)
long
длинный
(int, double)
signed
знаковый
(char, int)
unsigned
беззнаковый (char, int)

5.

Целый тип
Счётчики, индексы, номера, время...
int a; // 4 байта (32-разрядный)
// -2147483647...2147483648
short int b; // 2 байта
// -32768...32767
char c;
// 1 байт
// -128..127
unsigned char c; // 1 байт
// 0..255

6.

Целый тип
Как узнать сколько памяти выделено ?
Операция sizeof
int a;
a=sizeof(a); // результат 4
bool a;
a=sizeof(a); // результат 1

7.

Целый тип
Какой результат ?
unsigned short int a;
a=32767;
a=a+1;
Какой результат ?
short int a;
a=32767;
a=a+1;

8.

Целый тип
У Вас есть вопросы по коду ?
int c;
Int a;
SHORT INT b;
a=-1;
a=a+1;
B=sizeof(a);

9.

Целый тип
Объявляем переменные там, где
требуется
int c;
с=с+3+2*с;
printf(“%d”,c);
int b;
b=c/2;
printf(“%d”,b);

10.

Инициализация переменных
Что будет выведено на экран ?
int c;
printf (“%d”,c); // неопределено
При объявлении присваиваем начальные
значения.
int c=100;

11.

Целочисленная арифметика
+ сложение
- вычитание
* умножение
/ деление
% остаток от деления
3/4 = 0
4/5 = 0
7/5 = 1
16/4 = 4
3%4 = 3
4%3 = 1
3%3 = 0
5%3 = 2

12.

Вещественный тип
Инженерные расчёты...
float a; // 3.4*10-38 – 3.4*10+38
double b; // 1.7*10-308 – 1.4*10+308
a=0.001;
a=1.5E+6; // 1 500 000
a=2.7E-5; // 0.000027

13.

Правила арифметики нарушены !
Какое значение в переменной s ?

14.

Правила арифметики нарушены !
Вычисления выполняются с потерей
точности !
Не проверяйте на равенство
вещественные числа

15.

Математические функции
#include <math.h>
x fabs(x)
arccosx - acos(x)
e exp(x)
sinx - sin(x)
arctg(x) - atan(x)
lnx - log(x)
cosx - cos(x)
x - sqrt(x)
- M_PI
tgx - tan(x)
x y - pow(x, y)
e - M_E
arcsinx - asin(x)
x 2 y 2 hypot(x, y)
x
Более полный перечень смотрим в
math.h

16.

Символьный тип
Обработка клавиш, строк...
char a; // -128...127
unsigned char b; // 0...255
a = “!”; // символ «!»
a = 27;
// код клавиши ESC
a = ‘ ’;
a=32; // равносильно;

17.

Символьный тип
#include <conio.h>
...
char a; // -128...127
a=getch(); // прочитать клавишу
// с экрана

18.

Логический тип
Флажки, статусы, состояния, проверки...
bool a; // 0 или 1, true или false
a = 4>78;
a = true;
a = false;

19.

Унарные операции
Один операнд
- арифметическое отрицание
! логическое отрицание, !5=0, !0=1
++ увеличение на единицу
-- уменьшение на единицу
& вычисление адреса
* взятие значения по адресу
sizeof вычисление размера
приведение типов

20.

Префиксная операция ++
префиксная ++i,
сначала i увеличивается
на единицу, и затем используется
в выражении.
i=1;
i=1
k=++i;
--->
i=i+1
k=i
t=1;
z=(++t)*5;
z=10
// t=2;

21.

Постфиксная операция ++
постфиксная i++,
cначала i используется в выражении,
и затем увеличивается на единицу.
i=1
k=i++
i=1
--->
k=i
i=i+1
t=1;
z=(t++)*5;
z=5
// t=2;

22.

Операции ++ и -Если операции ++ или --,
используются как самостоятельные
операторы,
то префиксная и постфиксная
эквивалентны
k++;
++k;

23.

Приведение типов
Если требуется преобразовать
целое в вещественное,
то записывают (float) k,
символьный в целое (int) ch.

24.

Бинарные операции
Два операнда
* умножение
/ деление
% остаток
+ сложение
- вычитание
> больше
< меньше
>= больше или равно
<= меньше или равно
== равно

25.

Бинарные операции
Два операнда
!= не равно
&& логическое И
|| логическое ИЛИ
= присваивание
+= сложение с присваиванием
-= вычитание с присваиванием
/= деление с присваиванием
%= остаток с присваиванием
*= умножение с присваиванием

26.

Операция присваивание
k=k+5 ---> k+=5;
k=k*5 ---> k*=5;
k=k-5 ---> k-=5;
k=k/5 ---> k/=5;
k=k%5 ---> k%=5;
a=b=c=d=0.5;

27.

Тернарная операция
Операция ?: условие содержит
три операнда
a = (выражение)?(истина):(ложь);
max=(m1>m2)?(m1):(m2);
min=(m1<m2)?(m1):(m2);

28.

Старшинство операций
() [] -> .
!
\^ ++
*
/
+
-
<
<= >
==
!=
--
- (TYPE) SIZEOF
%
>=
&&
||
?:
=
+= -=
English     Русский Rules