🗊Презентация Лекции 7 – 8. Оператор вызова функций

Нажмите для полного просмотра!
Лекции 7 – 8. Оператор вызова функций, слайд №1Лекции 7 – 8. Оператор вызова функций, слайд №2Лекции 7 – 8. Оператор вызова функций, слайд №3Лекции 7 – 8. Оператор вызова функций, слайд №4Лекции 7 – 8. Оператор вызова функций, слайд №5Лекции 7 – 8. Оператор вызова функций, слайд №6Лекции 7 – 8. Оператор вызова функций, слайд №7Лекции 7 – 8. Оператор вызова функций, слайд №8Лекции 7 – 8. Оператор вызова функций, слайд №9Лекции 7 – 8. Оператор вызова функций, слайд №10Лекции 7 – 8. Оператор вызова функций, слайд №11Лекции 7 – 8. Оператор вызова функций, слайд №12Лекции 7 – 8. Оператор вызова функций, слайд №13Лекции 7 – 8. Оператор вызова функций, слайд №14Лекции 7 – 8. Оператор вызова функций, слайд №15Лекции 7 – 8. Оператор вызова функций, слайд №16Лекции 7 – 8. Оператор вызова функций, слайд №17Лекции 7 – 8. Оператор вызова функций, слайд №18Лекции 7 – 8. Оператор вызова функций, слайд №19Лекции 7 – 8. Оператор вызова функций, слайд №20Лекции 7 – 8. Оператор вызова функций, слайд №21Лекции 7 – 8. Оператор вызова функций, слайд №22Лекции 7 – 8. Оператор вызова функций, слайд №23Лекции 7 – 8. Оператор вызова функций, слайд №24Лекции 7 – 8. Оператор вызова функций, слайд №25Лекции 7 – 8. Оператор вызова функций, слайд №26Лекции 7 – 8. Оператор вызова функций, слайд №27Лекции 7 – 8. Оператор вызова функций, слайд №28Лекции 7 – 8. Оператор вызова функций, слайд №29Лекции 7 – 8. Оператор вызова функций, слайд №30Лекции 7 – 8. Оператор вызова функций, слайд №31Лекции 7 – 8. Оператор вызова функций, слайд №32Лекции 7 – 8. Оператор вызова функций, слайд №33Лекции 7 – 8. Оператор вызова функций, слайд №34Лекции 7 – 8. Оператор вызова функций, слайд №35Лекции 7 – 8. Оператор вызова функций, слайд №36Лекции 7 – 8. Оператор вызова функций, слайд №37Лекции 7 – 8. Оператор вызова функций, слайд №38Лекции 7 – 8. Оператор вызова функций, слайд №39Лекции 7 – 8. Оператор вызова функций, слайд №40Лекции 7 – 8. Оператор вызова функций, слайд №41Лекции 7 – 8. Оператор вызова функций, слайд №42Лекции 7 – 8. Оператор вызова функций, слайд №43Лекции 7 – 8. Оператор вызова функций, слайд №44Лекции 7 – 8. Оператор вызова функций, слайд №45Лекции 7 – 8. Оператор вызова функций, слайд №46Лекции 7 – 8. Оператор вызова функций, слайд №47Лекции 7 – 8. Оператор вызова функций, слайд №48Лекции 7 – 8. Оператор вызова функций, слайд №49Лекции 7 – 8. Оператор вызова функций, слайд №50

Содержание

Вы можете ознакомиться и скачать презентацию на тему Лекции 7 – 8. Оператор вызова функций. Доклад-сообщение содержит 50 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

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


Слайд 1





ЛЕКЦИИ 7 – 8
Оператор вызова функций.
Функции форматированного ввода и вывода.
Оператор присвоения. Математические и логические операции. Построение выражений.
Условная операция.
Описание слайда:
ЛЕКЦИИ 7 – 8 Оператор вызова функций. Функции форматированного ввода и вывода. Оператор присвоения. Математические и логические операции. Построение выражений. Условная операция.

Слайд 2





Оператор вызова функций
Оператор вызова функций просто определяет синтаксис описания вызова любой функции в тексте программы:
	имя_функции(параметры); 
Особенностью оператора вызова функций является то, что он может содержать в себе и сам может быть включен в другие операторы языка С.
Пример: вычисление квадратного корня куба вещественной переменной x:
	sqrt(pow(x,3.0));
Описание слайда:
Оператор вызова функций Оператор вызова функций просто определяет синтаксис описания вызова любой функции в тексте программы: имя_функции(параметры); Особенностью оператора вызова функций является то, что он может содержать в себе и сам может быть включен в другие операторы языка С. Пример: вычисление квадратного корня куба вещественной переменной x: sqrt(pow(x,3.0));

Слайд 3





Функции форматированного ввода и вывода
Функции форматированного ввода и вывода описаны в библиотеке stdio.h:
scanf – функция форматированного ввода;
printf – функция форматированного вывода
Описание слайда:
Функции форматированного ввода и вывода Функции форматированного ввода и вывода описаны в библиотеке stdio.h: scanf – функция форматированного ввода; printf – функция форматированного вывода

Слайд 4





Функция форматированного ввода
Функция scanf  предназначена  для форматированного ввода данных и имеет следующий заголовок:

int scanf(const char * restrict format [,addresses,…]);
Пример ввода двух переменных переменные целого типа и  переменной  вещественного типа:
 
int a,b;
double x;
…
scanf(“%d %d %lf”,&a,&b,&x);
Описание слайда:
Функция форматированного ввода Функция scanf предназначена для форматированного ввода данных и имеет следующий заголовок: int scanf(const char * restrict format [,addresses,…]); Пример ввода двух переменных переменные целого типа и переменной вещественного типа: int a,b; double x; … scanf(“%d %d %lf”,&a,&b,&x);

Слайд 5





Спецификатор типа
Сочетание   %d   или   любое   другое  называется спецификатором типа. В общем случае он имеет следующий формат:
% [*] [WIDTH] [hh|h|l|ll|L] символ_типа
	* – указывает запрещенные для ввода символы.
	WIDTH – задает максимальную длину поля ввода.
Описание слайда:
Спецификатор типа Сочетание %d или любое другое называется спецификатором типа. В общем случае он имеет следующий формат: % [*] [WIDTH] [hh|h|l|ll|L] символ_типа * – указывает запрещенные для ввода символы. WIDTH – задает максимальную длину поля ввода.

Слайд 6





Спецификатор типа
Преобразователи типа:
hh - преобразование целочисленных типов к типам char или unsigned char.
h - преобразование целочисленных типов к типам short int или unsigned short int.
l - преобразование к типу long int всех целочисленных типов и к типу double всех вещественных типов.
ll - преобразование целочисленных типов к типам long long int или unsigned long long int.
L - преобразование к типу long double всех вещественных типов.
Описание слайда:
Спецификатор типа Преобразователи типа: hh - преобразование целочисленных типов к типам char или unsigned char. h - преобразование целочисленных типов к типам short int или unsigned short int. l - преобразование к типу long int всех целочисленных типов и к типу double всех вещественных типов. ll - преобразование целочисленных типов к типам long long int или unsigned long long int. L - преобразование к типу long double всех вещественных типов.

Слайд 7





Спецификатор типа
Спецификаторы типа:
d, i – знаковое целое число в десятичной системе
o – знаковое целое число в восьмеричной системе
X, x – знаковое целое число в шестнадцатеричной системе
u – незнаковое целое число в десятичной системе исчисления
f, e и g – вещественное число в десятичной системе исчисления
a - вещественное число в шестнадцатеричной системе исчисления
c – символ
s – строка
p – указатель
% - ввод символа ‘%’
Описание слайда:
Спецификатор типа Спецификаторы типа: d, i – знаковое целое число в десятичной системе o – знаковое целое число в восьмеричной системе X, x – знаковое целое число в шестнадцатеричной системе u – незнаковое целое число в десятичной системе исчисления f, e и g – вещественное число в десятичной системе исчисления a - вещественное число в шестнадцатеричной системе исчисления c – символ s – строка p – указатель % - ввод символа ‘%’

Слайд 8





Функция форматированного вывода
Функция printf  предназначена  для форматированного вывода данных и имеет следующий заголовок:

int printf(const char * restrict format [,variables,…]);
 
Пример вывода двух  переменных  целого типа и переменной вещественного типа:

int a,b;
double x;
…
printf(“%d %d %5.2lf”,a,b,x);
Описание слайда:
Функция форматированного вывода Функция printf предназначена для форматированного вывода данных и имеет следующий заголовок: int printf(const char * restrict format [,variables,…]); Пример вывода двух переменных целого типа и переменной вещественного типа: int a,b; double x; … printf(“%d %d %5.2lf”,a,b,x);

Слайд 9





Спецификатор типа
Сочетание %d или любое другое называется спецификатором типа. В общем случае он имеет следующий формат:
% [flag] [WIDTH][.PREC] [h|hh|l|ll|L] символ_типа
flag – для чисел указывает на необходимость вывода знака ‘+’ для положительных чисел, для строк управляет форматированием – по левому или по правому краю.
WIDTH – задает длину поля.
.PREC –   задает   количество  символов   после  запятой   для вещественных чисел и минимальное количество знаков для целых чисел.
Описание слайда:
Спецификатор типа Сочетание %d или любое другое называется спецификатором типа. В общем случае он имеет следующий формат: % [flag] [WIDTH][.PREC] [h|hh|l|ll|L] символ_типа flag – для чисел указывает на необходимость вывода знака ‘+’ для положительных чисел, для строк управляет форматированием – по левому или по правому краю. WIDTH – задает длину поля. .PREC – задает количество символов после запятой для вещественных чисел и минимальное количество знаков для целых чисел.

Слайд 10





Спецификатор типа
%с – вывод или ввод символа
char ch;
scanf(“%c”,&ch);
printf(“%c”,ch);
Описание слайда:
Спецификатор типа %с – вывод или ввод символа char ch; scanf(“%c”,&ch); printf(“%c”,ch);

Слайд 11





Спецификатор типа
%c – ввод ASCII символа
%hhd – ввод целого числа со знаком размером 1 байт в десятичной системе
%hhu – ввод целого числа без знака размером 1 байт в десятичной системе
%hho – ввод целого числа со знаком размером 1 байт в восьмеричной системе
%hhx – ввод целого числа со знаком размером 1 байт в шестнадцатеричной системе
Описание слайда:
Спецификатор типа %c – ввод ASCII символа %hhd – ввод целого числа со знаком размером 1 байт в десятичной системе %hhu – ввод целого числа без знака размером 1 байт в десятичной системе %hho – ввод целого числа со знаком размером 1 байт в восьмеричной системе %hhx – ввод целого числа со знаком размером 1 байт в шестнадцатеричной системе

Слайд 12





Спецификатор типа
%hd – ввод целого числа со знаком размером 2 байта в десятичной системе
%hu – ввод целого числа без знака размером 2 байта в десятичной системе
%ho – ввод целого числа со знаком размером 2 байта в восьмеричной системе
%hx – ввод целого числа со знаком размером 2 байта в шестнадцатеричной системе
Описание слайда:
Спецификатор типа %hd – ввод целого числа со знаком размером 2 байта в десятичной системе %hu – ввод целого числа без знака размером 2 байта в десятичной системе %ho – ввод целого числа со знаком размером 2 байта в восьмеричной системе %hx – ввод целого числа со знаком размером 2 байта в шестнадцатеричной системе

Слайд 13





Спецификатор типа
%d – ввод целого числа со знаком размером 4 байта в десятичной системе
%u – ввод целого числа без знака размером 4 байта в десятичной системе
%o – ввод целого числа со знаком размером 4 байта в восьмеричной системе
%x – ввод целого числа со знаком размером 4 байта в шестнадцатеричной системе
Описание слайда:
Спецификатор типа %d – ввод целого числа со знаком размером 4 байта в десятичной системе %u – ввод целого числа без знака размером 4 байта в десятичной системе %o – ввод целого числа со знаком размером 4 байта в восьмеричной системе %x – ввод целого числа со знаком размером 4 байта в шестнадцатеричной системе

Слайд 14





Спецификатор типа
%lld – ввод целого числа со знаком размером 8 байт в десятичной системе
%llu – ввод целого числа без знака размером 8 байт в десятичной системе
%llo – ввод целого числа со знаком размером 8 байт в восьмеричной системе
%llx – ввод целого числа со знаком размером 8 байт в шестнадцатеричной системе
Описание слайда:
Спецификатор типа %lld – ввод целого числа со знаком размером 8 байт в десятичной системе %llu – ввод целого числа без знака размером 8 байт в десятичной системе %llo – ввод целого числа со знаком размером 8 байт в восьмеричной системе %llx – ввод целого числа со знаком размером 8 байт в шестнадцатеричной системе

Слайд 15





Спецификатор типа
%f – ввод или вывод вещественного числа типа float в десятичной системе
%a – ввод или вывод вещественного числа типа float в шестнадцатеричной системе
%lf – ввод или вывод вещественного числа типа double в десятичной системе
%la – ввод или вывод вещественного числа типа double в шестнадцатеричной системе
%Lf – ввод или вывод вещественного числа типа long double в десятичной системе
%La – ввод или вывод вещественного числа типа long double в шестнадцатеричной системе
Описание слайда:
Спецификатор типа %f – ввод или вывод вещественного числа типа float в десятичной системе %a – ввод или вывод вещественного числа типа float в шестнадцатеричной системе %lf – ввод или вывод вещественного числа типа double в десятичной системе %la – ввод или вывод вещественного числа типа double в шестнадцатеричной системе %Lf – ввод или вывод вещественного числа типа long double в десятичной системе %La – ввод или вывод вещественного числа типа long double в шестнадцатеричной системе

Слайд 16





Пример
Даны два вещественных числа, организовать их ввод в формате: (х,у) и  вывести  на  экран  в формате Х = значение, У = значение.

#include<stdio.h>
int main(int argc, char *argv[])
{
  double x,y;
  scanf(“(%lf,%lf)”,&x,&y);
  printf(“X = %5.2lf, Y = %5.2lf”,x,y);
  return 0;
}
Описание слайда:
Пример Даны два вещественных числа, организовать их ввод в формате: (х,у) и вывести на экран в формате Х = значение, У = значение. #include<stdio.h> int main(int argc, char *argv[]) { double x,y; scanf(“(%lf,%lf)”,&x,&y); printf(“X = %5.2lf, Y = %5.2lf”,x,y); return 0; }

Слайд 17





Операторы присвоения
Синтаксис оператора присвоения языка С имеет вид:
LValue = RValue;
LValue – объект, в который будет записано присваиваемое значение. В качестве такого объекта в языке С может выступать только переменная.
RValue – объект, значение которого будет присвоено. В качестве такого объекта в языке С может выступать:
переменная,
константа,
оператор вызова функции,
математическое или логическое выражение.
Описание слайда:
Операторы присвоения Синтаксис оператора присвоения языка С имеет вид: LValue = RValue; LValue – объект, в который будет записано присваиваемое значение. В качестве такого объекта в языке С может выступать только переменная. RValue – объект, значение которого будет присвоено. В качестве такого объекта в языке С может выступать: переменная, константа, оператор вызова функции, математическое или логическое выражение.

Слайд 18





Примеры присвоений
int a, b, c;
double x, y;
a = 5; b = 4; c = a + b;
x = 5.0; y = exp(x);
Описание слайда:
Примеры присвоений int a, b, c; double x, y; a = 5; b = 4; c = a + b; x = 5.0; y = exp(x);

Слайд 19





Усовершенствованные операторы присвоений
В языке С присутствуют усовершенствованные операторы присвоения, которые имеют следующий синтаксис:
	LValue X= RValue;
где X –  символ,  означающий  определенную математическую операцию из набора: + - * / % ^ & | << >>.
Описание слайда:
Усовершенствованные операторы присвоений В языке С присутствуют усовершенствованные операторы присвоения, которые имеют следующий синтаксис: LValue X= RValue; где X – символ, означающий определенную математическую операцию из набора: + - * / % ^ & | << >>.

Слайд 20





Усовершенствованные операторы присвоений
	Использование усовершенствованного оператора присвоения аналогично записи:
LValue = LValue X RValue;
Пример:
a += b;   ≡   a = a + b;
b -= c;    ≡   b = b – c;
d *= a;    ≡   d = d*a;
Описание слайда:
Усовершенствованные операторы присвоений Использование усовершенствованного оператора присвоения аналогично записи: LValue = LValue X RValue; Пример: a += b; ≡ a = a + b; b -= c; ≡ b = b – c; d *= a; ≡ d = d*a;

Слайд 21





Математические операции
В языке С математические операции делятся на две группы:
математические   операции  для вещественных и целочисленных вычислений;
математические операции только для целочисленных вычислений.
Описание слайда:
Математические операции В языке С математические операции делятся на две группы: математические операции для вещественных и целочисленных вычислений; математические операции только для целочисленных вычислений.

Слайд 22





Математические операции для вещественных и целочисленных вычислений 
	К математическим операциям для вещественных      и целочисленных вычислений языка С относят обычные арифметические операции:
сложения (+),
вычитания (),
умножения (*),
деления (/).
Описание слайда:
Математические операции для вещественных и целочисленных вычислений К математическим операциям для вещественных и целочисленных вычислений языка С относят обычные арифметические операции: сложения (+), вычитания (), умножения (*), деления (/).

Слайд 23





Соответствие типа результата от типов операндов
Описание слайда:
Соответствие типа результата от типов операндов

Слайд 24





Особенности языка С
Дан фрагмент программы:
int a,b; double c;
a = 10; b = 4;
c = a / b;               // c == 2
Дан фрагмент программы:
double x = 1 / 3;  // x == 0
Описание слайда:
Особенности языка С Дан фрагмент программы: int a,b; double c; a = 10; b = 4; c = a / b; // c == 2 Дан фрагмент программы: double x = 1 / 3; // x == 0

Слайд 25





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

Слайд 26





Остаток от деления
Операция    взятия    остатка    от    деления является бинарной операцией и в языке С обозначается символом процента (%).
Пример вычисления:
	int a = 10, b = 3, c;
	c = a % b;              // c == 1
Описание слайда:
Остаток от деления Операция взятия остатка от деления является бинарной операцией и в языке С обозначается символом процента (%). Пример вычисления: int a = 10, b = 3, c; c = a % b; // c == 1

Слайд 27





Побитовые операции
Побитовые операции языка С представлены тремя    бинарными и одной унарной операцией.
К бинарным побитовым операциям относятся:
операция «И» (&),
операция «ИЛИ» (|)
операция «Исключающее ИЛИ» (^).
Описание слайда:
Побитовые операции Побитовые операции языка С представлены тремя бинарными и одной унарной операцией. К бинарным побитовым операциям относятся: операция «И» (&), операция «ИЛИ» (|) операция «Исключающее ИЛИ» (^).

Слайд 28





Побитовые операции
Описание слайда:
Побитовые операции

Слайд 29





Побитовые операции
Унарной побитовой операцией является операция отрицания, обозначаемая символом тильды (~).
Пример:
unsigned char a = 10, b;	//a: 00001010 = 10
b = ~a; 			//b: 11110101 = 245
Описание слайда:
Побитовые операции Унарной побитовой операцией является операция отрицания, обозначаемая символом тильды (~). Пример: unsigned char a = 10, b; //a: 00001010 = 10 b = ~a; //b: 11110101 = 245

