Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Первая программа на C++, типы данных и их размер

Автор: Уваров Андрей

Что бы начать изучать C++ сначала создадим простое консольное приложение. Для этого запустите Visual C++. Выберите 'New' в меню 'File'. Проверте, что бы в диалоговой панеле 'New' была выбрана закладка 'Projects'. В списке типов проектов выберите 'Win32 Console Application'. Выберите каталог для проекта( лучше оставить по умолчанию ) и имя проекта, например, 'First' и нажмите 'OK'. У вас создатся 'First classes'. После этого выберите опять 'New', но с закладкой 'Files' и выберите 'C++ Source File'. Далее нажмите 'OK' и создастся файл 'First.cpp'. Всё, теперь можно писать программу. Но перед тем, как писать программу, давайте разберёмся какие типы данных существуют в C++.

В C++ существуют несколько часто используемых типов данных( не все ):

  1. Численные знаковые целые( int, short, char )
  2. Численные знаковые дробные( float, double, long( в С ), long double( в С ) )
  3. Численные без знаковые - все перечисленные выше типы с добавлением Unsigned
  4. Char так же может использоваться как символьный тип.

Теперь напишем программыу, которая будет выводить размер типов данных в байтах.

#include <iostream.h>

void main(void) {
	cout << " (unsigned)int = " << sizeof(int) << endl;
	cout << " (unsigned)short = " << sizeof(short) << endl;
	cout << " (unsigned)char = " << sizeof(char) << endl;
	cout << " (unsigned)float = " << sizeof(float) << endl;
	cout << " (unsigned)double = " << sizeof(double) << endl;
	cout << " (unsigned)long = " << sizeof(long) << endl;
	cout << " (unsigned)long double = " << sizeof(long double) << endl;
	} 

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 

Комментарии

1.
100K
26 февраля 2019 года
Blogan
0 / / 26.02.2019
+1 / -0
Мне нравитсяМне не нравится
26 февраля 2019, 12:15:34
Сейчас 2019 год, типов данных "Стандартных" немного больше в С++, Автор забыл про wchar_t, char16_t, char32_t. Так же где bool? Код программы написан неправильно (в 2011 это уже не работало). Сейчас файла iostream.h не существует, а объект cout и манипулятор endl помещены в файл iostream в пространство имен std. Почему в скобках пишет void? Это излишки языка С, в С++ этого делать не надо. Почему void перед main? А где правила "этики" с int main + return 0? Вот современный (на 2019 год) и правильный код:
#include <iostream>
using namespace std;
int main()
{
cout << "int = " << sizeof(int) << endl;
cout << "short = " << sizeof(short) << endl;
cout << "char = " << sizeof(char) << endl;
cout << "wchar_t = " << sizeof(wchar_t) << endl;
cout << "char16_t = " << sizeof(char16_t) << endl;
cout << "char32_t = " << sizeof(char32_t) << endl;
cout << "bool = " << sizeof(bool) << endl;
cout << "float = " << sizeof(float) << endl;
cout << "double = " << sizeof(double) << endl;
cout << "long = " << sizeof(long) << endl;
cout << "long double = " << sizeof(long double) << endl;

return 0;
}
2.
100K
11 ноября 2018 года
Sasha945
0 / / 11.11.2018
+1 / -0
Мне нравитсяМне не нравится
11 ноября 2018, 17:16:49
Помогите мне с этими проблемами !
1>------ Сборка начата: проект: ConsoleApplication1, Конфигурация: Debug Win32 ------
1>ConsoleApplication1.cpp
1>c:\users\sgolo\desktop\проекты\consoleapplication1\consoleapplication1\consoleapplication1.cpp(11): fatal error C1010: непредвиденный конец файла во время поиска предкомпилированного заголовка. Возможно, вы забыли добавить директиву "#include "pch.h"" в источник.
1>Сборка проекта "ConsoleApplication1.vcxproj" завершена с ошибкой.
========== Сборка: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
3.
97K
12 июня 2016 года
Константин Савостюк
0 / / 12.06.2016
+2 / -0
Мне нравитсяМне не нравится
12 июня 2016, 18:16:48
#include <iostream>
#include <Windows.h>
// Подключаем пространство имен std
using namespace std;


