Language cc. Scanf C function: description. Defined or undefined data type

Learning the basics and intricacies of the C++ programming language. A textbook with practical tasks and tests. Do you want to learn to program? Then you are in the right place - here is free programming training. Whether you're experienced or not, these programming lessons will help you get started creating, compiling, and debugging C++ programs in a variety of development environments: Visual Studio, Code::Blocks, Xcode, or Eclipse.

Lots of examples and detailed explanations. Perfect for both beginners (dummies) and more advanced ones. Everything is explained from scratch to the very details. These lessons (200+) will give you a good base/foundation in understanding programming not only in C++, but also in other programming languages. And it's absolutely free!

Also covered is the step-by-step creation of a game in C++, the SFML graphics library and more than 50 tasks to test your skills and knowledge in C++. An additional bonus is.

For reposting +20 to karma and my gratitude!

Chapter No. 0. Introduction. Beginning of work

Chapter No. 1. C++ Basics

Chapter No. 2. Variables and basic data types in C++

Chapter No. 3. Operators in C++

Chapter No. 4. Scope and other types of variables in C++

Chapter No. 5. The order in which code is executed in a program. Loops and branches in C++

Computers are perhaps the most versatile tools that humanity has at its disposal. They are capable of performing incredible calculations, they allow you to store a huge amount of information, completely different parts of the planet, and at the same time easily exchange it, regardless of location. Computers make many everyday tasks easier, and they make it possible to automate many routine processes that would be very tedious and boring for a human to do. There are so many things that computers can do, but nevertheless, computers do not have intelligence, unlike humans. To automate even the simplest process, you need to tell the computer clearly and unambiguously what exactly it should do. Unfortunately, our language and the computer language are completely different. Thus, between the machine and the person there is a serious language barrier that must be overcome somehow, otherwise the computer will not understand us. And as long as computers don’t understand us, they won’t do anything on their own. A huge number of programming languages ​​have been invented as a means of communication between a person and a computer. With the help of programming languages, we create programs and the computer directly works with the programs. Programs themselves are sets of instructions that a computer can understand and execute.

Types of programs

In order to communicate effectively with the computer, which is what we want, there is a wide range of programming languages.

Depending on the type of project, there are many factors to consider when choosing a programming language. Here is a list of the most notable factors:

Compilation, interpretation and JIT compilation

The compilation process translates code written in a programming language into the native language of the target machine. The program that performs this process is called a compiler. Compilation can make the code run quite quickly, especially if the compiler is efficient at optimizing. But the fact is that the resulting code cannot work on various operating systems, and the compilation process takes some time, and the more code, the longer the compilation process. It is worth noting that when making any changes to the program code, it is necessary to compile it and only then run it.

Interpreted programming languages ​​are read by a program called an interpreter and executed by the same program. Interpreted programming languages ​​can run on different operating systems, just like an interpreter, and do not even have long compilation times. But programs written using interpreted languages ​​tend to run much slower than equivalent, compiled programs.

And finally, the so-called on-the-fly compilation (or JIT compilation). Such languages ​​are quickly compiled at the time the program is launched. Programs written in JIT languages, as a rule, are not optimized, thereby speeding up the compilation process and restoring the balance between performance and cross-platform compatibility.

High or low programming levels

Low-level languages ​​mostly work directly with hardware, and are therefore best suited for writing device drivers. Drivers are programs that control hardware and have direct access to it. However, a program written in a low-level language is usually difficult to port to other platforms. And therefore, for each OS, the same device comes with different drivers. Low-level programming languages ​​almost always compile.

In high-level languages, the entire focus is on the concept of language. That is, such a programming language should be easy to understand, such as representing data as arrays, strings, objects, etc. A high-level language is usually easier to understand than a low-level language. And, as a rule, developing a program in a high-level language is much easier and faster than in a low-level language. As you can see, different levels of programming are intended for completely different tasks, and you should not compare the functionality of languages ​​at different levels, it is pointless.

