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

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

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





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

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

Устройство рабочих органов мясорубки Независимо от марки мясорубки и её технических характеристик, все они имеют принципиально одинаковые устройства...

Ведение учета результатов боевой подготовки в роте и во взводе Содержание журнала учета боевой подготовки во взводе. Учет результатов боевой подготовки - есть отражение количественных и качественных показателей выполнения планов подготовки соединений...

Именные части речи, их общие и отличительные признаки Именные части речи в русском языке — это имя существительное, имя прилагательное, имя числительное, местоимение...

Интуитивное мышление Мышление — это пси­хический процесс, обеспечивающий познание сущности предме­тов и явлений и самого субъекта...

Объект, субъект, предмет, цели и задачи управления персоналом Социальная система организации делится на две основные подсистемы: управляющую и управляемую...

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