int main()
{
// Подключаем русский
SetConsoleCP(1251);
SetConsoleOutputCP(1251);

// Сама операция
cout << "Размер int " << sizeof(int) << " байт" << endl;
cout << "Размер short " << sizeof(short) << " байт" << endl;
cout << "Размер char " << sizeof(char) << " байт" << endl;
cout << "Размер float " << sizeof(float) << " байт" << endl;
cout << "Размер double " << sizeof(double) << " байт" << endl;
cout << "Размер long " << sizeof(long) << " байт" << endl;
cout << "Размер long double " << sizeof(long double) << " байт" << endl;
cout << "Размер long long " << sizeof(long long) << " байт" << endl;

system("pause");
return 0;
}
4.
91K
20 июля 2013 года
Денис Ромашков
0 / / 20.07.2013
+7 / -0
Мне нравитсяМне не нравится
20 июля 2013, 00:41:40
я переделал вот на такой:
Код:
#include <iostream>



using namespace std;



int main() {

    cout << " (unsigned)int = " << sizeof(int) << endl;

    cout << " (unsigned)short = " << sizeof(short) << endl;

    cout << " (unsigned)char = " << sizeof(char) << endl;

    cout << " (unsigned)float = " << sizeof(float) << endl;

    cout << " (unsigned)double = " << sizeof(double) << endl;

    cout << " (unsigned)long = " << sizeof(long) << endl;

    cout << " (unsigned)long double = " << sizeof(long double) << endl;

    system("PAUSE");

    return(0);

}
5.
89K
23 января 2013 года
Вячеслав Литвиненко
0 / / 23.01.2013
+7 / -2
Мне нравитсяМне не нравится
14 февраля 2013, 07:55:41
Мой код в Visual Studio 2010 Express выглядит так:

Код:
#include "stdafx.h"

#include <iostream>

using namespace std;



int _tmain(int argc, _TCHAR* argv[])

