Интернет-журнал "Домашняя лаборатория", 2007 №10
Шрифт:
const char QUESTION[] = "What is your name: "; //объявляем константу const
char HELLO[] = "Hello: "; //объявляем константу
void print_name(char* name) //объявляем функцию
{
cout «HELLO << name << end1; //печать приветствия
}
int main
{
char name[20]; //объявления массива
cout << QUESTION; //печатаем вопрос
cin >> name; //считываем данные в массив name
print_name(name); //вызываем функцию print_name
return 0;
}
В нашем случае функция print_name ничего не возвращает и поэтому имеет тип возвращаемого результата void. В качестве параметра ей передается строка name типа char.
Пример 3
Операторы сравнения, равенства и логические. В C++ имеется логический тип данных bool который может принимать только два значения true (истина) или false (ложь). Этот тип данных используется для контроля выполнения инструкций различных типов. В следующей таблице представлены инструкции C++, наиболее часто используемые для управления логикой выполнения.
Операторы сравнения, равенства и логические
— Операторы сравнения
меньше <
больше >
меньше или равно <=
больше или равно >=
— Операторы равенства
равно ==
не равно !=
— Логические операторы
отрицание!
логическое и &&
логическое или ||
Очень важно не путать операторы равенства и присваивания, например а==Ь — это проверка на равенство т. е. если а и Ь равны то выражение вернет true(истина) в противном случае false(ложь), а в выражении а=Ь переменная а станет равна Ь. Приведем пример с инструкцией if, она имеет вид:
if(условие)
{
инструкции
}
Здесь если условие истинно то выполняются инструкции. Мы можем составить следующую программу:
int main
{
int а = 0;
int Ь = 4;
if(а!= Ь) //если а не равно Ь, то
{
а = Ь; //а становится равной Ь
}
if(а == Ь) //если а равно Ь, то
{
а = b + 1; //а принимает значение b + 1
}
return 0;
}
Пример 4
Инструкция if-else схожа и тесно связана с инструкцией if, она имеет вид:
if(условие)
{
инструкции 1
}
else
{
инструкции 2
}
Если условие истинно
int main
{
int а = 0;
int Ь = 4;
if (а == Ь)
{
а = 4;
}
else
{
а = 3;
}
return 0;
}
Здесь а присвоится 3, т. к. условие а == Ь ложно.
Инструкция while имеет вид:
while(условие)
{
инструкции
}
Здесь сначала проверяется условие и если оно истинно то выполняются инструкции, после управление переходит опять в начало цикла к условию и так до тех пор, пока условие не станет ложным. Например:
int main
{
int а = 0;
while(а < 20)
{
++а;
}
return 0;
}
Оператор ++ увеличивает переменную на 1 т. е. выражение ++а идентично а + 1. В нашем цикле а будет увеличиваться на 1 пока не станет равно 20.
Пример 5
Вид инструкции for:
for(начальная_инструкция; условие; выражение)
{
инструкции;
}
Сначала выполняется начальная_инструкция, потом проверяется условие и если оно истинно, то выполняются инструкции, затем вычисляется выражение и управление передается в начало цикла с разницей что начальная_инструкция уже не выполняется. Например:
#include <iostream.h>
int main
{
for(int i = 0; i!= 10; ++i)
{
cout << i << endl;
}
return 0;
}
При выполнении эта программа выведет на экран числа от 0 до 9.
Пример 6
Массивы
Массив состоит из нескольких элементов одного и того же типа. Число элементов массива задается при его объявлении и в дальнейшем не меняется. Массивы объявляются так же как и переменные. Например:
int а[100];
char b[4 0];
В первой строке объявлен массив из 100 элементов типа int, а во второй из 40 элементов типа char. Ко всему массиву целиком можно обращаться по имени. Можно обращаться и к отдельным элементам по индексу, который указывает относительную позицию элемента. Индексация массива начинается с нуля т. е. в массиве а первый элемент будет а[0], а последний а[99].
Бывают многомерные массивы. Например двумерный массив int v[3][7] можно представить как три массива типа int по 7 элементов в каждом. Представим это графически: