第一篇:學習不好能干大事
學習不好,能干大事!!
專家指出:往往學習不好,上課玩手機或睡覺的人,他的大腦要比學習好的人聰明65%,如上課玩手機的學生,他的精力投在玩上,大腦的靈活率極度升高,而學習好的學生,他的精力全部集中在一個人的身上,沒有一點靈活的空間,然而社會上能干大事的人,據專家統計85%都在初中或小學畢業,所以,玩和認真學習是完全不一樣的,我有好多朋友都是初中畢業,上課就知道玩,后來不上了,現在開公司當老板,而我們那些學習好的人現在還在艱難的找工作,他們都很羨慕以前不好好學習的同學,現在都比他們條件好。上課睡覺的學生,往往是最聰明的,他的大腦可以在老師講課的地方睡著,可見他非常不一般,具有商業的經濟頭腦,據專家講,上課睡覺一般大腦處于不想接觸外界信息,若他把覺睡好,從而會變成另外一個人,大腦靈活率在95%,比全心貫注的好學生的頭腦聰明靈活.總而言之,學習好的學生永遠沒有上課玩手機或睡覺的人頭腦靈活,社會交往或干大事的幾率比你們高。呵呵,不信可以試試!!!
第二篇:C語言也能干大事
1.格式:MessageBox(NULL,TEXT(“”),TEXT(“”),MB_OKCANCEL|MB_ICONQUESTION);
2.按鈕:MB_OK,MB_OKCANCEL,MB_YESONCANCEL,MB_RETRYCANCEL,MB_ABORTRETRYIGNORE;
確定,確定取消,是否取消,重試取消,終止,重試忽視
3.圖標:MB_ICONHAND,MB_ICONQUESTION,ICONEXCLAMATION(感嘆),MB_ICONASTERISK;
4.取返回值
int ret=MessageBox(NULL,TEXT(“”),TEXT(“”),MB_OKCANCEL|MB_ICONQUESTION);if(IDOK==ret){}else{};
5.C語言(網絡,數據庫,圖形學,內核等)一通百通,一切語言都是紙老虎。如鵬網!
6.怎樣把程序發給別人(debug,release);將debug轉成release,從新編譯.
第三篇:c語言也能干大事第11節
板書:
這節課是自己動手寫QQ、自己動手寫飛鴿傳書的基礎,以后想從事網絡開發、信息系統開發、游戲開發、嵌入式系統開發等的同學必須學習。
演示一個簡單的和網易Email服務器對話的過程。
1、網絡基本概念
講解QQ的基本原理
講解瀏覽器上網的基本原理
服務器:Server。提供服務的計算機。
客戶端:Client。和服務器端交互的一個設備。
IP地址:計算機在網絡中的地址。相當于每個家庭的電話。211.97.1.2別名、域名:。域名就相當于你家的地址。問114,你家的電話(告訴地址)
DNS:網絡中的114。Domain Name System。
端口:Port。不同的程序連接服務器時候用的插座。(程序和服務器通信的時候的一個開得的一個口子)
Socket(套接字):導線、網絡連接。
2、WinSock、WinSocket。
Socket:平臺無關的。Socket標準。所有操作系統都實現了這個標準。Send、recv。。標準的。一通百通!?。。。。。。。。。。。。。?/p>
WinSock:添加了一些Windows獨有的函數。而且不用這些函數的話Socket程序還跑不起來。羞臊微軟??!
WinSock編程:平臺無關,一通百通。WSA(Windows Socket API)
Sz1.tencent.com
Sz2.tencent.com3、LastError
調用WindowsAPI的時候,每步執行完畢都會把執行結果放到LastError中去,所以應該在函數執行完畢立即去取。
DeleteFile(f1)
DeleteFile(f2)
GetLastError()
LastError只能容納一個錯誤碼
DeleteFile(f1)
GetLastError()
DeleteFile(f2)
GetLastError()
錯誤碼。2233、34455
5FormatMessage:把錯誤碼轉換為錯誤消息。
Windows錯誤處理
GetLastError
1.void ShowError()
2.{
3.TCHAR* lpMsgBuf;
4.FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER| //自動分配消息緩沖區
5.FORMAT_MESSAGE_FROM_SYSTEM, //從系統獲取信息
6.NULL,GetLastError(), //獲取錯誤信息標識
7.MAKELANGID(LANG_NEUTRAL,SUBLANG_DEFAULT),//使用系統缺省語言
8.(LPTSTR)&lpMsgBuf, //消息緩沖區
9.0,10.NULL);
11.MessageBox(NULL,lpMsgBuf,“",MB_ICONERROR);
12.}
復制代碼
在.h中聲明函數,在.c中實現!!
都會有哪些錯誤?
4、模板代碼:
(1)、添加winsock2.h
(2)、連接庫“wsock32”。怎么知道添加它呢?
(3)、模板代碼
1.WSADATA wsaData;
2.//初始化Socket庫
3.WSAStartup(MAKEWORD(2,0),&wsaData);
4.//創建一根電線
5.SOCKET sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
6.SOCKADDR_IN sa;
7.sa.sin_family=AF_INET;
8.//設置電線連接服務器端的端口
9.sa.sin_port = htons(IPPORT_SMTP);
10.//123.125.50.135是ping smtp.163.com出來的,后面會講使用gethostbyname來直接從
11.//主機名得到ip地址
12.sa.sin_addr.S_un.S_addr = inet_addr(”123.125.50.135“);
13.//為什么不用設置客戶端的端口,難道不需要客戶端的端口嗎?
14.if(connect(sock,(SOCKADDR *)&sa,sizeof(sa))==SOCKET_ERROR)
15.{
16.ShowError();
17.return;
18.}
19.//做事情。把大象放冰箱總共分幾步
20.closesocket(sock);
21.WSACleanup();
復制代碼
QQ服務器的端口8888。需要指定客戶端的端口是9999.端口有一個特點:排他性!端口已經被別的程序占用,不能再用這個端口。開兩個QQ。11111111111
22222222222 9999。如果端口可以被多個程序使用的話,QQ聊天服務器發過來的消息被多個QQ收到。很荒謬!排他性!
如果在程序里寫死了客戶端用的端口。。所以才需要Socket替客戶端動態分配一個端口。所以不需要在程序中顯示指定客戶端的端口號!
客戶端向服務器端發消息:send
服務器端想客戶端發消息,客戶端這邊應該接收,recv。(receive)
SMTP服務器,你連上來以后服務器端主動向你發一條消息
recv(sock,buffer,256,0);
第一個是使用的socket,“導線”,套接字
接收數據的緩沖區的指針
接收數據的緩沖區的大小
send(sock,cQuit,lstrlen(cQuit),0);
第一個是使用的socket,“導線”,套接字
接收數據的緩沖區的指針
接收數據的緩沖區的大小
1.(4)一上來人家就主動和你嘮嗑:
2.char buffer[256];
3.ZeroMemory(buffer,sizeof(buffer)/sizeof(char));
4.//接收問候語
5.recv(sock,buffer,256,0);
6.MessageBox(hwnd,buffer,”“,0);
7.(5)朋友再見
8.//注意不能忘了末尾的回車
9.TCHAR cQuit[] = ”QUITn“;
10.send(sock,cQuit,lstrlen(cQuit),0);
11.12.ZeroMemory(buffer,sizeof(buffer)/sizeof(char));
13.//接收GoodBye
14.recv(sock,buffer,256,0);
15.MessageBox(hwnd,buffer,”",0);
復制代碼
第四篇:C語言也能干大事1板書
板書: 第一節
1、C語言不是只能開發黑底白字的控制臺界面程序。學習本課的基礎:本課程不講C語言基礎知識,C語言考及格,學的過程中配合復習,有不懂的回去翻書。
2、學完本課程以后同學們做的一些作品賞析:計算器、俄羅斯方塊、音樂播放器、學生管理系統(),郵件客戶端(),Web論壇()可以開發游戲、網絡程序、網站程序等。C語言什么都可以開發
3、準備工作,安裝VC6(在網上搜“Visual C++ 6”,找合適的地址下載)。VC6在Vista、Windows下啟動可能有兼容性提示。
3、開始做第一個C語言的程序
【文件】→【新建】,打開【工程】選項頁,選擇【Win32 Application】(不要選錯了),在“位置”中修改工程保存的路徑。(以前用Tubor C的同學會問“什么叫工程?”。在以前大家用TurboC寫的程序一般也就是一個文件,但是用C語言寫大程序的時候不可能把所有的代碼都寫在一個文件中,肯定要寫很多文件?!肮こ蹋≒roject)”就是這些文件的一個集合。)在“工程名”中寫入你為這個工程取的名字,最好有一定意義。下一步【一個簡單的Windows程序】
4、向Windows的世界問好
MessageBox(NULL,TEXT(“世界你好”),TEXT(“問好”),MB_OK);
VC6在Vista、Windows下編譯調試時可能有兼容性提示。
5、學本課程常見問題
(1)為什么不用TurboC?
Turbo C(Win-TC)太老了,界面還是DOS界面,庫也是DOS的庫,沒有網絡開發包、沒有Windows界面開發包。TC只能用來學C的基礎,要進行實際開發必須使用先進一點的工具。還是讓TurboC進博物館吧。
(2)為什么不用更高版本的VC?
我們不使用高版本的VC主要是如下考慮:VC6和高版本的VC沒有本質區別(VC6是1998年的東西,大部分人、公司還是用VC6,市面上的書也都是用VC6),只不過是升級了一下C++的版本、STL的版本而已,對咱們這次學習沒有什么影響;VC6的操作方式和VC2008非常相似,用熟了VC6再學高版本的VC只用半小時而已;高版本的VC體積太大,要五六百兆,而上面給出的VC6只有100MB。VC2008下建立工程。
(3)學C語言還是學其他語言,用其他語言實現豈不是更好?
用最熟悉的語言深入編程的各個領域(網絡、數據庫、圖形學、內核等),一通百通,一切語言都是紙老虎。參考資料如鵬網首頁。
6、深入研究MessageBox
(1)MessageBox(NULL,TEXT(“世界你好”),TEXT(“問好”),MB_OK);
第一個參數暫時不講;第二個是正文;第三個是標題(Caption);第四個是類型。
MB_OK就是表示有一個OK按鈕【確定】)
TEXT是一個宏,當字符串中有中文的時候最好用TEXT來包圍這個字符串,雖然不使用TEXT在VC6中沒問題,但是在VC7中有問題,而且微軟也建議使用TEXT宏,因此在涉及到中文的場合要使用它。他的作用就是把中文轉化成不會亂碼的格式。(暫時這么認為)。_T(“問好”),其實_T只是TEXT的一個縮寫而已。而且_T在有的低版本里不識別。TEXT()低版本也識別。暫時不用關心TEXT的細節。
換個樣子:
MessageBox(NULL, TEXT(“世界你好”), TEXT(“你好”),MB_OKCANCEL);
可從設置希望在對話框中顯示的按鈕:
#define MB_OK
0x00000000L
#define MB_OKCANCEL
0x00000001L
#define MB_ABORTRETRYIGNORE
0x00000002L
#define MB_YESNOCANCEL
0x00000003L
#define MB_YESNO
0x00000004L
#define MB_RETRYCANCEL
0x00000005L
也可以設置對話框中顯示的圖標:
#define MB_ICONHAND
0x00000010L
#define MB_ICONQUESTION
0x00000020L
#define MB_ICONEXCLAMATION
0x00000030L
#define MB_ICONASTERISK
0x00000040L
比如:MessageBox(NULL, TEXT(“世界你好”),TEXT(“你好”),MB_ICONQUESTION);
(2)可是如果我想顯示“確定、取消”按鈕的時候同時使用問號圖標呢? MessageBox(NULL, TEXT(“世界你好”), TEXT(“你好”),MB_OKCANCEL|
MB_ICONQUESTION);
MessageBox(NULL, TEXT(“世界你好”), TEXT(“你好”),MB_ABORTRETRYIGNORE | MB_ICONEXCLAMATION);
(3)思考:
到這一步如果你只是在背誦“第一組和第二組中間放一個豎線就可以實現兩種效果的組合形式”,那么你未來只會成為一個代碼工人。我們要思考一下其背后的原理。
“|”是什么意思?“|”是位運算里的“或”運算,只有對應的兩個二進位有一位為1時,結果位才為1,否則為0。MB_OK、MB_OKCANCEL等的低四位不同,但是高位永遠為0;MB_ICONHAND、MB_ICONQUESTION等的低5至第8位不同,而其他位永遠為0。這樣“MB_OK、MB_OKCANCEL”組的數值與“MB_ICONHAND、MB_ICONQUESTION”組的數值進行或運算后能分別保留各自的部分,也就是在結果值中同時體現兩組的取值。
這種風格叫“掩碼”,在Windows編程中這種用法會經常用到。
(4)返回值
MessageBox是有返回值的,返回值為用戶點擊的按鈕:
#define IDOK
#define IDCANCEL
#define IDABORT
#define IDRETRY
#define IDIGNORE
#define IDYES
6#define IDNO
7代碼:
int ret = MessageBox(NULL, TEXT(“你是人嗎?”), TEXT(“火星人”),MB_YESNO | MB_ICONQUESTION);
if(ret==IDYES)
{
MessageBox(NULL, TEXT(“火星人你好”), TEXT(“問好”),MB_OK);
}
else
{
MessageBox(NULL, TEXT(“歡迎回家來”), TEXT(“問好”),MB_OK);
}
6、課后作業:自己動手寫惡搞程序。
運行以后彈出詢問對話框(有【是】、【否】兩個按鈕以及問號圖標)“你是好人嗎?”,如果點擊【是】,則彈出對話框(只有一個【確定】按鈕以及一個警告圖標)“你看你就不像好人,點擊【確定】開始格式化C盤!”;如果點擊
【否】,則彈出對話框(有【重試】、【取消】兩個按鈕)“嘗試把你變成好人失敗,是否重試?”。
別把教學視頻當電影看!!多練!!多寫!
第五篇:C語言也能干大事 板書 第二節
板書:
運行以后彈出詢問對話框(有【是】、【否】兩個按鈕以及問號圖標)“你是好人嗎?”,如果點擊【是】,則彈出對話框(只有一個【確定】按鈕以及一個警告圖標)“你看你就不像好人,點擊【確定】開始格式化C盤!”;如果點擊
【否】,則彈出對話框(有【重試】、【取消】兩個按鈕)“嘗試把你變成好人失敗,是否重試?”。
1、怎么生成exe程序。怎么把做好的exe程序發給別人?
在我的電腦里直接進入工程文件夾。工程目錄下生成的debug/release文件就是生成好的可執行文件,發給別人就可以。Debug和Release版本區別。怎么生成Release版本。
1、對話框程序
VC6下安裝Win32 DialogBased Application
VC2008下安裝Win32 DialogBased Application
如鵬的Win32 DialogBased Application沒有做神奇的事情,只是簡化了創建的過程,大家也可以手工創建,創建的代碼可以在沒有安裝Win32 DialogBased Application Wizard的機器上用。演示在2008上從win32application 創建一個Win32 DialogBased Application。
在資源編輯器中編輯對話框界面并且拖放控件上去。試試常用的那些控件
什么是屬性。
作業:開發一個注冊界面。
2、常見問題
(1)開發Windows程序有什么前途?不要急于求成,用自己最熟悉的語言探索編程的各個方面,內核級開發、數據庫、網絡、動態網站開發等。學《C語言也能干大事》的目的并不是直接找開發Windows程序的工作,只要鍛煉了動手能力和一通百通的數據庫、網絡、動態網站開發、面向對象等技能,學什么東西、找什么工作都很輕松。
(2)學MFC不是更好?MFC亂七八糟的東西太多,隱藏了太多,隱藏不僅沒有有利于初學者學習,反而使得更復雜。MFC只是一個稍微封裝的SDK,學會了這里的課程如果又需要再去學MFC的話會發現90%是相同的。
3、對話框中圖片資源的應用在資源視圖中,選擇“引入”,然后文件過濾器選擇“*.*”,找到bmp圖片文件。選中圖片空間,要點擊邊緣。拖一個IMAGE控件過來,并且修改IMAGE控件的Type屬性為BitMap,在控件的Image屬性中選擇剛才添加的BITMAP資源。jpg的格式怎么轉換為bmp格式的呢?用畫圖工具(mspaint)。圖片被編譯到了程序中,不再依賴于源文件
4、菜單資源
制作好菜單資源后,在對話框的Menu屬性中選擇剛才制作好的對話框。子菜單項(選中【彈出】)、快捷鍵(在要擔當快捷鍵的字母前加&)、分隔符
5、只有控件、菜單,可以點擊控件、菜單以后的動作怎么做呢?就要寫代碼了。后面會講