Programming Language Data Type Systems

For every programming language, there is a specification that defines various rules that programming languages ​​must follow. Some languages ​​don't have data types, so this doesn't apply to them. However, most languages ​​(including C++) have data types, so this information will be useful to you.

Strong or weak data type system

A weak input system does not impose any restrictions; the programmer must monitor this. When I say “weak data system,” I mean that a language with such a data system does not strictly regulate the available data type casts. For example, if you pass a string or symbol instead of a number to the multiplication function, non-strictly typed programming languages ​​will execute such code, although the result of the multiplication loses all meaning, since a string cannot be multiplied by a number. Moreover, the result of performing this meaningless multiplication will be unpredictable. If the programming language is strictly typed, then at the compilation stage, the translator will report an error and stop the process of building the project. For example,

// example program in C++ #include using namespace std; int main())( char string = "example"; int number = 5; cout<< string * number << endl; // умножаем строку на число }

As a result, the compiler will report an error:

error: invalid operands of types ‘char ’ and ‘int’ to binary ‘operator*’

We will try to do the same in a non-strongly typed programming language - php. Please note that even when declaring variables, you do not need to specify the data type.

The result of executing this code will be zero. No error will occur, although it would seem that you cannot multiply a string by a number. But in PHP everything is possible. The PHP language compiler will not report an error, the script will work and even produce the result, and if our program consists of 1000 lines of code, then it will be difficult for us to find this error. This is a vivid example of a programming language with a “weak data type system,” that is, the prevention of such absurd operations rests entirely on the shoulders of the programmer.

Defined or undefined data type

This applies to both compiled and interpreted languages. Many languages ​​require explicit definition of the type of variables, so there is no uncertainty, the compiler and interpreter clearly know what to do. Some programming languages ​​do not require explicit definition of the type of variables. The data type is determined automatically based on the contents of the variable.

Static or dynamic data type

If the language is statically typed, then the compiler/interpreter does type checking once before the compilation/interpretation process. If the data type is dynamic, then the data types are checked at run time.

Safe or unsafe data type system

There may be situations that may lead to unexpected results or errors. A safe language will introduce as many restrictions as possible to ensure that such situations do not arise. While an unsafe language places all responsibility on the programmer.

These factors can characterize either one or several programming languages.

Supported programming paradigms

Programming paradigms are methodologies or ways of programming that a programming language supports. Here is a list of the main paradigms:

Declarative paradigm

A declarative programming language will place more emphasis on the goal rather than the means to achieve that goal. It is enough to indicate what needs to be achieved, but it is not necessary to indicate what means to use. This paradigm prevents unwanted side effects that can occur when writing your own code.

Functional paradigm

Functional programming is a subset of declarative programming that attempts to solve problems in terms of mathematical equations and functions. Functional programming treats variables and objects as data that is not shared, unlike imperative languages.

Generalized paradigm

Generic programming focuses on writing algorithms in terms of data types to be defined. That is, the same algorithm can work with different types of data. This approach can be a very powerful tool, but only if implemented well.

Imperative paradigm

Imperative languages ​​allow programmers to give the computer an ordered list of instructions that are needed to complete a task. Imperative programming languages ​​are contrasted with declarative programming languages.

Structural paradigm

Structural programming languages ​​aim to provide some form of code—a hierarchical structure. When the structure of the code is clearly visible, the order in which the statements are executed becomes intuitively clear. Such languages ​​usually discourage “jumping” from one part of the code to another, for example, the goto operator we all know, which is defined in the C and C++ languages.

Procedural paradigm

Procedural programming language refers to structured programming languages ​​that support the concept of procedure or subroutine.

Object-oriented paradigm

Object-oriented programming (sometimes abbreviated OOP) is a subset of structured programming that expresses programs in terms of "objects". This paradigm allows code to be reused, and this approach is quite easy to understand.

Standardization

Do languages ​​have an official standard? Standardization is very important to ensure conflict-free understanding of the program by different compilers/interpreters. Some languages ​​are standardized by the American National Standards Institute (ANSI), others are standardized by the International Organization for Standardization (ISO). All programming languages ​​must be standardized, otherwise there will be no agreement on what is correct and incorrect in syntax.

Let's characterize the C++ programming language

Now that we have examined the main characteristics of programming languages, let us determine which factors the C++ programming language satisfies.

C++ is an ISO standardized programming language.

For some time, C++ did not have an official standard, however, since 1998, C++ has been standardized by an ISO committee.

C++ compiled language.

C++ compiles directly to machine code, making it one of the world's fastest languages.

C++ is a strongly typed language.

C++ assumes that the programmer knows what he is doing, and allows an incredible number of possibilities, limited only by imagination.

C++ supports static and dynamic data types.

Thus, data type checking can be done at compile time or at run time. And this once again proves the flexibility of C++.

C++ supports many paradigms.

C++ supports procedural, generic, and object-oriented programming paradigms, and many other paradigms.

C++ is a portable programming language.

As one of the most commonly used languages ​​in the world, and as an open language, C++ has a wide range of compilers that run on a variety of platforms. The C++ Standard Library code will run on many platforms.

C++ is fully compatible with the C language

In C++ you can use C libraries and they will work properly.

1. Introduction

Programming requires new universal algorithmic models, and hardware implements algorithms not only in a different form, but also on the basis of a different algorithmic model - automata. Borrowing technology from hardware development is the key idea behind automata programming. However, digital device synthesis is different from programming. But when borrowing a model, on the one hand, it is not advisable to change it significantly, and, on the other hand, one cannot ignore the already existing theory and practice of programming.

Next, we will look at the SWITCH technology for designing automata programs, in which you encounter similar processes all the time. On the one hand, it changed the finite state machine model so much that it actually took it beyond the scope of automata theory. And, on the other hand, it introduces concepts into programming that are difficult for programmers to perceive, and, at times, are simply superfluous, because there are more familiar analogues from program theory and programming practice.

As a basis for discussing the problems of automatic programming, we will take the recent lecture by Shalyto A.A. and his “programming” articles towards the definition of the automatic programming paradigm.

C++ (read c-plus-plus) is a compiled, statically typed general-purpose programming language in which you can create programs of any level of complexity.
For more than 20 years, this language has been among the three most popular and in-demand programming languages. (You can verify this by visiting the TIOBE website).
The language originated in the early 1980s, when Bell Labs employee Björn Stroustrup came up with a number of improvements to the C language for his own needs.

Bjarne Stroustrup – creator of the C++ language

Stroustrup decided to extend the C language with the capabilities found in the Simula language. C, being the base language of the UNIX system on which Bell computers ran, is fast, feature-rich, and portable. Stroustrup added the ability to work with classes and objects. As a result, practical modeling problems turned out to be easy to solve both in terms of development time (thanks to the use of Simula-like classes) and in terms of computation time (thanks to the speed of C).
Here's how the language developer himself talks about it:



In 1998, the first language standard, known as C++98, was published by a standards committee. C++ continues to evolve to meet today's demands. One of the groups developing the C++ language and submitting proposals for improving it to the C++ Standards Committee is Boost, which is engaged, among other things, in improving the capabilities of the language by adding metaprogramming features to it. The latest standard was released in 2017 and is called C++17. The next standard will not be long in coming and is expected to appear in 2020.
Nobody owns the rights to the C++ language; it is free. In March 2016, a working group WP21 C++ was created in Russia. The group was organized to collect proposals for the C++ standard, send them to a committee and defend them at general meetings of the International Organization for Standardization.
C++ is a multi-paradigm language (from the word paradigm - a style of writing computer programs), including a wide range of different programming styles and technologies. It is often classified as an object-oriented language, but strictly speaking, this is not the case. During the work process, the developer receives absolute freedom in choosing tools so that the problem solved using a particular approach is solved as efficiently as possible. In other words, C++ does not force the programmer to adhere to only one style of program development (for example, object-oriented).
C++ has a rich standard library that includes common containers and algorithms, I/O, regular expressions, multithreading support, and other features. C++ has influenced many programming languages, including: Java, C#, D. Since C++ belongs to a family of languages ​​based on the syntax of the C language, you can easily master other programming languages ​​of this family: JavaScript, PHP, Perl, Objective-C and many others . etc., including the parent language itself - C. ()
During its existence, the C++ language has acquired persistent myths that are easily refuted (see here: Part 1 and Part 2)

History of the language and standards release

1983

The creator of the language is Björn Stroustrup, a Bell Labs employee, introduced an early version of the C++ language (“C with classes”)

1985

First commercial release of C++, the language takes on its modern name

1986

Release of the first edition of The C++ Programming Language - a book dedicated to C++ written by Björn Stroustrup

1998

The international standard for the C++ language has been ratified: ISO/IEC 14882:1998 “Standard for the C++ Programming Language”

2003
2005

Library Technical Report 1 (TR1) has been released. While not officially part of the standard, the report described extensions to the standard library that should be included in the next version of the C++ language.

2011

Release of a new standard – C++11 or ISO/IEC 14882:2011; the new standard included additions to the language core and expansion of the standard library, including most of TR1

2014

Release of the C++14 standard (“International Standard ISO/IEC 14882:2014(E) Programming Language C++”); C++14 can be seen as a small extension over C++11, containing mostly bug fixes and minor improvements

2017

The release of a new standard – C++1z (C++17). This standard introduced many changes and additions. For example, STD included libraries of the C11 standard, a file system based on boost::filesystem, and most of the experimental TS I library.

2020

C++20 is the unofficial name of the ISO/IEC standard for the C++ programming language, which is expected to follow C++17. Draft N4800 standard.

C++ Philosophy

In his book The Design and Evolution of C++ (2007), Björn Stroustrup describes the principles he followed when designing C++ (abbreviated):

  • Get a general-purpose language with static data types, the efficiency and portability of the C language.
  • Directly and comprehensively support a variety of programming styles.
  • Give the programmer freedom of choice, even if it gives him the opportunity to choose wrongly.
  • Maintain compatibility with C as much as possible, thereby making an easy transition from C programming possible.
  • Avoid discrepancies between C and C++: any construct that is valid in both languages ​​must mean the same thing in each of them and lead to the same program behavior.
  • Avoid features that are platform dependent or not universal.
  • “Don't pay for what you don't use” - no language feature should lead to a decrease in the performance of programs that do not use it.
  • Do not require an overly complicated programming environment.

C and C++

The syntax of C++ is inherited from the C language. Although, formally, one of the principles of C++ remains maintaining compatibility with the C language, in fact, the standardization groups for these languages ​​do not interact, and the changes they make not only do not correlate, but often fundamentally contradict each other ideologically. Thus, the elements that the new C standards add to the kernel are in the C++ standard elements of the standard library and are not in the kernel at all, for example, dynamic arrays, arrays with fixed boundaries, parallel processing facilities. According to Stroustrup, combining the development of these two languages ​​would be of great benefit, but it is unlikely to be possible for political reasons. So practical compatibility between C and C++ will gradually be lost.
In this example, depending on the compiler used, either “C++” or “C” will be output:

Program 9.1

#include int main() ( printf("%s\n", (sizeof("a") == sizeof(char)) ? "C++" : "C"); return 0; )

This is due to the fact that character constants in C are of type int , and in C++ they are of type char , but the sizes of these types are different.

Application Lifecycle Models

Life cycle software is a period of time that begins from the moment a decision is made on the need to create a software product and ends at the moment it is completely removed from service. This cycle is the process of building and developing software. There are several life cycle models.
Cascade model life cycle (English waterfall model) was proposed in 1970 by Winston Royce. It provides for the sequential implementation of all stages of the project in a strictly fixed order. The transition to the next stage means the complete completion of work at the previous stage. The requirements determined at the stage of requirements formation are strictly documented in the form of technical specifications and are recorded for the entire development of the project. Each stage culminates in the release of a complete set of documentation sufficient to allow development to be continued by another development team.
Project stages according to the waterfall model:

  1. Formation of requirements;
  2. Design;
  3. Implementation;
  4. Testing;
  5. Implementation;
  6. Operation and maintenance.

In the cascade model, the transition from one project phase to another assumes that the result of the previous phase is completely correct. In large projects this is almost impossible to achieve. Therefore, this model is only suitable for developing a small project. (W. Royce himself did not adhere to this model and used an iterative model).
Iterative model
An alternative to the cascade model is the iterative and incremental development (IID) model, which received from T. Gilb in the 70s. name of the evolutionary model. The IID model involves breaking the project life cycle into a sequence of iterations, each of which resembles a “mini-project”, including all development processes applied to the creation of smaller pieces of functionality compared to the project as a whole. The goal of each iteration is to obtain a working version of the software system, including functionality defined by the integrated content of all previous and current iterations. The result of the final iteration contains all the required functionality of the product. Thus, with the completion of each iteration, the product receives an increment - an increment - to its capabilities, which, therefore, develop evolutionarily.


Various variants of the iterative approach are implemented in most modern development methodologies:

Development Process - Rational Unified Process (RUP)

Rational Unified Process (RUP)(rational unified process) is a software development methodology maintained by Rational Software (IBM). The methodology provides recommendations for all stages of development: from business modeling to testing and commissioning of the finished program. The Unified Modeling Language (UML) is used as a modeling language.
The complete product development life cycle consists of four phases, each of which includes one or more iterations.

  • Initial stage (Inception)
  • Determining the scope of the project and the amount of resources required. The basic requirements, limitations and key functionality of the product are determined. Risks are assessed. Action planning. At the end of the initial phase, the achievement of the Lifecycle Objective Milestone is assessed, which presupposes an agreement between stakeholders to continue the project.

  • Clarification
  • Documenting requirements. Design, implementation and testing of executable architecture. Clarification of terms and costs. Reducing key risks. Successful completion of the development phase means reaching the Lifecycle Architecture Milestone.

  • Construction
  • In the “Build” phase, most of the product’s functionality is implemented: the application design is completed, the source code is written. The Build phase ends with the first external release of the system and the Initial Operational Capability milestone.

  • Introduction
  • In the “Implementation” phase, the final version of the product is created and transferred from the developer to the customer. This includes a beta testing program, user training, and determining the quality of the product. In case the quality does not meet user expectations or the criteria set in the Start phase, the Implementation phase is repeated again. Completing all goals means achieving the Product Release milestone and completing the full development cycle.



"Information technology. System and software engineering. Software life cycle processes". This standard was adopted by the Federal Agency for Technical Regulation and Metrology of the Russian Federation and is similar to the international standard ISO/IEC 12207:2008. This standard establishes a general structure of software life cycle processes that can be followed in the software industry. The standard does not propose a specific life cycle model. Its provisions are common to any life cycle models, methods and technologies for software creation. It describes the structure of life cycle processes without specifying how to implement or complete the activities and tasks included in those processes.

Presentation for the lesson
Message topics
  • Free Software Foundation (FSF)
  • Free software licenses
  • FreeSoftware and Open Source
  • History of the development of programming languages
  • The history of the C language. C and C++
  • Story
  • Criticism of C++
  • History of UNIX
  • Spiral software life cycle model
  • UML (Unified Modeling Language)
  • Microsoft Solutions Framework
  • IDE for C/C++ programming on Windows
  • C/C++ compilers
  • Creating a Console Application on Windows
Questions
  1. Why is the waterfall model of software development not used in large projects?
  2. What is the difference between waterfall and iterative development models?
  3. List the stages of software development in the Rational Unified Process (RUP) methodology

These tutorials are for everyone, whether you're new to programming or have extensive programming experience in other languages! This material is for those who want to learn the C/C++ languages ​​from its very basics to the most complex structures.

C++ is a programming language, knowledge of this programming language will allow you to control your computer at the highest level. Ideally, you will be able to make the computer do whatever you want. Our site will help you master the C++ programming language.

Installation /IDE

The very first thing you should do before you start learning C++ is to make sure that you have an IDE - an integrated development environment (the program in which you will program). If you don't have an IDE, then here you go. Once you decide on the choice of IDE, install it and practice creating simple projects.

Introduction to C++

The C++ language is a set of commands that tell the computer what to do. This set of commands is usually called source code or simply code. Commands are either “functions” or “keywords”. Keywords (C/C++ reserved words) are the basic building blocks of the language. Functions are complex building blocks because they are written in terms of simpler functions - you'll see this in our very first program, which is shown below. This structure of functions resembles the contents of a book. The content can show the chapters of the book, each chapter in the book can have its own content consisting of paragraphs, each paragraph can have its own subparagraphs. Although C++ provides many common functions and reserved words that you can use, there is still a need to write your own functions.

What part of the program does it start at? Each program in C++ has one function, it is called the main or main function, program execution begins with this function. From the main function, you can also call any other functions, whether they are ones we wrote or, as mentioned earlier, provided by the compiler.

So how do you access these Standard Features? To access the standard functions that come with the compiler, you need to include the header file using the preprocessor directive - #include . Why is this effective? Let's look at an example of a working program:

#include << "Моя первая программа на С++\n"; cin.get(); }

Let us consider in detail the elements of the program. #include is a "preprocessor" directive that tells the compiler to put the code from the iostream header file into our program before creating the executable. By connecting a header file to a program, you get access to many different functions that you can use in your program. For example, the cout operator requires iostream . Line using namespace std; tells the compiler to use a group of functions that are part of the std standard library. This line also allows the program to use operators such as cout . The semicolon is part of C++ syntax. It tells the compiler that this is the end of the command. You'll see in a moment that semicolons are used to terminate most commands in C++.

The next important line of the program is int main(). This line tells the compiler that there is a function called main and that the function returns an integer. Curly braces ( and ) signal the start (and end) of a function. Curly braces are also used in other blocks of code, but they always indicate one thing - the beginning and end of the block, respectively.

In C++, the cout object is used to display text (pronounced "C out"). He uses symbols<< , известные как «оператор сдвига», чтобы указать, что отправляется к выводу на экран. Результатом вызова функции cout << является отображение текста на экране. Последовательность \n фактически рассматривается как единый символ, который обозначает новую строку (мы поговорим об этом позже более подробно). Символ \n перемещает курсор на экране на следующую строку. Опять же, обратите внимание на точку с запятой, её добавляют в конец, после каждого оператора С++.

The next command is cin.get() . This is another function call that reads data from the input data stream and waits for the ENTER key to be pressed. This command keeps the console window from closing until the ENTER key is pressed. This gives you time to see the output of the program.

Upon reaching the end of the main function (the closing curly brace), our program will return the value 0 to the operating system. This return value is important because by analyzing it, the OS can judge whether our program completed successfully or not. A return value of 0 means success and is returned automatically (but only for the int data type; other functions require you to manually return the value), but if we wanted to return something else, such as 1, we would have to do it manually.

#include using namespace std; int main() ( cout<<"Моя первая программа на С++\n"; cin.get(); return 1; }

To consolidate the material, type the program code in your IDE and run it. Once the program has run and you've seen the output, experiment a little with the cout statement. This will help you get used to the language.

Be sure to comment on your programs!

Add comments to your code to make it clearer not only for yourself but also for others. The compiler ignores comments when executing code, allowing you to use any number of comments to describe the actual code. To create a comment, use or // , which tells the compiler that the rest of the line is a comment, or /* and then */ . When you're learning to program, it's useful to be able to comment on parts of the code to see how the output of the program changes. You can read in detail about the commenting technique.

What to do with all these types of variables?

Sometimes it can be confusing to have multiple variable types when some variable types seem to be redundant. It is very important to use the correct variable type, as some variables require more memory than others. Additionally, due to the way they are stored in memory, floating point numbers, the float and double data types are "imprecise" and should not be used when a precise integer value needs to be stored.

Declaring Variables in C++

To declare a variable, use the syntax type<имя>; . Here are some examples of variable declarations:

Int num; char character; float num_float;

It is permissible to declare several variables of the same type on one line; to do this, each of them must be separated by a comma.

Int x, y, z, d;

If you've looked closely, you may have seen that a variable declaration is always followed by a semicolon. You can learn more about the convention “on naming variables”.

Common mistakes when declaring variables in C++

If you try to use a variable that is not declared, your program will not compile and you will receive an error message. In C++, all language keywords, all functions, and all variables are case sensitive.

Using Variables

So now you know how to declare a variable. Here is an example program demonstrating the use of a variable:

#include using namespace std; int main() ( int number; cout<< "Введите число: "; cin >>number;<< "Вы ввели: "<< number <<"\n"; cin.get(); }

Let's take a look at this program and examine its code, line by line. The keyword int indicates that number is an integer. The cin >> function reads the value into number , the user must press enter after the entered number. cin.ignore() is a function that reads a character and ignores it. We have organized our input into the program; after entering a number, we press the ENTER key, a symbol that is also transmitted to the input stream. We don't need it, so we discard it. Keep in mind that the variable was declared as an integer type, if the user tries to enter a decimal number, it will be truncated (that is, the decimal part of the number will be ignored). Try entering a decimal number or a sequence of characters, when you run the example program, the answer will depend on the input value.

Note that when printing from a variable, quotes are not used. The absence of quotes tells the compiler that there is a variable, and therefore that the program should check the value of the variable in order to replace the variable name with its value at execution. Multiple shift statements on the same line are perfectly acceptable and the output will be done in the same order. You should separate string literals (strings enclosed in quotes) and variables, giving each its own shift operator<< . Попытка поставить две переменные вместе с одним оператором сдвига << выдаст сообщение об ошибке . Не забудьте поставить точку с запятой. Если вы забыли про точку с запятой, компилятор выдаст вам сообщение об ошибке при попытке скомпилировать программу.

Changing and comparing values

Of course, no matter what type of data you're using, variables aren't very interesting without the ability to change their value. The following shows some operators used in conjunction with variables:

  • * multiplication,
  • - subtraction,
  • + addition,
  • / division,
  • = assignment,
  • == equality,
  • >more
  • < меньше.
  • != unequal
  • >= greater than or equal to
  • <= меньше или равно

Operators that perform mathematical functions must be used to the right of the assignment sign in order to assign the result to the variable on the left.

Here are some examples:

A = 4 * 6; // use line comment and semicolon, a is equal to 24 a = a + 5; // equal to the sum of the original value and five a == 5 // does not assign five, checks whether it is equal to 5 or not

You'll often use == in constructs such as conditional statements and loops.

A< 5 // Проверка, a менее пяти? a >5 // Check, is a more than five? a == 5 // Checking, is a equal to five? a != 5 // Check, is it not equal to five? a >= 5 // Check if a is greater than or equal to five? a<= 5 // Проверка, a меньше или равно пяти?

These examples don't show the use of comparison signs very clearly, but when we start studying selection operators, you'll understand why this is necessary.