Слайд 30





Операции сдвига
Операции сдвига  осуществляют  побитовый  сдвиг целого значения, указанного в первом операнде, вправо (символ >>) или  влево  (символ <<)  на указанное во втором операнде целое число бит.
Пример:
unsigned char a = 10, b, c; //a: 00001010 = 10
b = a << 2;                    	//b: 00101000 = 40
c = a >> 1;                          //c: 00000101 = 5
Описание слайда:
Операции сдвига Операции сдвига осуществляют побитовый сдвиг целого значения, указанного в первом операнде, вправо (символ >>) или влево (символ <<) на указанное во втором операнде целое число бит. Пример: unsigned char a = 10, b, c; //a: 00001010 = 10 b = a << 2; //b: 00101000 = 40 c = a >> 1; //c: 00000101 = 5

Слайд 31





Операции инкремента и декремента
	Операции инкремента (знак ++) и декремента (знак --) являются унарными и осуществляют  увеличение  и  уменьшение целого значения на единицу соответственно.
int a = 10, b, c;
b = ++a; //пред- инкремент b == 11
c = a++; //пост- инкремент с == 11
Описание слайда:
Операции инкремента и декремента Операции инкремента (знак ++) и декремента (знак --) являются унарными и осуществляют увеличение и уменьшение целого значения на единицу соответственно. int a = 10, b, c; b = ++a; //пред- инкремент b == 11 c = a++; //пост- инкремент с == 11

Слайд 32





Операции инкремента и декремента
	В современных языках программирования (в том  числе  и  языке  С  стандарта  С99) данные операции могут использоваться и для вещественных значений.
Пример:
double x = 12.5;
x++;
printf(“%lf\n”,x);  //вывод: 13.5
Описание слайда:
Операции инкремента и декремента В современных языках программирования (в том числе и языке  С стандарта С99) данные операции могут использоваться и для вещественных значений. Пример: double x = 12.5; x++; printf(“%lf\n”,x); //вывод: 13.5

Слайд 33





Операции отношения (сравнения)
	В языках программирования операции отношения (сравнения) являются бинарными     операциями, осуществляющими сравнение двух        операндов и возвращающие результат    сравнения в виде логического значения.
В языке С принято логические значения ИСТИНА   и  ЛОЖЬ   интерпретировать посредством целочисленных значений:
   0 – ЛОЖЬ, 1 – ИСТИНА.
Описание слайда:
Операции отношения (сравнения) В языках программирования операции отношения (сравнения) являются бинарными операциями, осуществляющими сравнение двух операндов и возвращающие результат сравнения в виде логического значения. В языке С принято логические значения ИСТИНА и ЛОЖЬ интерпретировать посредством целочисленных значений: 0 – ЛОЖЬ, 1 – ИСТИНА.

Слайд 34





Операции отношения (сравнения)
Описание слайда:
Операции отношения (сравнения)

Слайд 35





Примеры
Несколько примеров использования операций сравнения:

int a=5, b=4, c=10, x, y;
x = a > b;                      //x == 1
y = c == a;                    //y == 0
Описание слайда:
Примеры Несколько примеров использования операций сравнения: int a=5, b=4, c=10, x, y; x = a > b; //x == 1 y = c == a; //y == 0

Слайд 36





Логические операции
Логические   операции   –   унарные   или бинарные  операции,   осуществляющие действия над логическими значениями и возвращающие логическое значение.
Набор логических операций у разных языков программирования может быть различен.
Описание слайда:
Логические операции Логические операции – унарные или бинарные операции, осуществляющие действия над логическими значениями и возвращающие логическое значение. Набор логических операций у разных языков программирования может быть различен.

Слайд 37





Логические операции
Описание слайда:
Логические операции

Слайд 38





Примеры
Примеры логических операций:

int a=1, b=0, c, d;  //a – ИСТИНА, b – ЛОЖЬ
c = a || b;               //c == 1
d = !b && a;           //d == 1
Описание слайда:
Примеры Примеры логических операций: int a=1, b=0, c, d; //a – ИСТИНА, b – ЛОЖЬ c = a || b; //c == 1 d = !b && a; //d == 1

Слайд 39





Приоритеты операций
Описание слайда:
Приоритеты операций

Слайд 40





Приоритеты операций
Описание слайда:
Приоритеты операций

Слайд 41





Приоритеты операций
Описание слайда:
Приоритеты операций

Слайд 42





Особенности трансляторов
	Не     определяется      порядок,     в     котором вычисляются аргументы функции при ее вызове. Поэтому    следующий    оператор   может   дать различные результаты при трансляции разными компиляторами:
	printf(“%d %lf\n”, ++n, pow(2.0,n));
	Результат будет зависеть от того, получает ли n приращение до или после вызова функции pow. Чтобы решить проблему достаточно записать так:
	n++;
	printf(“%d %lf\n”, n, pow(2.0,n));
Описание слайда:
Особенности трансляторов Не определяется порядок, в котором вычисляются аргументы функции при ее вызове. Поэтому следующий оператор может дать различные результаты при трансляции разными компиляторами: printf(“%d %lf\n”, ++n, pow(2.0,n)); Результат будет зависеть от того, получает ли n приращение до или после вызова функции pow. Чтобы решить проблему достаточно записать так: n++; printf(“%d %lf\n”, n, pow(2.0,n));

Слайд 43





Схема автоматического приведения типа
Если какой-либо из операторов имеет тип long double, то и другой приводится к long double.
Иначе, если какой-либо из операторов имеет тип double, то и другой приводится к double.
Иначе, если какой-либо из операторов имеет тип float, то и другой приводится к float.
Иначе, для обоих операндов выполняется расширение целого типа; затем, если один из операндов имеет тип unsigned long int, то другой преобразуется в unsigned long int.
Описание слайда:
Схема автоматического приведения типа Если какой-либо из операторов имеет тип long double, то и другой приводится к long double. Иначе, если какой-либо из операторов имеет тип double, то и другой приводится к double. Иначе, если какой-либо из операторов имеет тип float, то и другой приводится к float. Иначе, для обоих операндов выполняется расширение целого типа; затем, если один из операндов имеет тип unsigned long int, то другой преобразуется в unsigned long int.

Слайд 44





Схема автоматического приведения типа
Иначе, если один из операндов имеет тип long int, а другой –  unsigned int,  то результат зависит от того,   представляет   ли  long   int   все  значения unsigned  int;   если   это   так,  то  операнд  типа unsigned int  приводится  к  типу  long  int;  если нет,  то  оба  операнда преобразуются в unsigned long int.
Иначе, если один из операндов имеет тип long int, то и другой приводится к long int.
Иначе, оба операнда имеют тип int.
Описание слайда:
Схема автоматического приведения типа Иначе, если один из операндов имеет тип long int, а другой – unsigned int, то результат зависит от того, представляет ли long int все значения unsigned int; если это так, то операнд типа unsigned int приводится к типу long int; если нет, то оба операнда преобразуются в unsigned long int. Иначе, если один из операндов имеет тип long int, то и другой приводится к long int. Иначе, оба операнда имеют тип int.

Слайд 45





Оператор приведения типа
int a = 15, b = 2;
double r = 0.0;
r = a / b;   //r == 7.0
Оператор приведения типа:
(тип)выражение
r = (double)a / b;      //Правильно
r = (double) (a / b);  //Неправильно
Описание слайда:
Оператор приведения типа int a = 15, b = 2; double r = 0.0; r = a / b; //r == 7.0 Оператор приведения типа: (тип)выражение r = (double)a / b; //Правильно r = (double) (a / b); //Неправильно

Слайд 46





Условная операция
В языке С присутствует так называемая условная   операция, которая имеет следующий синтаксис:
условие ? выражение №1 : выражение №2; 
Если условие истинно, то вычисляется выражение №1.
Если же условие ложно, то вычисляется выражение №2.
Описание слайда:
Условная операция В языке С присутствует так называемая условная операция, которая имеет следующий синтаксис: условие ? выражение №1 : выражение №2; Если условие истинно, то вычисляется выражение №1. Если же условие ложно, то вычисляется выражение №2.

Слайд 47





Пример условной операции
	Необходимо ввести с клавиатуры два вещественных значения и вывести на экран максимальное из этих значений:

#include <stdio.h>
int main(int argc, char *argv[])
{
  double x,y;
  printf(“Введите значения: ”);
  scanf(“%lf %lf”,&x,&y);
  double max = (x > y) ? x : y;
  printf(“Максимальное значение: %lf\n“,max);
  return 0;
}
Описание слайда:
Пример условной операции Необходимо ввести с клавиатуры два вещественных значения и вывести на экран максимальное из этих значений: #include <stdio.h> int main(int argc, char *argv[]) { double x,y; printf(“Введите значения: ”); scanf(“%lf %lf”,&x,&y); double max = (x > y) ? x : y; printf(“Максимальное значение: %lf\n“,max); return 0; }

Слайд 48





Пример условной операции
	Необходимо ввести с клавиатуры три вещественных значения и вывести на экран максимальное из этих значений:

#include <stdio.h>
int main(int argc, char *argv[])
{
  double x, y, z;
  printf(“Введите значения: ”);
  scanf(“%lf %lf %lf”,&x,&y,&z);
  double max = (x > y) ?
                 ((x > z) ? x : z):
                 ((y > z) ? y : z);
  printf(“Максимальное значение: %lf\n“,max);
  return 0;
}
Описание слайда:
Пример условной операции Необходимо ввести с клавиатуры три вещественных значения и вывести на экран максимальное из этих значений: #include <stdio.h> int main(int argc, char *argv[]) { double x, y, z; printf(“Введите значения: ”); scanf(“%lf %lf %lf”,&x,&y,&z); double max = (x > y) ? ((x > z) ? x : z): ((y > z) ? y : z); printf(“Максимальное значение: %lf\n“,max); return 0; }

Слайд 49





Пример 1
	Вещественное число вводится с клавиатуры. Возвести число в   четвертую   степень,   используя  только   две   операции умножения.
#include <stdio.h>
int main(int argc, char *argv[])
{
  double a;
 printf("Введите значение: ");
 scanf("%lf",&a);
  a *= (a *=a);
  printf("Результат: %lf\n",a);
  return 0;
}
Описание слайда:
Пример 1 Вещественное число вводится с клавиатуры. Возвести число в четвертую степень, используя только две операции умножения. #include <stdio.h> int main(int argc, char *argv[]) { double a; printf("Введите значение: "); scanf("%lf",&a); a *= (a *=a); printf("Результат: %lf\n",a); return 0; }

Слайд 50





Пример 2
	Квадратное уравнение вида  задается коэффициентами A, B и C.  Определить  какое  количество  корней  имеет  данное уравнение.
#include <stdio.h>
int main(int argc, char *argv[])
{
  double a,b,c;
  printf("Введите коэффициенты A, B и С: ");
  scanf("%lf %lf %lf",&a,&b,&c);
  double d = b*b-4*a*c;
  int n = (d < 0.0)?0:(d > 0.0)?2:1;
  printf("Количество корней: %d\n",n);
  return 0;
}
Описание слайда:
Пример 2 Квадратное уравнение вида задается коэффициентами A, B и C. Определить какое количество корней имеет данное уравнение. #include <stdio.h> int main(int argc, char *argv[]) { double a,b,c; printf("Введите коэффициенты A, B и С: "); scanf("%lf %lf %lf",&a,&b,&c); double d = b*b-4*a*c; int n = (d < 0.0)?0:(d > 0.0)?2:1; printf("Количество корней: %d\n",n); return 0; }



Похожие презентации
Mypresentation.ru
Загрузить презентацию