Сдвиг влево
Пример:
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.
Операции ++ и – – бывают постфиксные и префиксные.
Пример: