Студопедия — Спецификатор типа
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Спецификатор типа






Тип указывает не только на тип величины (с точки зрения языка программирования Си), но и на конкретное представление выводимой величины (например, числа могут выводить в десятичном или шестнадцатеричном виде). Записывается в виде одного символа. В отличие от остальных полей является обязательным. Максимальный поддерживаемый размер вывода от единичной управляющей последовательности составляет по стандартам как минимум 4095 символов; на практике большинство компиляторов поддерживают существенно большие объёмы данных.

Значения типов:

§ d, i — десятичное знаковое число, размер по умолчанию, sizeof(int). По умолчанию записывается с правым выравниванием, знак пишется только для отрицательных чисел. '%d' и '%i' ведут себя одинаково при выводе, но имеют разные значения при вводе с помощью функции scanf();

§ o — восьмеричное беззнаковое число, размер по умолчанию sizeof(int);

§ u — десятичное беззнаковое число, размер по умолчанию sizeof(int);

§ x и X — шестнадцатеричное число, x использует маленькие буквы (abcdef), X большие (ABCDEF), размер по умолчанию sizeof(int);

§ f и F — числа с плавающей запятой. По умолчанию выводятся с точностью 6, если число по модулю меньше единицы, перед десятичной точкой пишется 0. Величины ±∞ представляются в форме [-]inf или [-]infinity, Величина Nan представляется как [-]nan или [-]nan(любой текст далее). Использование F выводит указанные величины заглавными буквами (-INF, NAN). Аргумент по умолчанию имеет размер double.

§ e и E — числа с плавающей запятой в экспоненциальной форме записи (вида 1.1e+44); e выводит символ «e» в нижнем регистре, E — в верхнем (3.14E+0);

§ g и G — число с плавающей запятой; форма представления зависит от значения величины (f или e);

§ a и A — число с плавающей запятой в шестнадцатеричном виде;

§ c — вывод символа с кодом, соответствующим переданному аргументу; переданное число приводится к типу unsigned char (или wint t, если был указан модификатор длины l);

§ s — вывод строки с нулевым завершающим байтом; если модификатор длины — l, выводится строка wchar_t*. В Windows значения типа s зависят от типа используемых функций. Если используется семейство printf функций, то s обозначает строку char*. Если используется семейство wprintf функций, то s обозначает строку wchar_t*.

§ S — то же самое что и s с модификатором длины l; В Windows значения типа S зависит от типа используемых функций. Если используется семейство printf функций, то S обозначает строку wchar_t*. Если используется семейство wprintf функций, то S обозначает строку char*.

§ p — вывод указателя, внешний вид может существенно различаться в зависимости от внутреннего представления в компиляторе и платформе (например, 16 битная платформа MS-DOS использует форму записи вида FFEC:1003, 32-битная платформа с плоской адресацией использует адрес вида 00FA0030);

§ n — запись по указателю, переданному в качестве аргумента, количества символов, записанных на момент появления командной последовательности, содержащей n;

§ % — символ для вывода знака процента (%), используется для возможности вывода символов процента в строке printf, всегда используется в виде %%.

 

1.5.2. Работа с компилятором g++

Для начала напишем программу для вывода сообщения

#include <stdio.h>

int main {

printf(“Program work!\n”);

return 0;

}

Сохраним ее под именем lab2.cc. Чтобы скомпилировать ее, в командной строке набираем:

user@localhost:~$ g++ lab2.cc –o lab2

g++- имя компилятора c++

lab2.cc– имя компилируемого исходного файла

-o lab2– с помощью ключа“-o” задаем имя выполняемого файла

Теперь в текущем каталоге появится файл lab2. Чтобы его выполнить наберите:

user@localhost:~$./lab2

Если программа состоит из нескольких исходных файлов, каждый из них компилируется по-отдельности:

user@localhost:~$ g++ -c lab2.cc

в результате чего появляется объектный файл lab2.o, а затем все объектные файлы собираются вместе в один исполняемый:

user@localhost:~$ g++ lab2.o -o lab2

Для автоматизации этих действий используется утилита make. Для ее использования в каталоге с исходными файлами создается файл Makefile, с описанием зависимостей и порядка компиляции.

Необходимо создать следующие файлы:

Файл lab2.cc

//-----------------------------------------------

#include <stdio.h>

#include “fib.hh”

int main(){

int fib[10];

View_Fib(fib);

printf(“Числа Фибоначчи”\n);

for (int i=1;i<=10;i++){

printf(“%d \n”,fib[i]);

}

}

//-----------------------------------------------

 

Файл fib.cc

//-----------------------------------------------

#include “fib.hh”

 

void View_Fib(int fib[10]){

int f1,f2,fbn,i;

f1 = 0;

f2 = 1;

i = 1;

while (i<=10){

fbn = f1 + f2;

f1++;

f2++;

fib[i] = fbn;

i++;

}

}

//-----------------------------------------------

 

Файл fib.hh

//-----------------------------------------------

void View_Fib(int fib[10]);

//-----------------------------------------------

 

Файл Makefile (вместо <TAB> нужно поставить знак табуляции)

//-----------------------------------------------

lab2: fib.o lab2.o

<TAB>g++ fib.o lab2.o -o lab2

 

fib.o: fib.cc fib.hh

<TAB>g++ -c fib.cc

 

lab2.o: lab2.cc fib.hh

<TAB>g++ -c lab2.cc

 

clean:

<TAB>rm -f lab2 lab2.o fib.o

//-----------------------------------------------

Makefile является списком правил. Каждое правило начинается с указателя, называемого «Цель». После него стоит двоеточие, а далее через пробел указываются зависимости. В нашем случае ясно, что конечный файл lab2 зависит от объектных файлов fib.o и lab2.o. Поэтому они должны быть собраны прежде сборки lab2. После зависимостей пишутся команды. Каждая команда должна находиться на отдельной строке, и отделяться от начала строки клавишейTab.

В трех первых правилах выполняются те же самые команды, которыми мы уже пользовались. А что же означает правило clean?

В правиле clean стоит команда rm, удаляющая исполняемый и объектные файлы. Флаг-f означает, что, если удаляемый файл отсутствует, программа должна это проигнорировать, не выдавая никаких сообщений. Итак, правило clean предназначено для «очистки» проекта, приведения его к такому состоянию, в каком он был до команды make.

Если запустить

user@localhost:~$ make

появятся объектные файлы и исполняемый.

Если выполнить

user@localhost:~$ make clean

Объектные и исполняемый файлы исчезнут. Останутся только cc-файлы, hh-файл и сам Makefile. То есть, проект «очищается» от результатов команды make.

 







Дата добавления: 2015-08-11; просмотров: 609. Нарушение авторских прав; Мы поможем в написании вашей работы!



Картограммы и картодиаграммы Картограммы и картодиаграммы применяются для изображения географической характеристики изучаемых явлений...

Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Основные структурные физиотерапевтические подразделения Физиотерапевтическое подразделение является одним из структурных подразделений лечебно-профилактического учреждения, которое предназначено для оказания физиотерапевтической помощи...

Почему важны муниципальные выборы? Туристическая фирма оставляет за собой право, в случае причин непреодолимого характера, вносить некоторые изменения в программу тура без уменьшения общего объема и качества услуг, в том числе предоставлять замену отеля на равнозначный...

Тема 2: Анатомо-топографическое строение полостей зубов верхней и нижней челюстей. Полость зуба — это сложная система разветвлений, имеющая разнообразную конфигурацию...

Ситуация 26. ПРОВЕРЕНО МИНЗДРАВОМ   Станислав Свердлов закончил российско-американский факультет менеджмента Томского государственного университета...

Различия в философии античности, средневековья и Возрождения ♦Венцом античной философии было: Единое Благо, Мировой Ум, Мировая Душа, Космос...

Характерные черты немецкой классической философии 1. Особое понимание роли философии в истории человечества, в развитии мировой культуры. Классические немецкие философы полагали, что философия призвана быть критической совестью культуры, «душой» культуры. 2. Исследовались не только человеческая...

Studopedia.info - Студопедия - 2014-2024 год . (0.009 сек.) русская версия | украинская версия