Программирование на С, С++ - страница 5

Шрифт
Интервал


Сдвиг влево

Пример:

10 << 2 = 1000

Двоичная запись числа передвинется на 2 знака влево, на их место проставятся 0. Необходимо быть внимательными, так как в типе int и т.д. хранится ограниченное количество бит.

Сдвиг вправо

Пример:

100 >> 2 = 1

Двоичная запись числа передвинется на 2 знака вправо. 2 бита исчезнут.

Одноместное поразрядное дополнение до единицы

С каждым битом выполняется инверсия.

Пример:

x = ~8;

8 – это 1000 в двоичной системе счисления, после инверсии с каждым битом: 1 меняется на 0, 0 на 1. При хранении числа, один бит отвечает за знак, поэтому знак числа тоже меняется. ~x=|~x|-1. Результат: ~8=-9.

Комментарии

Для красивого стиля и правил оформления кода, необходимо, чтобы в коде все функции, блоки и т.д. были расшифрованы. Комментарии бывают /*….*/ (все, что между косыми чертами и звездочкой есть комментарий), // (все, что после // и на одной строке есть комментарий), смотри Листинг 13.

Листинг 13

/*демонстративная программа*/

#include

using namespace std;

int main()

{

cout<<"Hello!"; //Вывод «Hello!» в консоль

}

Строки

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

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

char* strcpy(str1,str2) – копирует строку str2 в строку str1 c ‘\0’, возвращает str1.

char* strcat(str1,str2) – присоединяет str2 в конец строки str1, возвращает str1.

Листинг 14

Работа со строками

#include

#include

int main()

{

char str1[100];

char str2[100];

printf("Vvedite stroky: \n");

scanf("%s",str1);

printf("Vvedenai stroka:\n%s \n",str1);

printf("Vvedite stroky: \n");

scanf("%s",str2);

printf("Vvedenai stroka:\n%s\n",str2);

strcat(str1,str2);

printf("Vvedenai stroka:\n%s\n",str1);

}

Задания:

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

Закрепление материала

Операции

Присваивать значение переменной

a=10;

Вычислить значение выражения a^3+a^2-10.

Листинг 15

#include “stdio.h”

int main()

{

int a,s;

printf(“Vvedite zna4enie a\n”);

scanf(“%d”,&a);

s=a*a*a+a*a-10;

printf(“Rezultat: %d”,s);

}

Операция инкрементирования и декрементирования

++ – операция увеличения на 1,

– – – операция уменьшения на 1.

Операции ++ и – – бывают постфиксные и префиксные.

Пример: