偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

“Hello world”不簡單

開發(fā) 后端
由Kernighan和Ritchie合著的經(jīng)典教程《The C Programming Language》的開篇第一個C程序例子是打印簡單的“hello world”。從此之后,“hello world”就成了描述一個人編寫的第一個程序的代名詞——不論是什么語言技術,即使實際上程序并沒有在字樣上輸出“hello world”幾個字。

[[124819]]

由Kernighan和Ritchie合著的經(jīng)典教程《The C Programming Language》的開篇***個C程序例子是打印簡單的“hello world”。從此之后,“hello world”就成了描述一個人編寫的***個程序的代名詞——不論是什么語言技術,即使實際上程序并沒有在字樣上輸出“hello world”幾個字。

對于初學者來說,這“hello world”程序是讓人恐怖的。他會想“我一定非常笨,連這入門的hello world程序都覺得難。照這樣下去,我一定不會喜歡上編程。”

其實,這問題的原因是我們把“***個”和”最簡單的一個“混淆了。“hello world”程序可以是任何的程序,沒有難易限制。當你***次編程時,你不知道該用哪種編譯器、不知道代碼文件應該放到哪里、不知道它們應該是什么格式,等等。你需要去學。大量的知識在你真正能夠編程前都需要學習、慢慢的學會 。

[[124820]]

本文的作者 John D. Cook

當我最初開始學習編程時,我總希望能盡快的越過寫“hello world”程序的階段,希望能夠立刻開始編寫真正有用的程序。但事實上,我發(fā)現(xiàn)我大半輩子時間都在寫“hello world”程序,而且看不到結束的盡頭。

每當討論起“hello world”程序,幾乎避免不了的要說一說這世界上最恐怖的“hello world”程序:Charles Petzold在他的《Programming Windows》一書中描述的***個Windows程序。我只能找到這本書的Windows 98版的。不知道它跟最初的原版有多大區(qū)別,但我印象里原版里的代碼會比現(xiàn)在這個更恐怖。

  1. /*------------------------------------------------------------ 
  2.    HELLOWIN.C -- Displays "Hello, Windows 98!" in client area 
  3.                  (c) Charles Petzold, 1998 
  4.   ------------------------------------------------------------*/ 
  5.    
  6. #include  
  7.    
  8. LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ; 
  9.    
  10. int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, 
  11.                     PSTR szCmdLine, int iCmdShow) 
  12.      static TCHAR szAppName[] = TEXT ("HelloWin") ; 
  13.      HWND         hwnd ; 
  14.      MSG          msg ; 
  15.      WNDCLASS     wndclass ; 
  16.    
  17.      wndclass.style         = CS_HREDRAW | CS_VREDRAW ; 
  18.      wndclass.lpfnWndProc   = WndProc ; 
  19.      wndclass.cbClsExtra    = 0 ; 
  20.      wndclass.cbWndExtra    = 0 ; 
  21.      wndclass.hInstance     = hInstance ; 
  22.      wndclass.hIcon         = LoadIcon (NULL, IDI_APPLICATION) ; 
  23.      wndclass.hCursor       = LoadCursor (NULL, IDC_ARROW) ; 
  24.      wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH) ; 
  25.      wndclass.lpszMenuName  = NULL ; 
  26.      wndclass.lpszClassName = szAppName ; 
  27.    
  28.      if (!RegisterClass (&wndclass)) 
  29.      { 
  30.           MessageBox (NULL, TEXT ("This program requires Windows NT!"), 
  31.                       szAppName, MB_ICONERROR) ; 
  32.           return 0 ; 
  33.      } 
  34.         
  35.      hwnd = CreateWindow (szAppName,                  // window class name 
  36.                           TEXT ("The Hello Program"), // window caption 
  37.                           WS_OVERLAPPEDWINDOW,        // window style 
  38.                           CW_USEDEFAULT,              // initial x position 
  39.                           CW_USEDEFAULT,              // initial y position 
  40.                           CW_USEDEFAULT,              // initial x size 
  41.                           CW_USEDEFAULT,              // initial y size 
  42.                           NULL,                       // parent window handle 
  43.                           NULL,                       // window menu handle 
  44.                           hInstance,                  // program instance handle 
  45.                           NULL) ;                     // creation parameters 
  46.         
  47.      ShowWindow (hwnd, iCmdShow) ; 
  48.      UpdateWindow (hwnd) ; 
  49.         
  50.      while (GetMessage (&msg, NULL, 0, 0)) 
  51.      { 
  52.           TranslateMessage (&msg) ; 
  53.           DispatchMessage (&msg) ; 
  54.      } 
  55.      return msg.wParam ; 
  56.    
  57. LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) 
  58.      HDC         hdc ; 
  59.      PAINTSTRUCT ps ; 
  60.      RECT        rect ; 
  61.         
  62.      switch (message) 
  63.      { 
  64.      case WM_CREATE: 
  65.           PlaySound (TEXT ("hellowin.wav"), NULL, SND_FILENAME | SND_ASYNC) ; 
  66.           return 0 ; 
  67.              
  68.      case WM_PAINT: 
  69.           hdc = BeginPaint (hwnd, &ps) ; 
  70.              
  71.           GetClientRect (hwnd, &rect) ; 
  72.              
  73.           DrawText (hdc, TEXT ("Hello, Windows 98!"), -1, &rect, 
  74.                     DT_SINGLELINE | DT_CENTER | DT_VCENTER) ; 
  75.              
  76.           EndPaint (hwnd, &ps) ; 
  77.           return 0 ; 
  78.              
  79.      case WM_DESTROY: 
  80.           PostQuitMessage (0) ; 
  81.           return 0 ; 
  82.      } 
  83.      return DefWindowProc (hwnd, message, wParam, lParam) ; 
責任編輯:張偉 來源: 程序師
相關推薦

2017-11-23 17:45:46

Yii框架IntelYii框架深度剖析

2012-02-20 14:26:48

JavaPlay Framew

2009-08-11 10:32:23

什么是Groovy

2009-07-30 13:21:17

Scala入門Hello World

2023-09-04 07:30:03

Wasm匯編語言

2023-01-06 08:18:44

2009-09-16 17:15:19

OSGi Bundle

2011-06-08 14:39:06

Qt 教程

2012-06-26 09:40:14

部署開發(fā)管理

2021-11-26 08:22:01

Java動態(tài)開發(fā)

2011-08-05 09:48:46

iPhone Interface

2009-08-14 16:54:19

C# Hello Wo

2014-04-11 11:36:42

NDKAndroid開發(fā)終端

2024-04-11 13:13:27

2023-05-23 08:01:10

Netty網(wǎng)絡通信

2009-07-20 10:06:47

虛擬化思杰操作系統(tǒng)

2010-01-19 10:10:28

2010-01-07 13:27:22

Linux驅(qū)動程序

2013-12-12 17:30:03

Lua例子

2011-09-08 10:41:12

Node.js
點贊
收藏

51CTO技術棧公眾號