Лексемы языка. Операторы языка. Программа на языке Си

Содержание

Слайд 2

Лексемы языка Си Идентификаторы Ключевые слова Константы #include void main() {

Лексемы языка Си

Идентификаторы
Ключевые слова
Константы

#include
void main()
{
int a, b, i,

x;
printf("\n Введи числа:");
scanf ("%d %d", &a, &b);
if (a > b) {x = a; a = b; b = x;}
for ( i = a; i > 1; i --)
if (( a%i ==0) && ( b%i ==0)) break;
printf ("\n НОД = %d", i );
}

Строковые константы
Знаки операций
Знаки пунктуации

Слайд 3

Лексемы языка Си Идентификаторы – последовательность из букв латинского алфавита, десятичных

Лексемы языка Си

Идентификаторы – последовательность из букв латинского алфавита, десятичных цифр

и символа подчеркивания, начинающаяся не с цифры: a, b, i, x, printf, scanf

#include
void main()
{
int a, b, i, x;
printf("\n Введи числа:");
scanf ("%d %d", &a, &b);
if (a > b) {x = a; a = b; b = x;}
for ( i = a; i > 1; i--)
if (( a%i == 0) && ( b%i == 0)) break;
printf ("\n НОД = %d", i );
}

Слайд 4

Лексемы языка Си Ключевые (служебные) слова – это идентификаторы, зарезервированные для

Лексемы языка Си

Ключевые (служебные) слова – это идентификаторы, зарезервированные для специального

использования: include, void, main, int, if, for, break

#include
void main()
{
int a, b, i, x;
printf("\n Введи числа:");
scanf ("%d %d", &a, &b);
if (a > b) {x = a; a = b; b = x;}
for ( i = a; i > 1; i--)
if (( a%i == 0) && ( b%i == 0)) break;
printf ("\n НОД = %d", i );
}

Слайд 5

Лексемы языка Си Знаки пунктуации, разделители: # ( ) { }

Лексемы языка Си

Знаки пунктуации, разделители:
# ( ) { } ,

; = [ ] * : …

#include
void main()
{
int a, b, i, x;
printf("\n Введи числа:");
scanf ("%d %d", &a, &b);
if (a > b) {x = a; a = b; b = x;}
for ( i = a; i > 1; i--)
if (( a%i == 0) && ( b%i == 0)) break;
printf ("\n НОД = %d", i );
}

Слайд 6

Лексемы языка Си Константа – это лексема, представляющая изображение фиксированного числового,

Лексемы языка Си

Константа – это лексема, представляющая изображение фиксированного числового, символьного

или строкового значения: 3.1415926 (вещественная), "Ploshad kruga: " (строковая)

#include
void main()
{
char s[]="Ploshad kruga:",
dl[]="Dlina okruznosti:";
float pi=3.1415926, radius;
printf("\n Enter radius: ");
scanf("%f",&radius);
printf("\n %s %f", dl,(2*pi*radius));
printf("\n %s %f", s,(pi*radius*radius));
}

Слайд 7

Лексемы языка Си Константы: 325 (десятичная) 015 (восьмеричная) 0х13А6 (шестнадцатеричная) 2.71

Лексемы языка Си

Константы:
325 (десятичная)
015 (восьмеричная)
0х13А6 (шестнадцатеричная)
2.71 (вещественная)
‘z’, ‘\n’ (символьные)
«String 1» (строковая)
Перечислимые константы:
enum

{one = 1, two = 2, three = 3};
Слайд 8

Лексемы языка Си Унарные операции: & получение адреса операнда * разыменование

Лексемы языка Си

Унарные операции:
& получение адреса операнда
* разыменование указателя
- арифметическое отрицание
! логическое отрицание
++ инкремент
-- декремент
~ побитовое отрицание
sizeof (операнд)

определение размера операнда в  байтах
Знаки операций – обеспечивают формирование и  последующее вычисление выражений
Слайд 9

Лексемы языка Си Бинарные операции: Арифметические Логические Отношения Присваивания Выбора компонента

Лексемы языка Си

Бинарные операции:
Арифметические
Логические
Отношения
Присваивания
Выбора компонента структурного

типа
Операция «запятая»
Скобки в качестве операций
Слайд 10

Лексемы языка Си Бинарные арифметические операции: + сложение – вычитание *

Лексемы языка Си

Бинарные арифметические операции:
+ сложение
– вычитание
* умножение
/ деление
% получение

остатка от целочисленного деления
Бинарные логические операции:
&& конъюнкция (И)
| | дизъюнкция (ИЛИ)
Слайд 11

Лексемы языка Си Бинарные операции отношения: > больше, чем > =

Лексемы языка Си

Бинарные операции отношения:
< меньше, чем
> больше, чем
< = меньше или равно
> = больше

или равно
= = равно
! = не равно
Знаки операций – обеспечивают формирование и  последующее вычисление выражений
Слайд 12

Лексемы языка Си Бинарные операции присваивания: = присвоить значение выражения-операнда из

Лексемы языка Си

Бинарные операции присваивания:
= присвоить значение выражения-операнда из правой части

операнду левой части
Присвоить операнду левой части:
*= произведение значений обоих операндов
/= частное от деления значения левого операнда на значение правого
+= сумму значений обоих операндов
– = разность значений левого и правого операндов
%= остаток от деления целочисленного значения левого операнда на значение правого
Слайд 13

Лексемы языка Си Унарные операции: &a, &b, i-- Бинарные: x =

Лексемы языка Си

Унарные операции: &a, &b, i--
Бинарные: x = a ,

i = a (присваивания),
a > b, a%i == 0 (сравнения),
a % i (взятие остатка от деления)

#include
void main()
{
int a, b, i, x;
printf("\n Введи числа:");
scanf ("%d %d", &a, &b);
if (a > b) {x = a; a = b; b = x;}
for ( i = a; i > 1; i--)
if (( a%i == 0) && ( b%i == 0)) break;
printf ("\n НОД = %d", i );
}

Слайд 14

Лексемы языка Си Бинарные операции выбора компонентов структурного типа: . прямой

Лексемы языка Си

Бинарные операции выбора компонентов структурного типа:
. прямой выбор компонента структуры

(объединения)
- > косвенный выбор компонента структуры (объединения), адресуемого указателем
Запятая в качестве бинарной операции:
, несколько выражений, разделенных запятыми, вычисляются последовательно слева направо
Скобки в качестве бинарных операций:
( ) обязательны при вызове функций
[ ] индексирование элементов массива
Слайд 15

Лексемы языка Си Тернарная (условная с тремя операндами) операция: выражение_1 ?

Лексемы языка Си

Тернарная (условная с тремя операндами) операция:
выражение_1 ? выражение_2 :

выражение_3
Вычисляется значение выражения_1.
Если оно истинно, то вычисляется значение выражения_2 , которое становится результатом.
Иначе в качестве результата берется значение выражения_3.
min = (a < b) ? a : b;
x < 0 ? – x : x;
a > 60 ? printf ("Зачёт") : printf ("Незачёт");
isalnum(ch) ? printf ("Элемент слова") : printf ("Разделитель");
Слайд 16

Операторы языка Си Пять видов операторов: описания присваивания передачи управления вызова

Операторы языка Си

Пять видов операторов:
описания
присваивания
передачи управления
вызова

функции
пустой оператор

Примеры:
int a, b, i, x;
x = a;
if (a > b)… else …
printf("Введи х:");
for (;;)

Слайд 17

Операторы языка Си Передачи управления: условный переключатель цикла с предусловием цикла

Операторы языка Си

Передачи управления:
условный
переключатель
цикла с предусловием
цикла с

постусловием
цикла с параметром
возврата из функции
выхода из цикла
перехода к следующей итерации цикла

Примеры:
if (a > b) min = b; else…
switch(ch){ case ‘0’:…}
while(k-- > 0) f = f*k;
do{f=f*k;k--;} while(k>0);
for(f=1; k>0; f=f*k,k--);
return;
break;
continue;

Слайд 18

Структура программы на языке Си

Структура программы на языке Си