Как написать программу выводящую на экран hello World

Ответ очень прост. Их даже несколько. Самый простой, основанный на свойстве глобальных статических объектов.

int printHelloWorld() < printf(«Hello World»); return 0; >static int testVar = printHelloWorld(); int main ()

Это, если С стиль. С++ стиль: создаем класс, в конструкторе добавляем вывод, будет вывод до main, в деструкторе — после.

Отслеживать
ответ дан 19 янв 2011 в 19:10
Nicolas Chabanovsky Nicolas Chabanovsky
51.1k 83 83 золотых знака 263 263 серебряных знака 501 501 бронзовый знак
можно ещё короче int i = puts(«Hello World»); int main(void) < return 0; >
20 янв 2011 в 11:23
создаем класс

Имеется в виду — нужен объект класса 🙂 Т.к. само объявление класса ничего не вызывает.

30 мар 2011 в 23:56

А оптимизация не порежет ли инициализацию к неиспользуемой статичекой переменной? Или это только в шарпе статик инициализируется при первом обращении в коде, до этого он мертв?

11 авг 2012 в 11:21
22 ноя 2016 в 11:23

Во-первых, не понятно, почему это названо «С стилем». В языке С динамическая инициализация невозможна. Так что сам подход в самой своей сути — именно С++ стиль, что с классами, что без. Во-вторых, без предварительного обявления функции printf программа некорректна. Это относится и к варианту с puts .

Python — Создание первой программы Hello, World

1 июл 2017 в 5:55

#define return puts(«Hello World»); return int main ()

Не такой красивый вариант как со статикой, но тоже работает.

Отслеживать
ответ дан 20 янв 2011 в 5:25
3,645 2 2 золотых знака 19 19 серебряных знаков 29 29 бронзовых знаков
Вот у меня были подобные мысли, но смутило то, что return занятое слово, разве его дефайном можно?
20 янв 2011 в 7:06
В том-то и дело, что дефайном можно все что угодно. В этом его мощь и. опасность 🙂

20 янв 2011 в 8:36
Старая шутка на ум пришла #define true false
20 янв 2011 в 14:21
И сразу второй строчкой

#define false true 🙂
31 мар 2011 в 10:42
Единственный вариант, работающий в C и C++
28 сен 2011 в 15:36

True programmer напишет это в hex редакторе в машинных кодах.

Даже функция main не нужна.

BB 11 01 B9 0D 00 B4 0E 8A 07 43 CD 10 E2 F9 CD 20 48 65 6C 6C 6F 2C 20 57 6F 72 6C 64 21

Немного исправим, воспользовавшись примером выше для соответствию заданию.

using namespace std; #include class hello< public: hello() < ofstream hello; hello.open («hello.com»); hello put; int main()

Вуаля мы получили программу на языке С++ которая возвращает .com файл, затем запускает его, после чего этот файл через BIOS прерывание выводит на экран Hello, world! При этом наша программа имеет пустую функцию main и не обращается напрямую к стандартном выводу в командную строку. Работает только в DOS command promt .

Отслеживать
1,331 14 14 серебряных знаков 30 30 бронзовых знаков
ответ дан 19 апр 2012 в 12:43
7,736 1 1 золотой знак 28 28 серебряных знаков 49 49 бронзовых знаков
19 апр 2012 в 12:51
Так ведь задание — написать на С++. Кроме того, во многих языках нет main или ему подобных
19 апр 2012 в 13:40
немного исправил для соответствия заданию
19 апр 2012 в 17:55
19 апр 2012 в 18:05
Изврат не знает пределов.

Читайте также:
Совокупность всех программ компьютера это операционная система

Как легко написать программу hello world

19 апр 2012 в 18:58

Статические переменные и дефайны не обязательны:

#include int s = printf(«Hello worldn»); int main()
Отслеживать
28.4k 10 10 золотых знаков 57 57 серебряных знаков 118 118 бронзовых знаков
ответ дан 31 мар 2011 в 8:51
Alex Kapustin Alex Kapustin
11.6k 19 19 серебряных знаков 22 22 бронзовых знака
Замена статической переменной на внешнюю означает «статические переменные необязательны»?

19 апр 2012 в 15:12

Хоть переменная i и обладает static storage duration, т.е. с этой точки зрения является «статической», это — первый правильный ответ, благодаря не забытому . Лучше было бы, конечно, . Небольшой недочет — отсутствие n на конце выводимой строки. С++ не оговаривает поведение текстовых потоков, в которых последняя строка не заканчивается на n .

1 июл 2017 в 6:36

#include void hello() < puts(«Hello, World!»); >#pragma data_seg(«.CRT$XIY») void(*pinit)()=&hello; int main() < return 0; >;

Только оказалось, что он только в дебаге работает.

А ещё можно подменить точку входа:

#pragma comment(linker, «/ENTRY:Main») //Вместо прагмы можно использовать параметр командной строки #include //CRT с его printf и puts (не говоря уже о cout) мы, к сожалению, потеряли, поэтому придётся использовать средства ОС int main(void) < return 0; >void Main()

Кстати, у меня эта программка занимает 656 байт после того, как я немного похимичил с ключами компиляции.

Отслеживать
ответ дан 2 дек 2011 в 12:41
5,401 20 20 серебряных знаков 32 32 бронзовых знака
що означає макрос pragma?
2 дек 2011 в 15:09

#pragma — это не макрос, а директива препроцессора. pragm’ы бывают разные, их поддержка зависит от компилятора. Конкретно эта записывает указатель на функцию в секцию CRT — стандартной библиотеки C, в недрах которой определена функция mainCRTStartup, которая вызывает main. Перед этим она вызывает все функции из этой секции.

2 дек 2011 в 15:16
11 авг 2012 в 19:26

В Visual studio. Прагмы не кросскомпиляторные. Вместо прагмы можно ключ компилятора использовать(которые тоже не кросскомпиляторные).

12 авг 2012 в 6:59

Понятно, что к исходной задаче эти враианты никакого отношения не имеют, как не имеют они никакого отношения к языку С++.

1 июл 2017 в 6:29

#include class hello < public: hello()< std::cout > put; int main()
Отслеживать
51.1k 83 83 золотых знака 263 263 серебряных знака 501 501 бронзовый знак
ответ дан 28 сен 2011 в 15:24
1,823 5 5 золотых знаков 28 28 серебряных знаков 40 40 бронзовых знаков
#include const std::ostream puts(«Hello world»); >int v = atexit(hw); int main()
Отслеживать
ответ дан 24 фев 2016 в 12:07
28.4k 10 10 золотых знаков 57 57 серебряных знаков 118 118 бронзовых знаков

gcc поддерживает атрибут «constructor», который помещает функцию в init-секцию ELF-файла. Что, в свою очередь, означает, что эта функция вызовется перед функцией main.

То есть, то, что нам нужно.

void __attribute__((constructor)) init
Отслеживать
ответ дан 7 сен 2015 в 15:07
1,573 10 10 серебряных знаков 15 15 бронзовых знаков
$ cat hellower.cpp #include «helper.cpp» int main(void)
$ cat helper.cpp #include int hello_helper() < printf(«Hello Worldn»); return 0; >static int a = hello_helper();

$ g++ hellower.cpp $ ./a.out Hello World
Отслеживать
ответ дан 15 ноя 2015 в 16:43
wonderedman wonderedman
401 4 4 серебряных знака 5 5 бронзовых знаков
И чем это отличается от верхнего ответа?
15 ноя 2015 в 16:50
тем что инклуд всего лишь один перед пустым main() и всё.
8 дек 2015 в 12:08
1 июл 2017 в 7:21

Читайте также:
Как почистить динамик на Айфон xr программой

1 июл 2017 в 7:48
1 июл 2017 в 8:06

Первый файл (строго соответствует условию задачи):

$ cat main.cpp int main(void)
$ cat hello.cpp #include int hello_helper() < printf(«Hello Worldn»); return 0; >static int a = hello_helper();

Makefile для компилятора g++:

$ cat makefile TARGET = hello PREFIX = /usr/local/bin .PHONY: all clean install uninstall all: $(TARGET) clean: rm -f $(TARGET) *.o main.o: main.cpp g++ -c -o main.o main.cpp hello.o: hello.cpp g++ -c -o hello.o hello.cpp $(TARGET): main.o hello.o g++ -o $(TARGET) main.o hello.o install: cp $(TARGET) $(PREFIX)/$(TARGET) uninstall: rm -f $(PREFIX)/$(TARGET)
Отслеживать
ответ дан 30 ноя 2017 в 14:42
221 2 2 серебряных знака 2 2 бронзовых знака
цели main.o и hello.o не нужны в случае использования программы gnu/make
30 ноя 2017 в 14:54

Это инкрементная компиляция. Представим, что наша программа состоит из десятка- другого исходных файлов. Мы вносим изменения в один из них, и хотим ее пересобрать. Использование подхода описанного Вами приведет к тому, что все без исключения исходные файлы будут снова скомпилированы, что негативно скажется на времени перекомпиляции. Решение — разделить компиляцию на два этапа: этап трансляции и этап линковки, что значительно сокращает время отладки и перекомпиляции больших проектов.

30 ноя 2017 в 16:41

то ли вы меня не поняли, то ли я вас не понимаю. в приведённом вами файле makefile не нужны четыре строки с 7 по 10-ю (если интерпретация файла выполняется программой gnu/make). пожалуйста, проверьте и убедитесь сами (программа gnu/make будет выполнять ровно те же действия как при наличии, так и при отсутствии этих четырёх строк).

Источник: ru.stackoverflow.com

Как написать Hello, World на Python: советы и рекомендации

На сегодняшний день Python считается одним из самых популярных языков программирования в мире, ежегодно появляется большое количество его поклонников. Желающие выучить этот язык чаще всего начинают с написания самой простой первой программы — вывода на экран фразы Hello, World. Это считается доброй традицией программистов всего мира. Давайте подробно разберем, как написать Hello, World! на Python.

python код

Установка Python

Прежде чем вы напишете свою первую программу, необходимо убедиться, что на компьютере установлено и настроено необходимое программное обеспечение, для того чтобы приступить к работе.

Потребуется установить Python на свой компьютер. В этой статье будет описан метод установки для операционной системы Windows.

Потребуется зайти на официальный сайт, посвященный языку Python (его можно увидеть, набрав соответствующий запрос в любой поисковой системе) и скачать установщик с главной страницы.

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

Через пару минут установка будет завершена, а на вашем компьютере появится все необходимое, чтобы написать на языке Python Hello, World.

Написание программы

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

Зайдите в «Панель управления» и наберите в поиске IDLE. Вы сразу же увидите доступный для выбора пункт IDLE (Python GUI). Запустите эту программу.

В открывшемся окне выберите пункт «Файл» из верхнего меню, откройте новое окно (New Window).

Перед собой на экране вы увидите редактор, в котором нужно будет написать следующий код:

print «Hello, World!»

Получившееся нужно будет сохранить в отдельный файл. Назовем его, к примеру, hello.py.

Теперь можно будет посмотреть на то, что получилось. Для этого нужно выбрать в верхнем меню среды разработки, где написан код, пункт Run, затем выбрать в выпавшем списке Run Module. Второй способ запуска готовой программы еще проще, достаточно нажать клавишу F5.

Читайте также:
Как работает программа амирс

После того как обозначенные действия выполнены, откроется окно, в котором будет выведена соответствующая надпись. Значит, программа написана правильно и обработана успешно.

python инфографика

Работа над ошибками

Если в коде будет допущена какая-то неточность, то программа не сможет быть запущена, в этом случае на экран будет выведена ошибка. К примеру, одна неверно написанная буква выдаст окно с надписью Syntax error.

При этом исправить допущенную неточность будет очень просто, Python покажет, на каком именно участке код был написан некорректно.

Итак, теперь мы разобрались, каким образом можно написать на Python Hello, World в Windows. Это можно считать успешным первым шагом к началу обучения программированию.

Источник: fb.ru

Руководство разработчика. Hello World!

Со времен ветхого завета в мире программирования принято начинать знакомство с новой системой написанием простейшей программы вывода на экран строки «Hello World!». Будем придерживаться канонов. Читатель, уже знакомый с тем, как на Гедымине пишется программный код и создаются экранные формы, без малейших для себя последствий может пропустить эту главу. Мы же выполним следующие действия:

  1. Запустим Гедымин и подключимся к демо базе под учетной записью Administrator.
  2. В главном окне программы раскроем меню Сервис и вызовем команду Редактор скрипт-объектов.
  3. Найдем окно Проводник, в дереве выделим пункт Глобальные макросы[1] и нажмем правую кнопку мыши.
  4. Из появившегося меню выберем команду Добавить макрос, как показано на рисунке ниже:

HelloWorld.AddMacros.png

Совет: При первом обращении Редактор скрипт-объектов может содержать вспомогательные окна, такие как: Список переменных, Стек вызовов, Сообщения и др. Для экономии экранного пространства их можно закрыть. Если вы случайно закрыли окно Проводника, вернуть на экран его можно с помощью комбинации горячих клавиш Ctrl-Alt-T или воспользовавшись меню Окна Редактора скрипт-объектов (не путайте с меню Окна главного окна Гедымина).

По выполнении вышеуказанных действий на рабочем поле Редактора скрипт-объектов откроется окно редактирования макроса.

HelloWorld.AddMacros.Tab1.png

Пусть вас не смущает обилие полей ввода. В следующих главах мы подробно ознакомимся с предназначением каждого из них. А пока, наберем в поле Наименование макроса строку «Hello World!», а в поле Наименование функции – «HelloWorld» (Естественно, кавычки не являются частью строки и вводить их не следует. Они используются в тексте исключительно для выделения. Пробелы в имени функции недопустимы).

Далее, перейдем на вкладку Скрипт и наберем такой текст процедуры:

Option Explicit Sub HelloWorld Application.MessageBox «Hello World!», «», vbOkOnly End Sub

Результат наших усилий приведен ниже:

HelloWorld.AddMacros.Tab2.png

По окончании ввода нажмем клавишу F9 для выполнения нашей программы. Если текст набран без синтаксических ошибок, то на экране появится следующее диалоговое окно:

HelloWorld.AddMacros.MsgBox.png

Ура! Наше первое приложение успешно работает.

Обращаемся к базе данных

Пусть мы и достигли поставленной цели, но очевидно, что однострочная процедура вряд ли позволит нам составить даже самое поверхностное впечатление о возможностях платформы. Давайте усложним задачу и заставим нашу программу приветствовать не только весь мир, но и лично пользователя. Персональную информацию, имя учетной записи, возьмем непосредственно из базы данных. Код второй версии процедуры HelloWorld выглядит следующим образом [2] :

01 Option Explicit 02 Sub HelloWorld 03 Dim gdcUser 04 Set gdcUser = Designer.CreateObject(Application,_ 05 «TgdcUser», «») 06 gdcUser.SubSet = «ByID» 07 gdcUser.ID = IBLogin.UserKey 08 gdcUser.Open 09 10 Application.MessageBox «Hello World!» _ 11 «Hello » «!», _ 12 «», vbOkOnly 13 14 Designer.DestroyObject(gdcUser) 15 End Sub

Прежде чем привести нашу процедуру в действие поясним некоторые нюансы.

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru