Главная » iPhone, Objective-C, Программирование для iOS и MacOS » Заполнители для вывода целых чисел Objective-C

0

Создайте новый проект командной строки С с именем Numbers. В файле main.с создайте целое число и выведите его по основанию 10 (то есть в десятичном представлении) при помощи функции printf():

#include <stdio.h>

int main (int argc, const char * argv[])

{

int x = 255;

printf("x is %d.\n", x); return 0;

}

Результат должен выглядеть так:

x is 255.

Как вы видели, заполнитель %d выводит целое число в десятичном представлении. Как работают другие заполнители? Целое число также можно вывести в восьмеричном или шестнадцатеричном представлении. Добавьте в программу пару строк:

#include <stdio.h>

int main (int argc, const char * argv[])

{

int x = 255;

printf("x is %d.\n", x);

printf("In octal, x is %o.\n", x); printf("In hexadecimal, x is %x.\n", x); return 0;

}

Запустите ее. Результат будет выглядеть так:

x is 255.

In octal, x is 377.

In hexadecimal, x is ff.

(Мы вернемся к шестнадцатеричным данным в главе 33.)

А если выводится длинное целое число (то есть содержащее больше разрядов, чем обычное)? В этом случае между % и символом формата следует вставить l (обозначение long) или ll (обозначение long long). Измените программу так, чтобы вместо int в ней использовался тип long:

#include <stdio.h>

int main (int argc, const char * argv[])

{

long x = 255;

printf("x is %ld.\n", x); printf("In octal, x is %lo.\n", x);

printf("In hexadecimal, x is %lx.\n", x); return 0;

}

Для вывода целого десятичного числа без знака используется заполнитель %u:

#include <stdio.h>

int main (int argc, const char * argv[])

{

unsigned long x = 255; printf("x is %lu.\n", x);

// восьмеричный и шестнадцатеричный формат уже подразумевает, что число выводится без знака

printf("In octal, x is %lo.\n", x); printf("In hexadecimal, x is %lx.\n", x);

return 0;

}

Операции с целыми числами

Арифметические операторы +, – и * работают так, как и следовало ожидать. Кроме того, они обладают естественными правилами приоритета математических операций: * вычисляется до + или -. Замените в main.c предыдущий код вычислением выражения:

#include <stdio.h>

int main (int argc, const char * argv[])

{

printf("3 * 3 + 5 * 2 = %d\n", 3 * 3 + 5 * 2);

return 0;

}

Вы получите следующий результат:

3 * 3 + 5 * 2 = 19

Источник: Аарон Хилегас, «Objective-C. Программирование для iOS и MacOS», 2012 г.

По теме:

  • Комментарии