krc語言
相對於其他編程語言,C語言還是比較難的。初學者需要注意一下幾點:
一是學習順序
先從熟悉簡單的C語言語法開始入門,然後再循序漸進,學習C++語法,WIN32、MFC、QT、網路編程,資料庫、數據結構、演算法、COM、STL等。構建一個完整的C語言知識體系。這需要一個比較漫長的學習積累的過程。語法入門部分大概2-3個月,其他部分需要學習和工作中慢慢理解和消化了。
二是學習方法
人的知識80%是通過眼睛獲取的,但是學習編程有所不同,除了看書、看視頻之外,關鍵是要勤動手,勤動腦。通過做大量的練習、項目實戰不斷積累代碼量。只有代碼量足夠多了,項目做的多了,才能算是真正學會了。項目能否完成,就是衡量是否學會的唯一標准。後期就是代碼的質量和優化問題了,這個只能在項目工作中慢慢積累經驗了。
最後強調一點,很多人學不會編程是因為掉坑裡了。就是教程或者書上的知識點之間跨越太大,作為一個初學者很難自己摸索出來,前面的知識點沒有掌握,接著學習後面的知識,肯定是學不會了。目前絕大多數編程書籍和教程或多或少都有這樣的弊端。自學能力比較強的人可以通過各種方法,參考各種網上的資料自己解決。但是大多數自學能力不是很強的人,只能依賴老師、同學、同事或者朋友幫忙指導,或者報名培訓機構,老師指導完成了。學習編程通常需要一些好的學習資料,包括紙質的書籍,視頻教程,課件,項目練習,代碼。零基礎入門的書籍推薦《明解C語言》、《C Primer Plus》,還有一本非常特別的匯編和C語言正向逆向結合的書編程達人內部教材《匯編、C語言基礎教程》也非常不錯,講解匯編和C語言的本質非常透徹,非常細致。視頻資料也是特別多了,各種視頻網站、論壇、自媒體都有,比如網易課堂、騰訊課堂、慕客網這些。還有一些論壇,比如CSDN、編程中國等。最重要的一點就是答疑服務,推薦愛達人的網站也很不錯,從零基礎入門到應用課程,配套的視頻、課件、代碼、項目、答疑服務都有,還可以兼職接單,學以致用。
『貳』 我從沒接觸過編程,但是想要學習編程,應該從哪裡入手,他們說C語言是必須學的,C語言又是什麼呢,順便...
學習編程國內確實大多數從C起步,不過C的話還不是太好學,而且比較枯燥。
C語言是一種高級語言,但是相對於其他高級語言,又比較低級,比較接近於硬體和系統,運行效率很高但是編寫效率不高。而且涉及很多底層的知識,而這些知識對於一個初學編程的人來講,很多是沒必要的。
我建議你先學一個腳本語言,比如python,語法非常簡單,而且有很多現成的庫可以用,迅速就能上手,然後就可以獨立作出很漂亮的界面或網頁。
當然,C語言對於一個程序員,總歸是要學的,這是非常重要的一種語言,但是我個人覺得並不適合新手起步。
如果你一定要學C,推薦則培《C程序設計語言(第二版)》是K&R寫的,又叫KR C,是C語言領域的聖經。不過難度還是有,如果看不懂,可以搭配《C primer plus》這本就比較詳細了。譚浩強的書最好少看。
如果你願意聽我的從python開始學,我推薦你可以先在codecademy這個網站上學習一下,互動課程,比較輕松有趣,然後可以看learn python the hard way。如果梁盯祥英語橡搏實在是不過關,可以買《python基礎教程》這本中文教材
『叄』 如何用c語言進行編輯運行和保存用那幾個命令
TC2.0
(1)、File(文件)菜單
按Alt+F可進入File菜單, 該菜單包括以下內容:
.Load(載入)
裝入一個文件, 可用類似DOS的通配符(如*.C)來進行列表選擇。也可裝入其它
擴展名的文件, 只要給出文件名(或只給路徑)即可。該項的熱鍵為F3, 即只要在主
菜單中按F3即可進入該項, 而不需要先進入File菜單再選此項。
.Pick(選擇)
將最近裝入編輯窗口的8個文件列成一個表讓用戶選擇, 選擇後將該程序裝入
編輯區, 並將游標置在上次修改過的地方。其熱健為Alt-F3。
.New(新文件)
說明文件是新的, 預設文件名為NONAME.C, 存檔時可改名。
.Save(存檔)
將編輯區中的文件存檔, 若文件名是NONAME.C時, 將詢問是否更改文件名, 其
熱鍵為F2。
(2)、Edit(編輯)菜單
按Alt+E可進入編輯菜單, 若再回車, 則游標出現在編輯窗口, 此時用戶可以
進行文本編輯。
(3)Run(運行)菜單
按Alt+R可進入Run菜單, 該菜單有以下各項:
.Run(運行程序)
運行由Project/Project name項指定的文件名或當前編輯區的文件。如果對上
次編譯後的源代碼未做過修改, 則直接運行到下一個斷點(沒有斷點則運行到結束)。
否則先進行編譯、連接後才運行, 其熱鍵為Ctrl+F9。
(4)、Compile(編譯)菜單
按Alt+C可進入Compile菜單, 該菜單有以下幾個內容:
.Compile to OBJ(編譯生成目標碼)
將一個C源文件編譯生成.OBJ目標文件, 同時顯示生成的文件名。其熱鍵為
Alt+F9。
具體見這篇文章
http://www.cnblogs.com/lyss/archive/2006/06/22/432613.html
Turbo C 2.0集成開發環境的使用
進入Turbo C 2.0集成開發環境中後, 屏幕上顯示:
——————————————————————————————
File Edit Run Compile Project Options Debug Break/watch
┌————————————Edit——————————————┐
│ Line 1 Col 1 Insert Indent Tab File Unindent c:NONAME.C│
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│—————————Message——————————————— │
│ │
│ │
└————————————————————————————┘
F1-Help F5-Zoom F6-Switch F7-Trace F8-Step F9-Make F10-Menu
———————————————————————————————
其中頂上一行為Turbo C 2.0 主菜單, 中間窗口為編輯區, 接下來是信息窗
口, 最底下一行為參考行。這四個窗口構成了Turbo C 2.0的主屏幕, 以後的編程、
編譯、調試以及運行都將在這個主屏幕中進行。下面詳細介紹主菜單的內容。
1 主菜單
主菜單 在Turbo C 2.0主屏幕頂上一行, 顯示下列內容:
File Edit Run Compile Project Options Debug Break/watch
除Edit外, 其它各項均有子菜單, 只要用Alt加上某項中第一個字母(即大寫字
母), 就可進入該項的子菜單中。
(1)、File(文件)菜單
按Alt+F可進入File菜單, 該菜單包括以下內容:
.Load(載入)
裝入一個文件, 可用類似DOS的通配符(如*.C)來進行列表選擇。也可裝入其它
擴展名的文件, 只要給出文件名(或只給路徑)即可。該項的熱鍵為F3, 即只要在主
菜單中按F3即可進入該項, 而不需要先進入File菜單再選此項。
.Pick(選擇)
將最近裝入編輯窗口的8個文件列成一個表讓用戶選擇, 選擇後將該程序裝入
編輯區, 並將游標置在上次修改過的地方。其熱健為Alt-F3。
.New(新文件)
說明文件是新的, 預設文件名為NONAME.C, 存檔時可改名。
.Save(存檔)
將編輯區中的文件存檔, 若文件名是NONAME.C時, 將詢問是否更改文件名, 其
熱鍵為F2。
.Write to(存檔)
可由用戶給出文件名將編輯區中的文件存檔, 若該文件已存在, 則詢問要不要
覆蓋。
.Directory(目錄)
顯示目錄及目錄中的文件, 並可由用戶選擇。
.Change dir(改變目錄)
顯示當前目錄, 用戶可以改變顯示的目錄。
.Os shell(暫時退出)
暫時退出Turbo C 2.0到DOS提示符下, 此時可以運行DOS 命令, 若想回到
Turbo C 2.0中, 只要在DOS狀態下鍵入EXIT即可。
.Quit(退出)
退出Turbo C 2.0, 返回到DOS操作系統中, 其熱鍵為Alt+X。
說明:
以上各項可用游標鍵移動色棒進行選擇, 回車則執行。也可用每一項的第一個
大寫字母直接選擇。若要退到主菜單或從它的下一級菜單列表框退回均可用Esc鍵,
Turbo C 2.0所有菜單均採用這種方法進行操作, 以下不再說明。
(2)、Edit(編輯)菜單
按Alt+E可進入編輯菜單, 若再回車, 則游標出現在編輯窗口, 此時用戶可以
進行文本編輯。
編輯方法基本與wordstar相同, 可用F1鍵獲得有關編輯方法的幫助信息。
與編輯有關的功能鍵如下:
F1 獲得Turbo C 2.0編輯命令的幫助信息
F5 擴大編輯窗口到整個屏幕
F6 在編輯窗口與信息窗口之間進行切換
F10 從編輯窗口轉到主菜單
編輯命令簡介:
PageUp 向前翻頁
PageDn 向後翻頁
Home 將游標移到所在行的開始
End 將游標移到所在行的結尾
Ctrl+Y 刪除游標所在的一行
Ctrl+T 刪除游標所在處的一個詞
Ctrl+KB 設置塊開始
Ctrl+KK 設置塊結尾
Ctrl+KV 塊移動
Ctrl+KC 塊拷貝
Ctrl+KY 塊刪除
Ctrl+KR 讀文件
Ctrl+KW 存文件
Ctrl+KP 塊文件列印
Ctrl+F1 如果游標所在處為Turbo C 2.0庫函數, 則獲得有關該函數的幫助
信息
Ctrl+Q[ 查找Turbo C 2.0雙界符的後匹配符
Ctrl+Q] 查找Turbo C 2.0雙界符的前匹配符
說明:
a. Turbo C 2.0的雙界符包括以下幾種符號:
花括符 {和}
尖括符 <和>
圓括符 (和)
方括符 [和]
注釋符 /*和*/
雙引號 "
單引號 '
b. Turbo C 2.0在編輯文件時還有一種功能, 就是能夠自動縮進, 即游標定位
和上一個非空字元對齊。在編輯窗口中, Ctrl+OL為自動縮進開關的控制鍵。
(3)Run(運行)菜單
按Alt+R可進入Run菜單, 該菜單有以下各項:
.Run(運行程序)
運行由Project/Project name項指定的文件名或當前編輯區的文件。如果對上
次編譯後的源代碼未做過修改, 則直接運行到下一個斷點(沒有斷點則運行到結束)。
否則先進行編譯、連接後才運行, 其熱鍵為Ctrl+F9。
.Program reset(程序重啟)
中止當前的調試, 釋放分給程序的空間, 其熱鍵為Ctrl+F2。
.Go to cursor(運行到游標處)
調試程序時使用, 選擇該項可使程序運行到游標所在行。游標所在行必須為一
條可執行語句, 否則提示錯誤。其熱鍵為F4。
.Trace into(跟蹤進入)
在執行一條調用其它用戶定義的子函數時, 若用Trace into項, 則執行長條將
跟蹤到該子函數內部去執行, 其熱鍵為F7。
.Step over(單步執行)
執行當前函數的下一條語句, 即使用戶函數調用, 執行長條也不會跟蹤進函數
內部, 其熱鍵為F8。
.User screen(用戶屏幕)
顯示程序運行時在屏幕上顯示的結果。其熱鍵為Alt+F5。
(4)、Compile(編譯)菜單
按Alt+C可進入Compile菜單, 該菜單有以下幾個內容:
.Compile to OBJ(編譯生成目標碼)
將一個C源文件編譯生成.OBJ目標文件, 同時顯示生成的文件名。其熱鍵為
Alt+F9。
.Make EXE file(生成執行文件)
此命令生成一個.EXE的文件, 並顯示生成的.EXE文件名。其中.EXE文件名是下
面幾項之一。
a. 由Project/Project name說明的項目文件名。
b. 若沒有項目文件名, 則由Primary C file說明的源文件。
c. 若以上兩項都沒有文件名, 則為當前窗口的文件名。
.Link EXE file(連接生成執行文件)
把當前.OBJ文件及庫文件連接在一起生成.EXE文件。
.Build all(建立所有文件)
重新編譯項目里的所有文件, 並進行裝配生成.EXE文件。該命令不作過時檢查
(上面的幾條命令要作過時檢查, 即如果目前項目里源文件的日期和時間與目標文
件相同或更早, 則拒絕對源文件進行編譯)。
.Primary C file(主C文件)
當在該項中指定了主文件後, 在以後的編譯中, 如沒有項目文件名則編譯此項
中規定的主C文件, 如果編譯中有錯誤, 則將此文件調入編輯窗口, 不管目前窗口
中是不是主C文件。
.Get info(獲得有關當前路徑、源文件名、源文件位元組大小、編譯中的錯誤數
目、可用空間等信息。
(5)、Project(項目)菜單
按Alt+P可進入Project菜單, 該菜單包括以下內容:
.Project name(項目名)
項目名具有.PRJ的擴展名, 其中包括將要編譯、連接的文件名。例如有一個程
序由file1.c, file2.c, file3.c組成, 要將這3個文件編譯裝配成一個file.exe的
執行文件, 可以先建立一個file.prj的項目文件, 其內容如下:
file1.c
file2.c
file3.c
此時將file.prj放入Project name項中, 以後進行編譯時將自動對項目文件中
規定的三個源文件分別進行編譯。然後連接成file.exe文件。
如果其中有些文件已經編譯成.OBJ文件, 而又沒有修改過, 可直接寫上.OBJ擴
展名。此時將不再編譯而只進行連接。
例如: file1.obj
file2.c
file3.c
將不對file1.c進行編譯, 而直接連接。
說明:
當項目文件中的每個文件無擴展名時, 均按源文件對待, 另外, 其中的文件也
可以是庫文件, 但必須寫上擴展名.LIB。
.Break make on(中止編譯)
由用戶選擇是否在有Warining(警告)、Errors(錯誤)、Fatal Errors( 致命錯
誤)時或Link(連接)之前退出Make編譯。
.Auto dependencies(自動依賴)
當開關置為on, 編譯時將檢查源文件與對應的.OBJ文件日期和時間, 否則不進
行檢查。
.Clear project(清除項目文件)
清除Project/Project name中的項目文件名。
.Remove messages(刪除信息)
把錯誤信息從信息窗口中清除掉。
(6)、Options(選擇菜單)
按Alt+O可進入Options菜單, 該菜單對初學者來說要謹慎使用。
.Compiler(編譯器)
本項選擇又有許多子菜單, 可以讓用戶選擇硬體配置、存儲模型、調試技術、
代碼優化、對話信息控制和宏定義。這些子菜單如下:
Model
共有Tiny, small, medium, compact, large, huge 六種不同模式可由同戶選
擇。
Define
打開一個宏定義框, 同戶可輸入宏定義。多重定義可同分號, 賦值可用等號。
Code generation
它又有許多任選項, 這些任選項告訴編譯器產生什麼樣的目標代碼。
Calling convention 可選擇C或Pascal方式傳遞參數。
Instruction set 可選擇8088/8086或80186/80286指令系列。
Floating point 可選擇模擬浮點、數學協處理器浮點或無浮點運算。
Default char type 規定char的類型。
Alignonent 規定地址對准原則。
Merge plicate strings 作優化用, 將重復的字元串合並在一起。
Standard stack frame 產生一個標準的棧結構。
Test stack overflow 產生一段程序運行時檢測堆棧溢出的代碼。
Line number 在.OBJ文件中放進行號以供調試時用。
OBJ debug information 在.OBJ文件中產生調試信息。
Optimization
Optimize for 選擇是對程序小型化還是對程序速度進行優
化處理。
Use register variable 用來選擇是否允許使用寄存器變數。
Register optimization 盡可能使用寄存器變數以減少過多的取數操
作。
Jump optimization 通過去除多餘的跳轉和調整循環與開關語句
的辦法, 壓縮代碼。
Source
Indentifier length 說明標識符有效字元的個數, 默認為32個。
Nested comments 是否允許嵌套注釋。
ANSI keywords only 是只允許ANSI關鍵字還是也允許Turbo C
2.0關鍵字
Error
Error stop after 多少個錯誤時停止編譯, 默認為25個。
Warning stop after 多少個警告錯誤時停止編譯, 默認為100個。
Display warning
Portability warning 移植性警告錯誤。
ANSI Violations 侵犯了ANSI關鍵字的警告錯誤。
Common error 常見的警告錯誤。
Less common error 少見的警告錯誤。
Names 用於改變段(segment)、 組( group) 和類
(class)的名字, 默認值為CODE,DATA,BSS。
.Linker(連接器)
本菜單設置有關連接的選擇項, 它有以下內容:
Map file menu 選擇是否產生.MAP文件。
Initialize segments 是否在連接時初始化沒有初始化的段。
Devault libraries 是否在連接其它編譯程序產生的目標文件時去尋
找其預設庫。
Graphics library 是否連接graphics庫中的函數。
Warn plicate symbols 當有重復符號時產生警告信息。
Stack warinig 是否讓連接程序產生No stack的警告信息。
Case-sensitive link 是否區分大、小寫字。
.Environment(環境)
本菜單規定是否對某些文件自動存檔及製表鍵和屏幕大小的設置
Message tracking
Current file 跟蹤在編輯窗口中的文件錯誤。
All files 跟蹤所有文件錯誤。
Off 不跟蹤。
Keep message 編譯前是否清除Message窗口中的信息。
Config auto save 選on時, 在Run, Shell或退出集成開發環境之前,
如果Turbo C 2.0的配置被改過, 則所做的改動
將存入配置文件中。選off時不存。
Edit auto save 是否在Run或Shell之前, 自動存儲編輯的源文件。
Backup file 是否在源文件存檔時產生後備文件(.BAK文件)。
Tab size 設置製表鍵大小, 默認為8。
Zoomed windows 將現行活動窗口放大到整個屏幕, 其熱鍵為F5。
Screen size 設置屏幕文本大小。
.Directories(路徑)
規定編譯、連接所需文件的路徑, 有下列各項:
Include directories 包含文件的路徑, 多個子目錄用";"分開。
Library directories 庫文件路徑, 多個子目錄用";"分開。
Output directoried 輸出文件(.OBJ, .EXE, .MAP文件)的目錄。
Turbo C directoried Turbo C 所在的目錄。
Pick file name 定義載入的pick文件名, 如不定義則從current
pick file中取。
.Arguments(命令行參數)
允許用戶使用命令行參數。
.Save options(存儲配置)
保存所有選擇的編譯、連接、調試和項目到配置文件中, 預設的配置文件為
TCCONFIG.TC。
.Retrive options
裝入一個配置文件到TC中, TC將使用該文件的選擇項。
(7)、Debug(調試)菜單
按Alt+D可選擇Debug菜單, 該菜單主要用於查錯, 它包括以下內容:
Evaluate
Expression 要計算結果的表達式。
Result 顯示表達式的計算結果。
New value 賦給新值。
Call stack 該項不可接觸。而在Turbo C debuger 時用於檢
查堆棧情況。
Find function 在運行Turbo C debugger時用於顯示規定的函數。
Refresh display 如果編輯窗口偶然被用戶窗口重寫了可用此恢復
編輯窗口的內容。
(8)、Break/watch(斷點及監視表達式)
按Alt+B可進入Break/watch菜單, 該菜單有以下內容:
Add watch 向監視窗口插入一監視表達式。
Delete watch 從監視窗口中刪除當前的監視表達式。
Edit watch 在監視窗口中編輯一個監視表達式。
Remove all watches 從監視窗口中刪除所有的監視表達式。
Toggle breakpoint 對游標所在的行設置或清除斷點。
Clear all breakpoints 清除所有斷點。
View next breakpoint 將游標移動到下一個斷點處。
VC之類的IDE就簡單多了。
VC compiler ctrl + F7
build F7
buildexecute ctrl + F5
『肆』 解析一哈c語言中的kmp演算法,bf演算法,kr演算法之間的聯系與區別,盡量淺顯易懂,謝謝!
三種演算法聯系:都是字元串匹配演算法。
區別:
「KMP演算法」:在匹配過程稱,若發生不匹配的情況,如果next[j]>=0,則目標串的指針i不變,將模式串的指針j移動到next[j]的位置繼續進行匹配;若next[j]=-1,則將i右移1位,並將j置0,繼續進行比較。
「BF演算法」是普通的模式匹配演算法,BF演算法的思想就是將目標串S的第一個字元與模式串P的第一個字元進行匹配,若相等,則繼續比較S的第二個字元和P的第二個字元;若不相等,則比較S的第二個字元和P的第一個字元,依次比較下去,直到得出最後的匹配結果。
「KR演算法」在每次比較時,用HASH演算法計算文本串和模式串的HASH映射,通過比較映射值的大小來比較字元串是否匹配。但是考慮到HASH沖突,所以在映射值相同的時候,還需要近一步比較字元串是否相同。但是在每次比較時,需要計算HASH值,所以選擇合適的HASH演算法很重要。
略知一二!