Основные конструкции языка программирования пример

10 главных конструкций языка C

Быстрый обзор основных конструкций языка C для тех, кто хочет разобраться в основах. Здесь вы встретите много очевидных и понятных конструкций, которые есть во многих языках, — это потому, что многие языки взяли эти конструкции как раз из языка C.

На самом деле в статье их 11, но 10 звучит лучше.

👉 Точка с запятой ставится после каждой команды.

Комментарии

Классические комментарии в C выглядят так:

/* Привет, это комментарий */
/* Его можно начинать на одной строчке
и продолжать на другой */

Есть ещё однострочные комментарии двумя слешами //, но бывают компиляторы, которые их не понимают.

Переменные и типы данных

Чтобы объявить переменную в C, нужно сначала указать её тип, а потом написать имя. Отдельного служебного слова для создания переменной в C нет.

В C есть разделение на короткие (short), обычные и длинные (long) переменные — на 2, 4 и 8 байт соответственно. Это нужно для экономии памяти, чтобы выделять ровно то количество байт, которое нужно для работы программы.

int i; /* целое число на 4 байта */ int x,y; /* две целочисленные переменные */ short int si; / *короткое целое число на 2 байта */ long int l; /* целое число на 8 байт */ char c; /* символьная переменная */ float f; /* дробная переменная на 4 байта */ double d; /* дробная переменная на 8 байт */ int a [10]; /* массив из 10 целых чисел */ struct str_name; /* структура из целого числа и символа */

Внешние файлы и директивы

Чтобы программа получила некоторые дополнительные возможности, которых нет в коде по умолчанию, используют директивы. Они обычно пишутся в начале программы и начинаются с символа решётки:

/* компилятор ищет файл prog.h в каталоге /usr/include и позволяет нам использовать команды из этого файла */ #include #ifdef i8088 /* если программа будет запущена на процессоре 8088, то выполнятся инструкции, написанные внутри этого блока */ #endif

Формат программы

В каждой программе на C должна быть функция main(), внутри которой размещается основной код. Большинство компиляторов требуют, чтобы мы указали тип этой функции — обычно можно использовать int (целочисленный) или void (пустой). Все остальные функции добавляются по желанию, но main() должна быть всегда.

#include /* основная функция */ void main() < /* содержимое функции */ >

Ввод и вывод

Для вывода используется команда printf():

/* подключаем библиотеку расширенного ввода-вывода */ #include /* основная функция */ void main() < /* объявляем целочисленную переменную */ int x; /* выводим только строку /* printf("Введите число: "); /* вводим число */ cin >> x; /* выводим строку и переменную */ /* u означает, что переменную нужно вывести как целое десятичное число без знака */ printf("Вы ввели %u", x); >

Если нужен ввод данных, то используют команду scanf():

/* подключаем библиотеку расширенного ввода-вывода */ #include /* основная функция */ void main() < /* объявляем переменные */ int h,m; /* выводим только строку /* printf("Введите время в формате чч:мм "); /* вводим время */ /* d означает, что мы ждём целое десятичное число */ scanf("%d:%d", &h, &m); >

Присваивание и сравнение

C использует классический подход:

один символ «равно» — присваивание

два символа «равно» — сравнение

Остальные операторы сравнения и логические операторы такие же, как и в других языках. Каждое сравнение берётся в скобки.

Условный оператор if

Тоже всё стандартно (потому что C во многом этот стандарт и создал):

if (условие) /* если условие верно, делаем что-то */
> else /* если условие неверно, делаем что-то другое */
>

Если блок с else не нужен, его можно не писать — короткий if тоже работает.

Оператор множественного выбора switch

Чтобы не плодить множество операторов if, когда нужно выбрать одно из нескольких значений, используют оператор switch:

#include int main() < short int day; printf("Введите номер дня недели"); scanf("%d", &day); /* если номер больше семи — берём целочисленный остаток от деления номера на 7 */ if (day >7) < day = day % 7; >/* выбираем день из вариантов ниже */ switch (day) < /* если день равен 0 */ case 1: printf("Понедельник"); /* выходим из дальнейших проверок */ break; case 2: printf("Вторник"); break; case 3: printf("Среда"); break; case 4: printf("Четверг"); break; case 5: printf("Пятница"); break; case 6: printf("Суббота"); break; /* если ни один вариант не подошёл */, default: printf("Воскресенье"); >>

Если не ставить команду break, то оператор будет продолжать выполнять остальные проверки, даже если найдёт совпадение по условию.

Цикл с предусловием for

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

