- •Лабораторная работа № 1 Среда разработки. Меню, контекстная помощь, редактор
- •Краткие теоретические сведения
- •Меню Edit (Alt-e)
- •Меню Search (Alt-s)
- •Меню Run (alt-r)
- •Меню Compile (alt-c)
- •Меню Debug (alt-d)
- •Меню Options (alt-o)
- •Порядок выполнения работы
- •Контрольные вопросы
- •Константы
- •Идентификаторы
- •Целый тип данных
- •Данные плавающего типа
- •Директива Include
- •Порядок выполнения работы
- •Контрольные вопросы
- •Арифметические операции
- •Операции присваивания
- •Операции отношения
- •Логические операции
- •Побитовые операции
- •Операция следования (запятая)
- •Приоритеты операций и порядок вычислений
- •Порядок выполнения работы
- •Задания для самостоятельной работы
- •Контрольные вопросы
- •% [Флаг] [w][d] f
- •Функция ввода данных scanf()
- •% [Флаг] [w] f
- •Функции getchar ( ), putchar ( ), gets ( ), puts( )
- •Функции ввода – вывода строк
- •Заголовочные файлы
- •Порядок выполнения работы
- •Задания для самостоятельной работы
- •Контрольные вопросы
- •Лабораторная работа № 5 Написание программы на яп с с использованием операторов условия, повтора, передачи управления
- •Краткие теоретические сведения
- •Оператор выражение
- •Пустой оператор
- •Составной оператор
- •Оператор условия if
- •If (условие) оператор;
- •Другие формы условного оператора if
- •If (условие) оператор;
- •Оператор выбора switch
- •Цикл for
- •For (инициализация ; проверка условия ; изменение) оператор;
- •Циклы while и do while
- •While (условие) оператор;
- •Вложенные циклы
- •Использование оператора break в циклах
- •Оператор continue
- •Оператор goto
- •Оператор return
- •Return [выражение] ;
- •Порядок выполнения работы
- •Задания для самостоятельной работы
- •Контрольные вопросы
Операции отношения
В языке определены следующие операции отношения: проверка на равенство (= =), проверка на неравенство (!=), меньше (<), меньше или равно (<=), больше (>), больше или равно (>=). Все перечисленные операции вырабатывают результат типа int. Если данное отношение между операндами истинно, то значение этого целого - единица, а если ложно, то нуль.
Все операции типа “больше - меньше” имеют равный приоритет, причем он выше, чем приоритет операций = = и !=. Приоритет операции присваивания ниже приоритета всех операций отношений. Для задания правильного порядка вычислений используются скобки.
Логические операции
В языке С имеются три логические операции:
&& операции И (and)
|| операции ИЛИ (or)
! отрицание
Аргументами логических операций могут быть любые числа, включая задаваемые аргументами типа char. Результат логической операции - единица, если истина, и нуль, если ложь. Вообще все значения, отличные от нуля, интерпретируются как истинные. Логические операции имеют низкий приоритет, и поэтому в выражениях с такими операциями скобки используются редко.
Вычисление выражений, содержащих логические операции, производится слева направо и прекращается (усекается), как только удается определить результат. Если выражение составлено из логических утверждений (т.е. выражения, вырабатывающие значения типа int), соединенных между собой операцией И (&&), то вычисление выражения прекращается, как только хотя бы в одном логическом утверждении вырабатывается значение нуль. Если выражение составлено из логических утверждений, соединенных между собой операцией ИЛИ (||), то вычисление выражения прекращается, как только хотя бы в одном логическом утверждении вырабатывается ненулевое значение.
Пример:
/*операции отношения, логические операции */
# include<stdio.h>
main( )
{
int a,b,c;
puts("Введите значения a,b,c: ");
scanf("%d %d %d",&a,&b,&c);
if (a>b && b>=c)
puts("a>b>=c");
else
if ((a==b) || (c!=0))
puts("a=b или с неравно 0");
else
if (!c)
printf("условия не выполняются");
}
Операция вычисления размера (sizeof)
Операцию sizeof (размер) можно применить к константе, типу или переменной. В результате будет получено число байтов, занимаемых операндом.
Пример:
printf ( "\n Размер памяти под целое %d", sizeof ( int) );
printf ( "\n Размер памяти под cимвол %d", sizeof( сhar) );
Побитовые операции
Операции “<<” и “>>” над битовым представлением в выражении m<<n или m>>n позволяют сдвигать битовую шкалу в представлении m на n>0 позиции влево или вправо. Если сдвигаемая величина положительная, то при сдвиге вправо освобождающиеся позиции заполняются нулями, для отрицательных величин - единицами. При сдвиге влево освобождающиеся справа позиции заполняются нулями.
Операция “~” означает дополнение до 1. В битовом представлении ~а разряд содержит единицу, если соответствующий разряд а содержит 0 и наоборот.
Операция “&”- поразрядное “и”. В результате операции b&a единица стоит в разряде, где оба операнда содержат 1, в противном случае разряд содержит 0.
Операция “|”- это поразрядное “или”. В результате b|a стоит 0 там, где разряды а и b равны нулю и 1 в противном случае.
Операция “^”- это поразрядное исключающее “или”. В результате b^a стоит 0 там, где а и b имеют одинаковые биты и 1 в противном случае.
Пример:
/* побитовые операции */
# include<stdio.h>
main( )
{
int a,b,c,d;
printf("Введите 4 числа: \n");
scanf("%d %d %d %d",&a,&b,&c,&d);
printf("~%d=%d\n",a,~a);
printf("%d & %d=%d\n",a,b,a&b);
printf("%d | %d=%d\n",c,d,c|d);
printf("%d^%d=%d\n",a,d,a^d);
printf("%d>>%d=%d\n",b,d,b>>d);
printf("%d<<%d=%d\n",c,a,c>>a);
}