{  

    cout << endl;

    cout << " Fuck you, world!" << endl;

    cout << endl;

    cout << " (unsigned)int = " << sizeof(int) << " Bytes" << endl;

    cout << " (unsigned)short = " << sizeof(short)<< " Bytes" << endl;

    cout << " (unsigned)char = " << sizeof(char)<< " Byte" << endl;

    cout << " (unsigned)float = " << sizeof(float)<< " Bytes" << endl;

    cout << " (unsigned)double = " << sizeof(double)<< " Bytes" << endl;

    cout << " (unsigned)long = " << sizeof(long)<< " Bytes" << endl;

    cout << " (unsigned)long double = " << sizeof(long double)<< " Bytes" << endl;

    cin.get();

    return 0;

}
6.
78K
04 января 2012 года
MrTicket
1 / / 04.01.2012
+2 / -2
Мне нравитсяМне не нравится
4 января 2012, 13:02:48
у меня почему-то не получается
пишет:
1>------ Построение начато: проект: 2, Конфигурация: Debug Win32 ------
1>LINK : error LNK2001: неразрешенный внешний символ "_mainCRTStartup"
1>A:\Users\Андрей\Documents\Visual Studio 2010\Projects\2\Debug\2.exe : fatal error LNK1120: 1 неразрешенных внешних элементов
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
7.
74K
15 августа 2011 года
mitja
0 / / 15.08.2011
+1 / -1
Мне нравитсяМне не нравится
15 августа 2011, 21:16:56
Внедрение манифеста...
.\Debug\First.exe.intermediate.manifest : general error c1010070: Failed to load and parse the manifest. 5 C405BAO =09B8 C:070==K9 D09;.
Журнал построения был сохранен в "file://c:\Documents and Settings\MATH\My Documents\Visual Studio 2008\ProjectsFirst\First\First\Debug\BuildLog.htm"
First - ошибок 1, предупреждений 0
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
и так все время )))
8.
74K
15 августа 2011 года
mitja
0 / / 15.08.2011
+1 / -1
Мне нравитсяМне не нравится
15 августа 2011, 21:06:20
Серьезно либо я туповат либо что,но немогу врубится создать First создал,дальше понять немогу уже 2дня мучаюсь может кто обьяснить по понятней как для чайника а ребят? ))) все по деталям плзз)
9.
44K
05 ноября 2008 года
ipaSoft
0 / / 05.11.2008
+18 / -4
Мне нравитсяМне не нравится
30 ноября 2010, 20:25:58
В 2006 году, решился самостоятельно выучить Visual C++ и зашел в тупик уже на этом примере. Знаний мало - показалось, что это не работает.
Сейчас хочется чуть-чуть дополнить статью автора, чтобы меньше вопросов возникало у отважных самоучек. Если вы в программировании совсем новичок, то этот коммент для вас )
Последовательность:
Заходим в меню File -> New -> вкладка Projects -> элемент списка Win32 Console Application. В поле Project Name пишем First. Убедимся что выбрана опция Create New Workspace. Поле Location лучше оставить по умолчанию (C:\Program Files\Microsoft Visual Studio\MyProjects\First). Жамкаем ОК. Появится окно мастера с вопросом What kind of console application do you want to create? (Консольное приложение какого содержание вы хотите создать?) выбираем An empty project. Потом среда нас информирует об итогах работы мастера. Жамкаем ОК.
Опять же меню File -> New -> вкладка (или закладка) Files -> элемент списка Source File C++. Имя файла пишем так же First. В открывшемся редакторе пишем код:
iostream.h - заголовочный файл с классами, функциями и переменными для организации ввода-вывода в языке программирования C++ подключается к нашей программе с помощью Директивы #include (подключить).
void - Тип, спецификатор типа. Указывает на то, что функция не возвращает значения.
main - наиглавнейшая функция программы. С нее начинается исполнение. И когда исполнение main завершается - завершается и программа.
void main (void) буквально означает, что функция не ожидает параметров и не возвращает значений.
Все эти основы можно прочесть в первых главах и примерах книги Бьёрна Страуструпа "Язык программирования С++".
А сейчас тупо копипастим (копировать - вставить) код приведенный в статье, жамкаем клавишу F7 (Build exe) и получаем откомпилированный исполняемый файл примерно тут C:\Program Files\Microsoft Visual Studio\MyProjects\first\Debug (зависит от того где создана папка с проектом).
Теперь о том как запустить. Заходим в меню Пуск -> Выполнить -> cmd
И пробираясь в искомую папку (cd.. - подняться на каталог выше, cd имя_папки - войти в каталог) запустить First (.exe писать необязательно).
Можно сделать проще: контекстное меню проводника -> создать ярлык. Пишем размещение объекта cmd, жмем "далее", вводим имя ярлыка (любое абсолютно), в свойствах ярлыка указываем рабочую папку "C:\Program Files\Microsoft Visual Studio\MyProjects\first\Debug" или ту, которую определили при создании проекта. Запускаем через ярлык cmd, вводим first и смотрим результат выполнения программы.
9.1.
84K
05 июля 2012 года
Xarrisaf
0 / / 05.07.2012
+3 / -0
Мне нравитсяМне не нравится
5 июля 2012, 21:00:42
1>------ Build started: Project: First, Configuration: Debug Win32 ------
1>LINK : error LNK2001: unresolved external symbol _mainCRTStartup
1>D:\Dokumenten\SelbstLernMape\c++\Random VC\First\Debug\First.exe : fatal error LNK1120: 1 unresolved externals
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

постоянно, при всех простейших кодах выдает такую ошибку
(я начинаюший до этого работал на DevC++ и на бейсике(совсем давно), решил пересесть на вижуал)
кто может посказать что делаю не так?
10.
65K
19 октября 2010 года
pet++0x
0 / / 19.10.2010
+2 / -2
Мне нравитсяМне не нравится
19 октября 2010, 19:09:07
у меня в студии 2008 сработало так:

// c++.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <iostream>
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
cout << " (unsigned)int = " << sizeof(int) << endl;
cout << " (unsigned)short = " << sizeof(short) << endl;
cout << " (unsigned)char = " << sizeof(char) << endl;
cout << " (unsigned)float = " << sizeof(float) << endl;
cout << " (unsigned)double = " << sizeof(double) << endl;
cout << " (unsigned)long = " << sizeof(long) << endl;
cout << " (unsigned)long double = " << sizeof(long double) << endl;

return 0;
}

шаблон int _tmain(int argc, _TCHAR* argv[]) сгенерился визардом автоматом.
11.
61K
06 мая 2010 года
HexMaster
0 / / 06.05.2010
+1 / -2
Мне нравитсяМне не нравится
6 мая 2010, 11:53:07
У меня в VS2010 просит добавить строку
#include "stdafx.h"
12.
55K
09 ноября 2009 года
Lobo
0 / / 09.11.2009
+3 / -0
Мне нравитсяМне не нравится
9 ноября 2009, 17:47:03
Вместо void main() можно описать int main(), поскольку программа выводит целочисленные данные. Результат идентичен

#include <iostream>
using namespace std;
int main()
{
cout << " (unsigned)int = " << sizeof(int) << endl;
cout << " (unsigned)short = " << sizeof(short) << endl;
cout << " (unsigned)char = " << sizeof(char) << endl;
cout << " (unsigned)float = " << sizeof(float) << endl;
cout << " (unsigned)double = " << sizeof(double) << endl;
cout << " (unsigned)long = " << sizeof(long) << endl;
cout << " (unsigned)long double = " << sizeof(long double) << endl;
cin.get();
}
13.
46K
04 января 2009 года
Kill System
0 / / 04.01.2009
+1 / -0
Мне нравитсяМне не нравится
4 января 2009, 13:31:23
I've made some amendments and That's works.

#include <iostream>
using namespace std;
void main()

{
cout << " (unsigned)int = " << sizeof(int) << endl;
cout << " (unsigned)short = " << sizeof(short) << endl;
cout << " (unsigned)char = " << sizeof(char) << endl;
cout << " (unsigned)float = " << sizeof(float) << endl;
cout << " (unsigned)double = " << sizeof(double) << endl;
cout << " (unsigned)long = " << sizeof(long) << endl;
cout << " (unsigned)long double = " << sizeof(long double) << endl;
cin.get();
}
14.
44K
23 октября 2008 года
grigorii
0 / / 23.10.2008
+7 / -1
Мне нравитсяМне не нравится
23 октября 2008, 10:29:15
извините канешно за смешной для вас вопрос но для меняс++ ето нова вот увидел статейку сделал все как надо а как теперь посмотреть что я наделал??
15.
Аноним
+1 / -0
Мне нравитсяМне не нравится
25 февраля 2006, 19:21:02
у меня пример не пошел=(
мне потребовалось еще добавить такую строчку:
using namespace std;
в тело процедуры
16.
Аноним
+3 / -1
Мне нравитсяМне не нравится
29 декабря 2005, 12:51:59
очень полезная статья!
17.
Аноним
+1 / -0
Мне нравитсяМне не нравится
14 декабря 2005, 15:16:21
У! Да тут можно void main писать.
18.
Аноним
+1 / -0
Мне нравитсяМне не нравится
21 июля 2005, 12:04:00
А тебе разве не понятно и так? O_o
Ну и какой после этого ты начинающий программист? ^_^
19.
Аноним
+2 / -1
Мне нравитсяМне не нравится
20 июля 2005, 11:18:42
А где коментарии что где и почему?
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог