Компьютерное программирование - Краткое руководство

Компьютерное программирование - Обзор

Введение в компьютерную программу

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

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

Два важных термина, которые мы использовали в приведенном выше определении:

  • Последовательность инструкций
  • Язык компьютерного программирования

Чтобы понять эти термины, рассмотрим ситуацию, когда кто-то спрашивает вас о том, как пройти в ближайший KFC. Что именно вы делаете, чтобы рассказать ему путь в KFC?

Вы будете использовать Human Language, чтобы указать путь к KFC, примерно так:

Сначала идите прямо, через пол километра, поверните налево от красного света, а затем проезжайте около километра, и вы найдете KFC справа.

Здесь вы использовали английский язык, чтобы сделать несколько шагов, чтобы достичь KFC. Если они выполняются в следующей последовательности, то вы достигнете KFC -

1.	Go straight
2.	Drive half kilometer
3.	Take left
4.	Drive around one kilometer
5.	Search for KFC at your right side

Теперь попробуйте сопоставить ситуацию с компьютерной программой. Приведенная выше последовательность инструкций на самом деле является программой Human Human, написанной на английском языке , которая инструктирует, как достичь KFC с заданной начальной точки. Та же самая последовательность могла бы быть дана на испанском, хинди, арабском или любом другом человеческом языке, при условии, что человек, ищущий направление, знает любой из этих языков.

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

print "Hello, World!"

Вышеуказанная компьютерная программа дает команду компьютеру распечатать «Hello, World!» на экране компьютера.

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

  • Инструкции компьютерных программ также называются исходным кодом программы, а компьютерное программирование также называется программным кодированием .

  • Компьютер без компьютерной программы - это просто ящик для мусора; это программы, которые делают компьютеры активными.

Поскольку мы разработали так много языков для общения между собой, ученые-компьютерщики разработали несколько языков программирования для компьютерных инструкций (например, для написания компьютерных программ). Мы увидим несколько языков программирования в следующих главах.

Введение в компьютерное программирование

Если вы поняли, что такое компьютерная программа , мы скажем: написание компьютерных программ называется компьютерным программированием.

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

  • Джава
  • С
  • C ++
  • питон
  • PHP
  • Perl
  • Рубин

Использование компьютерных программ

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

  • MS Word, MS Excel, Adobe Photoshop, Internet Explorer, Chrome и т. Д., Являются примерами компьютерных программ.

  • Компьютерные программы используются для разработки графики и спецэффектов при создании фильмов.

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

  • Компьютерные программы используются в наших мобильных телефонах для SMS, чата и голосовой связи.

Компьютерный программист

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

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

  • C Программист
  • C ++ Programmer
  • Java программист
  • Программист Python
  • PHP программист
  • Perl Programmer
  • Ruby Programmer

Алгоритм

С точки зрения программирования, алгоритм - это пошаговая процедура для решения любой проблемы. Алгоритм - это эффективный метод, выраженный в виде конечного набора четко определенных инструкций.

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

1. Get a list of numbers L 1 , L 2 , L 3 ....L N
2. Assume L 1 is the largest, Largest = L 1
3. Take next number L i from the list and do the following
4. If Largest is less than L i
5. Largest = L i
6. If L i is last number from the list then
7. Print value stored in Largest and come out
8. Else repeat same process starting from step 3

Вышеупомянутый алгоритм был написан в грубой форме, чтобы помочь начинающим понять концепцию. Вы столкнетесь с более стандартизированными способами написания компьютерных алгоритмов при переходе на продвинутые уровни компьютерного программирования.

Компьютерное программирование - основы

Мы предполагаем, что вы хорошо знаете английский язык, который является общеизвестным языком человеческого интерфейса . У английского языка есть предопределенная грамматика, которой нужно следовать, чтобы написать английские заявления правильным способом. Аналогично, большинство языков интерфейса человека (хинди, английский, испанский, французский и т. Д.) Состоят из нескольких элементов, таких как глаголы, существительные, прилагательные, наречия, суждения и союзы и т. Д.

Подобно языкам человеческого интерфейса, языки программирования также состоят из нескольких элементов. Мы познакомим вас с основами этих элементов и сделаем так, чтобы вам было удобно использовать их на разных языках программирования. Эти основные элементы включают в себя -

  • Среда программирования
  • Основной синтаксис
  • Типы данных
  • переменные
  • Ключевые слова
  • Основные операторы
  • Принимать решение
  • Loops
  • чисел
  • Персонажи
  • Массивы
  • Струны
  • функции
  • Файловый ввод / вывод

Мы объясним все эти элементы в последующих главах с примерами, использующими разные языки программирования. Сначала мы попытаемся понять значение всех этих терминов в целом, а затем мы увидим, как эти термины могут использоваться в разных языках программирования.

Этот учебник был разработан, чтобы дать вам представление о следующих наиболее популярных языках программирования -

  • Программирование на С
  • Java программирование
  • Программирование на Python

Большая часть учебного пособия была объяснена тем, что в качестве языка программирования был выбран язык C, а затем мы показали, как схожие концепции работают в Java и Python. Поэтому после завершения этого урока вы будете хорошо знакомы с этими популярными языками программирования.

Компьютерное программирование - Окружающая среда

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

Когда мы говорим «Настройка среды», это просто подразумевает основу, на которой мы можем программировать. Таким образом, нам необходима необходимая настройка программного обеспечения, т.е. установка на нашем ПК, которая будет использоваться для написания компьютерных программ, их компиляции и выполнения. Например, если вам нужно просматривать Интернет, вам понадобится следующая настройка на вашем компьютере -

  • Работающее интернет-соединение для подключения к интернету
  • Веб-браузер, такой как Internet Explorer, Chrome, Safari и т. Д.

Если вы являетесь пользователем ПК, то вы узнаете следующий снимок экрана, который мы взяли из Internet Explorer при просмотре it-brain.online.

Internet Explorer

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

  • Текстовый редактор для создания компьютерных программ.
  • Компилятор для компиляции программ в двоичном формате.
  • Переводчик для непосредственного выполнения программ.

Если вы не имеете достаточного доступа к компьютерам, вы не сможете установить ни одно из этих программ. Поэтому мы предлагаем вам обратиться за помощью к любому техническому специалисту, чтобы настроить среду программирования на вашем компьютере, откуда вы можете начать. Но для вас важно понять, что это за предметы.

Текстовый редактор

Текстовый редактор - это программное обеспечение, которое используется для написания компьютерных программ. На вашем компьютере с Windows должен быть блокнот, который можно использовать для ввода программ. Вы можете запустить его, выполнив следующие действия -

Start Icon → All Programs → Accessories → Notepad → Mouse Click on Notepad

Он запустит Блокнот со следующим окном -

Блокнот

Вы можете использовать это программное обеспечение, чтобы напечатать свою компьютерную программу и сохранить ее в файле в любом месте. Вы можете скачать и установить другие хорошие редакторы, такие как Notepad ++ , который находится в свободном доступе.

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

Компилятор?

Вы пишете свою компьютерную программу, используя свой любимый язык программирования, и сохраняете ее в текстовом файле, который называется программным файлом.

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

Преобразование из текстовой программы в двоичный файл выполняется другим программным обеспечением под названием Compiler, и этот процесс преобразования из текстовой программы в файл двоичного формата называется программной компиляцией. Наконец, вы можете выполнить двоичный файл для выполнения запрограммированной задачи.

Мы не будем вдаваться в подробности компилятора и различные этапы компиляции.

Следующая схема показывает иллюстрацию процесса -

составитель

Итак, если вы собираетесь писать свою программу на любом таком языке, который требует компиляции, например C, C ++, Java, Pascal и т. Д., То вам нужно будет установить их компиляторы перед началом программирования.

переводчик

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

Существуют и другие языки программирования, такие как Python, PHP и Perl, которые не нуждаются в какой-либо компиляции в двоичном формате. Вместо этого можно использовать интерпретатор, чтобы построчно читать такие программы и выполнять их напрямую без дальнейшего преобразования.

переводчик

Итак, если вы собираетесь писать свои программы на PHP, Python, Perl, Ruby и т. Д., То вам нужно будет установить их интерпретаторы перед началом программирования.

Онлайн компиляция

Если вы не можете настроить какой-либо редактор, компилятор или интерпретатор на своем компьютере, то it-brain.online предоставляет возможность компилировать и запускать практически все программы в режиме онлайн одним щелчком мыши.

Так что не волнуйтесь, и давайте продолжим, чтобы стать программистом простым и легким шагом.

Компьютерное программирование - основной синтаксис

Давайте начнем с небольшого кода, который действительно сделает вас программистом. Мы собираемся написать однострочную компьютерную программу для написания Hello, World! на вашем экране. Посмотрим, как это можно написать с использованием разных языков программирования.

Программа Hello World на C

Попробуйте следующий пример, используя наш онлайн вариант компилятора, доступный на www.compileonline.com .

Для большинства примеров, приведенных в этом руководстве, вы найдете опцию Try it в разделах кода нашего сайта в верхнем правом углу, которые приведут вас к онлайн-компилятору.

Попробуйте изменить содержимое внутри printf (), т.е. напишите что-нибудь вместо Hello World! а затем проверьте его результат. Он просто печатает все, что вы храните внутри двух двойных кавычек.

#include <stdio.h>

int main() {
   /* printf() function to write Hello, World! */
   printf( "Hello, World!" );
}

который дает следующий результат -

Hello, World!

Эта маленькая программа Hello World поможет нам понять различные основные понятия, связанные с программированием на C.

Точка входа в программу

А пока, просто забудьте об операторе #include <stdio.h> , но имейте в виду, что вы должны поместить этот оператор в начало C-программы.

Каждая программа на C начинается с main (), которая называется главной функцией, а затем за ней следует левая фигурная скобка. Остальная часть инструкции программы написана между ними, и, наконец, правая фигурная скобка завершает программу.

