Ⅰ Win7使用技巧有哪些
你的問題太大了,幾本書都寫不完。怎麼回答啊?
以下一點點,供參考吧。
windows7的旗艦版含以下所有功能:
有無限應用程序、實時縮略圖預覽、增強視覺體驗、高級網路支持(ad-hoc無線網路和互聯網連接支持ICS)、移動中心(Mobility Center)。
Aero Glass高級界面、高級窗口導航、改進的媒體格式支持、媒體中心和媒體流增強(包括Play To)、多點觸摸、更好的手寫識別等等。
航空特效功能;多觸控功能;多媒體功能(播放電影和刻錄DVD);組建家庭網路組。
支持加入管理網路(Domain Join)、高級網路備份和加密文件系統等數據保護功能、位置感知列印技術(可在家庭或辦公網路上自動選擇合適的列印機)等。
加強網路的功能,比如域加入;高級備份功能;位置感知列印;離線文件夾;移動中心(Mobility Center);演示模式(Presentation Mode)。
BitLocker,內置和外置驅動器數據保護;AppLocker,鎖定非授權軟體運行;DirectAccess,無縫連接基於Windows Server 2008 R2的企業網路;BranchCache,Windows Server 2008 R2網路緩存;等等。
Branch緩存;DirectAccess;BitLocker;AppLocker;Virtualization Enhancements(增強虛擬化);Management (管理);Compatibility and Deployment(兼容性和部署);VHD引導支持。
功能是所有版本里最全的一款。
這里有一些簡單的快捷鍵
1. 輕松訪問鍵盤快捷方式
按住右Shift 八秒鍾: 啟用和關閉篩選鍵
按左 Alt+左 Shift+PrtScn(或 PrtScn):啟用或關閉高對比度
按左 Alt+左 Shift+Num Lock :啟用或關閉滑鼠鍵
按 Shift 五次: 啟用或關閉粘滯鍵
按住 Num Lock 五秒鍾:啟用或關閉切換鍵
Windows 徽標鍵 + U : 打開輕松訪問中心
2. 常規鍵盤快捷方式
F1 顯示幫助
Ctrl+C 復制選擇的項目
Ctrl+X 剪切選擇的項目
Ctrl+V 粘貼選擇的項目
Ctrl+Z 撤消操作
Ctrl+Y 重新執行某項操作
Delete 刪除所選項目並將其移動到「回收站」
Shift+Delete 不先將所選項目移動到「回收站」而直接將其刪除
F2 重命名選定項目
Ctrl+向右鍵 將游標移動到下一個字詞的起始處
Ctrl+向左鍵 將游標移動到上一個字詞的起始處
Ctrl+向下鍵 將游標移動到下一個段落的起始處
Ctrl+向上鍵 將游標移動到上一個段落的起始處
Ctrl+Shift 加某個箭頭鍵 選擇一塊文本
Shift 加任意箭頭鍵 在窗口中或桌面上選擇多個項目,或者在文檔中選擇文本
Ctrl 加任意箭頭鍵+空格鍵 選擇窗口中或桌面上的多個單個項目
Ctrl+A 選擇文檔或窗口中的所有項目
F3 搜索文件或文件夾
Alt+Enter 顯示所選項的屬性
Alt+F4 關閉活動項目或者退出活動程序
Alt+空格鍵 為活動窗口打開快捷方式菜單
Ctrl+F4 關閉活動文檔(在允許同時打開多個文檔的程序中)
Alt+Tab 在打開的項目之間切換
Ctrl+Alt+Tab 使用箭頭鍵在打開的項目之間切換
Ctrl+滑鼠滾輪 更改桌面上的圖標大小
Windows 徽標鍵 + Tab 使用 Aero Flip 3-D 循環切換任務欄上的程序
Ctrl + Windows 徽標鍵 + Tab 通過 Aero Flip 3-D 使用箭頭鍵循環切換任務欄上的程序
Alt+Esc 以項目打開的順序循環切換項目
F6 在窗口中或桌面上循環切換屏幕元素
F4 在 Windows 資源管理器中顯示地址欄列表
Shift+F10 顯示選定項目的快捷菜單
Ctrl+Esc 打開「開始」菜單
Alt+加下劃線的字母 顯示相應的菜單
Alt+加下劃線的字母 執行菜單命令(或其他有下劃線的命令)
F10 激活活動程序中的菜單欄
向右鍵 打開右側的下一個菜單或者打開子菜單
向左鍵 打開左側的下一個菜單或者關閉子菜單
F5 刷新活動窗口
Alt+向上鍵 在 Windows 資源管理器中查看上一級文件夾
Esc 取消當前任務
Ctrl+Shift+Esc 打開任務管理器
插入 CD 時按住 Shift 阻止 CD 自動播放
3. 對話框鍵盤快捷方式
Ctrl+Tab 在選項卡上向前移動
Ctrl+Shift+Tab 在選項卡上向後移動
Tab 在選項上向前移動
Shift+Tab 在選項上向後移動
Alt+加下劃線的字母 執行與該字母匹配的命令(或選擇選項)
Enter 對於許多選定命令代替單擊滑鼠
空格鍵 如果活動選項是復選框,則選中或清除該復選框
箭頭鍵 如果活動選項是一組選項按鈕,則選擇某個按鈕
F1 顯示幫助
F4 顯示活動列表中的項目
Backspace 如果在「另存為」或「打開」對話框中選中了某個文件夾,則打開上一級文件夾
4. Windows 徽標鍵相關的快捷鍵
Windows徽標鍵就是顯示為Windows旗幟,或標有文字Win或Windows的按鍵,以下簡稱Win鍵。XP時代有4個經典的 Win 鍵組合:R/E/F/L。到了 Win7,花樣更多了。
Win:打開或關閉開始菜單
Win + Pause:顯示系統屬性對話框
Win + D:顯示桌面
Win + M:最小化所有窗口
Win + SHIFT + M:還原最小化窗口到桌面上
Win + E:打開我的電腦
Win + F:搜索文件或文件夾
Ctrl + Win + F:搜索計算機(如果您在網路上)
Win + L:鎖定您的計算機或切換用戶
Win + R:打開運行對話框
Win + T:切換任務欄上的程序(感覺是和alt+ESC 一樣 )
Win + 數字:讓位於任務欄指定位置(按下的數字作為序號)的程序,新開一個實例。(感覺這個比較新穎,貌似快速啟動。) Shift + Windows logo key +number:Start a new instance of the program pinned to the taskbar in the position indicated by the number
Ctrl + Win + 數字:讓位於任務欄指定位置(按下的數字作為序號)的程序,切換到上一次的活動窗口。 Ctrl+Windows logo key +number:Switch to the last active window of the program pinned to the taskbar in the position indicated by the number
ALT + Win + 數字:讓位於任務欄指定位置(按下的數字作為序號)的程序,顯示跳轉清單。 Alt+Windows logo key +number: Open the Jump List for the program pinned to the taskbar in the position indicated by the number
Win + TAB:循環切換任務欄上的程序並使用的Aero三維效果
Ctrl + Win + TAB:使用方向鍵來循環循環切換任務欄上的程序,並使用的Aero三維效果
按Ctrl + Win + B:切換到在通知區域中顯示信息的程序
Win + 空格:預覽桌面
Win + ↑:最大化窗口
Win + ↓:最小化窗口
Win + ←:最大化到窗口左側的屏幕上
Win + →:最大化窗口到右側的屏幕上
Win + Home:最小化所有窗口,除了當前激活窗口
Win+ SHIFT + ↑:拉伸窗口的到屏幕的頂部和底部
Win+ SHIFT + →/←:移動一個窗口,從一個顯示器到另一個
Win + P:選擇一個演示文稿顯示模式
Win + G:循環切換側邊欄的小工具
Win + U:打開輕松訪問中心
Win + x:打開Windows移動中心
5. Windows Explorer相關快捷鍵
Ctrl+N 打開新窗口
Ctrl+Shift+N 新建文件夾
End 顯示活動窗口的底部
Home 顯示活動窗口的頂部
F11 最大化或最小化活動窗口
Num Lock+小鍵盤星號(*) 顯示選中文件夾的所有子文件夾
Num Lock+小鍵盤加號(+) 顯示選中文件夾的內容
Num Lock+小鍵盤減號(-) 折疊選中文件夾
左方向鍵 折疊當前展開的選中文件夾或選中上層文件夾
Alt+Enter 打開選中項目的屬性對話框
Alt+P 顯示預覽窗格
Alt+左方向鍵 切換到前一次打開的文件夾
右方向鍵 顯示(展開)當前選中項目或選中第一個子文件夾
Alt+右方向鍵 切換到下一次後打開的文件夾
Alt+上方向鍵 打開上層文件夾
Ctrl+滑鼠滾輪 改變文件和文件夾圖標的大小和外觀
Alt+D 選中地址欄(定位到地址欄)
Ctrl+E 選中搜索框(定位到搜索框)
6. 放大鏡鍵盤快捷方式
Windows 徽標鍵 + 加號或減號 放大或縮小
Ctrl+Alt+空格鍵 顯示滑鼠指針
Ctrl+Alt+F 切換到全屏模式
Ctrl+Alt+L 切換到鏡頭模式
Ctrl+Alt+D 切換到停靠模式
Ctrl+Alt+I 反色
Ctrl+Alt+箭頭鍵 按箭頭鍵的方向平移
Ctrl+Alt+R 調整鏡頭的大小
Windows 徽標鍵 + Esc 退出放大鏡
7. 遠程桌面相關快捷鍵
Alt+Page Up 按從左向右順序切換程序
Alt+Page Down 按從右向左切換程序
Alt+Insert 按程序打開先後順序循環切換程序
Alt+Home 顯示「開始」菜單
Ctrl+Alt+Break 在窗口模式和全屏之間切換
Ctrl+Alt+End 顯示Windows安全性對話框
Alt+Delete 顯示當前窗口的系統菜單
Ctrl+Alt+-(小鍵盤減號) 當前活動窗口截圖
Ctrl+Alt++(小鍵盤加號) 全屏截圖
Ctrl+Alt+向右鍵 從遠程桌面控制項「跳轉」到主機程序中的控制項(如按鈕或文本框)。將遠程桌面控制項嵌入到其他(主機)程序後,此功能非常有用。
Ctrl+Alt+向左鍵 從遠程桌面控制項「跳轉」到主機程序中的控制項(如按鈕或文本框)。將遠程桌面控制項嵌入到其他(主機)程序後,此功能非常有用。
8. 畫圖鍵盤快捷方式
Ctrl+N 創建新的圖片
Ctrl+O 打開現有圖片
Ctrl+S 將更改保存到圖片
F12 將此圖片另存為新文件
Ctrl+P 列印圖片
Alt+F4 關閉圖片及其畫圖窗口
Ctrl+Z 撤消更改
Ctrl+Y 恢復更改
Ctrl+A 選擇整個圖片
Ctrl+X 剪切選擇內容
Ctrl+C 將選擇內容復制到剪貼板
Ctrl+V 從剪貼板粘貼選擇內容
向右鍵 將選擇內容或活動圖形向右移動一個像素
向左鍵 將選擇內容或活動圖形向左移動一個像素
向下鍵 將選擇內容或活動圖形向下移動一個像素
向上鍵 將選擇內容或活動圖形向上移動一個像素
Esc 取消某個選擇
Delete 刪除某個選擇
Ctrl+B 粗體選擇文本
Ctrl++ 將畫筆、直線或形狀輪廓的寬度增加一個像素
Ctrl+- 將畫筆、直線或形狀輪廓的寬度減少一個像素
Ctrl+I 將所選文本改為斜體
Ctrl+U 為所選文本添加下劃線
Ctrl+E 打開「屬性」對話框
Ctrl+W 打開「調整大小和扭曲」對話框
Ctrl+Page Up 放大
Ctrl+Page Down 縮小
F11 以全屏模式查看圖片
Ctrl+R 顯示或隱藏標尺
Ctrl+G 顯示或隱藏網格線
F10 或 Alt 顯示快捷鍵提示
Shift+F10 顯示當前快捷菜單
F1 打開「畫圖」幫助
9. 寫字板的鍵盤快捷方式
Ctrl+N 新建一個文檔
Ctrl+O 打開一個現有文檔
Ctrl+S 將更改保存到文檔
F12 將此文檔另存為新文件
Ctrl+P 列印文檔
Alt+F4 關閉「寫字板」
Ctrl+Z 撤消更改
Ctrl+Y 恢復更改
Ctrl+A 選擇整個文檔
Ctrl+X 剪切選擇內容
Ctrl+C 將選擇內容復制到剪貼板
Ctrl+V 從剪貼板粘貼選擇內容
Ctrl+B 將所選文本改為粗體
Ctrl+I 將所選文本改為斜體
Ctrl+U 為所選文本添加下劃線
Ctrl+= 使選擇的文本成為下標
Ctrl+Shift+= 使選擇的文本成為上標
Ctrl+L 向左對齊文本
Ctrl+E 向中心對齊文本
Ctrl+R 向右對齊文本
Ctrl+J 對齊文本
Ctrl+1 設置單倍行距
Ctrl+2 設置雙倍行距
Ctrl+5 將行距設置為 1.5
Ctrl+Shift+> 增加字體大小
Ctrl+Shift+< 減小字體大小
Ctrl+Shift+A 將字元更改為全部使用大寫字母
Ctrl+Shift+L 更改項目符號樣式
Ctrl+D 插入 Microsoft 畫圖圖片
Ctrl+F 在文檔中查找文本
F3 在「查找」對話框中查找文本的下一個實例
Ctrl+H 在文檔中替換文本
Ctrl+向左鍵 將游標向左移動一個字
Ctrl+向右鍵 將游標向右移動一個字
Ctrl+向上鍵 將游標移動到上一行
Ctrl+向下鍵 將游標移動到下一行
Ctrl+Home 移動到文檔的開頭
Ctrl+End 移動到文檔的結尾
Ctrl+Page Up 向上移動一個頁面
Ctrl+Page Down 向下移動一個頁面
Ctrl+Delete 刪除下一個字
F10 顯示快捷鍵提示
Shift+F10 顯示當前快捷菜單
F1 打開「寫字板」幫助
10. 計算器的鍵盤快捷方式
Atl+1 切換到標准模式
Alt+2 切換到科學型模式
Alt+3 切換到程序員模式
Alt+4 切換到統計信息模式
Ctrl+E 打開日期計算
Ctrl+H 將計算歷史記錄打開或關閉
Ctrl+U 打開單位轉換
Alt+C 計算或解決日期計算和工作表
F1 打開「計算器」幫助
Ctrl+Q 按下 M- 按鈕
Ctrl+P 按下 M+ 按鈕
Ctrl+M 按下 MS 按鈕
Ctrl+R 按下 MR 按鈕
Ctrl+L 按下 MC 按鈕
% 按下 % 按鈕
F9 按下 +/– 按鈕
/ 按下 / 按鈕
* 按下 * 按鈕
+ 按下 + 按鈕
- 按下 – 按鈕
R 按下 1/× 按鈕
@ 按下平方根按鈕
0-9 按下數字按鈕 (0-9)
= 按下 = 按鈕
. 按下 .(小數點)按鈕
Backspace 按下 Backspace 按鈕
Esc 按下 C 按鈕
Del 按下 CE 按鈕
Ctrl+Shift+D 清除計算歷史記錄
F2 編輯計算歷史記錄
向上箭頭鍵 在計算歷史記錄中向上導航
向下箭頭鍵 在計算歷史記錄中向下導航
Esc 取消編輯計算歷史記錄
Enter 編輯後重新計算計算歷史記錄
F3 在科學型模式下選擇「角度」
F4 在科學型模式下選擇「弧度」
F5 在科學型模式下選擇「梯度」
I 在科學型模式下按 Inv 按鈕
D 在科學型模式下按 Mod 按鈕
Ctrl+S 在科學型模式下按 sinh 按鈕
Ctrl+O 在科學型模式下按 cosh 按鈕
Ctrl+T 在科學型模式下按 tanh 按鈕
( 在科學型模式下按 ( 按鈕
) 在科學型模式下按 ) 按鈕
N 在科學型模式下按 ln 按鈕
; 在科學型模式下按 Int 按鈕
S 在科學型模式下按 sin 按鈕
O 在科學型模式下按 cos 按鈕
T 在科學型模式下按 tan 按鈕
M 在科學型模式下按 dms 按鈕
P 在科學型模式下按 pi 按鈕
V 在科學型模式下按 F-E 按鈕
X 在科學型模式下按 Exp 按鈕
Q 在科學型模式下按 x^2 按鈕
Y 在科學型模式下按 x^y 按鈕
# 在科學型模式下按 x^3 按鈕
L 在科學型模式下按 log 按鈕
! 在科學型模式下按 n! 按鈕
Ctrl+Y 在科學型模式下按 y√x 按鈕
Ctrl+B 在科學型模式下按 3√x 按鈕
Ctrl+G 在科學型模式下按 10x 按鈕
F5 在程序員模式下選擇 Hex
F6 在程序員模式下選擇 Dec
F7 在程序員模式下選擇 Oct
F8 在程序員模式下選擇 Bin
F12 在程序員模式下選擇 QWord
F2 在程序員模式下選擇 Dword
F3 在程序員模式下選擇 Word
F4 在程序員模式下選擇 Byte
K 在程序員模式下按 RoR 按鈕
J 在程序員模式下按 RoL 按鈕
% 在程序員模式下按 Mod 按鈕
( 在程序員模式下按 ( 按鈕
) 在程序員模式下按 ) 按鈕
| 在程序員模式下按 Or 按鈕
^ 在程序員模式下按 Xor 按鈕
~ 在程序員模式下按 Not 按鈕
& 在程序員模式下按 And 按鈕
A-F 在程序員模式下按 A-F 按鈕
空格鍵 在程序員模式下切換位值
A 在統計信息模式下按 Average 按鈕
Ctrl+A 在統計信息模式下按 Average Sq 按鈕
S 在統計信息模式下按 Sum 按鈕
Ctrl+S 在統計信息模式下按 Sum Sq 按鈕
T 在統計信息模式下按 S.D. 按鈕
Ctrl+T 在統計信息模式下按 Inv S.D. 按鈕
D 在統計信息模式下按 CAD 按鈕
11. Windows 日記本鍵盤快捷方式
Ctrl+N 開始新的便箋
Ctrl+O 打開最近使用的便箋
Ctrl+S 將更改保存到便箋
Ctrl+Shift+V 將便箋移動到特定的文件夾
Ctrl+P 列印便箋
Alt+F4 關閉便箋及其日記本窗口
Ctrl+Z 撤消更改
Ctrl+Y 恢復更改
Ctrl+A 選擇頁面上的所有項目
Ctrl+X 剪切選擇內容
Ctrl+C 將選擇內容復制到剪貼板
Ctrl+V 從剪貼板粘貼選擇內容
Esc 取消某個選擇
Delete 刪除某個選擇
Ctrl+F 開始基本查找
Ctrl+G 轉到頁面
F5 刷新查找結果
F5 刷新便箋列表
F6 在便箋列表和便箋之間切換
Ctrl+Shift+C 顯示便箋列表中列標題的快捷菜單
F11 以全屏模式查看便箋
F1 打開「日記本」幫助
12. Windows 幫助查看器鍵盤快捷方式
Alt+C 顯示目錄
Alt+N 顯示「連接設置」菜單
F10 顯示「選項」菜單
Alt+向左鍵 返回先前查看過的主題
Alt+向右鍵 向前移動到下一個(先前已查看過的)主題
Alt+A 顯示客戶支持頁面
Alt+Home 顯示幫助和支持主頁
Home 移動到主題的開頭
End 移動到主題的末尾
Ctrl+F 搜索當前主題
Ctrl+P 列印主題
F3 將游標移動到搜索框
Ⅱ 小白,想入門程序員,應該從什麼開始學,順序是什麼
小白想要成為程序員,首選是選擇一門合適的語言,比如說:Python、java、C、C++、GO語言等;其次,選擇合適的學習方式,比如培訓,周末班、脫產班還是網路班。
如果完全沒有編程基礎,建議大家學習Python,Python入門簡單、語法清晰、通俗易懂,非常適合零基礎人員。
Ⅲ C語言考試技巧
一.特點和注意事項 1、填空題
(1)上機填空題一般包含2個(或3個)空。 (2)要填空的位置用___、___、___表示。
(3)考生在考試時應刪除標識___、___、___後填入相應的符號。
特別要注意的是:只能在要填空的位置上進行修改,不要添行、刪除、合並或分解,不要改動程序行的順序,更不要自己另編程序。 2.改錯題
(1)上機改錯題中有2個(或3個)錯誤需要修改。
(2)試題中用「/******found******/」來提示在下一行(或下面第二行)有錯。 (3)錯誤的性質基本分為語法錯誤和邏輯錯誤,也有些試題要求把語句添加在下劃線處。
(4)特別要注意的是:只能在出錯的行上進行修 二.做題技巧
以下是對上機考試改錯題的做題方法和總結,改錯題的錯誤主要分為以下幾類:
一般情況,錯誤主要分為語法錯誤和邏輯錯誤。
先檢查語法錯誤,編譯程序後發現沒有錯誤及警告,說明沒有語法錯誤,只有邏輯錯誤;邏輯錯誤必須根據程序的功能及預期結果來考查。
因此,對於程序改錯題,應先編譯查找其中的語法錯誤,通過編譯器的提示容易找到錯誤的地方及原因,然後再尋找邏輯錯誤。修改了語法錯誤後再次編譯,直到修改完所有的語法錯誤。而查找邏輯錯誤時,需要運行程序根據結果來檢查。
1、if或while語句
若錯誤行是if或者while語句,則要注意以下點: 1)首先判斷是否正確書寫if或while關鍵字;
2)然後看有沒有用小括弧把整個表達式括起來,若沒有則加上小括弧; 3)若條件表達式中有指針變數而且沒有指針運算符時,則加上指針運算符; 4)若if條件表達式中只有一個等於號即數學等號(=),則要改寫成兩個等於號即邏輯等號(==);
若if條件表達式為其他的比較運算符,則一般是進行逆轉或加一個等於號; 2、for語句
若錯誤行是for語句,則要注意以下幾點: 1)首先判斷for有沒有書寫正確;
2)然後看for中的表達式是不是用分號(;)隔開,若不是則改為分號。 3、記住是分號(;),不是逗號(,)!
再者,分析for中的三個表達式,是否符合題意; 第一個表達式表示起始條件, 第二個表達式表示終止條件,
第三個表達式表示循環變數的變化。 4、return語句
若錯誤行為return語句,則要注意以下幾點: 1)首先看是不是正確書寫return關鍵字;
2)然後看是不是缺少分號,若是則加上分號即可;
3)再者判斷return後的變數或表達式是否正確;
這種錯誤需要根據題意來分析,分析返回變數或表達式的值和類型。 5、賦值語句
若錯誤行是賦值語句,則要看賦值是否正確,然後看賦值運算符是否寫正確。 6、定義語句
若錯誤行是定義語句,則要注意: 1)首先分析變數類型是否符合;
2)然後分析賦初值是否正確,求和初值賦0,求積初值賦1;
3)若以上均不是,則看是不是少定義了某個變數或少了花括弧; 7、關鍵字拼寫錯誤。如:main-mian(錯誤) printf - pirntf (錯誤)
Return- return(錯誤) while- While (錯誤)
8、表達式錯誤問題
表達式錯誤占的份量最多,並且沒有統一的改法,我們只能通過題目要求來分析並修改),
1)若錯誤行中有整數1除以某個表達式或變數時,必須把整數1改為1.0;若變數或表達式是整型時,則只能進行強制類型轉換。
2)變數必須先賦值,後才參與運算,沒有賦值就不能參與運算;例如,long k;k*=num%10;
3)運算符書寫錯誤,例如,把/寫成\(num\=10);,==寫成=。 4)丟失括弧() 9、字元串類問題
1)若錯誤行中有字元串結束符,則特別要要注意結束符有沒有寫錯(『\0』不要寫成"\0」)。
2)新組建的字元串一定要加結束標識符(『\0』); 3)要區分清楚字元『o』和數字『0』。
4)字元串復制、比較必須使用用字元串處理函數(strcpy或strcmp)實現,不能用賦值語句或關系運算符。 10、指針類問題
若錯誤行中有指針變數,並且該變數名之前沒有指針運算符,則般都是加上指針運算符;即注意p和*p的區別; 11、函數首部類問題:
若錯誤行是函數首部,則要注意:
1)首先看該行最後有沒有分號,若有則刪掉分號;若中間有分號則要改為逗號;
2)形參和實參類型不一致問題
① 若實參是個地址或數組名或指針變數名,則對應的形參肯定是指針或數組;
②若實參是二維數組名,則對應的形參應該是指針數組或是二維數組; ③若後面用到形參時有指針運算符,則該形參應為指針類型;
④若形參是二維數組或指向M 個元素的指針變數,則該二維的長度必須與main中對於數組的第二維的長度相同。 3)函數類型不一致問題
①若函數中沒有return語句,則函數類型為void;
②若函數中有ret urn語句,則函數的類型必須與rerun後的變數類型一致;
記住,調用函數的類型與main中的該函數的類型一致! 12、語法錯誤問題:
1)語句缺少分號。若錯誤號中語句沒有以分號結束則加上分號;
2)變數名不一致。C語言是區分大小寫的,若錯誤行中有大寫字母一般都改為小寫字母;
3)若錯誤行中有一條橫線,則必須將橫線刪除再填空。填空題中亦是如此。 13、邏輯錯誤問題:
這種題型主要是表達式錯誤,占的題量比較多而且沒有統一的做題方法,需要我們具體問題具體分析。對於邏輯錯誤,可按下列步驟查找:
①先讀試題,看清題目的功能要求。
②通讀程序,看懂程序中演算法的實現方法。 ③細看程序,發現常見錯誤點。 14、書寫錯誤問題:
特別注意我們的注釋部分,注釋是以/*開始,以*/結尾,不能有多餘的,有也只能在/*和*/裡面。注意,比如「/***注釋部分*****/*/」是錯誤的!
二、編程時容易犯的錯誤
1.書寫標識符時,忽略了大小寫的區別
C語言認為大些字母和小寫字母時兩個不同的字元,如在編譯程序過程中,系統會把a和認為時兩個不同的變數名。習慣上,符號常量名用大寫表示,變數名用小寫表示,以增加程序的可能性。
2.忽略了變數的類型,進行了不合法的運算
3.忽略了「=」與「= =」的區別;C語言中,「=」是賦值運算符,「= =」是關系運算符
4.忘記加分號
考生應特別注意這種情況,分號是C語言中不可缺少的一部分,語句末尾必須有分號,但有時候千萬不能加;
5.輸入變數時忘記加地址運算符「&」,而在不應加「&」的位置加了地址運算符
(1)忘記加「&」的情況。
如int a,b; scanf(「%d%d」,a,b);
此時,無法正確給a和b讀入數據。scanf函數的作用是:按照a、b在內存中所分配的地址將a、b的值存進去。「&a」指a在內存中的地址,因此正確的書寫格式為scanf(「%d%d」,&a,&b);。
(2)多加「&」的情況。如int str[ ]; scanf(「%s」,&str);
C語言編譯程序對數組名的處理是:數組名代表數組的起始地址,scanf函數中的輸入項是字元數組名,因此不必再加地址符&,應該去掉。
6.輸入數據的方式余要求格式(通配符)不符。例如:scanf(「%d,%d」,&a,&b);
C規定:如果在「格式控制」字元串中,除了格式說明以外還有其他字元,則在輸入數據時應輸入與這些字元相同的字元。下面輸入是合法的:3,4
此時不用逗號而用空格或其他字元是不對的,如:3 4(中間為空格)3:4(中間為冒號);
三、相關概念
(1)素數:定義是除了能被1和自身整除外,不存在其他任何能整除該數的自然數。因此,在判斷一個數是否為素數時,只要有除了1和本身能整除它,還有一個數能整除它,就判定此數不是素數。
(2)判斷一個年份是否為閏年:如果年份能被4 整除但是不能被100整除,或者能被400整除,這兩種情況滿足之一都是閏年。
(3)利用選擇法進行從小到大的排序。選擇法的思路為:把第一個元素與其後面的元素比較,如果比後面的大,則交換,比較完所有的元素後,第一個位置的元素是最小的元素;在把第二個元素與其後面的元素進行比較,結果是除了第一個元素外,第二個元素是最小的元素;以此類推。
(4)數的按位分離演算法是:對10取模求個位上的數字,整除10後再對10取模求十位上的數字,整除100後再對10取模求百位上的數字。
(5)最大公約數的演算法是:(1)若n>m,則用n除以m求余數r;(2)若r=0,則m為最大公約數,若r≠0,則將r賦值於m,m賦值於n,繼續用n除以m求余數r;(3)直到r=0,m為最大公約數。根據演算法判斷每一條語句是否正確。 (6)求最小公倍數的演算法:等於兩個數的乘積除以它們的最大公約數。 (7)矩陣時以行為外循環,列為內循環,可以同時計算周邊元素的和。
Ⅳ 關於編程風格
首先,編程風格並不同於其他的style,目的並不是形成自己獨樹一幟的風格,而是為了讓你的程序易讀,有利於團隊合作以及別人幫你改錯。
風格是通用的
C語言和C++語言的編程風格 (Java見下)
第一章:縮進格式
Tab是8個字元,於是縮進也是8個字元.有很多怪異的風格,他們將縮進格式定義為4個字元(設置為2個字元!)的深度,這就象試圖將PI定義為3一樣讓人難以接受.
理由是:縮進的大小是為了清楚的定義一個塊的開始和結束.特別是當你已經在計算機前面呆了20多個小時了以後,你會發現一個大的縮進格式使得你對程序的理解更容易.
現在,有一些人說,使用8個字元的縮進使得代碼離右邊很近,在80個字元寬度的終端屏幕上看程序很難受.回答是,但你的程序有3個以上的縮進的時候,你就應該修改你的程序.
總之,8個字元的縮進使得程序易讀,還有一個附加的好處,就是它能在你將程序變得嵌套層數太多的時候給你警告.這個時候,你應該修改你的程序.
第二章:大符號的位置
另外一個C程序編程風格的問題是對大括弧的處理.同縮進大小不同,幾乎沒有什麼理由去選擇一種而不選擇另外一種風格,但有一種推薦的風格,它是Kernighan和Ritchie的經典的那本書帶來的,它將開始
的大括弧放在一行的最後,而將結束大括弧放在一行的第一位,如下所示:
if (x is true) { we do y }
然而,還有一種特殊的情況:命名函數:開始的括弧是放在下一行的第一位,如下:
int function(int x) { body of function }
所有非正統的人會非難這種不一致性,但是,所有思維正常的人明白: (第一) K&R是___對___的,(第二)如果K&R不對,請參見第一條. (:-))......另外,函數也是特殊的,不一定非得一致.
需要注意的是結束的括弧在它所佔的那一行是空的,__除了__它跟隨著同一條語句的繼續符號.如"while"在do-while循環中,或者"else"在if語句中.如下:
do { body of do-loop } while (condition);
以及
if (x == y) { .. } else if (x > y) { ... } else { .... }
理由: K&R.
另外,注意到這種大括弧的放置方法減小了空行的數量,但卻沒有減少可讀性.於是,在屏幕大小受到限制的時候,你就可以有更多的空行來寫些注釋了.
第三章:命名系統
C是一種簡潔的語言,那麼,命名也應該是簡潔的.同MODULE-2以及ASCAL語言不同的是,C程序員不使用諸如之類的命名方式.一個C語言的程序員會將之命名為"tmp",這很容易書寫,且並不是那麼難以去理解.
然而,當混合類型的名字不得不出現的時候,描述性名字對全局變數來說是必要的了.調用一個名為"foo"全局的函數是很讓人惱火的.全局變數(只有你必須使用的時候才使用它) ,就象全局函數一樣,需要描述性的命名方式.假如你有一個函數用來計算活動用戶的數量,你應該這樣命名--"count_active_users()"--或另外的相近的形式,你不應命名為"cntusr()".
有一種稱為Hungarian命名方式,它將函數的類型編碼寫入變數名中,這種方式是腦子有毛病的一種表現---編譯器知道這個類型而且會去檢查它,而這樣只會迷惑程序員. --知道為什麼Micro$oft為什麼會生產這么多"臭蟲"程序了把!!.
局部變數的命名應該短小精悍.假如你有一個隨機的整數循環計數器,它有可能有"i",如果沒有任何可能使得它能被誤解的話,將其寫作"loop_counter"是效率低下的.同樣的,""tmp"可以是任何臨時數值的函數變數.
如果你害怕混淆你的局部變數的名字,還有另外一個問題,就是稱
function-growth-hormone-imbalancesyndrome.
第四章:函數
函數應該短小而迷人,而且它只作一件事情.它應只覆蓋一到兩個屏幕(80*24一屏),並且只作一件事情,而且將它做好.(這不就是UNIX的風格嗎,譯者注).
一個函數的最大長度和函數的復雜程度以及縮進大小成反比.於是,如果你已經寫了簡單但長度較長的的函數,而且你已經對不同的情況做了很多很小的事情,寫一個更長一點的函數也是無所謂的.
然而,假如你要寫一個很復雜的函數,而且你已經估計到假如一般人讀這個函數,他可能都不知道這個函數在說些什麼,這個時候,使用具有描述性名字的有幫助的函數.
另外一個需要考慮的是局部變數的數量.他們不應該超過5-10個,否則你有可能會出錯.重新考慮這個函數,將他們分割成更小的函數.人的大腦通常可以很容易的記住7件不同的事情,超過這個數量會引起混亂.你知道你很聰明,但是你可能仍想去明白2周以前的做的事情.
第5章:注釋
注釋是一件很好的事情,但是過多的注釋也是危險的,不要試圖區解釋你的代碼是注釋如何如何的好:你應該將代碼寫得更好,而不是花費大量的時間去解釋那些糟糕的代碼.
通常情況下,你的注釋是說明你的代碼做些什麼,而不是怎麼做的.而且,要試圖避免將注釋插在一個函數體里:假如這個函數確實很復雜,你需要在其中有部分的注釋,你應該回到第四章看看.你可以寫些簡短的注釋來註明或警告那些你認為特別聰明(或極其醜陋)的部分,但是你必須要避免過多.取而代之的是,將注釋寫在函數前,告訴別人它做些什麼事情,和可能為什麼要這樣做.
第六章:你已經深陷其中了.
不要著急.你有可能已經被告之"GUN emacs"會自動的幫你處理C的源代碼格式,而且你已經看到它確實如此,但是,預設的情況下,它的作用還是不盡如人意(實際上,他們比隨便敲出來的東西還要難看- ainfinite number of monkeys typing into GNU emacs would never make a good program)
於是,你可以要麼不要使用GUN emacs,要麼讓它使用sanervalules.使用後者,你需要將如下的語句輸入到你的.emacs文件中.(defun linux-c-mode() "C mode with adjusted defaults for use with the Linux kernel."(interactive) (c-mode) (c-set-style"K&R") (setq c-basic-offset8))
這會定義一個M-x Linux-c-mode的命令.當你hacking一個模塊的時候,如何你將-*- linux-c -*-輸入在最開始的兩行,這個模式會自動起作用.而且,你也許想加入如下
(setq auto-mode-alist (cons '("/usr/src/linux.*/.*.〖ch〗$" . linux-c-mode) auto-mode-alist))
到你的.emacs文件中,這樣的話,當你在/usr/src/linux下編輯文件的時候,它會自動切換到linux-c-mode .
但是,假如你還不能讓emaces去自動處理文件的格式,不要緊張,你還有一樣東西: "縮進" .
GNU的縮進格式也很死板,這就是你為什麼需要加上幾行命令選項.然而,這還不算太壞,因為GNU縮進格式的創造者也記得K&R的權威, (GNU沒有罪,他們僅僅是在這件事情上錯誤的引導了人們) ,你要做的就只有輸入選項"-kr -i8"(表示"K&R,縮進8個字元).
"縮進"有很多功能,特別是當它建議你重新格式你的代碼的時候,你應該看看幫助.但要記住: "縮進"不是風格很差的程序的萬靈丹.
http://www.nou.com.cn/portal/Article/itjs/jsjj/cxsj/200511/20051104115145.html
JAVA編程風格簡析
很久以來都在體會著JAVA的風格,現在做一簡單陳述,希望大家多提寶貴意見。
對於一種好的編程語言,學習它的編程風格是很重要的。每種語言都有自己的編寫和注釋約定,當然所有語言都建立在最基本的約定之上。編程中最重要的並不是讓代碼按自己希望的方式運行,而是程序中那種自明的編程風格(這對於程序員的益處相信眾多程序員都身有體會)!但這還不夠,程序還應該具有可讀、相對持久和可維護性。可讀性非常重要,因為你不希望自己以前的作品在之後的閱讀中給自己留下障礙,當然,更重要的是自己的程序能讓其他程序員讀懂並且修改。
下面我把工作中所理解的java風格做一簡單總結,這是我所理解的好的編程風格和應用中我們應當如何使用java編寫自己的代碼的小Guide。這並不完全,希望大家幫我陸續總結各自的經驗。
一般性概述
好的編程風格固然重要,但是你一定聽說過一些程序員的個人風格。其實我們完全不必為那些所謂條條框框所累,但是作為原則是我們至少不能打破這些常規。我們應該在保持自己風格的同時盡量的把自己與編程潛原則靠攏。
可讀性很容易達到,比如,讓自己的代碼縮排排列、名字採用描述性但不要過長(短名應僅僅用在非遠程)、特殊名稱比如pi應當被定義為final類型。模塊性是編程需要注意的另一重點,把代碼劃分到類里,在類中把功能劃分到方法中,別讓一個類太大,否則在使用、修改和理解上都會造成不必要的麻煩,方法也一樣,如果一個方法長度超過50行,它產生錯誤的概率將接近100%,盡量把大方法劃分為小方法,編程中為避免重復編寫,還應盡量調用JAVA標准類庫。
盡量避免在寫代碼和注釋時使用不同語言,經常見到論壇有朋友詢問諸如在java中調用c、調用php、調用shell之類的問題,其實在編程中,我們應盡量使用一種語言去完成事情。另外就是不必最優化自己的代碼,應該選擇相對較優的演算法就可以了。
類、方法和fields
類應體現出某種物質的基本概念,比如要編程實現「汽車」的組成,那麼所有的汽車都可以用類Car實現。這個類應當包括域描述、屬性描述和car的狀態(color, number of doors, age等)和由car可完成的操作(getColor, setColor等)。為了提高類的可重用性,不要在類中有過多的描述,當然這也會增加錯誤產生的機會。
類名首字母大寫,比如Date, String, Hashtable等 ... ...
類如下定義:(未使用Javadoc做注釋):
public class Car {
/* Instance variables are placed either in the beginning
or at the end of the class */
private int age;
private Color color;
/* The constructor should be placed in the beginning */
public Car(int age, Color color) {
this.age = age;
this.color = color;
}
/* Example method */
public int getAge() {
return age;
}
/* The main method is optional, but looks like this.
If it exists, it is either the first or the last
method in the class */
public static void main(String [] args) {
...
}
}
注意類名和大括弧間的空格!
方法
方法一般定義為public。當然,如果方法僅僅在當前類用到可以定義為private,而如果希望一個子類沿用這個方法則不同,這時候的方法應定義為protected。
java中的方法定義很有趣,它們一般小寫字母開頭,如果有兩個字組成,第二個字的首字母則大寫。因此名字的描述性是至關重要的。這使你不用閱讀整篇代碼來判斷這是一個什麼方法。在給自己的方法取名時應盡量不要太短或者太長,另一個需要注意的是大多方法使用動詞(動賓短語)。
例如:
public void eat() {}
public void eatBananas() {}
Selector(選擇器)方法有get前綴,後綴是它們將要get的,比如
public int getBananas() {}
Mutator(存取器)方法則有set前綴,後綴則是他們要set的,比如
public void setBananas(int amount) {}
注意mutators大多無返回值。
方法的參數應當以如下方式給出:
public void aMethod(type parameter1, type parameter2, ... , type parametern) {}
如果參數過長,也可以斷開為幾行,應對齊向下排列如:
public void aMethod(type parameter1, type parameter2,... ,
type parametern, type parameter n+1,... ,
type parameterm, type parameter m+1) {}
另外要注意類的左束括弧應在方法的右束括弧之後而非下一行:
public int aMethod() {
int i = 0;
if(i == 0)
System.out.println("success!");
}
為了文件可讀性好,還要注意語句最好寫在同一行,當然一行寫不下是可以斷行的,比如行字母超過80。
fields
比如變數,如果不希望它永久有效,應設為private。如果一個變數在類中不發生任何動作(比如數據結構中的node)則可以設置為public,常量一般聲明為public。如果不能確定一個變數到底該聲明為什麼,應暫且聲明為private。
field的名字一般使用小寫字母,不要使用下橫線或其他特殊字元。 如果變數包含兩個字,那麼第二個字的首字母大寫。比如:
int i, j, k;
Date date;
double myField;
常量一般全部大寫,也可以包含下橫線:
public static final int MAX_SIZE_OF_DATABASE
fields的名字通常為名詞。較重要的fields更應具備描述性,比如程序中包含一個游戲的得分,那可以用score來代表。如果變數變化較頻繁,那使用一個單一字元來代表就ok了:
i, j, k 通常代表整數
r, t, u, v, w 通常代表實數
x, y, z 通常是並列出現或代表浮點數
s, s1, s2, 通常代表字元串
c, ch 通常代表字元
f, file 通常代表文件
tmp, temp 通常代表臨時變數
ctr, cnt, cntr 一般代表計數器(如果i, j, k這些變數已被使用)
mmy, foo, bar 一般代表啞元變數
args 是main-method的主參數名
縮排與換行
每行長度不得超過80字元。如果需要可以折行時,也應當與上一行有共同的縮排距離。代碼應如何交錯、如何建立新行、在哪裡建立允許、哪裡不允許都有一些一般約定,縮排空格一般為2個或4個空格。
條件表達式
如果見到如下語法表達式:
if (expr)
statement1;
else
statement2;
代碼行向右錯排兩個空格如上所示。
如果在一個表達式中有超過一條的聲明,則需要大括弧:
if (expr){
statement1;
statement2;
} else{
statement3;
statement4;
}
有時我們會希望在表達式中使用表達式(比如條件嵌套),這時應注意else表達式,它的位置很容易出錯!如例:
if (expr1) {
statement1;
statement2;
} else if (expr2)
statement3;
else if (expr3) {
statement4;
statement5;
} else {
statement6;
statement7;
}
注意大括弧位置!
Loops
while-loop語法如下:
while (expr) {
statement1;
statement2;
}
for-loop語法如下:
for (expr1; expr2; expr3){
statement1;
statement2;
}
注意大括弧位置!僅一條聲明時大括弧省略:
while (expr)
statement;
for (expr1; expr2; expr3)
statement;
例如,我們寫一個procere寫出1到10這十個數字:
for (i = 1; i <= 10; i++)
System.out.println(i);
try-catch語法形如:
try {
statements;
} catch (ExceptionClass e) {
statements;
}
如果try-catch語句後跟隨finally子句則形如:
try {
statements;
} catch (ExceptionClass e) {
statements;
} finally {
statements;
}
新行
每一行最好只闡述一件事情。比如,一行包含一個聲明、一個條件語句、一個循環等。不論多小,最好不要一行辦兩件事及以上。例如不要把一個if表達式或循環語句的主體放置在同一行,這樣的表達式斷行的易讀性會更高。通常,互相協作的代碼應放在一起,為保證代碼美觀可讀,我們應將代碼的不同代碼段放置在不同的段落。不過要牢記斷行不要太過分!比如:
public int factorial(int n) {
int result = 1;
for(int i = 1; i <= n; i++)
result*=i;
return result;
}
給自己的代碼加入注釋
注釋就是類的描繪、方法存在的原因、它完成了什麼以及它對它其中(變數)的作用域。假定閱讀你代碼的人已經知道這是什麼語言,所以不需要注釋語句功能,盡量使用簡短而有描述力的注釋。
Java有兩種類型的注釋:
//This is a comment that continues until the end of the line.
/* This is a comment. It goes on and on and on and on and on and on and on
and on and on and on and on and on and on and on and on and on and on and
on and on and on and on and on and on and on and on and ends like this: */
/**
* This is a JavaDoc comment. More about JavaDoc in the next section.
*/
如果在注釋中加入注釋則會出錯:
/* You are not allowed to do anything like this /* because the compiler will
complain, if you are lucky */ DON'T DO THIS! And don't write comments in
upper case either... */
注釋應放在它要解釋內容上下,這樣會讓代碼更易於理解。
不要注釋一些語言的語句功能:
i++; // Add 1 to i
更不要讓自己的代碼處於這種狀態:
for(int i = 1; i <= n; i++)
/* don't place comments where
they don't belong */
result*=i;
較短的注釋既可被放在被注釋代碼上下,而長注釋則習慣性的放在代碼之上:
/* Comments can be placed before the
block that is to be commented */
for(int i = 1; i <= n; i++)
result*=i;
或者:
for(int i = 1; i <= n; i++){
result*=i; // short comments can be placed like this
tmp++; // if necessary, they continue here
}
不要寫沒用的注釋:
i++; // change this later
Excuse me,這句肯定是胡扯!
不要寫自己都看不懂的注釋:
i++; // BMW
BMW? 如果你能連續十天記住這是什麼意思的話,那麼你的記憶真是不錯了。所以不要寫沒人能看懂的注釋,ok?
最後重申一下:寫簡短而富於描述性的注釋,把它們放在該放的地方,而不要考驗你自己的記憶力!
JavaDoc - 文檔工具
JavaDoc不僅是另一種給代碼加註釋的彷彿咱,更是一個文檔工具。類、方法和一些重要地方需要用JavaDoc來注釋。這並不是說你可以放棄常規的注釋,這兩者在代碼中應該是相輔相成、互相彌補的關系。
類被注釋如:
/**
* Car represents cars ... A description of the class
* should be place here. Note that the description begins
* on the second line and that there is a space between
* the asterix and the text. Next we will add some fields
* indicating who the authors of the class are and
* other useful information. Notice the newline!
*
* @author Jerry Meng
* @version %I%, %G%
*/
public class Car {
注意JavaDoc結束和類開始間無空行。
方法被注釋如:
/**
* A description of what the method does...
*
* @param n a description of the parameter
* @return a description of the return value
*/
public int factorial(int n) {
某些不是全部,被JavaDoc注釋區域如:
/**
* Short description of the variable (one line)
*/
type variable;
什麼應當使用JavaDoc做注釋?如何注釋的恰當呢?
可以這樣想,JavaDoc中所作的注釋都可以在類的文檔中看到。所有讀這個類的文檔的讀者都會明白這個類所完成的功能、它包括的方法、如何使用這些方法及方法的返回值。一些作用域,比如public的變數或常量將會一目瞭然。任何不了解這個類內部結構的人都可以輕松的調用它。這便是你用JavaDoc可以輕松提供的信息。而使用一般注釋的地方,一般是給那些可能修改你的類代碼的程序員,它們一般描述了類的內部信息和結構。
下面我寫一下car的類來描述一個編程風格好的java類應該是怎樣的。當然這僅僅是一個小例子(apart from selector and mutator methods),僅僅是在考慮JAVA編程風格上一個參考而已。
import java.awt.Color;
/**
* This is a class representing cars. A car has certain features, such
* as color, age, number of doors etc and a car can be repainted,
* the tank can be filled etc.
*
* @author Jerry Meng
* @version %I%, %G%
*/
public class Car {
/**
* The maximum size of the tank in litres.
*/
private static final double TANK_SIZE = 100.0;
/**
* The color of the car.
*/
private Color color;
/**
* The age of the car.
*/
private int age;
/**
* The number of doors of the car.
*/
private int doors;
/**
* The amount of gasoline in the tank.
*/
private double gasoline;
/**
* Class constructor, which constructs a brand new, black car with
* five doors and a full tank.
*/
public Car() {
this(Color.black, 0, 5, TANK_SIZE);
}
/**
* Class constructor specifying the color, age, number of doors
* and litres of gasoline
*
* @param color The color of the car
* @param age The age of the car
* @param doors The number of doors
* @param km Kilometres driven
* @param gasoline The litres of gasoline
*/
public Car(Color color, int age, int doors, double gasoline) {
this.color = color;
this.age = age;
this.doors = doors;
this.gasoline = gasoline;
}
/**
* Returns the color of the car
*/
public Color getColor() {
return color;
}
/**
* Repaints the car (i.e. changes its color)
*/
public void setColor(Color color) {
this.color = color;
}
/**
* Returns the age of the car
*/
public int getAge() {
return age;
}
/**
* Returns the number of doors of the car
*/
public int getDoors() {
return doors;
}
/**
* Returns the amount of gasoline in the tank
*/
public double getGasoline() {
return gasoline;
}
/**
* Fills the tank. The amount of gasoline cannot exceed
* the size of the tank. In that case, the tank will be
* filled to the maximum and the rest will run out in
* the sand.
*
* @param gas The amount of gasoline to put in the tank
*/
public void setGasoline(double gas) {
if(gasoline + gas <= TANK_SIZE)
gasoline+=gas;
else
gasoline = TANK_SIZE;
}
}
http://www.chinaunix.net/jh/26/511939.html
http://book.csdn.net/bookfiles/170/1001707562.shtml
Ⅳ 如何自學成為程序員
如何學習自學編程的方式最好的莫過於在網路上面查找資源。
目前,網路上電腦資源多不勝數。其中有很多都是基礎到精通的視頻教程。通過視頻講解。讓你明白重點知識。你通過查找一套適合自己的視頻。然後看完是基本。
這里推薦幾個可以在線學習的好網站:慕課、極客學院、傳智播客、如朋網、網易公開課等等做筆記在進行看視頻的過程中,一定注意要記筆記。
對視頻中重點的部分進行截圖,並加以文字解釋。就形成了自己的筆記。這些筆記對於你來說很重要。通過記筆記的形式,你就不需要重新觀看視頻了。只需要復習的時候查看筆記就夠了,這樣就大大的節約了時間。
下面介紹一個記筆記的好軟體:CherryTree多練習代碼在視頻中講解的代碼,我認為你至少需要自己寫三遍以上。在寫代碼的時候,就用到了上面寫的筆記了。通過看筆記截圖,即可自己慢慢摸索寫出來代碼。當然練習到一定程度,就需要你適當的做個項目。鞏固自己的知識。
程序員必備技能
1、熟練開發工具
做為一名程序員至少熟練掌握兩到三種開發工具的使用,這是程序員的立身之本,其中C/C++和JAVA是重點推薦的開發工具,C/C++以其高效率和高度的靈活性成為開發工具中的利器,很多系統級的軟體還是用C/C++編寫。
而JAVA的跨平台和與WEB很好的結合是JAVA的優勢所在,而JAVA即其相關的技術集JAVAOne很可能會成為未來的主流開發工具之一。
其次,能掌握一種簡便的可視化開發工具,如VB,PowerBuilder,Delphi,CBuilder,則更好,這些開發工具減小了開發難度,並能夠強化程序員對象模型的概念。另外,需要掌握基本的腳本語言,如shell,perl等,至少能讀懂這些腳本代碼。
2、熟知資料庫
為什麼資料庫是如此重要?作為程序員,他們自然有自己的理由:很多應用程序都是以資料庫的數據為中心,而資料庫的產品也有不少,其中關系型資料庫仍是主流形式,所以程序員至少熟練掌握一兩種資料庫,對關系型資料庫的關鍵元素要非常清楚,要熟練掌握SQL的基本語法。
雖然很多資料庫產品提供了可視化的資料庫管理工具,但SQL是基礎,是通用的資料庫操作方法。如果沒有機會接觸商業資料庫系統,可以使用免費的資料庫產品是一個不錯的選擇,如mySQL,Postgres等。
3、了解操作系統
當前主流的操作系統是Windows,Linux/Unix,熟練地使用這些操作系統是必須的,但只有這些還遠遠不夠。要想成為一個真正的編程高手,需要深入了解操作系統,了解它的內存管理機制、進程/線程調度、信號、內核對象、系統調用、協議棧實現等。
Linux作為開發源碼的操作系統,是一個很好的學習平台,Linux幾乎具備了所有現代操作系統的特徵。雖然Windows系統的內核實現機制的資料較少,但通過互聯網還是能獲取不少資料。懂得網路協議TCP/IP。
在互聯網如此普及的今天,如果您還沒有對互聯網的支撐協議TCP/IP協議棧有很好的掌握,就需要迅速補上這一課。
網路技術已改變了軟體運行的模式,從最早的客戶/伺服器結構,到今天的WEBServices,再到未來的網格計算,這一切都離不開以TCP/IP協議棧為基礎的網路協議支持,深入掌握TCP/IP協議是非常必要的。
至少,需要了解ISO七層協議模型,IP/UDP/TCP/HTTP等常用協議的原理和三次握手機制。
4、明白DCOM/CORBA/XML/WEBServices存在的意義
隨著技術的發展,軟體與網路的無縫結合是必然趨勢,軟體系統的位置無關性是未來計算模式的重要特徵之一,DCOM/CORBA是當前兩大主流的分布計算的中間平台,DCOM是微軟COM(組件對象模型)的擴展,而CORBA是OMG支持的規范。
XML/WebServices重要性不言而喻,XML以其結構化的表示方法和超強的表達能力被喻為互聯網上的「世界語」,是分布式計算的基石之一。
5、不要將軟體工程與CMM分開
大型軟體系統的開發中,工程化的開發控製取代個人英雄主義,成為軟體系統成功的保證,一個編程高手並不一定是一個優秀的程序員,一個優秀的程序員是將出色的編程能力和開發技巧同嚴格的軟體工程思想有機結合。
編程只是軟體生命周期中的其中一環,優秀的程序員應該掌握軟體開發各個階段的基本技能,如市場分析,可行性分析,需求分析,結構設計,詳細設計,軟體測試等。
6、需求理解能力
程序員要能正確理解任務單中描述的需求。
在這里要明確一點,程序員不僅僅要注意到軟體的功能需求,還應注意軟體的性能需求,要能正確評估自己的模塊對整個項目中的影響及潛在的威脅,如果有著兩到三年項目經驗的熟練程序員對這一點沒有體會的話,只能說明他或許是認真工作過,但是沒有用心工作。
7、模塊化思維能力
作為一個優秀的程序員,他的思想不能局限在當前的工作任務裡面,要想想看自己寫的模塊是否可以脫離當前系統存在,通過簡單的封裝在其他系統中或其他模塊中直接使用。
這樣做可以使代碼能重復利用,減少重復的勞動,也能使系統結構越趨合理。模塊化思維能力的提高是一個程序員的技術水平提高的一項重要指標。