int i; /* перебираем все числа от 1 до 100, увеличивая переменную на 1 на каждом шаге цикла */ for (i = 1; i < 101; i++) < /* выводим значения их квадратов */ printf("%d ", i*i); >

Особенность этого цикла в C в том, что он может работать и с дробными числами, например, увеличивать счётчик каждый раз на 0,1:

/* дробное число */ float num; /* идём от 5 до 0 и каждый раз уменьшаем число на 0,1 */ for (num = 5.0f; num > 0f; num -= 0.1) < /* выводим результат */ printf("%.2f ", num); >

Циклы while и do-while

Если вы заранее не знаете, сколько раз будет выполняться цикл, используйте while или do-while. Первый проверяет условия до начала цикла (и если там истина — выполняет его), а второй делает проверку в самом конце.

/* объявляем переменную и сразу присваиваем ей значение */ int i = 0; /* пока i меньше 10 – цикл работает */ while (i < 10) < printf("%d\n", i); /* обрабатываем переменную цикла */ i++; >/* сделаем то же самое, но с постусловием */ i = 0; /* сначала заходим в цикл */ do < printf("%d\n", i); i++; /* а в конце проверяем, идём на новый повтор или нет */ >while(i < 10);

В отличие от цикла for здесь программист сам должен следить за тем, чтобы цикл когда-нибудь прекратился. Если забыть изменить в теле цикла переменную, от которой зависит условие, то программа может зациклиться и зависнуть.

Функции

В языке C программист может объявить сколько угодно функций. Каждая функция объявляется так:

тип_результата название (аргументы) тело_функции
>

Если у функции нет аргументов, то ставят просто две скобки, а если есть, то нужно обязательно указать их тип:

#include /* объявляем функцию sqr */ float sqr(float x) < /* возвращаем квадрат переданного числа */ return x * x; >/* основная функция */ void main() < /* выводим строку и сразу вызываем функцию, которая вернёт нам квадрат числа*/ printf("Квадрат числа 4,2 равен %.3f", sqr(4.2f)); >

Классы, объекты и методы

В языке C такого нет. Если нужно ООП — используйте С++, про него будет в следующий раз.

Источник

Основные конструкции языка программирования

Мы уже затрагивали некоторые конструкции, когда изучали логические типы.

Наиболее распространенными конструкциями являются условия и циклы.

Циклы

Задача: необходимо вывести последовательность нечетных чисел: 1, 3, 5, 7, заканчивая на 99 (последнее число)

Давайте подумаем, как это можно сделать на Kotlin’е.

Сначала определимся с алгоритмом:

  1. Берем первое число 1
  2. Выводим число
  3. Берем следующее
  4. Проверяем, если число меньше 100, то возвращаемся на 2 шаг, в противном случае завершаем выполнение программы
// шаг первый: берем первое число var number = 1 while (number < 100) < // шаг четвертый: проверка // шаг второй: выводим число println(number + " ") // шаг третий: берем следующее number += 2 // >

Ничего страшного в этом нет, код на конкретном языке программирования может отличаться от алгоритма.

В данном случае мы используем конструкцию с while для которой нужно указывать условие в самом начале.

Та дам! Мы рассмотрели циклы!

Чтобы вам стало понятнее, давайте выведем ваше имя 1000 раз для простоты:

var number = 1 while (number

Можно еще проще написать с помощью конструкции for :

Условия

Задача следующая: У нас есть определенное количество денег, если денег больше 120 рублей мы купим шоколадку Milka иначе ничего покупать не будем

val money = 130 if (money > 120) < println("купить шоколадку Milka") >else

Запустите в Kotlin Playground или в IntelliJ IDEA:

Попробуйте поменять значение переменной money

Заключение

Как уже было отмечено, циклы и условия самые распространенные конструкции, которые вы будете часто использовать в программировании.

Если вы запутались и считаете, что все это слишком сложно, не огорчайтесь.

Попробуйте понять на следующем примере:

У нас есть мобильное приложение “список дел”.

Начнем с того, что пользователь может создать 5, 10 и больше элементов в списке и поэтому нам нужно использовать цикл, чтобы пройтись по всем элементам и вывести их на экран.

Далее, у нас могут быть два списка: в первом: текущие дела, во втором: уже выполненные, поэтому нам нужно добавить условия, которое будет проверять выполнено дело или нет.

Надеюсь, у вас появилась общая картина в голове.

  1. Цикл - повторение кода определенное количество раз, также бывают бесконечные циклы, которые никогда не завершаются
  2. Условие - выполнение кода в зависимости от определенного условия

Источник

Читайте также:  Came zbx74 78 программирование пультов
Оцените статью