Часть кода внутри этих двух фигурных скобок называется телом программы. Левая фигурная скобка может находиться в той же строке, что и main () {или в следующей строке, как было упомянуто в приведенной выше программе.

функции

Функции представляют собой небольшие блоки программ, и они используются для выполнения конкретной задачи. Например, вышеуказанная программа использует две функции: main () и printf () . Здесь функция main () обеспечивает точку входа для выполнения программы, а другая функция printf () используется для печати информации на экране компьютера.

Вы можете написать свои собственные функции, которые мы увидим в отдельной главе, но само программирование на C предоставляет различные встроенные функции, такие как main (), printf () и т. Д., Которые мы можем использовать в наших программах в соответствии с нашими требованиями.

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

Комментарии

Программа AC может иметь операторы, заключенные в /*.....*/ . Такие заявления называются комментариями, и эти комментарии используются для того, чтобы сделать программы удобными для пользователя и легкими для понимания. Что хорошо в комментариях, так это то, что они полностью игнорируются компиляторами и интерпретаторами. Таким образом, вы можете использовать любой язык, который вы хотите написать свои комментарии.

Пробелы

Когда мы пишем программу на любом языке программирования, мы используем различные печатные символы для подготовки операторов программирования. Эти печатные символы: a, b, c, ...... z, A, B, C, ..... Z, 1, 2, 3, ...... 0,!, @, # , $,%, ^, &, *, (,), -, _, +, =, \, |, {,}, [,],:,;, <,>,?, /, \, ~ , `. ", ' . Надеюсь, я не пропускаю печатные символы с вашей клавиатуры.

Помимо этих символов, есть некоторые символы, которые мы используем очень часто, но они невидимы в вашей программе, и это символы пробелов, табуляции (\ t), новых строк (\ n). Эти символы называются пробелами .

Эти три важных пробельных символа являются общими для всех языков программирования, и они остаются невидимыми в вашем текстовом документе -

Пробелы объяснение Представление
Новая линия Создать новую линию \ п
табуляция Создать вкладку. \ т
Космос Чтобы создать пространство. пустое пространство

Строка, содержащая только пробел, возможно, с комментарием, называется пустой строкой, и компилятор C полностью игнорирует ее. Пробел - это термин, используемый в C для описания пробелов, вкладок, символов новой строки и комментариев. Таким образом, вы можете написать printf («Привет, мир!»); как показано ниже. Здесь все созданные пространства вокруг "Hello, World!" бесполезны, и компилятор будет игнорировать их во время компиляции.

#include <stdio.h>

int main() {

   /* printf() function to write Hello, World! */
   
   printf(    "Hello, World!"      );
   
}

который дает следующий результат -

Hello, World!

Если мы сделаем все эти пробельные символы видимыми, то приведенная выше программа будет выглядеть так, и вы не сможете ее скомпилировать -

#include <stdio.h>\n
\n
int main()\n
{
   \n
   \t/* printf() function to write Hello, World! */
   \n 
   \tprintf(\t"Hello, World!"\t);\n
   \n
}\n

Точка с запятой

Каждый отдельный оператор в Программе на Си должен заканчиваться точкой с запятой ( ; ), например, если вы хотите написать «Hello, World!» дважды, тогда будет написано следующее -

#include <stdio.h>

int main() {
   /* printf() function to write Hello, World! */
   printf( "Hello, World!\n" );
   printf( "Hello, World!" );
}

Эта программа даст следующий результат -

Hello, World! 
Hello, World!

Здесь мы используем символ новой строки \ n в первой функции printf () для создания новой строки. Давайте посмотрим, что произойдет, если мы не будем использовать этот символ новой строки -

#include <stdio.h>

int main() {
   /* printf() function to write Hello, World! */
   printf( "Hello, World!" );
   printf( "Hello, World!" );
}

Эта программа даст следующий результат -

Hello, World! Hello, World!

Мы изучим идентификаторы и ключевые слова в следующих нескольких главах.

Объяснение программы

Давайте разберемся, как работает вышеуказанная C-программа. Прежде всего, вышеуказанная программа конвертируется в двоичный формат с использованием компилятора Си. Итак, давайте поместим этот код в файл test.c и скомпилируем его следующим образом:

$gcc test.c -o demo

Если есть какая-либо грамматическая ошибка (синтаксические ошибки в компьютерной терминологии), то мы исправляем ее перед преобразованием в двоичный формат. Если все идет хорошо, он создает двоичный файл с именем demo . Наконец, мы выполняем созданную двоичную демонстрацию следующим образом:

$./demo

который дает следующий результат -

Hello, World!

Здесь, когда мы выполняем двоичный файл a.out , компьютер входит в программу, начиная с main (), и встречает оператор printf (). Имейте в виду, что строка внутри /*....*/ является комментарием и фильтруется во время компиляции. Поэтому функция printf () дает команду компьютеру распечатать данную строку на экране компьютера. Наконец, он встречает правую фигурную скобку, которая указывает конец функции main () и выходит из программы.

Синтаксическая ошибка

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

#include <stdio.h>

main() {
   printf("Hello, World!")
}

Эта программа даст следующий результат -

main.c: In function 'main':
main.c:7:1: error: expected ';' before '}' token
 }
 ^

Итак, суть в том, что если вы не соблюдаете правильный синтаксис, определенный языком программирования в вашей программе, вы получите синтаксические ошибки. Перед попыткой другой компиляции вам нужно будет исправить их и продолжить.

Программа Hello World на Java

Ниже приводится эквивалентная программа, написанная на Java. Эта программа также даст тот же результат Hello, World! ,

public class HelloWorld { 
   public static void main(String []args) {
      /* println() function to write Hello, World! */
      System.out.println("Hello, World!");     
   }
}

который дает следующий результат -

Hello, World!

Программа Hello World на Python

Ниже приводится эквивалентная программа, написанная на Python. Эта программа также даст тот же результат Hello, World! ,

#  print function to write Hello, World! */
print "Hello, World!"

который дает следующий результат -

Hello, World!

Надеюсь, вы заметили, что для примеров на C и Java сначала мы компилируем программы, а затем выполняем созданные двоичные файлы, но в программе Python мы выполняем их напрямую. Как мы объясняли в предыдущей главе, Python является интерпретируемым языком, и ему не требуется промежуточный этап, называемый компиляцией.

Python не требует точки с запятой (;) для завершения оператора, скорее новая строка всегда означает завершение оператора.

Компьютерное программирование - типы данных

Давайте поговорим об очень простой, но очень важной концепции, доступной почти во всех языках программирования, которая называется типами данных . Как видно из названия, тип данных представляет собой тип данных, которые вы можете обрабатывать с помощью своей компьютерной программы. Это может быть числовой, буквенно-цифровой, десятичный и т. Д.

Давайте на некоторое время отложим компьютерное программирование и рассмотрим простой пример добавления двух целых чисел 10 и 20, что можно сделать просто следующим образом:

10 + 20

Давайте возьмем другую проблему, где мы хотим добавить два десятичных числа 10.50 и 20.50, которые будут записаны следующим образом:

10.50 + 20.50

Два примера просты. Теперь давайте возьмем другой пример, где мы хотим записать информацию о студентах в тетрадь. Здесь мы хотели бы записать следующую информацию -

Name:
Class:
Section:
Age:
Sex:

Теперь давайте поместим одну запись студента в соответствии с данным требованием -

Name: Zara Ali
Class: 6th
Section: J
Age: 13
Sex: F

В первом примере рассматриваются целые числа, во втором добавляются два десятичных числа, а в третьем - смешанные данные. Скажем так:

  • Имя ученика «Зара Али» - это последовательность символов, которая также называется строкой.

  • Студенческий класс "6-й" был представлен комбинацией целого числа и строки из двух символов. Такая смесь называется буквенно-цифровой.

  • Студенческая секция была представлена одним символом «J».

  • Возраст ученика был представлен целым числом, равным 13.

  • Студенческий секс был представлен одним символом «F».

Таким образом, мы поняли, что в нашей повседневной жизни мы имеем дело с различными типами данных, такими как строки, символы, целые числа (целые числа) и десятичные числа (числа с плавающей запятой).

Точно так же, когда мы пишем компьютерную программу для обработки различных типов данных, нам необходимо четко указать ее тип; в противном случае компьютер не понимает, как можно выполнять различные операции с данными данными. Различные языки программирования используют разные ключевые слова для определения разных типов данных. Например, языки программирования C и Java используют int для указания целочисленных данных, тогда как char указывает символьный тип данных.

В следующих главах будет показано, как использовать разные типы данных в разных ситуациях. А пока давайте проверим важные типы данных, доступные в C, Java и Python, и ключевые слова, которые мы будем использовать для определения этих типов данных.

Типы данных C и Java

C и Java поддерживают практически одинаковый набор типов данных, хотя Java поддерживает дополнительные типы данных. На данный момент мы берем несколько общих типов данных, поддерживаемых обоими языками программирования -

Тип Ключевое слово Диапазон значений, который может быть представлен этим типом данных
символ голец От -128 до 127 или от 0 до 255
номер ИНТ От -32 768 до 32 767 или от -2 147 483 648 до 2 147 483 647
Малый номер короткая От -32 768 до 32 767
Длинный номер длинная От -2 147 483 648 до 2 147 483 647
Десятичное число поплавок 1,2E-38 до 3,4E + 38 до 6 десятичных знаков

Эти типы данных называются примитивными типами данных, и вы можете использовать эти типы данных для создания более сложных типов данных, которые называются пользовательскими типами данных, например, строка будет представлять собой последовательность символов.

Типы данных Python

Python имеет пять стандартных типов данных, но этот язык программирования не использует ни одного ключевого слова для указания конкретного типа данных, скорее, Python достаточно умен, чтобы автоматически понимать данный тип данных.

  • чисел
  • строка
  • Список
  • Кортеж
  • Словарь

Здесь Number указывает все типы чисел, включая десятичные числа, а строка представляет собой последовательность символов длиной 1 или более символов. А сейчас давайте продолжим с этими двумя типами данных и пропустим List, Tuple и Dictionary, которые являются продвинутыми типами данных в Python.

Компьютерное программирование - переменные

Переменные - это имена, которые вы задаете в ячейках памяти компьютера, которые используются для хранения значений в компьютерной программе.

Например, предположим, что вы хотите сохранить два значения 10 и 20 в своей программе, и на более позднем этапе вы захотите использовать эти два значения. Посмотрим, как вы это сделаете. Вот следующие три простых шага -

  • Создайте переменные с соответствующими именами.
  • Сохраните ваши значения в этих двух переменных.
  • Получить и использовать сохраненные значения из переменных.

Создание переменных

Создание переменных также называется объявлением переменных в C-программировании. Разные языки программирования имеют разные способы создания переменных внутри программы. Например, программирование на С имеет следующий простой способ создания переменных:

#include <stdio.h>

int main() {
   int a;
   int b;
}

Приведенная выше программа создает две переменные для резервирования двух ячеек памяти с именами a и b . Мы создали эти переменные, используя ключевое слово int для указания типа данных переменной, что означает, что мы хотим хранить целочисленные значения в этих двух переменных. Точно так же вы можете создавать переменные для хранения данных типа long , float , char или любого другого типа. Например -

/* variable to store long value */
long a;

/* variable to store float value */
float b;

Вы можете создавать переменные аналогичного типа, помещая их в одну строку, но разделяя их запятыми следующим образом:

#include <stdio.h>

int main() {
   int a, b;
}

Ниже перечислены ключевые моменты о переменных, которые вы должны иметь в виду -

  • Имя переменной может содержать значение одного типа. Например, если для переменной a был определен тип int , то в нем может храниться только целое число.

  • Язык программирования C требует создания переменной, т. Е. Объявления перед ее использованием в вашей программе. Вы не можете использовать имя переменной в вашей программе без ее создания, хотя язык программирования, такой как Python, позволяет вам использовать имя переменной без ее создания.

  • Вы можете использовать имя переменной только один раз внутри вашей программы. Например, если переменная a была определена для хранения целочисленного значения, вы не можете снова определить a для хранения любого другого типа значения.

  • Существуют языки программирования, такие как Python, PHP, Perl и т. Д., Которые не хотят указывать тип данных во время создания переменных. Таким образом, вы можете хранить целочисленные, плавающие или длинные значения без указания их типа данных.

  • Вы можете дать любое имя переменной, например, возраст , пол , зарплата , год1990 или что-либо еще, что вы хотите дать, но большинство языков программирования позволяют использовать только ограниченные символы в именах переменных. Сейчас мы предложим использовать только имена .... a, z, A .... Z, 0 .... 9 в именах переменных и начинать их имена, используя только алфавиты вместо цифр.

  • Почти ни один из языков программирования не позволяет начинать имена своих переменных с цифры, поэтому 1990 год не будет допустимым именем переменной, тогда как year1990 или ye1990ar являются допустимыми именами переменных.

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

Хранить значения в переменных

Вы видели, как мы создали переменные в предыдущем разделе. Теперь давайте сохраним некоторые значения в этих переменных -

#include <stdio.h>

int main() {
   int a;
   int b;
   
   a = 10;
   b = 20;
}

Вышеупомянутая программа имеет два дополнительных оператора, где мы храним 10 в переменной a, а 20 хранится в переменной b . Почти все языки программирования имеют одинаковый способ хранения значений в переменной, где мы сохраняем имя переменной в левой части знака равенства = и любое значение, которое мы хотим сохранить в переменной, мы сохраняем это значение в правой части.

Теперь мы выполнили два шага, сначала мы создали две переменные, а затем сохранили необходимые значения в этих переменных. Теперь переменная a имеет значение 10, а переменная b имеет значение 20. Другими словами, мы можем сказать, что при выполнении вышеуказанной программы ячейка памяти с именем a будет содержать 10, а ячейка памяти b - 20.

Доступ к сохраненным значениям в переменных

Если мы не используем хранимые значения в переменных, то нет смысла создавать переменные и сохранять в них значения. Мы знаем, что в вышеуказанной программе есть две переменные a и b, и они хранят значения 10 и 20 соответственно. Итак, давайте попробуем напечатать значения, хранящиеся в этих двух переменных. Далее следует программа на C, которая печатает значения, хранящиеся в ее переменных.

#include <stdio.h>

int main() {
   int a;
   int b;
   
   a = 10;
   b = 20;
   
   printf( "Value of a = %d\n", a );
   printf( "Value of b = %d\n", b );
}

Когда вышеуказанная программа выполняется, она дает следующий результат -

Value of a = 10
Value of b = 20

Вы, наверное, видели функцию printf () в предыдущей главе, где мы использовали ее для печати «Hello, World!». На этот раз мы используем его для печати значений переменных. Мы используем % d , который будет заменен значениями данной переменной в инструкциях printf (). Мы можем вывести оба значения с помощью одного оператора printf () следующим образом:

#include <stdio.h>

int main() {
   int a;
   int b;
   
   a = 10;
   b = 20;
   
   printf( "Value of a = %d and value of b = %d\n", a, b );
}

Когда вышеуказанная программа выполняется, она дает следующий результат -

Value of a = 10 and value of b = 20

Если вы хотите использовать переменную с плавающей точкой в программировании на C, то вам придется использовать % f вместо % d , а если вы хотите напечатать символьное значение, вам придется использовать % c . Аналогично, разные типы данных могут быть напечатаны с использованием разных% и символов.

Переменные в Java

Ниже приводится эквивалентная программа, написанная на языке программирования Java. Эта программа создаст две переменные a и b и очень похожа на программирование на C, она назначит 10 и 20 в этих переменных и, наконец, выведет значения двух переменных двумя способами:

public class DemoJava {
   public static void main(String []args) {
      int a;
      int b;
   
      a = 10;
      b = 20;
   
      System.out.println("Value of a = " + a);
      System.out.println("Value of b = " + b);
      System.out.println("Value of a = " + a + " and value of b = " + b);     
   }
}

Когда вышеуказанная программа выполняется, она дает следующий результат -

Value of a = 10
Value of b = 20
Value of a = 10 and value of b = 20

Переменные в Python

Ниже приводится эквивалентная программа, написанная на Python. Эта программа создаст две переменные a и b и одновременно назначит 10 и 20 в этих переменных.

Python не хочет, чтобы вы указывали тип данных во время создания переменной, и нет необходимости создавать переменные заранее.

a = 10
b = 20
   
print "Value of a = ", a
print "Value of b = ", b
print "Value of a = ", a, " and value of b = ", b

Когда вышеуказанная программа выполняется, она дает следующий результат -

Value of a =  10
Value of b =  20
Value of a =  10  and value of b =  20

Вы можете использовать следующий синтаксис в программировании на C и Java для объявления переменных и одновременного присвоения значений:

#include <stdio.h>

int main() {
   int a = 10;
   int b = 20;
   
   printf( "Value of a = %d and value of b = %d\n", a, b );
}

Когда вышеуказанная программа выполняется, она дает следующий результат -

Value of a = 10 and value of b = 20

Компьютерное программирование - Ключевые слова

До сих пор мы рассмотрели две важные концепции, называемые переменными и их типами данных. Мы обсудили, как использовать int , long и float для указания разных типов данных. Мы также узнали, как называть переменные для хранения разных значений.

Хотя эта глава не требуется отдельно, поскольку зарезервированные ключевые слова являются частью основного синтаксиса программирования, мы разделили ее, чтобы объяснить ее сразу после типов данных и переменных, чтобы облегчить понимание.

Как и int, long и float, есть много других ключевых слов, поддерживаемых языком программирования C, которые мы будем использовать для разных целей. Разные языки программирования предоставляют разный набор зарезервированных ключевых слов, но во всех языках программирования существует одно важное и общее правило, согласно которому мы не можем использовать зарезервированное ключевое слово для именования наших переменных, что означает, что мы не можем назвать нашу переменную как int или float, скорее, эти ключевые слова могут использоваться только для указания типа данных переменной.

Например, если вы попытаетесь использовать любое зарезервированное ключевое слово для имени переменной, вы получите синтаксическую ошибку.

#include <stdio.h>

int main() {
   int float;
   float = 10;
   
   printf( "Value of float = %d\n", float);
}

Когда вы компилируете вышеуказанную программу, она выдает следующую ошибку:

main.c: In function 'main':
main.c:5:8: error: two or more data types in declaration specifiers
   int float;
......

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

#include <stdio.h>

int main() {
   int count;
   count = 10;

   printf( "Value of count = %d\n", count);
}

Программирование на C Зарезервированные Ключевые слова

Вот таблица, содержащая почти все ключевые слова, поддерживаемые языком программирования C -

авто еще длинная переключатель
перемена перечисление регистр ЬурейеЕ
кейс внешний возвращение союз
голец поплавок короткая неподписанный
Const за подписанный недействительным
Продолжить перейти к размер летучий
дефолт если статический пока
делать ИНТ структура _Packed
двойной

Java программирование зарезервированные ключевые слова

Вот таблица, содержащая почти все ключевые слова, поддерживаемые языком программирования Java -

абстрактный утверждают логический перемена
байт кейс поймать голец
учебный класс Const Продолжить дефолт
делать двойной еще перечисление
продолжается окончательный наконец поплавок
за перейти к если инвентарь
импорт случай ИНТ интерфейс
длинная родной новый пакет
частный защищенный общественности возвращение
короткая статический strictfp супер
переключатель синхронизированный это бросать
бросает преходящий пытаться недействительным
летучий пока

Программирование на Python зарезервированные ключевые слова

Вот таблица, содержащая почти все ключевые слова, поддерживаемые языком программирования Python -

и Exec не
утверждают наконец или
перемена за проходят
учебный класс из Распечатать
Продолжить Глобальный повышение
Защита если возвращение
дель импорт пытаться
Элиф в пока
еще является с
Кроме лямбда Уступать

Мы знаем, что вы не можете запомнить все эти ключевые слова, но мы перечислили их для вашей справочной цели и объяснения концепции зарезервированных ключевых слов . Так что будьте осторожны, когда даете имя своей переменной, не используйте зарезервированное ключевое слово для этого языка программирования.

Компьютерное программирование - операторы

Оператор в языке программирования - это символ, который указывает компилятору или интерпретатору выполнить определенную математическую, реляционную или логическую операцию и получить конечный результат. В этой главе будет объяснено понятие операторов, и вы познакомитесь с важными арифметическими и реляционными операторами, доступными в C, Java и Python.

Арифметические Операторы

Компьютерные программы широко используются для математических расчетов. Мы можем написать компьютерную программу, которая может выполнять простые вычисления, такие как сложение двух чисел (2 + 3), и мы также можем написать программу, которая может решить сложное уравнение, такое как P (x) = x 4 + 7x 3 - 5x + 9. Если вы даже были плохим учеником, вы должны знать, что в первом выражении 2 и 3 - операнды, а + - оператор. Подобные понятия существуют в компьютерном программировании.

Взгляните на следующие два примера -

2 + 3

P(x) = x 4 + 7x 3 - 5x + 9. 

Эти два утверждения называются арифметическими выражениями на языке программирования, и плюс , минус, используемый в этих выражениях, называется арифметическими операторами, а значения, используемые в этих выражениях, такие как 2, 3 и x и т. Д., Называются операндами. В простейшем виде такие выражения дают численные результаты.

Точно так же язык программирования предоставляет различные арифметические операторы. В следующей таблице перечислены некоторые важные арифметические операторы, доступные на языке программирования Си. Предположим, что переменная A содержит 10, а переменная B содержит 20, тогда -

оператор Описание пример
+ Добавляет два операнда А + Б даст 30
- Вычитает второй операнд из первого A - B даст -10
* Умножает оба операнда А * Б даст 200
/ Делит числитель на числитель Б / у даст 2
% Это дает остаток от целочисленного деления B% A даст 0

Ниже приведен простой пример программирования на C для понимания вышеприведенных математических операторов:

#include <stdio.h>

int main() {
   int a, b, c;
   
   a = 10;
   b = 20;
   
   c = a + b;   
   printf( "Value of c = %d\n", c);
   
   c = a - b;   
   printf( "Value of c = %d\n", c);
   
   c = a * b;   
   printf( "Value of c = %d\n", c);
   
   c = b / a;   
   printf( "Value of c = %d\n", c);
   
   c = b % a;   
   printf( "Value of c = %d\n", c);
}

Когда вышеуказанная программа выполняется, она дает следующий результат -

Value of c = 30
Value of c = -10
Value of c = 200
Value of c = 2
Value of c = 0

Операторы отношений

Рассмотрим ситуацию, когда мы создаем две переменные и присваиваем им некоторые значения следующим образом:

A = 20
B = 10

Здесь очевидно, что переменная A больше, чем B по значениям. Итак, нам нужна помощь некоторых символов для написания таких выражений, которые называются реляционными выражениями. Если мы используем язык программирования C, то он будет записан следующим образом:

(A > B)

Здесь мы использовали символ>, и он называется реляционным оператором, и в простейшем виде они выдают логические результаты, что означает, что результат будет либо истинным, либо ложным. Точно так же язык программирования предоставляет различные реляционные операторы. В следующей таблице перечислены некоторые важные реляционные операторы, доступные в языке программирования C. Предположим, что переменная A содержит 10, а переменная B содержит 20, тогда -

оператор Описание пример
== Проверяет, равны ли значения двух операндов или нет, если да, тогда условие становится истинным. (A == B) не соответствует действительности.
знак равно Проверяет, равны ли значения двух операндов или нет, если значения не равны, тогда условие становится истинным. (A! = B) верно.
> Проверяет, больше ли значение левого операнда, чем значение правого операнда, если да, тогда условие становится истинным. (A> B) не соответствует действительности.
< Проверяет, меньше ли значение левого операнда, чем значение правого операнда, если да, тогда условие становится истинным. (A <B) верно.
> = Проверяет, больше ли значение левого операнда или равно значению правого операнда, если да, тогда условие становится истинным. (A> = B) не соответствует действительности.
<= Проверяет, меньше ли значение левого операнда или равно значению правого операнда, если да, тогда условие становится истинным. (A <= B) верно.

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

#include <stdio.h>

int main() {
   int a, b;
   
   a = 10;
   b = 20;
   
   /* Here we check whether a is equal to 10 or not */
   if( a == 10 ) {
	   
      /* if a is equal to 10 then this body will be executed */
      printf( "a is equal to 10\n");
   }
   
   /* Here we check whether b is equal to 10 or not */
   if( b == 10 ) {
	
      /* if b is equal to 10 then this body will be executed */
      printf( "b is equal to 10\n");
   }
   
   /* Here we check if a is less b than or not */
   if( a < b ) {
	
      /* if a is less than b then this body will be executed */
      printf( "a is less than b\n");
   }
   
   /* Here we check whether a and b are not equal */
   if( a != b ) {
	
      /* if a is not equal to b then this body will be executed */
      printf( "a is not equal to b\n");
   }
}

Когда вышеуказанная программа выполняется, она дает следующий результат -

a is equal to 10
a is less than b
a is not equal to b

Логические Операторы

Логические операторы очень важны в любом языке программирования, и они помогают нам принимать решения, основанные на определенных условиях. Предположим, мы хотим объединить результат двух условий, тогда логические операторы И и ИЛИ помогают нам в получении конечного результата.

В следующей таблице показаны все логические операторы, поддерживаемые языком Си. Предположим, что переменная A содержит 1, а переменная B содержит 0, тогда -

оператор Описание пример
&& Вызывается логическим и оператором. Если оба операнда отличны от нуля, условие становится истинным. (A && B) неверно.
|| Вызывается оператор логического ИЛИ. Если любой из двух операндов отличен от нуля, условие становится истинным. (A || B) верно.
! Вызывается логическим оператором НЕ. Используйте для изменения логического состояния своего операнда. Если условие истинно, то оператор Логический НЕ будет делать ложь. ! (A && B) верно.

Попробуйте следующий пример, чтобы понять все логические операторы, доступные на языке программирования C -

#include <stdio.h>

int main() {
   int a = 1;
   int b = 0;

   if ( a && b ) {
	
      printf("This will never print because condition is false\n" );
   }
   if ( a || b ) {
	
      printf("This will be printed print because condition is true\n" );
   }
   if ( !(a && b) ) {
	
      printf("This will be printed print because condition is true\n" );
   }
}

Когда вы компилируете и запускаете вышеуказанную программу, она дает следующий результат -

This will be printed print because condition is true
This will be printed print because condition is true

Операторы в Java

Ниже приводится эквивалентная программа, написанная на Java. Программирование на Си и Java предоставляют практически идентичный набор операторов и условных операторов. Эта программа создаст две переменные a и b , очень похожие на программирование на C, затем мы назначим 10 и 20 в этих переменных и, наконец, мы будем использовать различные арифметические и реляционные операторы -

Вы можете попробовать выполнить следующую программу, чтобы увидеть выходные данные, которые должны быть идентичны результату, сгенерированному в приведенном выше примере.

public class DemoJava {
   public static void main(String []args) {
      int a, b, c;
   
      a = 10;
      b = 20;
   
      c = a + b;   
      System.out.println("Value of c = " + c );
   
      c = a - b;
      System.out.println("Value of c = " + c );
   
      c = a * b;   
      System.out.println("Value of c = " + c );
   
      c = b / a;   
      System.out.println("Value of c = " + c );
   
      c = b % a;   
      System.out.println("Value of c = " + c );
      
      if( a == 10 ) {
		
         System.out.println("a is equal to 10" );
      }
   }
}

Когда вышеуказанная программа выполняется, она дает следующий результат -

Value of c = 30
Value of c = -10
Value of c = 200
Value of c = 2
Value of c = 0
a is equal to 10

Операторы в Python

Ниже приводится эквивалентная программа, написанная на Python. Эта программа создаст две переменные a и b и одновременно назначит 10 и 20 в этих переменных. К счастью, языки программирования C и Python предоставляют практически идентичный набор операторов. Эта программа создаст две переменные a и b , очень похожие на программирование на C, затем мы назначим 10 и 20 для этих переменных и, наконец, мы будем использовать различные арифметические и реляционные операторы.

Вы можете попробовать выполнить следующую программу, чтобы увидеть выходные данные, которые должны быть идентичны результату, сгенерированному в приведенном выше примере.

a = 10
b = 20
   
c = a + b   
print "Value of c = ", c

c = a - b   
print "Value of c = ", c

c = a * b   
print "Value of c = ", c

c = a / b   
print "Value of c = ", c

c = a % b   
print "Value of c = ", c

if( a == 10 ):
   print "a is equal to 10"

Когда вышеуказанная программа выполняется, она дает следующий результат -

Value of c =  30
Value of c =  -10
Value of c =  200
Value of c =  0
Value of c =  10
a is equal to 10

Заявления о решениях

Принятие решений имеет решающее значение для компьютерного программирования. Будет много ситуаций, когда вам будут предоставлены две или более опций, и вам придется выбирать опцию в зависимости от заданных условий. Например, мы хотим напечатать замечание о студенте на основе его безопасных оценок. Ниже приводится ситуация -

Assume given marks are x for a student:

If given marks are more than 95, then
Student is brilliant

If given marks are less than 30, then
Student is poor

If given marks are less than 95 and more than 30, then
Student is average

Теперь вопрос в том, как написать программный код для обработки таких ситуаций. Почти все языки программирования предоставляют условные операторы, которые работают на основе следующей блок-схемы:

Принятие решений заявления в C

Давайте напишем C-программу с помощью условных операторов if для преобразования приведенной выше ситуации в программный код -

#include <stdio.h>

int main() {
   int x = 45;
   
   if( x > 95) {
	
      printf( "Student is brilliant\n");
   }
   if( x < 30) {
	
      printf( "Student is poor\n");
   }
   if( x < 95 && x > 30 ) {
	
      printf( "Student is average\n");
   }
}

Когда вышеуказанная программа выполняется, она дает следующий результат -

Student is average

Приведенная выше программа использует условные операторы if . Здесь первый оператор if проверяет, является ли данное условие, т. Е. Переменная x больше 95, или нет, и если он находит условие истинным, то вводится условное тело для выполнения данных операторов. Здесь у нас есть только один оператор printf (), чтобы напечатать замечание о студенте.

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

  • Первое условие х> 95

  • Второе условие х <30

Компьютер оценивает оба заданных условия, а затем общий результат объединяется с помощью бинарного оператора && . Если конечный результат равен true, то условный оператор будет выполнен, иначе оператор не будет выполнен.

Этот учебник даст вам основную идею о различных формах операторов if и введение в операторы switch, доступные на языке программирования C. Различные языки программирования предоставляют разные типы решений для принятия решений, но основная концепция остается такой же, как объяснено в этом руководстве.

если ... еще заявление

За оператором if может следовать необязательный оператор else , который выполняется, когда логическое выражение имеет значение false. Синтаксис оператора if ... else в языке программирования C -

if(boolean_expression) {
   
   /* Statement(s) will execute if the boolean expression is true */
} else {
  
  /* Statement(s) will execute if the boolean expression is false */
}

Приведенный выше синтаксис может быть представлен в виде блок-схемы, как показано ниже -

C если ... еще заявление

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

#include <stdio.h>

int main() {
   int x = 45;
   
   if( x > 95) {
	
      printf( "Student is brilliant\n");
   } else {
      printf( "Student is not brilliant\n");
   }
}

Когда вышеуказанная программа выполняется, она дает следующий результат -

Student is not brilliant

if ... elseif ... else заявление

За оператором if может следовать необязательный оператор else if ... else , который очень полезен для проверки различных условий.

При использовании операторов if, else if, else необходимо учитывать несколько моментов:

  • У if может быть ноль или еще один , и он должен идти после if, если .

  • Если может иметь ноль для многих других ... если и они должны прийти раньше, чем остальные .

  • Однажды ... если получится, ни одна из оставшихся ... не будет проверена.

Синтаксис оператора if ... else if ... else в языке программирования C -

if(boolean_expression 1) {

   /* Executes when the boolean expression 1 is true */
}
else if( boolean_expression 2) {

   /* Executes when the boolean expression 2 is true */
}
else if( boolean_expression 3) {

   /* Executes when the boolean expression 3 is true */
} else {
   
   /* Executes when the none of the above condition is true */
}

Теперь с помощью оператора if ... elseif ... else самая первая программа может быть закодирована следующим образом:

#include <stdio.h>

int main() {
   int x = 45;
   
   if( x > 95) {
      printf( "Student is brilliant\n");
   } 
   else if( x < 30) {
      printf( "Student is poor\n");
   } 
   else if( x < 95 && x > 30 ) {
      printf( "Student is average\n");
   }
}

Когда вышеуказанная программа выполняется, она дает следующий результат -

Student is average

Заявление о переключении

Оператор switch - это альтернатива операторам if, который позволяет проверять переменную на соответствие списку значений. Каждое значение называется регистром , и включаемая переменная проверяется для каждого регистра. Он имеет следующий синтаксис -

switch(expression){
   case ONE :
      statement(s);
      break;
   case TWO:
      statement(s);
      break;
   ......
   
   default :
      statement(s);
}

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

Приведенный выше синтаксис может быть представлен в виде блок-схемы, как показано ниже -

Переключение оператора в C

Теперь давайте рассмотрим другой пример, где мы хотим написать эквивалентное английское слово для данного числа. Затем это может быть закодировано следующим образом -

#include <stdio.h>

int main() {
   int x = 2;
   
   switch( x ){
      case 1 :
         printf( "One\n");
         break;
      case 2 :
         printf( "Two\n");
         break;
      case 3 :
         printf( "Three\n");
         break;
      case 4 :
         printf( "Four\n");
         break;
      default :
         printf( "None of the above...\n");
   }
}

Когда вышеуказанная программа выполняется, она дает следующий результат -

Two

Решения в Java

Ниже приводится эквивалентная программа, написанная на Java, которая также поддерживает операторы if , if ... else , if ... elseif ... else и switch .

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

public class DemoJava {
   public static void main(String []args) {
      int x = 45;
   
      if( x > 95) {
         System.out.println( "Student is brilliant");
      } 
      else if( x < 30) {
         System.out.println( "Student is poor");
      } 
      else if( x < 95 && x > 30 ) {
         System.out.println( "Student is average");
      }
   }
}

Когда вышеуказанная программа выполняется, она дает следующий результат -

Student is average

Решения в Python

Ниже приводится эквивалентная программа, написанная на Python. Python предоставляет if , if ... else , if ... elif ... else и операторы switch . Здесь вы должны заметить, что Python не использует фигурные скобки для условного тела, вместо этого он просто идентифицирует тело блока, используя отступы операторов.

Вы можете попробовать выполнить следующую программу, чтобы увидеть результат -

x = 45

if x > 95:
   print "Student is brilliant"
elif x < 30:
   print "Student is poor"
elif x < 95 and x > 30:
   print "Student is average"

print "The end"

Когда вышеуказанная программа выполняется, она дает следующий результат -

Student is average
The end

Компьютерное программирование - циклы

Давайте рассмотрим ситуацию, когда вы хотите напечатать Hello, World! пять раз. Вот простая программа на C, которая делает то же самое -

#include <stdio.h>

int main() {
   printf( "Hello, World!\n");
   printf( "Hello, World!\n");
   printf( "Hello, World!\n");
   printf( "Hello, World!\n");
   printf( "Hello, World!\n");
}

Когда вышеуказанная программа выполняется, она дает следующий результат -

Hello, World!
Hello, World!
Hello, World!
Hello, World!
Hello, World!

Это было просто, но опять же, давайте рассмотрим другую ситуацию, когда вы хотите написать Hello, World! тысячи раз. Мы, конечно, не можем писать операторы printf () тысячу раз. Почти все языки программирования предоставляют концепцию, называемую циклом , которая помогает выполнять один или несколько операторов до желаемого количества раз. Все языки программирования высокого уровня предоставляют различные формы циклов, которые можно использовать для многократного выполнения одного или нескольких операторов.

Давайте напишем вышеупомянутую C-программу с помощью цикла while, а позже мы обсудим, как работает этот цикл.

#include <stdio.h>

int main() {
   int i = 0;
   
   while ( i < 5 ) {
      printf( "Hello, World!\n");
      i = i + 1;
   }
}

Когда вышеуказанная программа выполняется, она дает следующий результат -

Hello, World!
Hello, World!
Hello, World!
Hello, World!
Hello, World!

Вышеупомянутая программа использует цикл while , который используется для выполнения набора программных операторов, заключенных в {....}. Здесь компьютер сначала проверяет, меньше ли заданное условие, т. Е. Переменная «а», меньше 5 или нет, и если он находит, что условие истинно, то вводится тело цикла для выполнения заданных операторов. Здесь у нас есть следующие два утверждения в теле цикла:

  • Первое утверждение - это функция printf () , которая печатает Hello World!

  • Второе утверждение это i = i + 1 , которое используется для увеличения значения переменной i

После выполнения всех операторов, приведенных в теле цикла, компьютер возвращается к while (i <5), и заданное условие (i <5) снова проверяется, и цикл выполняется снова, если условие выполняется. Этот процесс повторяется до тех пор, пока данное условие не останется верным, что означает, что переменная «а» имеет значение меньше 5.

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

Петлевая архитектура

Это руководство было разработано для представления основных понятий программирования непрограммистам, поэтому давайте обсудим два наиболее важных цикла, доступных на языке программирования Си. Как только вы разберетесь с этими двумя циклами, вы можете взять учебник по программированию на C или справочник и проверить другие циклы, доступные на C, и то, как они работают.

В то время как петля

Цикл while, доступный на языке программирования C, имеет следующий синтаксис:

while ( condition ) {
   /*....while loop body ....*/
}

Приведенный выше код может быть представлен в виде блок-схемы, как показано ниже -

цикл в C

Следующие важные моменты следует отметить о цикле while -

  • Цикл while начинается с ключевого слова , за которым следует условие, заключенное в ().

  • В дополнение к оператору while () тело цикла будет заключено в фигурные скобки {...} .

  • Тело цикла while может содержать одну или несколько строк исходного кода для многократного выполнения.

  • Если тело цикла while содержит только одну строку, то необязательно использовать фигурные скобки {...} .

  • Цикл while продолжает выполнять свое тело, пока не выполнится заданное условие . Как только условие становится ложным, цикл while выходит и продолжает выполняться из следующего оператора next после тела цикла while.

  • Условием обычно является оператор отношения, который оценивается как true или false. Значение, равное нулю, рассматривается как ложное, и любое ненулевое значение работает как истина.

До ... пока Loop

Цикл while проверяет заданное условие перед тем, как выполнить любые операторы, указанные в части тела. Программирование на С предоставляет другую форму цикла, называемую do ..., в то время как она позволяет выполнять тело цикла перед проверкой заданного условия. Он имеет следующий синтаксис -

do {
   /*....do...while loop body ....*/
} 
while ( condition );

Приведенный выше код может быть представлен в виде блок-схемы, как показано ниже -

делать ... пока цикл в C

Если вы напишите приведенный выше пример с использованием цикла do ... while, Hello, World выдаст тот же результат -

#include <stdio.h>

int main() {
   int i = 0;
   
   do {
      printf( "Hello, World!\n");
      i = i + 1;
   }
   while ( i < 5 );
}

Когда вышеуказанная программа выполняется, она дает следующий результат -

Hello, World!
Hello, World!
Hello, World!
Hello, World!
Hello, World!

Оператор перерыва

Когда оператор break встречается внутри цикла, цикл немедленно завершается, и управление программой возобновляется со следующего оператора, следующего за циклом. Синтаксис для оператора break в C следующий:

break;

Оператор перерыва может быть представлен в виде блок-схемы, как показано ниже -

с перерывом заявление

Ниже приведен вариант вышеуказанной программы, но она выйдет после печати Hello World! только три раза -

#include <stdio.h>

int main() {
   int i = 0;
   do {
      printf( "Hello, World!\n");
      i = i + 1;
      
      if( i == 3 ) {
         break;
      }
   }
   while ( i < 5 );
}

Когда вышеуказанная программа выполняется, она дает следующий результат -

Hello, World!
Hello, World!
Hello, World!

Продолжение заявления

Оператор continue в языке программирования C работает примерно так же, как оператор break . Вместо принудительного завершения, continue вызывает следующую итерацию цикла, пропуская любой промежуточный код. Синтаксис оператора continue в C следующий:

continue;

Оператор continue может быть представлен в форме блок-схемы, как показано ниже -

C продолжить заявление

Ниже приведен вариант вышеуказанной программы, но она пропустит печать, когда переменная имеет значение, равное 3 -

#include <stdio.h>

int main() {
   int i = 0;
   do {
      if( i == 3 ) {
         i = i + 1;
         continue;
      }
      printf( "Hello, World!\n");
      i = i + 1;
   }
   while ( i < 5 );
}

Когда вышеуказанная программа выполняется, она дает следующий результат -

Hello, World!
Hello, World!
Hello, World!
Hello, World!

Петли в Java

Ниже приводится эквивалентная программа, написанная на Java, которая также поддерживает циклы while и do ... while . Следующая программа печатает Hello, World! пять раз, как мы это делали в случае программирования на C -

Вы можете попробовать выполнить следующую программу, чтобы увидеть выходные данные, которые должны быть идентичны результату, сгенерированному в приведенном выше примере.

public class DemoJava {
   public static void main(String []args) {
      int i = 0;
   
      while ( i < 5 ) {
         System.out.println("Hello, World!");
         i = i + 1;
      }
   }
}

Операторы break и continue в Java-программировании работают точно так же, как и в C-программировании.

Петли в Python

Ниже приводится эквивалентная программа, написанная на Python. Python также поддерживает циклы while и do ... while . Следующая программа печатает Hello, World! пять раз, как мы это делали в случае программирования на C. Здесь вы должны заметить, что Python не использует фигурные скобки для тела цикла, вместо этого он просто идентифицирует тело цикла, используя отступы операторов.

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

i = 0

while (i < 5):
   print "Hello, World!"
   i = i + 1
print "Loop ends"

Когда вышеуказанная программа выполняется, она дает следующий результат -

Hello, World!
Hello, World!
Hello, World!
Hello, World!
Hello, World!
Loop ends

Операторы break и continue в Python работают точно так же, как и в программировании на Си.

Компьютерное программирование - номера

Каждый язык программирования поддерживает различные типы чисел, например, простые целые числа и числа с плавающей запятой. C, Java и Python разделяют эти числа на несколько категорий в зависимости от их характера.

Давайте вернемся и проверим главу о типах данных, где мы перечислили основные типы данных, связанные с числами -

Тип Ключевое слово Диапазон значений, который может быть представлен этим типом данных
номер ИНТ От -32 768 до 32 767 или от -2 147 483 648 до 2 147 483 647
Малый номер короткая От -32 768 до 32 767
Длинный номер длинная От -2 147 483 648 до 2 147 483 647
Десятичное число поплавок 1,2E-38 до 3,4E + 38 до 6 десятичных знаков

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

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

Сначала давайте посмотрим, как напечатать различные типы чисел, доступных на языке программирования C -

#include <stdio.h>

int main() {
   short  s;
   int    i;
   long   l;
   float  f;
   double d;

   s = 10;
   i = 1000;
   l = 1000000;
   f = 230.47;
   d = 30949.374;

   printf( "s: %d\n", s);
   printf( "i: %d\n", i);
   printf( "l: %ld\n", l);
   printf( "f: %.3f\n", f);
   printf( "d: %.3f\n", d);
}

Остальная часть кода очень очевидна, но мы использовали % .3f для печати чисел с плавающей запятой и двойных чисел, которые указывают количество цифр после десятичной запятой, которая будет напечатана. Когда вышеуказанная программа выполняется, она дает следующий результат -

s: 10
i: 1000
l: 1000000
f: 230.470
d: 30949.374

Математические операции над числами

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

Например, если вы хотите вычислить квадратный корень из числа, например, 2304, у вас есть встроенная функция для вычисления квадратного корня.

Sr.No. Функция и цель
1

double cos (double);

Эта функция принимает угол (как двойной) и возвращает косинус.

2

двойной грех (двойной);

Эта функция принимает угол (как двойной) и возвращает синус.

3

двойной загар (двойной);

Эта функция принимает угол (как двойное) и возвращает касательную.

4

двойной журнал (двойной);

Эта функция принимает число и возвращает натуральный логарифм этого числа.

5

двойной пау (двойной, двойной);

Первое - это число, которое вы хотите поднять, а второе - это сила, которую вы хотите поднять.

6

двойной гипот (двойной, двойной);

Если вы передадите этой функции длину двух сторон прямоугольного треугольника, она вернет длину гипотенузы.

7

двойной квадрат (двухместный);

Вы передаете этой функции число, и оно возвращает квадратный корень.

8

int abs (int);

Эта функция возвращает абсолютное значение целого числа, которое передается ей.

9

двойные fabs (двойной);

Эта функция возвращает абсолютное значение любого переданного ей десятичного числа.

10

двойной этаж (двухместный);

Находит целое число, которое меньше или равно аргументу, переданному ему.

Ниже приведен простой пример, демонстрирующий несколько математических операций. Чтобы использовать эти функции, вам нужно включить файл математического заголовка <math.h> в вашу программу так же, как вы включили stdio.h -

#include <stdio.h>
#include <math.h>

int main() {
   short  s;
   int    i;
   long   l;
   float  f;
   double d;

   printf( "sin(s): %f\n", sin(10));
   printf( "abs(i): %f\n", abs(1000));
   printf( "floor(f): %f\n", floor(230.47));
   printf( "sqrt(l): %f\n", sqrt(1000000));
   printf( "pow(d, 2): %f\n", pow(2.374, 2));
}

Когда вышеуказанная программа выполняется, она дает следующий результат -

sin(s): -0.544021
abs(i): -0.544021
floor(f): 230.000000
sqrt(l): 1000.000000
pow(d, 2): 5.635876

Помимо вышеуказанного использования, вы будете использовать числа в подсчете циклов, представлении флагов, значениях true или false в программировании на C.

Числа в Java

Ниже приводится эквивалентная программа, написанная на Java. Java предоставляет почти все числовые типы данных, доступные в C-программировании.

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

public class DemoJava {
   public static void main(String []args) {
      short  s;
      int    i;
      long   l;
      float  f;
      double d;

      s = 10;
      i = 1000;
      l = 1000000L;
      f = 230.47f;
      d = 30949.374;

      System.out.format( "s: %d\n", s);
      System.out.format( "i: %d\n", i);
      System.out.format( "l: %d\n", l);
      System.out.format( "f: %f\n", f);
      System.out.format( "d: %f\n", d);
   }
}

Когда вышеуказанная программа выполняется, она дает следующий результат -

s: 10
i: 1000
l: 1000000
f: 230.470001
d: 30949.374000

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

Числа в Python

Python немного отличается от C и Java; он классифицирует числа в int , long , float и complex . Вот несколько примеров чисел в Python -

ИНТ длинная поплавок сложный
10 51924361L 0.0 3.14j
100 -0x19323L 15,20 45.j
-786 0122L -21,9 9.322e-36j
080 0xDEFABCECBDAECBFBAEl 32,3 + e18 .876j
-0490 535633629843L -90. -.6545 + 0J
-0x260 -052318172735L -32.54e100 3e + 26J
0x69 -4721885298529L 70,2-E12 4.53e-7j

Ниже приводится эквивалентная программа, написанная на Python -

s = 10
i = 1000
l = 1000000
f = 230.47
d = 30949.374

print "s: ", s
print "i: ", i
print "l: ", l
print "f: ", f
print "d: ", d

Когда вышеуказанная программа выполняется, она дает следующий результат -

s:  10
i:  1000
l:  1000000
f:  230.47
d:  30949.374

Python также предоставляет полный набор встроенных функций для математических вычислений, и вы можете использовать их так же, как вы использовали их в C-программировании.

Компьютерное программирование - персонажи

Если бы было легко работать с числами в компьютерном программировании, было бы еще проще работать с символами. Символы - это простые алфавиты, такие как a, b, c, d ...., A, B, C, D, ....., но с исключением. В компьютерном программировании любые однозначные числа, такие как 0, 1, 2, .... и специальные символы, такие как $,%, +, -.... и т. Д., Также обрабатываются как символы и назначаются им в символьном типе. переменная, вам просто нужно поместить их в одинарные кавычки . Например, следующий оператор определяет переменную символьного типа ch, и мы присваиваем ей значение 'a' -

char ch = 'a';

Здесь ch - это переменная символьного типа, которая может содержать символ набора символов реализации, а «a» называется символьным литералом или символьной константой. Не только a, b, c, .... но когда любое число, например 1, 2, 3 .... или любой специальный символ, например!, @, #, #, $, ...., хранится в одинарных кавычках затем они будут обрабатываться как символьный литерал и могут быть назначены переменной символьного типа, поэтому приведенное ниже допустимое утверждение -

char ch = '1';

Символьный тип данных потребляет 8 бит памяти, что означает, что вы можете хранить что угодно в символе, значение ASCII которого находится в диапазоне от -127 до 127, поэтому он может содержать любое из 256 различных значений. Символьный тип данных может хранить любые символы, доступные на вашей клавиатуре, включая специальные символы, такие как!, @, #, #, $,%, ^, &, *, (,), _, +, {,} И т. Д.

Обратите внимание, что вы можете хранить только один алфавит или однозначное число в одинарных кавычках, и более одного алфавита или цифр не допускаются в одинарных кавычках. Таким образом, следующие утверждения недопустимы в программировании на C -

char ch1 = 'ab';
char ch2 = '10';

Ниже приведен простой пример, который показывает, как определять, назначать и печатать символы на языке программирования C -

#include <stdio.h>

int main() {
   char  ch1;
   char  ch2;
   char  ch3;
   char  ch4;
   
   ch1 = 'a';      
   ch2 = '1';
   ch3 = '$';
   ch4 = '+';  

   printf( "ch1: %c\n", ch1);
   printf( "ch2: %c\n", ch2);
   printf( "ch3: %c\n", ch3);
   printf( "ch4: %c\n", ch4);
}

Здесь мы использовали% c для печати символьного типа данных. Когда вышеуказанная программа выполняется, она дает следующий результат -

ch1: a
ch2: 1
ch3: $
ch4: +

Побег последовательности

Многие языки программирования поддерживают концепцию Escape Sequence . Когда символу предшествует обратная косая черта (\), он называется escape-последовательностью и имеет особое значение для компилятора. Например, \ n в следующем выражении является допустимым символом и называется символом новой строки -

char ch = '\n';

Здесь символу n предшествует обратная косая черта (\), он имеет особое значение, представляющее собой новую строку, но имейте в виду, что обратная косая черта (\) имеет специальное значение только с несколькими символами. Следующее утверждение не будет передавать никакого значения в программировании на C, и оно будет считаться недопустимым:

char ch = '\1';

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

Последовательность побега Описание
\ т Вставляет вкладку в текст в этой точке.
\ б Вставляет клавишу возврата в текст в этой точке.
\ п Вставляет новую строку в текст в этой точке.
Вставляет возврат каретки в текст в этой точке.
\ е Вставляет ленту новостей в текст на этом этапе.
Вставляет символ одинарной кавычки в текст в этой точке.
Вставляет символ двойной кавычки в текст в этой точке.
\\ Вставляет символ обратной косой черты в текст в этой точке.

В следующем примере показано, как компилятор интерпретирует escape-последовательность в операторе print -

#include <stdio.h>

int main() {
   char  ch1;
   char  ch2;
   char  ch3;
   char  ch4;
   
   ch1 = '\t';      
   ch2 = '\n';

   printf( "Test for tabspace %c and a newline %c will start here", ch1, ch2);
}

Когда вышеуказанная программа выполняется, она дает следующий результат -

Test for tabspace     and a newline 
will start here

Символы в Java

Ниже приводится эквивалентная программа, написанная на Java. Java обрабатывает символьные типы данных во многом так же, как мы видели в программировании на Си. Тем не менее, Java обеспечивает дополнительную поддержку для манипулирования символами.

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

public class DemoJava {
   public static void main(String []args) {
      char  ch1;
      char  ch2;
      char  ch3;
      char  ch4;
   
      ch1 = 'a';      
      ch2 = '1';
      ch3 = '$';
      ch4 = '+';  

      System.out.format( "ch1: %c\n", ch1);
      System.out.format( "ch2: %c\n", ch2);
      System.out.format( "ch3: %c\n", ch3);
      System.out.format( "ch4: %c\n", ch4);
   }
}

Когда вышеуказанная программа выполняется, она дает следующий результат -

ch1:  a
ch2:  1
ch3:  $
ch4:  +

Java также поддерживает escape-последовательности так же, как вы использовали их в C-программировании.

Персонажи в Python

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

Ниже приводится эквивалентная программа, написанная на Python -

ch1 = 'a';      
ch2 = '1';
ch3 = '$';
ch4 = '+'; 

print "ch1: ", ch1
print "ch2: ", ch2
print "ch3: ", ch3
print "ch4: ", ch4

Когда вышеуказанная программа выполняется, она дает следующий результат -

ch1:  a
ch2:  1
ch3:  $
ch4:  +

Python поддерживает escape-последовательности так же, как вы использовали их в C-программировании.

Компьютерное программирование - Массивы

Рассмотрим ситуацию, когда нам нужно хранить пять целых чисел. Если мы используем простые концепции программирования и переменные типа данных, то нам нужно пять переменных типа данных int, и программа будет выглядеть следующим образом:

#include <stdio.h>

int main() {
   int number1;
   int number2;
   int number3;
   int number4;
   int number5;
   
   number1 = 10;      
   number2 = 20;   
   number3 = 30;   
   number4 = 40; 
   number5 = 50;     

   printf( "number1: %d\n", number1);
   printf( "number2: %d\n", number2);
   printf( "number3: %d\n", number3);
   printf( "number4: %d\n", number4);
   printf( "number5: %d\n", number5);
}

Это было просто, потому что мы должны были хранить только пять целых чисел. Теперь давайте предположим, что мы должны хранить 5000 целых чисел. Собираемся ли мы использовать 5000 переменных?

Для обработки таких ситуаций почти все языки программирования предоставляют концепцию, называемую массивом . Массив - это структура данных, которая может хранить коллекцию фиксированного размера элементов одного и того же типа данных. Массив используется для хранения коллекции данных, но часто более полезно думать о массиве как о коллекции переменных одного типа.

Вместо объявления отдельных переменных, таких как number1, number2, ..., number99, вы просто объявляете одну переменную массива number целочисленного типа и используете number1 [0], number1 [1] и ..., number1 [99] для представляют отдельные переменные. Здесь 0, 1, 2, ..... 99 - это индекс, связанный с переменной var, и они используются для представления отдельных элементов, доступных в массиве.

Все массивы состоят из смежных областей памяти. Самый низкий адрес соответствует первому элементу, а самый высокий адрес - последнему.

Массивы в Си

Создать массивы

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

type arrayName [ arraySize ];

Это называется одномерным массивом. ArraySize должен быть целочисленной константой, большей нуля, и тип может быть любым допустимым типом данных C. Например, теперь, чтобы объявить массив из 10 элементов с именем number типа int , используйте этот оператор -

int number[10];

Здесь число - это переменный массив, которого достаточно для хранения до 10 целых чисел.

Инициализация массивов

Вы можете инициализировать массив в C либо по одному, либо используя один оператор следующим образом:

int number[5] = {10, 20, 30, 40, 50};

Число значений в фигурных скобках {} не может быть больше количества элементов, которые мы объявляем для массива в квадратных скобках [].

Если вы опустите размер массива, будет создан массив, достаточно большой, чтобы вместить инициализацию. Поэтому, если вы напишите -

int number[] = {10, 20, 30, 40, 50};

Вы создадите точно такой же массив, как и в предыдущем примере. Ниже приведен пример назначения одного элемента массива:

number[4] = 50;

Вышеприведенный оператор присваивает элементу номер 5 в массиве со значением 50. Все массивы имеют 0 в качестве индекса их первого элемента, который также называется базовым индексом, а последний индекс массива будет общим размером массива минус. 1. На следующем рисунке показано графическое представление массива, который мы обсуждали выше.

Презентация массива

Доступ к элементам массива

Доступ к элементу осуществляется путем индексации имени массива. Это делается путем помещения индекса элемента в квадратные скобки после имени массива. Например -

int var = number[9];

Вышеприведенный оператор возьмет 10-й элемент из массива и присвоит значение переменной var . В следующем примере используются все три вышеупомянутых понятия, а именно. создание, назначение и доступ к массивам -

#include <stdio.h>
 
int main () {
   int number[10]; /* number is an array of 10 integers */
   int i = 0;
 
   /* Initialize elements of array n to 0 */         
   while( i < 10 ) {
	
      /* Set element at location i to i + 100 */
      number[ i ] = i + 100;
      i = i + 1;
   }
   
   /* Output each array element's value */
   i = 0;
   while( i < 10 ) {
	
      printf("number[%d] = %d\n", i, number[i] );
      i = i + 1;
   }
   
   return 0;
}

Когда приведенный выше код компилируется и выполняется, он дает следующий результат -

number[0] = 100
number[1] = 101
number[2] = 102
number[3] = 103
number[4] = 104
number[5] = 105
number[6] = 106
number[7] = 107
number[8] = 108
number[9] = 109

Массивы в Java

Ниже приводится эквивалентная программа, написанная на Java. Java поддерживает массивы, но есть небольшая разница в том, как они создаются в Java с помощью оператора new .

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

public class DemoJava {
   public static void main(String []args) {
      int[] number = new int[10];
      int i = 0;
      
      while( i < 10 ) {
		
         number[ i ] = i + 100;
         i = i + 1;
      }

      i = 0;
      while( i < 10 ) {
         System.out.format( "number[%d] = %d\n", i, number[i] );
         i = i + 1;
      }
   }
}

Когда вышеуказанная программа выполняется, она дает следующий результат -

number[0] = 100
number[1] = 101
number[2] = 102
number[3] = 103
number[4] = 104
number[5] = 105
number[6] = 106
number[7] = 107
number[8] = 108
number[9] = 109

Массивы (списки) в Python

Python не имеет концепции Array, вместо этого Python предоставляет другую структуру данных, называемую list , которая обеспечивает функциональность, аналогичную массивам на любом другом языке.

Ниже приводится эквивалентная программа, написанная на Python -

# Following defines an empty list.
number = []
i = 0

while i < 10:
   # Appending elements in the list
   number.append(i + 100)
   i = i + 1

i = 0
while i < 10:
   # Accessing elements from the list
   print "number[", i,  "] = ", number[ i ]
   i = i + 1

Когда вышеуказанная программа выполняется, она дает следующий результат -

number[ 0 ] =  100
number[ 1 ] =  101
number[ 2 ] =  102
number[ 3 ] =  103
number[ 4 ] =  104
number[ 5 ] =  105
number[ 6 ] =  106
number[ 7 ] =  107
number[ 8 ] =  108
number[ 9 ] =  109

Компьютерное программирование - Струны

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

Теперь давайте продвинемся немного вперед и рассмотрим ситуацию, когда нам нужно хранить более одного символа в переменной. Мы видели, что C-программирование не позволяет хранить более одного символа в переменной символьного типа. Таким образом, следующие утверждения недопустимы в программировании на C и вызывают синтаксические ошибки:

char ch1 = 'ab';
char ch2 = '10';

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

#include <stdio.h>

main() {
   int number[5] = {10, 20, 30, 40, 50};
   int i = 0;
        
   while( i < 5 ) {
      printf("number[%d] = %d\n", i, number[i] );
      i = i + 1;
   }
}

Когда приведенный выше код компилируется и выполняется, он дает следующий результат -

number[0] = 10
number[1] = 20
number[2] = 30
number[3] = 40
number[4] = 50

Теперь давайте определим массив из пяти символов таким же образом, как мы это делали для чисел, и попробуем напечатать их.

#include <stdio.h>

main() {
   char ch[5] = {'H', 'e', 'l', 'l', 'o'};
   int i = 0;
        
   while( i < 5 ) {
      printf("ch[%d] = %c\n", i, ch[i] );
      i = i + 1;
   }
}

Здесь мы использовали% c для печати значения символа. Когда приведенный выше код компилируется и выполняется, он дает следующий результат -

ch[0] = H
ch[1] = e
ch[2] = l
ch[3] = l
ch[4] = o

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

#include <stdio.h>

main() {
   char ch[5] = "Hello";
   int i = 0;
    
   /* Print as a complete string */
   printf("String = %s\n", ch);  

   /* Print character by character */
   while( i < 5 ) {
      printf("ch[%d] = %c\n", i, ch[i] );
      i = i + 1;
   }
}

Здесь мы использовали% s, чтобы напечатать полное строковое значение, используя имя массива ch , которое фактически является началом адреса памяти, содержащего переменную ch, как показано ниже -

Хотя это не видно из приведенных выше примеров, программа на С внутренне присваивает null символ '\ 0' в качестве последнего символа каждой строки. Это указывает на конец строки, и это означает, что если вы хотите сохранить 5-символьную строку в массиве, то вы должны определить размер массива 6 как хорошую практику, хотя C не жалуется на это.

Если приведенный выше код компилируется и выполняется, он дает следующий результат -

String = Hello
ch[0] = H
ch[1] = e
ch[2] = l
ch[3] = l
ch[4] = o

Основные понятия строки

На основании приведенного выше обсуждения мы можем сделать следующие важные замечания о строках в языке программирования C:

  • Строки в C представлены как массивы символов.

  • Мы можем составить строку в C-программировании, присваивая символ за символом в массив символов.

  • Мы можем составить строку в C-программировании, назначив полную строку, заключенную в двойные кавычки.

  • Мы можем напечатать символ за строкой, используя индекс массива или полную строку, используя имя массива без индекса.

  • Последний символ каждой строки является null символом, то есть '\ 0' .

  • Большинство языков программирования предоставляют встроенные функции для работы со строками, то есть вы можете объединять строки, вы можете искать из строки, вы можете извлекать подстроки из строки и т. Д. Более подробную информацию вы можете найти в нашем подробном руководстве по C программирование или любой другой язык программирования.

Строки в Java

Хотя вы можете использовать символьные массивы для хранения строк, но Java - это продвинутый язык программирования, и его разработчики пытались обеспечить дополнительную функциональность. Java предоставляет строки в виде встроенного типа данных, как и любой другой тип данных. Это означает, что вы можете определять строки напрямую, а не определять их как массив символов.

Ниже приводится эквивалентная программа, написанная на Java. Java использует оператор new для создания строковых переменных, как показано в следующей программе.

Вы можете попробовать выполнить следующую программу, чтобы увидеть результат -

public class DemoJava {
   public static void main(String []args) {
      String str = new String("Hello");  
      System.out.println( "String = " + str );
   }
}

Когда вышеуказанная программа выполняется, она дает следующий результат -

String = Hello

Строки в Python

Создание строк в Python так же просто, как назначение строки в переменную Python с использованием одинарных или двойных кавычек.

Ниже приведена простая программа, которая создает две строки и печатает их с помощью функции print () -

var1 = 'Hello World!'
var2 = "Python Programming"

print "var1 = ", var1
print "var2 = ", var2

Когда вышеуказанная программа выполняется, она дает следующий результат -

var1 =  Hello World!
var2 =  Python Programming

Python не поддерживает тип символов; они обрабатываются как строки длины один, таким образом также считаются подстрокой.

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

var1 = 'Hello World!'
var2 = "Python Programming"

print "var1[0]: ", var1[0]
print "var2[1:5]: ", var2[1:5]

Когда приведенный выше код выполняется, он дает следующий результат -

var1[0]:  H
var2[1:5]:  ytho

Компьютерное программирование - Функции

Функция - это блок организованного, многократно используемого кода, который используется для выполнения одного связанного действия. Функции обеспечивают лучшую модульность для вашего приложения и высокую степень повторного использования кода. Вы уже видели различные функции, такие как printf () и main () . Это так называемые встроенные функции, предоставляемые самим языком, но мы можем также написать и свои собственные функции, и это руководство научит вас, как писать и использовать эти функции на языке программирования Си.

Хорошая вещь о функциях в том, что они известны под несколькими именами. Разные языки программирования называют их по-разному, например, функции, методы, подпрограммы, процедуры и т. Д. Если вы сталкиваетесь с любой такой терминологией, то просто представьте себе ту же концепцию, которую мы собираемся обсудить в этом руководстве.

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

1. Get a list of numbers L 1 , L 2 , L 3 ....L N
2. Assume L 1 is the largest, Set max = L 1
3. Take next number L i from the list and do the following
4.    If max is less than L i
5.       Set max = L i
6.    If L i is last number from the list then
7.       Print value stored in max and come out
8. Else prepeat same process starting from step 3

Давайте переведем вышеуказанную программу на язык программирования C -

#include <stdio.h>

int main() {
   int set1[5] = {10, 20, 30, 40, 50};
   int set2[5] = {101, 201, 301, 401, 501};
   int i, max;
   
   /* Process first set of numbers available in set1[] */
   max = set1[0];
   i = 1;    
   while( i < 5 ) {
      if( max <  set1[i] ) {
         max = set1[i];
      }
      i = i + 1;
   }
   
   printf("Max in first set = %d\n", max );
    
   /* Now process second set of numbers available in set2[] */
   max = set2[0];
   i = 1;    
   while( i < 5 ) {
      if( max <  set2[i] ) {
         max = set2[i];
      }
      i = i + 1;
   }
   printf("Max in second set = %d\n", max );
}

Когда приведенный выше код компилируется и выполняется, он дает следующий результат -

Max in first set = 50
Max in second set = 501

Если вы понимаете приведенный выше пример, станет легко понять, зачем нам нужна функция. В приведенном выше примере есть только два набора чисел, set1 и set2, но рассмотрим ситуацию, когда у нас есть 10 или более одинаковых наборов чисел, чтобы узнать максимальные числа из каждого набора. В такой ситуации нам придется повторяться, обрабатывая 10 или более раз, и в конечном итоге программа станет слишком большой с повторяющимся кодом. Чтобы справиться с такой ситуацией, мы пишем наши функции, в которых мы пытаемся сохранить исходный код, который будет использоваться снова и снова в нашем программировании.

Теперь давайте посмотрим, как определить функцию на языке программирования C, а затем в последующих разделах мы объясним, как их использовать.

Определение функции

Общая форма определения функции в языке программирования C выглядит следующим образом:

return_type function_name( parameter list ) {
   body of the function
   
   return [expression];
}

Определение функции в C-программировании состоит из заголовка функции и тела функции . Вот все части функции -

  • Тип возврата - функция может возвращать значение. Return_type - это тип данных значения, которое возвращает функция. Некоторые функции выполняют нужные операции без возврата значения. В этом случае return_type является ключевым словом void .

  • Имя функции - это фактическое имя функции. Имя функции и список параметров вместе составляют сигнатуру функции.

  • Список параметров - параметр похож на заполнитель. Когда функция вызывается, вы передаете значение в качестве параметра. Это значение называется фактическим параметром или аргументом. Список параметров относится к типу, порядку и количеству параметров функции. Параметры являются необязательными; то есть функция может не содержать параметров.

  • Тело функции - Тело функции содержит набор операторов, которые определяют, что делает функция.

Вызов функции

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

Теперь напишем приведенный выше пример с помощью функции -

#include <stdio.h>

int getMax( int set[] ) {
   int i, max;
   
   max = set[0];
   i = 1;    
   while( i < 5 ) {
      if( max <  set[i] ) {
         max = set[i];
      }
      i = i + 1;
   }
   return max;
}
main() {
   int set1[5] = {10, 20, 30, 40, 50};
   int set2[5] = {101, 201, 301, 401, 501};
   int max;

   /* Process first set of numbers available in set1[] */
   max = getMax(set1);
   printf("Max in first set = %d\n", max );
    
   /* Now process second set of numbers available in set2[] */
   max = getMax(set2);
   printf("Max in second set = %d\n", max );
}

Когда приведенный выше код компилируется и выполняется, он дает следующий результат -

Max in first set = 50
Max in second set = 501

Функции в Java

Если вы разбираетесь в функциях программирования на C, то их легко понять и в Java. Java-программирование называет их как методы , но остальные концепции остаются более или менее одинаковыми.

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

public class DemoJava {
   public static void main(String []args) {
      int[] set1 = {10, 20, 30, 40, 50};
      int[] set2 = {101, 201, 301, 401, 501};
      int max;

      /* Process first set of numbers available in set1[] */
      max = getMax(set1);
      System.out.format("Max in first set = %d\n", max );

      /* Now process second set of numbers available in set2[] */
      max = getMax(set2);
      System.out.format("Max in second set = %d\n", max );
   }
   public static int getMax( int set[] ) {
      int i, max;
      max = set[0];
      i = 1;    
      
      while( i < 5 ) {
         if( max <  set[i] ) {
            max = set[i];
         }
         i = i + 1;
      }
      return max;
   }
}

Когда вышеуказанная программа выполняется, она дает следующий результат -

Max in first set = 50
Max in second set = 501

Функции в Python

Еще раз, если вы знаете концепцию функций в программировании на C и Java, то Python мало чем отличается. Ниже приведен основной синтаксис определения функции в Python -

def function_name( parameter list ):
   body of the function
   
   return [expression]

Используя этот синтаксис функции в Python, приведенный выше пример можно записать следующим образом:

def getMax( set ):
   max = set[0]
   i = 1   
   
   while( i < 5 ):
      if( max <  set[i] ):
         max = set[i]
      
      i = i + 1
   return max

set1 = [10, 20, 30, 40, 50]
set2 = [101, 201, 301, 401, 501]

# Process first set of numbers available in set1[]
max = getMax(set1)
print "Max in first set = ", max
    
# Now process second set of numbers available in set2[]
max = getMax(set2)
print "Max in second set = ", max

Когда приведенный выше код выполняется, он дает следующий результат -

Max in first set =  50
Max in second set =  501

Компьютерное программирование - Файловый ввод / вывод

Компьютерные файлы

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

Компьютерные файлы можно рассматривать как цифровой аналог бумажных документов. При программировании исходный код хранится в текстовых файлах с различными расширениями, например, файлы программирования на C заканчиваются расширением .c , файлы программирования Java - на .java , а файлы Python - на .py .

Ввод / вывод файла

Обычно вы создаете файлы с помощью текстовых редакторов, таких как блокнот, MS Word, MS Excel или MS Powerpoint и т. Д. Однако, часто нам также нужно создавать файлы с использованием компьютерных программ. Мы можем изменить существующий файл с помощью компьютерной программы.

Ввод файла означает данные, которые записываются в файл, а вывод файла означает данные, которые считываются из файла. На самом деле, условия ввода и вывода больше связаны с вводом и выводом экрана. Когда мы отображаем результат на экране, он называется выводом. Точно так же, если мы предоставляем некоторый ввод для нашей программы из командной строки, то это называется ввод.

Пока достаточно вспомнить, что запись в файл - это ввод файла, а чтение чего-либо из файла - вывод файла.

Режимы работы с файлами

Прежде чем мы начнем работать с любым файлом с помощью компьютерной программы, нам нужно либо создать новый файл, если он не существует, либо открыть уже существующий файл. В любом случае мы можем открыть файл в следующих режимах:

  • Режим только для чтения - если вы собираетесь просто прочитать существующий файл и не хотите записывать в него какой-либо другой контент, то вы откроете файл в режиме только для чтения. Почти все языки программирования предоставляют синтаксис для открытия файлов в режиме только для чтения.

  • Режим только для записи - если вы собираетесь записывать либо в существующий файл, либо во вновь созданный файл, но не хотите читать какой-либо записанный контент из этого файла, тогда вы откроете файл в режиме только для записи. Все языки программирования предоставляют синтаксис для открытия файлов в режиме только для записи.

  • Режим чтения и записи - если вы собираетесь читать и писать в один и тот же файл, то вы откроете файл в режиме чтения и записи.

  • Режим добавления - когда вы открываете файл для записи, он позволяет начать запись с начала файла; однако он перезапишет существующий контент, если таковой имеется. Предположим, что мы не хотим перезаписывать какой-либо существующий контент, затем мы открываем файл в режиме добавления. Режим добавления, в конечном счете, является режимом записи, который позволяет добавлять содержимое в конец файла. Почти все языки программирования предоставляют синтаксис для открытия файлов в режиме добавления.

В следующих разделах мы узнаем, как открыть новый новый файл, как записать в него, а позже, как читать и добавлять больше содержимого в тот же файл.

Открытие файлов

Вы можете использовать функцию fopen (), чтобы создать новый файл или открыть существующий файл. Этот вызов инициализирует объект типа FILE , который содержит всю информацию, необходимую для управления потоком. Вот прототип, то есть подпись этого вызова функции -

FILE *fopen( const char * filename, const char * mode );

Здесь имя файла - строковый литерал, который вы будете использовать для именования вашего файла, а режим доступа может иметь одно из следующих значений:

Sr.No Режим и описание
1

р

Открывает существующий текстовый файл для чтения.

2

вес

Открывает текстовый файл для записи. Если он не существует, то создается новый файл. Здесь ваша программа начнет запись содержимого с начала файла.

3

Открывает текстовый файл для записи в режиме добавления. Если он не существует, то создается новый файл. Здесь ваша программа начнет добавлять содержимое в существующий файл содержимого.

4

г +

Открывает текстовый файл для чтения и записи как.

5

W +

Открывает текстовый файл для чтения и записи. Сначала он обрезает файл до нулевой длины, если он существует; в противном случае создает файл, если он не существует.

6

а +

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

Закрытие файла

Чтобы закрыть файл, используйте функцию fclose () . Прототип этой функции -

 int fclose( FILE *fp );

Функция fclose () возвращает ноль в случае успеха или специальный символ EOF , если при закрытии файла произошла ошибка. Эта функция фактически сбрасывает любые данные, все еще ожидающие в буфере, в файл, закрывает файл и освобождает любую память, используемую для файла. EOF - это константа, определенная в заголовочном файле stdio.h .

В стандартной библиотеке C предусмотрены различные функции для чтения и записи файла символ за символом или в виде строки фиксированной длины. Давайте посмотрим на некоторые из них в следующем разделе.

Написание файла

Ниже приведена простейшая функция для записи отдельных символов в поток -

int fputc( int c, FILE *fp );

Функция fputc () записывает символьное значение аргумента c в выходной поток, на который ссылается fp . Возвращает письменный символ, написанный при успехе, иначе EOF, если есть ошибка. Вы можете использовать следующие функции для записи строки, заканчивающейся null в поток:

int fputs( const char *s, FILE *fp );

Функция fputs () записывает строку s в файл, на который ссылается fp. Он возвращает неотрицательное значение в случае успеха, в противном случае EOF возвращается в случае любой ошибки. Вы также можете использовать функцию int fprintf (FILE * fp, const char * format, ...) для записи строки в файл. Попробуйте следующий пример -

#include <stdio.h>

int main() {
   FILE *fp;

   fp = fopen("/tmp/test.txt", "w+");
   fprintf(fp, "This is testing for fprintf...\n");
   fputs("This is testing for fputs...\n", fp);
   fclose(fp);
}

Когда приведенный выше код компилируется и выполняется, он создает новый файл test.txt в каталоге / tmp и записывает две строки, используя две разные функции. Давайте прочитаем этот файл в следующем разделе.

Чтение файла

Ниже приведена простейшая функция для чтения текстового файла посимвольно -

int fgetc( FILE * fp );

Функция fgetc () читает символ из входного файла, на который ссылается fp . Возвращаемым значением является прочитанный символ; или в случае любой ошибки возвращает EOF . Следующая функция позволяет вам читать строку из потока -

char *fgets( char *buf, int n, FILE *fp );

Функция fgets () читает до n - 1 символов из входного потока, на который ссылается fp . Он копирует прочитанную строку в буфер buf , добавляя null символ для завершения строки.

Если эта функция встречает символ новой строки '\ n' или EOF до того, как они прочитают максимальное количество символов, то она возвращает только символы, считанные до этой точки, включая символ новой строки. Вы также можете использовать int fscanf (FILE * fp, const char * format, ...) для чтения строк из файла, но он останавливает чтение после появления первого пробела.

#include <stdio.h>

main() {

   FILE *fp;
   char buff[255];

   fp = fopen("/tmp/test.txt", "r");
   fscanf(fp, "%s", buff);
   printf("1 : %s\n", buff );

   fgets(buff, 255, (FILE*)fp);
   printf("2: %s\n", buff );
   
   fgets(buff, 255, (FILE*)fp);
   printf("3: %s\n", buff );
   fclose(fp);
}

Когда приведенный выше код компилируется и выполняется, он читает файл, созданный в предыдущем разделе, и выдает следующий результат:

1 : This
2 : is testing for fprintf...

3 : This is testing for fputs...

Давайте проанализируем, что здесь произошло. Во-первых, метод fscanf () читает это, потому что после этого он столкнулся с пробелом. Второй вызов для fgets () , который читает оставшуюся строку, пока не встретит конец строки. Наконец, последний вызов fgets () полностью читает вторую строку.

Файловый ввод / вывод в Java

Java предоставляет еще более богатый набор функций для обработки файлового ввода-вывода. Для получения дополнительной информации по этой теме мы рекомендуем вам ознакомиться с нашими учебными руководствами по Java.

Здесь мы увидим простую Java-программу, которая эквивалентна C-программе, описанной выше. Эта программа откроет текстовый файл, запишет в него несколько текстовых строк и закроет файл. Наконец, тот же файл открывается и затем читается из уже созданного файла. Вы можете попробовать выполнить следующую программу, чтобы увидеть результат -

import java.io.*;

public class DemoJava {
   public static void main(String []args) throws IOException {
      File file = new File("/tmp/java.txt");
      
      // Create a File
      file.createNewFile();
      
      //  Creates a FileWriter Object using file object
      FileWriter writer = new FileWriter(file); 
      
      // Writes the content to the file
      writer.write("This is testing for Java write...\n");
      writer.write("This is second line...\n");
      
      // Flush the memory and close the file
      writer.flush();
      writer.close();
      
      // Creates a FileReader Object
      FileReader reader = new FileReader(file); 
      char [] a = new char[100];
      
      // Read file content in the array
      reader.read(a);
      System.out.println( a );
      
      // Close the file
      reader.close();
   }
}

Когда вышеуказанная программа выполняется, она дает следующий результат -

This is testing for Java write...
This is second line...

Файловый ввод / вывод в Python

Следующая программа демонстрирует ту же функциональность, чтобы открыть новый файл, записать в него некоторое содержимое и, наконец, прочитать тот же файл:

# Create a new file
fo = open("/tmp/python.txt", "w")

# Writes the content to the file
fo.write( "This is testing for Python write...\n");
fo.write( "This is second line...\n");

# Close the file
fo.close()

# Open existing file
fo = open("/tmp/python.txt", "r")

# Read file content in a variable
str = fo.read(100);
print str

# Close opened file
fo.close()

Когда приведенный выше код выполняется, он дает следующий результат -

This is testing for Python write...
This is second line...

Компьютерное программирование - Резюме

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

Если вы еще не поняли ни одной из этих концепций, мы рекомендуем еще раз пройти курс обучения, и как только вы освоитесь с концепциями, описанными в этом руководстве, вы сможете продолжить.

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

В tutorialspoint мы приложили много усилий для подготовки всеобъемлющих учебных пособий по языкам программирования C, Java и Python, и мы настоятельно рекомендуем вам запустить любой из них после завершения этого учебного курса.

Программирование на С Java программирование Программирование на Python

Пожалуйста, поделитесь с нами своими взглядами на этот учебник, упомянув название учебника в строке темы по адресу [email protected] . Если у вас есть какие-либо предложения по дальнейшему совершенствованию этого учебника, тогда мы определенно хотели бы услышать ваше мнение.