Компьютерное программирование - Краткое руководство
Введение в компьютерную программу
Прежде чем заняться компьютерным программированием, давайте сначала разберемся с компьютерными программами и тем, что они делают.
Компьютерная программа - это последовательность инструкций, написанных с использованием языка программирования для выполнения компьютером определенной задачи.
Два важных термина, которые мы использовали в приведенном выше определении:
- Последовательность инструкций
- Язык компьютерного программирования
Чтобы понять эти термины, рассмотрим ситуацию, когда кто-то спрашивает вас, как пойти в ближайший KFC. Что именно вы делаете, чтобы указать ему путь в KFC?
Вы будете использовать человеческий язык, чтобы указать дорогу в 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 Program написано в English Language, в котором рассказывается, как добраться до KFC из заданной начальной точки. Эта же последовательность могла быть дана на испанском, хинди, арабском или любом другом человеческом языке, при условии, что человек, ищущий направление, знает любой из этих языков.
Теперь давайте вернемся и попытаемся понять компьютерную программу, которая представляет собой последовательность инструкций, написанных на компьютерном языке, для выполнения компьютером определенной задачи. Ниже приводится простая программа, написанная наPython язык программирования -
print "Hello, World!"
Вышеупомянутая компьютерная программа инструктирует компьютер напечатать "Hello, World!" на экране компьютера.
Компьютерная программа также называется computer software, который может варьироваться от двух до миллионов строк инструкций.
Инструкции компьютерной программы также называют исходным кодом программы и computer programming также называется program coding.
Компьютер без компьютерной программы - это просто ящик для свалок; это программы, которые делают компьютеры активными.
Поскольку мы разработали так много языков для общения между собой, специалисты по информатике разработали несколько языков программирования, чтобы предоставлять компьютеру инструкции (т. Е. Писать компьютерные программы). В следующих главах мы увидим несколько языков программирования.
Введение в компьютерное программирование
Если бы вы поняли, что за computer programесть, тогда мы скажем: процесс написания компьютерных программ называется компьютерным программированием.
Как мы упоминали ранее, существуют сотни языков программирования, которые можно использовать для написания компьютерных программ, и вот некоторые из них:
- Java
- C
- C++
- Python
- PHP
- Perl
- Ruby
Использование компьютерных программ
Сегодня компьютерные программы используются почти во всех областях, в домашнем хозяйстве, сельском хозяйстве, медицине, развлечениях, обороне, связи и т. Д. Ниже перечислены несколько приложений компьютерных программ:
MS Word, MS Excel, Adobe Photoshop, Internet Explorer, Chrome и т. Д. Являются примерами компьютерных программ.
Компьютерные программы используются для разработки графики и спецэффектов при создании фильмов.
Компьютерные программы используются для проведения ультразвуковых, рентгеновских и других медицинских обследований.
Компьютерные программы используются в наших мобильных телефонах для SMS, чата и голосовой связи.
Программист
Тот, кто может писать компьютерные программы или, другими словами, тот, кто может заниматься компьютерным программированием, называется компьютерным программистом.
Основываясь на знании языков программирования, мы можем назвать программистов следующим образом:
- Программист C
- Программист на C ++
- Программист Java
- Программист Python
- Программист PHP
- Программист Perl
- Программист на Ruby
Алгоритм
С точки зрения программирования algorithmэто пошаговая процедура решения любой проблемы. Алгоритм - это эффективный метод, выраженный в виде конечного набора четко определенных инструкций.
Таким образом, программист перечисляет все шаги, необходимые для решения проблемы, прежде чем писать фактический код. Ниже приведен простой пример алгоритма определения наибольшего числа из заданного списка чисел.
1. Get a list of numbers L1, L2, L3....LN
2. Assume L1 is the largest, Largest = L1
3. Take next number Li from the list and do the following
4. If Largest is less than Li
5. Largest = Li
6. If Li 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
Вышеупомянутый алгоритм был написан грубо, чтобы помочь новичкам понять концепцию. Вы столкнетесь с более стандартизированными способами написания компьютерных алгоритмов по мере перехода к продвинутым уровням компьютерного программирования.
Мы предполагаем, что вы хорошо знакомы с английским языком, который является широко известным Human Interface Language. В английском языке есть предопределенная грамматика, которой необходимо следовать, чтобы правильно писать английские утверждения. Аналогичным образом, большинство языков человеческого интерфейса (хинди, английский, испанский, французский и т. Д.) Состоят из нескольких элементов, таких как глаголы, существительные, прилагательные, наречия, предложения, союзы и т. Д.
Подобно языкам пользовательского интерфейса, языки компьютерного программирования также состоят из нескольких элементов. Мы познакомим вас с основами этих элементов и поможем вам использовать их на различных языках программирования. Эти основные элементы включают:
- Среда программирования
- Базовый синтаксис
- Типы данных
- Variables
- Keywords
- Основные операторы
- Принятие решений
- Loops
- Numbers
- Characters
- Arrays
- Strings
- Functions
- Файловый ввод-вывод
Мы объясним все эти элементы в следующих главах на примерах с использованием разных языков программирования. Сначала мы попытаемся понять значение всех этих терминов в целом, а затем посмотрим, как эти термины могут использоваться в разных языках программирования.
Это руководство было разработано, чтобы дать вам представление о следующих наиболее популярных языках программирования:
- Программирование на C
- Программирование на Java
- Программирование на Python
Основная часть учебника была объяснена на примере C в качестве языка программирования, а затем мы показали, как похожие концепции работают в Java и Python. Итак, после завершения этого руководства вы будете достаточно знакомы с этими популярными языками программирования.
Хотя настройка среды не является элементом какого-либо языка программирования, это первый шаг, который необходимо выполнить перед тем, как приступить к написанию программы.
Когда мы говорим «Настройка среды», это просто подразумевает основу, на которой мы можем программировать. Таким образом, у нас должна быть необходимая установка программного обеспечения, то есть установка на нашем ПК, которая будет использоваться для написания компьютерных программ, их компиляции и выполнения. Например, если вам нужно работать в Интернете, вам потребуется следующая настройка на вашем компьютере -
- Рабочее подключение к Интернету для подключения к Интернету
- Веб-браузер, например Internet Explorer, Chrome, Safari и т. Д.
Если вы пользователь ПК, то вы узнаете следующий снимок экрана, который мы сделали из Internet Explorer при просмотре tutorialspoint.com.
Точно так же вам понадобится следующая настройка, чтобы начать программировать на любом языке программирования.
- Текстовый редактор для создания компьютерных программ.
- Компилятор для компиляции программ в двоичный формат.
- Интерпретатор для непосредственного выполнения программ.
Если у вас недостаточно доступа к компьютерам, вы не сможете установить ни одно из этих программ. Итак, мы предлагаем вам воспользоваться помощью любого технического специалиста вокруг вас, чтобы настроить среду программирования на вашем компьютере, с которой вы можете начать. Но для вас важно понимать, что это за предметы.
Текстовый редактор
Текстовый редактор - это программное обеспечение, которое используется для написания компьютерных программ. На вашем компьютере с 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 и т. Д., Вам нужно будет установить их интерпретаторы, прежде чем начинать программировать.
Онлайн компиляция
Если вы не можете установить на своем компьютере какой-либо редактор, компилятор или интерпретатор, то tutorialspoint.com предоставляет возможность компилировать и запускать почти все программы в Интернете одним щелчком мыши.
Так что не волнуйтесь, и давайте продолжим, чтобы получить захватывающий опыт, чтобы стать программистом за простые и легкие шаги.
Начнем с небольшого кода, который действительно сделает вас программистом. Мы собираемся написать однострочную компьютерную программу для написания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 () и т. Д., Которые мы можем использовать в наших программах в зависимости от наших требований.
В некоторых языках программирования используется слово sub-routine вместо функции, но их функциональность более или менее одинакова.
Комментарии
Программа на C может содержать операторы, заключенные внутри /*.....*/. Такие заявления называются комментариями, и эти комментарии используются, чтобы сделать программы удобными и понятными. Комментарии хороши тем, что они полностью игнорируются компиляторами и интерпретаторами. Таким образом, вы можете использовать любой язык, на котором хотите писать свои комментарии.
Пробелы
Когда мы пишем программу на любом языке программирования, мы используем различные печатные символы для подготовки программных операторов. Эти печатные символыa, b, c,......z, A, B, C,.....Z, 1, 2, 3,...... 0, !, @, #, $, %, ^, &, *, (, ), -, _, +, =, \, |, {, }, [, ], :, ;, <, >, ?, /, \, ~. `. ", '. Надеюсь, мне не хватает печатных символов на вашей клавиатуре.
Помимо этих символов, есть некоторые символы, которые мы используем очень часто, но они невидимы в вашей программе, и это пробелы, табуляции (\ t), новые строки (\ n). Эти персонажи называютсяwhitespaces.
Эти три важных символа пробела являются общими для всех языков программирования и остаются невидимыми в вашем текстовом документе:
Пробел | Объяснение | Представление |
---|---|---|
Новая линия | Чтобы создать новую строку | \ п |
Вкладка | Чтобы создать вкладку. | \ т |
Космос | Чтобы создать пространство. | пустое место |
Строка, содержащая только пробелы, возможно, с комментарием, называется пустой строкой, и компилятор C полностью игнорирует ее. Пробел - это термин, используемый в C для описания пробелов, табуляции, символов новой строки и комментариев. Так что вы можете написатьprintf("Hello, World!" );как показано ниже. Здесь все созданные пространства вокруг «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
Точка с запятой
Каждый отдельный оператор в программе C должен заканчиваться точкой с запятой (;), например, если вы хотите написать «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. Прежде всего, указанная выше программа преобразуется в двоичный формат с помощью компилятора 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 не требует точки с запятой (;) для завершения оператора, скорее, новая строка всегда означает завершение оператора.
Давайте обсудим очень простую, но очень важную концепцию, доступную почти во всех языках программирования, которая называется data types. Как видно из названия, тип данных представляет собой тип данных, которые вы можете обработать с помощью своей компьютерной программы. Он может быть числовым, буквенно-цифровым, десятичным и т. Д.
Давайте на время отложим компьютерное программирование и рассмотрим простой пример сложения двух целых чисел 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 поддерживает дополнительные типы данных. На данный момент мы берем несколько общих типов данных, поддерживаемых обоими языками программирования:
Тип | Ключевое слово | Диапазон значений, который может быть представлен этим типом данных |
---|---|---|
символ | char | От -128 до 127 или от 0 до 255 |
номер | int | -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 достаточно умен, чтобы автоматически понимать данный тип данных.
- Numbers
- String
- List
- Tuple
- Dictionary
Здесь Number определяет все типы чисел, включая десятичные числа, а строка представляет собой последовательность символов длиной 1 или более символов. А пока давайте продолжим с этими двумя типами данных и пропустим List, Tuple и Dictionary, которые являются расширенными типами данных в Python.
Переменные - это имена, которые вы даете ячейкам памяти компьютера, которые используются для хранения значений в компьютерной программе.
Например, предположим, что вы хотите сохранить в своей программе два значения 10 и 20, а на более позднем этапе вы хотите использовать эти два значения. Посмотрим, как вы это сделаете. Вот следующие три простых шага -
- Создайте переменные с соответствующими именами.
- Сохраните свои значения в этих двух переменных.
- Извлеките и используйте сохраненные значения из переменных.
Создание переменных
Создание переменных также называется declaring variablesв программировании на C. В разных языках программирования есть разные способы создания переменных внутри программы. Например, в программировании на C есть следующий простой способ создания переменных:
#include <stdio.h>
int main() {
int a;
int b;
}
Вышеупомянутая программа создает две переменные, чтобы зарезервировать две ячейки памяти с именами a и b. Мы создали эти переменные, используяint ключевое слово для указания переменной data typeэто означает, что мы хотим хранить целые значения в этих двух переменных. Точно так же вы можете создавать переменные для хранения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 type, то он может хранить только целое число.
Язык программирования C требует создания переменной, т. Е. Объявления перед ее использованием в вашей программе. Вы не можете использовать имя переменной в своей программе, не создав ее, хотя язык программирования, такой как Python, позволяет вам использовать имя переменной, не создавая ее.
Вы можете использовать имя переменной только один раз в своей программе. Например, если переменнаяa был определен для хранения целочисленного значения, тогда вы не можете определить a снова, чтобы сохранить любой другой тип значения.
Существуют языки программирования, такие как Python, PHP, Perl и т. Д., Которые не хотят, чтобы вы указали тип данных во время создания переменных. Таким образом, вы можете хранить целые числа, числа с плавающей запятой или длинные без указания их типа данных.
Вы можете дать любое имя переменной, например age, sex, salary, year1990или что-нибудь еще, что вы хотите дать, но большинство языков программирования позволяют использовать только ограниченные символы в именах переменных. На данный момент мы предлагаем использовать толькоa....z, A....Z, 0....9 в именах переменных и начинайте их имена, используя только алфавиты вместо цифр.
Практически ни один из языков программирования не позволяет начинать имена переменных с цифры, поэтому 1990year не будет допустимым именем переменной, тогда как 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
Если вы хотите использовать float переменная в программировании на 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 -
авто | еще | долго | переключатель |
сломать | перечислить | регистр | typedef |
дело | внешний | возвращение | союз |
char | плавать | короткая | беззнаковый |
const | за | подписанный | пустота |
Продолжить | идти к | размер | летучий |
по умолчанию | если | статический | в то время как |
делать | int | структура | _Packed |
двойной |
Зарезервированные ключевые слова для программирования на Java
Вот таблица, содержащая почти все ключевые слова, поддерживаемые языком программирования Java -
Аннотация | утверждать | логический | сломать |
байт | дело | поймать | char |
класс | const | Продолжить | по умолчанию |
делать | двойной | еще | перечислить |
расширяет | окончательный | Ну наконец то | плавать |
за | идти к | если | орудия |
импорт | экземпляр | int | интерфейс |
долго | родной | новый | пакет |
частный | защищенный | общественный | возвращение |
короткая | статический | strictfp | супер |
переключатель | синхронизированный | это | бросить |
бросает | преходящий | пытаться | пустота |
летучий | в то время как |
Зарезервированные ключевые слова для программирования на Python
Вот таблица, содержащая почти все ключевые слова, поддерживаемые языком программирования Python -
и | exec | не |
утверждать | Ну наконец то | или же |
сломать | за | проходить |
класс | из | Распечатать |
Продолжить | Глобальный | поднять |
def | если | возвращение |
дель | импорт | пытаться |
Элиф | в | в то время как |
еще | является | с участием |
Кроме | лямбда | Уступать |
Мы знаем, что вы не можете запомнить все эти ключевые слова, но мы перечислили их для справочной цели и для объяснения концепции reserved keywords. Так что будьте осторожны, давая имя вашей переменной, вы не должны использовать зарезервированные ключевые слова для этого языка программирования.
Оператор в языке программирования - это символ, который сообщает компилятору или интерпретатору выполнить определенную математическую, реляционную или логическую операцию и получить конечный результат. В этой главе объясняется концепцияoperators и познакомит вас с важными арифметическими и реляционными операторами, доступными в C, Java и Python.
Арифметические операторы
Компьютерные программы широко используются для математических расчетов. Мы можем написать компьютерную программу, которая может выполнять простые вычисления, такие как сложение двух чисел (2 + 3), а также мы можем написать программу, которая может решать сложное уравнение, например P (x) = x 4 + 7x 3 - 5x + 9. Если вы были даже плохим учеником, вы должны знать, что в первом выражении 2 и 3 - операнды, а + - оператор. Подобные концепции существуют в компьютерном программировании.
Взгляните на следующие два примера -
2 + 3
P(x) = x4 + 7x3 - 5x + 9.
Эти два оператора называются арифметическими выражениями в языке программирования и plus, minusиспользуемые в этих выражениях называются арифметическими операторами, а значения, используемые в этих выражениях, например 2, 3 и x и т. д., называются операндами. В простейшей форме такие выражения дают численные результаты.
Точно так же язык программирования предоставляет различные арифметические операторы. В следующей таблице перечислены некоторые из важных арифметических операторов, доступных в языке программирования C. Предположим, что переменная A содержит 10, а переменная B содержит 20, тогда -
Оператор | Описание | пример |
---|---|---|
+ | Добавляет два операнда | A + B даст 30 |
- | Вычитает второй операнд из первого | A - B даст -10 |
* | Умножает оба операнда | A * B даст 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 conditional statement. Хотя это утверждение будет обсуждаться позже в отдельной главе, но вкратце мы используемif statement чтобы проверить условие, и если условие истинно, то тело if statement выполняется, иначе тело if statement пропускается.
#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
Логические операторы
Логические операторы очень важны в любом языке программирования, и они помогают нам принимать решения на основе определенных условий. Предположим, мы хотим объединить результат двух условий, тогда логические операторы И и ИЛИ помогают нам в получении окончательного результата.
В следующей таблице показаны все логические операторы, поддерживаемые языком C. Предположим переменную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. Программирование на C и 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 с помощью if conditional statements чтобы преобразовать приведенную выше ситуацию в программный код -
#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 conditional statements. Здесь первыйif statementпроверяет, превышает ли данное условие, т. е. переменная x, 95 или нет, и если обнаруживает, что условие истинно, то вводится условное тело для выполнения заданных операторов. Здесь у нас есть только один оператор printf () для вывода замечания об ученике.
Аналогично второй if statementработает. Наконец, третийif statement выполняется, здесь у нас есть следующие два условия -
Первое условие x > 95
Второе условие x < 30
Компьютер оценивает оба заданных условия, а затем общий результат объединяется с помощью бинарного оператора &&. Если окончательный результат верен, то условный оператор будет выполнен, в противном случае ни один оператор не будет выполнен.
Этот учебник даст вам общее представление о различных формах if statements и введение в switchоператоры доступны на языке программирования C. Различные языки программирования предоставляют разные типы операторов принятия решений, но основная концепция остается такой же, как описано в этом руководстве.
если ... еще заявление
An if за заявлением может следовать необязательный elseоператор, который выполняется, когда логическое выражение ложно. Синтаксис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 */
}
Вышеупомянутый синтаксис может быть представлен в виде блок-схемы, как показано ниже -
An 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 инструкция
An if за заявлением может следовать необязательный else if...else заявление, которое очень полезно для проверки различных условий.
При использовании if, else if, else утверждения, следует помнить о нескольких моментах -
An if может иметь ноль или один else's и это должно произойти после else if.
An if может иметь от нуля до многих else…if's и они должны прийти до else.
Однажды else…if успешно, ни один из оставшихся else…if's или же else's будут проверены.
Синтаксис 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 statementsкоторый позволяет проверять переменную на равенство со списком значений. Каждое значение называетсяcase, и включаемая переменная проверяется для каждого случая переключения. Он имеет следующий синтаксис -
switch(expression){
case ONE :
statement(s);
break;
case TWO:
statement(s);
break;
......
default :
statement(s);
}
В expression используется в switchОператор должен давать целочисленное значение, которое будет сравниваться на равенство в разных случаях. Везде, где значение выражения совпадает со значением case, будет выполнено тело этого case и, наконец, переключатель будет завершен с использованиемbreakзаявление. Если операторы break не предоставлены, компьютер продолжает выполнять другие операторы, доступные ниже для сопоставленного случая. Если ни один из вариантов не совпадает, выполняется тело дела по умолчанию.
Вышеупомянутый синтаксис может быть представлен в виде блок-схемы, как показано ниже -
Теперь давайте рассмотрим другой пример, в котором мы хотим написать эквивалентное английское слово для данного числа. Тогда его можно закодировать следующим образом -
#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 () тысячу раз. Почти все языки программирования предоставляют концепцию, называемуюloop, который помогает выполнять одну или несколько инструкций до желаемого количества раз. Все языки программирования высокого уровня предоставляют различные формы циклов, которые можно использовать для многократного выполнения одного или нескольких операторов.
Напишем указанную выше программу на C с помощью while loop а позже мы обсудим, как работает этот цикл
#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 loop, который используется для выполнения набора программных операторов, заключенных в {....}. Здесь компьютер сначала проверяет, является ли данное условие, т. Е. Переменная «a» меньше 5 или нет, и если он обнаруживает, что условие истинно, то вводится тело цикла для выполнения заданных операторов. Здесь у нас есть следующие два оператора в теле цикла:
Первый оператор - это функция printf () , которая выводит Hello World!
Второй оператор i = i + 1 , который используется для увеличения значения переменнойi
После выполнения всех операторов, указанных в теле цикла, компьютер возвращается к while (i <5), и данное условие (i <5) проверяется снова, и цикл выполняется снова, если условие выполняется. Этот процесс повторяется до тех пор, пока данное условие не останется истинным, что означает, что переменная «а» имеет значение меньше 5.
В заключение, оператор цикла позволяет нам выполнять оператор или группу операторов несколько раз. Ниже приведена общая форма оператора цикла на большинстве языков программирования.
Это руководство было разработано для того, чтобы представить основные концепции программирования непрограммистам, поэтому давайте обсудим два наиболее важных цикла, доступных в языке программирования C. Когда вы разберетесь с этими двумя циклами, вы можете взять учебник по программированию на C или справочник и проверить другие циклы, доступные в C, и то, как они работают.
Цикл while
А while loop доступный на языке программирования C, имеет следующий синтаксис -
while ( condition ) {
/*....while loop body ....*/
}
Приведенный выше код может быть представлен в виде блок-схемы, как показано ниже -
О цикле while следует отметить следующие важные моменты:
Цикл while начинается с ключевого слова while за которым следует condition заключен в ().
В дополнение к оператору while () тело цикла будет заключено в фигурные скобки. {...}.
В теле цикла while может быть одна или несколько строк исходного кода, которые должны выполняться повторно.
Если в теле цикла while есть только одна строка, то использовать фигурные скобки необязательно. {...}.
Цикл while продолжает выполнение своего тела до заданного conditionСправедливо. Как только условие становится ложным, цикл while выходит и продолжает выполнение, начиная со следующего оператора, следующего за телом цикла while.
Условие - это обычно относительное утверждение, которое оценивается как истинное или ложное. Значение, равное нулю, рассматривается как ложное, а любое ненулевое значение работает как истинное.
Цикл do ... while
Цикл while проверяет заданное условие перед выполнением любых операторов, заданных в части тела. Программирование на C предоставляет другую форму цикла, называемуюdo...whileчто позволяет выполнить тело цикла перед проверкой заданного условия. Он имеет следующий синтаксис -
do {
/*....do...while loop body ....*/
}
while ( condition );
Приведенный выше код может быть представлен в виде блок-схемы, как показано ниже -
Если вы напишете приведенный выше пример, используя 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;
А 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 Заявление можно представить в виде блок-схемы, как показано ниже -
Ниже приведен вариант вышеуказанной программы, но он будет пропускать печать, когда переменная имеет значение, равное 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 не использует фигурные скобки для тела цикла, вместо этого он просто идентифицирует тело цикла, используя отступы операторов.
Вы можете попробовать выполнить следующую программу, чтобы увидеть результат. Чтобы показать разницу, мы использовали еще один оператор печати, который будет выполнен после завершения цикла.
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.
Каждый язык программирования обеспечивает поддержку для управления различными типами чисел, такими как простые целые числа и числа с плавающей запятой. C, Java и Python делят эти числа на несколько категорий в зависимости от их природы.
Давайте вернемся и проверим главу о типах данных, где мы перечислили основные типы данных, связанные с числами -
Тип | Ключевое слово | Диапазон значений, который может быть представлен этим типом данных |
---|---|---|
номер | int | -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для печати чисел с плавающей запятой и double, что указывает количество печатаемых цифр после десятичной дроби. Когда вышеуказанная программа выполняется, она дает следующий результат -
s: 10
i: 1000
l: 1000000
f: 230.470
d: 30949.374
Математические операции над числами
В следующей таблице перечислены различные полезные встроенные математические функции. functions доступен на языке программирования C, который может использоваться для различных важных математических вычислений.
Например, если вы хотите вычислить квадратный корень из числа, например, 2304, тогда у вас есть встроенная функция для вычисления квадратного корня.
Sr.No. | Function & Purpose |
---|---|
1 | double cos(double); This function takes an angle (as a double) and returns the cosine. |
2 | double sin(double); This function takes an angle (as a double) and returns the sine. |
3 | double tan(double); This function takes an angle (as a double) and returns the tangent. |
4 | double log(double); This function takes a number and returns the natural log of that number. |
5 | double pow(double, double); The first is a number you wish to raise and the second is the power you wish to raise it to. |
6 | double hypot(double, double); If you pass this function the length of two sides of a right triangle, it will return the length of the hypotenuse. |
7 | double sqrt(double); You pass this function a number and it returns its square root. |
8 | int abs(int); This function returns the absolute value of an integer that is passed to it. |
9 | double fabs(double); This function returns the absolute value of any decimal number passed to it. |
10 | double floor(double); Finds the integer which is less than or equal to the argument passed to it. |
Following is a simple example to show a few mathematical operations. To utilize these functions, you need to include the math header file <math.h> in your program in the same way you included 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));
}
When the above program is executed, it produces the following result −
sin(s): -0.544021
abs(i): -0.544021
floor(f): 230.000000
sqrt(l): 1000.000000
pow(d, 2): 5.635876
Besides the above usage, you will use numbers in loop counting, flag representation, true or false values in C programming.
Numbers in Java
Following is the equivalent program written in Java. Java provides almost all the numeric data types available in C programming.
You can try to execute the following program to see the output, which is identical to the result generated by the above C example.
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);
}
}
When the above program is executed, it produces the following result −
s: 10
i: 1000
l: 1000000
f: 230.470001
d: 30949.374000
Java also provides a full range of built-in functions for mathematical calculation and you can use them in the same way as you did in C programming.
Numbers in Python
Python is a little different from C and Java; it categorizes numbers in int, long, float and complex. Here are some examples of numbers in Python −
int | long | float | complex |
---|---|---|---|
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 |
Following is the equivalent program written in 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
When the above program is executed, it produces the following result −
s: 10
i: 1000
l: 1000000
f: 230.47
d: 30949.374
Python also provides a full range of built-in functions for mathematical calculations and you can use them in the same way you have used them in C programming.
If it was easy to work with numbers in computer programming, it would be even easier to work with characters. Characters are simple alphabets like a, b, c, d...., A, B, C, D,....., but with an exception. In computer programming, any single digit number like 0, 1, 2,....and special characters like $, %, +, -.... etc., are also treated as characters and to assign them in a character type variable, you simply need to put them inside single quotes. For example, the following statement defines a character type variable ch and we assign a value 'a' to it −
char ch = 'a';
Here, ch is a variable of character type which can hold a character of the implementation's character set and 'a' is called a character literal or a character constant. Not only a, b, c,.... but when any number like 1, 2, 3.... or any special character like !, @, #, #, $,.... is kept inside single quotes, then they will be treated as a character literal and can be assigned to a variable of character type, so the following is a valid statement −
char ch = '1';
A character data type consumes 8 bits of memory which means you can store anything in a character whose ASCII value lies in between -127 to 127, so it can hold any of the 256 different values. A character data type can store any of the characters available on your keyboard including special characters like !, @, #, #, $, %, ^, &, *, (, ), _, +, {, }, etc.
Note that you can keep only a single alphabet or a single digit number inside single quotes and more than one alphabets or digits are not allowed inside single quotes. So the following statements are invalid in C programming −
char ch1 = 'ab';
char ch2 = '10';
Given below is a simple example, which shows how to define, assign, and print characters in C Programming language −
#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);
}
Here, we used %c to print a character data type. When the above program is executed, it produces the following result −
ch1: a
ch2: 1
ch3: $
ch4: +
Escape Sequences
Many programming languages support a concept called Escape Sequence. When a character is preceded by a backslash (\), it is called an escape sequence and it has a special meaning to the compiler. For example, \n in the following statement is a valid character and it is called a new line character −
char ch = '\n';
Here, character n has been preceded by a backslash (\), it has special meaning which is a new line but keep in mind that backslash (\) has special meaning with a few characters only. The following statement will not convey any meaning in C programming and it will be assumed as an invalid statement −
char ch = '\1';
The following table lists the escape sequences available in C programming language −
Escape Sequence | Description |
---|---|
\t | Inserts a tab in the text at this point. |
\b | Inserts a backspace in the text at this point. |
\n | Inserts a newline in the text at this point. |
\r | Inserts a carriage return in the text at this point. |
\f | Inserts a form feed in the text at this point. |
\' | Inserts a single quote character in the text at this point. |
\" | Inserts a double quote character in the text at this point. |
\\ | Inserts a backslash character in the text at this point. |
The following example shows how the compiler interprets an escape sequence in a print statement −
#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);
}
When the above program is executed, it produces the following result −
Test for tabspace and a newline
will start here
Characters in Java
Following is the equivalent program written in Java. Java handles character data types much in the same way as we have seen in C programming. However, Java provides additional support for character manipulation.
You can try to execute the following program to see the output, which must be identical to the result generated by the above C example.
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);
}
}
When the above program is executed, it produces the following result −
ch1: a
ch2: 1
ch3: $
ch4: +
Java also supports escape sequence in the same way you have used them in C programming.
Characters in Python
Python does not support any character data type but all the characters are treated as string, which is a sequence of characters. We will study strings in a separate chapter. You do not need to have any special arrangement while using a single character in Python.
Following is the equivalent program written in Python −
ch1 = 'a';
ch2 = '1';
ch3 = '$';
ch4 = '+';
print "ch1: ", ch1
print "ch2: ", ch2
print "ch3: ", ch3
print "ch4: ", ch4
When the above program is executed, it produces the following result −
ch1: a
ch2: 1
ch3: $
ch4: +
Python supports escape sequences in the same way as you have used them in C programming.
Consider a situation where we need to store five integer numbers. If we use programming's simple variable and data type concepts, then we need five variables of int data type and the program will be as follows −
#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);
}
It was simple, because we had to store just five integer numbers. Now let's assume we have to store 5000 integer numbers. Are we going to use 5000 variables?
To handle such situations, almost all the programming languages provide a concept called array. An array is a data structure, which can store a fixed-size collection of elements of the same data type. An array is used to store a collection of data, but it is often more useful to think of an array as a collection of variables of the same type.
Instead of declaring individual variables, such as number1, number2, ..., number99, you just declare one array variable number of integer type and use number1[0], number1[1], and ..., number1[99] to represent individual variables. Here, 0, 1, 2, .....99 are index associated with var variable and they are being used to represent individual elements available in the array.
All arrays consist of contiguous memory locations. The lowest address corresponds to the first element and the highest address to the last element.
Create Arrays
To create an array variable in C, a programmer specifies the type of the elements and the number of elements to be stored in that array. Given below is a simple syntax to create an array in C programming −
type arrayName [ arraySize ];
This is called a single-dimensional array. The arraySize must be an integer constant greater than zero and type can be any valid C data type. For example, now to declare a 10-element array called number of type int, use this statement −
int number[10];
Here, number is a variable array, which is sufficient to hold up to 10 integer numbers.
Initializing Arrays
You can initialize an array in C either one by one or using a single statement as follows −
int number[5] = {10, 20, 30, 40, 50};
The number of values between braces { } cannot be larger than the number of elements that we declare for the array between square brackets [ ].
If you omit the size of the array, an array just big enough to hold the initialization is created. Therefore, if you write −
int number[] = {10, 20, 30, 40, 50};
You will create exactly the same array as you did in the previous example. Following is an example to assign a single element of the array −
number[4] = 50;
The above statement assigns element number 5th in the array with a value of 50. All arrays have 0 as the index of their first element which is also called the base index and the last index of an array will be the total size of the array minus 1. The following image shows the pictorial representation of the array we discussed above −
Accessing Array Elements
An element is accessed by indexing the array name. This is done by placing the index of the element within square brackets after the name of the array. For example −
int var = number[9];
The above statement will take the 10th element from the array and assign the value to var variable. The following example uses all the above-mentioned three concepts viz. creation, assignment, and accessing arrays −
#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;
}
When the above code is compiled and executed, it produces the following result −
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
Arrays in Java
Following is the equivalent program written in Java. Java supports arrays, but there is a little difference in the way they are created in Java using the new operator.
You can try to execute the following program to see the output, which must be identical to the result generated by the above C example.
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;
}
}
}
When the above program is executed, it produces the following result −
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
Arrays (Lists) in Python
Python does not have a concept of Array, instead Python provides another data structure called list, which provides similar functionality as arrays in any other language.
Following is the equivalent program written in 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
When the above program is executed, it produces the following result −
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
During our discussion about characters, we learnt that character data type deals with a single character and you can assign any character from your keyboard to a character type variable.
Now, let's move a little bit ahead and consider a situation where we need to store more than one character in a variable. We have seen that C programming does not allow to store more than one character in a character type variable. So the following statements are invalid in C programming and produce syntax errors −
char ch1 = 'ab';
char ch2 = '10';
We have also seen how to use the concept of arrays to store more than one value of similar data type in a variable. Here is the syntax to store and print five numbers in an array of int type −
#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;
}
}
When the above code is compiled and executed, it produces the following result −
number[0] = 10
number[1] = 20
number[2] = 30
number[3] = 40
number[4] = 50
Now, let's define an array of five characters in the same way as we did for numbers and try to print them −
#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;
}
}
Here, we used %c to print character value. When the above code is compiled and executed, it produces the following result −
ch[0] = H
ch[1] = e
ch[2] = l
ch[3] = l
ch[4] = o
If you are done with the above example, then I think you understood how strings work in C programming, because strings in C are represented as arrays of characters. C programming simplified the assignment and printing of strings. Let's check the same example once again with a simplified syntax −
#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;
}
}
Here, we used %s to print the full string value using array name ch, which is actually the beginning of the memory address holding ch variable as shown below −
Although it's not visible from the above examples, a C program internally assigns null character '\0' as the last character of every string. It indicates the end of the string and it means if you want to store a 5 character string in an array, then you must define an array size of 6 as a good practice, though C does not complain about it.
If the above code is compiled and executed, it produces the following result −
String = Hello
ch[0] = H
ch[1] = e
ch[2] = l
ch[3] = l
ch[4] = o
Basic String Concepts
Based on the above discussion, we can conclude the following important points about strings in C programming language −
Strings in C are represented as arrays of characters.
We can constitute a string in C programming by assigning character by character into an array of characters.
We can constitute a string in C programming by assigning a complete string enclosed in double quote.
We can print a string character by character using an array subscript or a complete string by using an array name without subscript.
The last character of every string is a null character, i.e., ‘\0’.
Most of the programming languages provide built-in functions to manipulate strings, i.e., you can concatenate strings, you can search from a string, you can extract sub-strings from a string, etc. For more, you can check our detailed tutorial on C programming or any other programming language.
Strings in Java
Though you can use character arrays to store strings, but Java is an advanced programming language and its designers tried to provide additional functionality. Java provides strings as a built-in data type like any other data type. It means you can define strings directly instead of defining them as array of characters.
Following is the equivalent program written in Java. Java makes use of the new operator to create string variables as shown in the following program.
You can try to execute the following program to see the output −
public class DemoJava {
public static void main(String []args) {
String str = new String("Hello");
System.out.println( "String = " + str );
}
}
When the above program is executed, it produces the following result −
String = Hello
Strings in Python
Creating strings in Python is as simple as assigning a string into a Python variable using single or double quotes.
Given below is a simple program that creates two strings and prints them using print() function −
var1 = 'Hello World!'
var2 = "Python Programming"
print "var1 = ", var1
print "var2 = ", var2
When the above program is executed, it produces the following result −
var1 = Hello World!
var2 = Python Programming
Python does not support character type; these are treated as strings of length one, thus also considered a substring.
Чтобы получить доступ к подстрокам, используйте квадратные скобки для нарезки вместе с индексом или индексами для получения вашей подстроки. Взгляните на следующий сегмент кода -
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(). Это так называемые встроенные функции, предоставляемые самим языком, но мы также можем написать свои собственные функции, и в этом руководстве вы научитесь писать и использовать эти функции на языке программирования C.
В функциях хорошо то, что они известны под несколькими именами. В разных языках программирования они называются по-разному, например, функции, методы, подпрограммы, процедуры и т. Д. Если вы столкнетесь с какой-либо такой терминологией, просто представьте себе ту же концепцию, которую мы собираемся обсудить в этом руководстве.
Начнем с программы, в которой мы определим два массива чисел, а затем из каждого массива найдем наибольшее число. Ниже приведены шаги, чтобы узнать максимальное число из заданного набора чисел -
1. Get a list of numbers L1, L2, L3....LN
2. Assume L1 is the largest, Set max = L1
3. Take next number Li from the list and do the following
4. If max is less than Li
5. Set max = Li
6. If Li 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- тип данных значения, возвращаемого функцией. Некоторые функции выполняют желаемые операции без возврата значения. В этом случае return_type - это ключевое словоvoid.
Function Name- Это настоящее имя функции. Имя функции и список параметров вместе составляют сигнатуру функции.
Parameter List- Параметр похож на заполнитель. Когда функция вызывается, вы передаете значение в качестве параметра. Это значение называется фактическим параметром или аргументом. Список параметров относится к типу, порядку и количеству параметров функции. Параметры не обязательны; то есть функция может не содержать параметров.
Function Body - Тело функции содержит набор операторов, определяющих, что делает функция.
Вызов функции
Создавая функцию 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 называет ихmethods, но остальные концепции остаются более или менее такими же.
Ниже приводится эквивалентная программа, написанная на 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 и т. Д. Однако во многих случаях нам также необходимо создавать файлы с помощью компьютерных программ. Мы можем изменить существующий файл с помощью компьютерной программы.
Файловый ввод означает данные, которые записываются в файл, а файловый вывод означает данные, которые читаются из файла. Фактически, термины ввода и вывода больше связаны с вводом и выводом экрана. Когда мы отображаем результат на экране, он называется выводом. Точно так же, если мы предоставляем некоторый ввод в нашу программу из командной строки, это называется вводом.
На данный момент достаточно помнить, что запись в файл - это ввод файла, а чтение чего-либо из файла - вывод файла.
Режимы работы с файлами
Прежде чем мы начнем работать с каким-либо файлом с помощью компьютерной программы, нам нужно либо создать новый файл, если он не существует, либо открыть уже существующий файл. В любом случае мы можем открыть файл в следующих режимах -
Read-Only Mode- Если вы собираетесь просто прочитать существующий файл и не хотите записывать в него какое-либо дополнительное содержимое, то вы откроете файл в режиме только для чтения. Почти все языки программирования предоставляют синтаксис для открытия файлов в режиме только для чтения.
Write-Only Mode- Если вы собираетесь производить запись в существующий или вновь созданный файл, но не хотите читать какой-либо записанный контент из этого файла, вы откроете файл в режиме только для записи. Все языки программирования предоставляют синтаксис для открытия файлов в режиме только для записи.
Read & Write Mode - Если вы собираетесь читать и записывать в один и тот же файл, вы откроете файл в режиме чтения и записи.
Append Mode- Когда вы открываете файл для записи, это позволяет вам начать запись с начала файла; однако он перезапишет существующий контент, если таковой имеется. Предположим, мы не хотим перезаписывать существующий контент, тогда мы открываем файл в режиме добавления. Режим добавления - это, в конечном счете, режим записи, который позволяет добавлять содержимое в конец файла. Почти все языки программирования предоставляют синтаксис для открытия файлов в режиме добавления.
В следующих разделах мы узнаем, как открыть новый файл, как записать в него, а позже, как читать и добавлять дополнительный контент в тот же файл.
Открытие файлов
Вы можете использовать fopen()функция для создания нового файла или открытия существующего файла. Этот вызов инициализирует объект типаFILE, который содержит всю информацию, необходимую для управления потоком. Вот прототип, то есть подпись этого вызова функции -
FILE *fopen( const char * filename, const char * mode );
Вот, filename является строковым литералом, который вы будете использовать для имени файла и доступа mode может иметь одно из следующих значений -
Старший Нет | Режим и описание |
---|---|
1 | r Открывает существующий текстовый файл для чтения. |
2 | w Открывает текстовый файл для записи. Если его нет, создается новый файл. Здесь ваша программа начнет писать контент с начала файла. |
3 | a Открывает текстовый файл для записи в режиме добавления. Если его нет, создается новый файл. Здесь ваша программа начнет добавлять содержимое в существующее содержимое файла. |
4 | r+ Открывает текстовый файл для чтения и записи. |
5 | w+ Открывает текстовый файл для чтения и записи. Сначала он обрезает файл до нулевой длины, если он существует; в противном случае создает файл, если он не существует. |
6 | a+ Открывает текстовый файл для чтения и записи. Создает файл, если он не существует. Чтение начнется сначала, но запись может быть только добавлена. |
Закрытие файла
Чтобы закрыть файл, используйте fclose( )функция. Прототип этой функции -
int fclose( FILE *fp );
В fclose( ) функция возвращает ноль в случае успеха, или EOF, специальный символ, если при закрытии файла произошла ошибка. Эта функция фактически сбрасывает все данные, все еще ожидающие в буфере, в файл, закрывает файл и освобождает всю память, используемую для файла. EOF - это константа, определенная в файле заголовка.stdio.h.
Стандартная библиотека C предоставляет различные функции для чтения и записи файла посимвольно или в виде строки фиксированной длины. Давайте посмотрим на некоторые из них в следующем разделе.
Запись файла
Ниже приведена простейшая функция для записи отдельных символов в поток -
int fputc( int c, FILE *fp );
Функция fputc() записывает символьное значение аргумента c в выходной поток, на который ссылается fp. Он возвращает записанный символ, написанный в случае успеха, иначеEOFесли есть ошибка. Вы можете использовать следующие функции для записи строки с завершающим нулем в поток:
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() метод читает Thisпотому что после этого он обнаружил пробел. Второй призыв к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...
Благодарим вас за терпение при прохождении этого руководства. Мы постарались сделать его кратким, но поскольку эта тема содержит несколько тем, мы подробно показали несколько примеров.
Если вы не поняли ни одной из концепций, мы рекомендуем пройти обучение еще раз, и как только вы освоитесь с концепциями, описанными в этом руководстве, вы можете продолжить.
Есть много других тем, связанных с компьютерным программированием, которые мы не рассматривали намеренно, чтобы избежать путаницы, но мы уверены, что вам не составит труда понять эти концепции, если вы освоитесь с концепциями, описанными в этом руководстве.
На этапе обучения мы приложили много усилий для подготовки исчерпывающих руководств по языкам программирования C, Java и Python, и мы настоятельно рекомендуем вам начать работу с любым из них после завершения этого руководства.
Пожалуйста, поделитесь с нами своим мнением об этом руководстве, указав название учебника в строке темы на [email protected]. Если у вас есть какие-либо предложения по дальнейшему улучшению этого руководства, мы определенно хотели бы услышать от вас.