Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекций -=Вычислительная техника и прог...docx
Скачиваний:
5
Добавлен:
01.05.2025
Размер:
1.84 Mб
Скачать

3.5.4. Символьные массивы (строки)

Строка представляет собой массив символов, заканчивающийся нуль-символом ‘\0’.

Замечание.

По положению нуль-символа определяется длина строки, т.е. длина символьного массива.

Форматы объявления символьного массива:

char имя_массива [размер_массива] [= инициализатор ] ;

char имя_массива [ ] = инициализатор ” ;

Примеры:

1. Объявление символьного массива заданной длины и инициализация строковым литералом:

char str[20] = ''University''; // объявление массива из 20 элементов

// с номерами от 0 до 19

Здесь под массив выделено 20 байт; символы массива записались в первые 11 байт, остальные ячейки памяти содержат нулевые значения:

2. Объявление символьного массива и инициализация строковым литералом без указания количества элементов массива:

char str[]= ''University''; // под массив выделено 11 Байт.

3. Запись следующего вида

char *str= ''University'';

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

Примечание:

Указатель на константу удалить нельзя.

3.6. Лекция 9. Выражения и присваивания

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

Операнд — константа, литера, идентификатор, функция и т.д.

3.6.1. Операции инкремента и декремента (увеличения и уменьшения на 1)

Знак операции инкремента — ++ ,

знак операции декремента — – – .

Существует две формы записи этих операций:

— префиксная (++x, – –x), при которой вначале изменяется операнд, а затем его значение становится результатом выражения;

— постфиксная (x– –, x++), при которой значением выражения вначале является операнд (его исходное значение), после чего он изменяется.

Пример:

include <stdio.h>

int main()

{

int x=3, y=3;

printf(“Значение префиксного выражения ++x : %d\n”, ++x);

printf(“Значение постфиксного выражения y++ : %d\n”, y++);

printf(“Значение x после приращения : %d\n”, x);

printf(“Значение y после приращения : %d\n”, y);

return 0;

}

Результат выполнения программы:

Значение префиксного выражения ++x : 4

Значение постфиксного выражения y++ : 3

Значение x после приращения : 4

Значение y после приращения : 4.

3.6.2. Операция определения размера типа

Операция sizeof — предназначена для вычисления размера объекта или типа в байтах.

Существует две формы записи:

sizeof выражение ;

sizeof (тип) ;

Пример:

#include <iomanip.h>

int main()

{

float x =1 ;

cout<<“Размер типа: ”<< sizeof( float ) << endl; //1

cout<<“Размер выражения 1: ”<< sizeof x << endl; //2

cout<<“Размер выражения 2: ”<< sizeof (x+0.1) << endl; //3

return 0;

}

Результат выполнения примера:

Размер типа: 4

Размер выражения 1: 4

Размер выражения2: 8

Результат выполнения строки //3 отличается от результатов выполнения строк //1 и //2 так как по умолчанию ‘0.1’ имеет тип double и результат суммирования также по умолчанию имеет тип double, поэтому при сложении этой величины с переменной x происходит автоматическое преобразование типа переменной x и результата суммирования к типу double.

3.6.3. Операции отрицания ( – , ! , ~ )

Операция     –     — операция арифметического отрицания. Операция изменяет знак числа на противоположный.

Пример:

float x = 7 , y;

y = –x ; //в результате получаем y = –7 .

Операция     !     — операция логического отрицания. Если операнд имеет значение ''Истинна'' (1), то применение операции ! даст результат — ''Ложь'' (0), и наоборот, если операнд ''Ложь'' (0), то операция дает результат ''Истинна'' (1).

Пример:

bool a = true, b=false, x, y;

x = !a ; // Получаем: x = 0, т.е false .

y = !b ; // Получаем: y = 1, т.е true .

Операция ~ — операция поразрядного (побитового) отрицания. Операция инвертирует каждый разряд (бит) числа.

Пример:

int x=110, y;

y= ~x ; // Получаем: y=145

Результат выполнения: y=~11010=14510=100100012

Рисунок 3.4 — К объяснению операции поразрядного отрицания