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

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

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





Тип указывает не только на тип величины (с точки зрения языка программирования Си), но и на конкретное представление выводимой величины (например, числа могут выводить в десятичном или шестнадцатеричном виде). Записывается в виде одного символа. В отличие от остальных полей является обязательным. Максимальный поддерживаемый размер вывода от единичной управляющей последовательности составляет по стандартам как минимум 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; просмотров: 629. Нарушение авторских прав; Мы поможем в написании вашей работы!




Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...


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


Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...


Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

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

Определение трудоемкости работ и затрат машинного времени На основании ведомости объемов работ по объекту и норм времени ГЭСН составляется ведомость подсчёта трудоёмкости, затрат машинного времени, потребности в конструкциях, изделиях и материалах (табл...

Гидравлический расчёт трубопроводов Пример 3.4. Вентиляционная труба d=0,1м (100 мм) имеет длину l=100 м. Определить давление, которое должен развивать вентилятор, если расход воздуха, подаваемый по трубе, . Давление на выходе . Местных сопротивлений по пути не имеется. Температура...

Решение Постоянные издержки (FC) не зависят от изменения объёма производства, существуют постоянно...

ТРАНСПОРТНАЯ ИММОБИЛИЗАЦИЯ   Под транспортной иммобилизацией понимают мероприятия, направленные на обеспечение покоя в поврежденном участке тела и близлежащих к нему суставах на период перевозки пострадавшего в лечебное учреждение...

Кишечный шов (Ламбера, Альберта, Шмидена, Матешука) Кишечный шов– это способ соединения кишечной стенки. В основе кишечного шва лежит принцип футлярного строения кишечной стенки...

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