- •Int a; /* целая
- •Int n; // Переменная n целого типа double a; // Переменная a вещественного типа двойной точности
- •Вещественные константы
- •Символьные константы
- •Строковые константы
- •Логические операции
- •Тернарные операции
- •Оператор ветвления switch
- •Параметрический цикл for
- •Тип *имя_объекта;
- •Стандартные функции динамического выделения памяти
- •Динамическое выделение памяти для одномерных массивов
- •Основные функции стандартной библиотеки string.H
- •Массивы структур
- •Идентификатор(аргумент1, ..., агрументn)
- •Функция, позволяющая вывести день недели на русском языке
- •Файловая структура fat32
- •Работа с файлами в языке Си
Тернарные операции
Тернарная условная операция имеет 3 аргумента и возвращает свой второй или третий операнд в зависимости от значения логического выражения, заданного первым операндом. Синтаксис тернарной операции в языке Си
условие ? выражение1 : выражение2;
Если выполняется условие, то тернарная операция возвращает выражение1, в противном случае - выражение2. Тернарные операции, как и операции условия, могут быть вложенными. Для разделения вложенных операций используются круглые скобки. Приведенный выше пример с использованием тернарных операций можно представить в виде
#include <stdio.h> #include <stdlib.h> int main() {
int key;
system("chcp 1251");
system("cls");
printf("Введите номер пункта, 1 или 2: ");
scanf("%d",&key);
key == 1 ? printf("\n Выбран первый пункт") :
(key==2 ? printf("\n Выбран второй пункт") :
printf("\n Первый и второй пункты не выбраны")) ;
getchar(); getchar(); }
Оператор ветвления switch
Оператор if позволяет осуществить выбор только между двумя вариантами. Для того, чтобы производить выбор одного из нескольких вариантов необходимо использовать вложенный оператор if. С этой же целью можно использовать оператор ветвления switch.
Общая форма записи
switch (целое выражение) {
case константа1: блок операций1;
break;
case константа2: блок операций2;
break; . . .
case константаn: блок операцийn;
break;
default: блок операций по умолчанию;
break; }
Оператор ветвления switch выполняется следующим образом:
вычисляется целочисленное выражение в скобках оператора switch;
полученное значение сравнивается с метками (константами) в опциях case, сравнение производится до тех пор, пока не будет найдена метка, соответствующая вычисленному значению целочисленного выражения;
выполняется оператор соответствующей метки case;
если соответствующая метка не найдена, то выполнится оператор в опции default.
Альтернатива default может отсутствовать, тогда не будет произведено никаких действий. Опция break; осуществляет выход из оператора switch и переход к следующему за ним оператору. При отсутствии опции break будут выполняться все операторы, начиная с помеченного данной меткой и кончая оператором в опции default. Константы в опциях case должны быть целого типа (могут быть символами).
Пример: Вывести день недели по его номеру
Операторы цикла в языке си
Главная > Язык Си > Операторы цикла в языке си
В языке Си реализованы три вида операторов цикла:
while - цикл с предусловием;
do...while - цикл с постусловием;
for - параметрический цикл (цикл с заданным числом повторений).
Цикл с предусловием while
Общая форма записи
while(выражение) {
блок операций; }
Если выражение истинно (не равно нулю), то выполняется блок операций, заключенный в фигурные скобки, затем выражение проверяется снова. Последовательность действий, состоящая из проверки и выполнения блока операций, повторяется до тех пор, пока выражение не станет ложным (равным нулю). При этом происходит выход из цикла, и производится выполнение операции, стоящей после оператора цикла.
Пример
int k=5; int i=1; int sum=0; while(i <=k) {
sum = sum + i;
i++; }
При построении цикла while, в него необходимо включить конструкции, изменяющие величину проверяемого выражения так, чтобы в конце концов оно стало ложным (равным нулю). Иначе выполнение цикла будет осуществляться бесконечно (бесконечный цикл), например
while(1) {
блок операций; }
while — цикл с предусловием, поэтому вполне возможно, что тело цикла не будет выполнено ни разу если в момент первой проверки проверяемое условие окажется ложным.
Пример
int k=5; int n=10; while(k>n) {
printf(" k=%d n=%d \n", k, n);
k = k + 2;
}
Цикл с постусловием do...while
Общая форма записи
do {
блок операций;
} while(выражение);
Цикл с постусловием
Цикл do...while — это цикл с постусловием, где истинность выражения проверяется после выполнения всех операций, включенных в блок, ограниченный фигурными скобками.Тело цикла выполняется до тех пор, пока выражение не станет ложным, то есть тело цикла с постусловием выполнится хотя бы один раз.
Использовать цикл do...while лучше использовать в тех случаях, когда должна быть выполнена хотя бы одна итерация, либо когда инициализация объектов, участвующих в проверке условия, происходит внутри тела цикла.
Пример. Ввести число от 0 до 10
#include <stdio.h> #include <stdlib.h> int main() {
int num;
system("chcp 1251");
system("cls");
do {
printf("Введите число от 0 до 10: ");
scanf("%d", &num);
} while((num < 0) || (num > 10));
printf("Вы ввели число %d", num);
getchar(); getchar();
return 0; }
Результат
работы программы:
