




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
C語言基礎(chǔ)什么是程序?程序(program)是為實(shí)現(xiàn)特定目標(biāo)或解決特定問題而用計算機(jī)語言編寫的命令序列的集合。關(guān)鍵字:特定目標(biāo)/問題計算機(jī)語言命令序列比如說,我們?yōu)榱擞嬎隳炒慰荚囍幸粋€班級的所有學(xué)生的平均分,可以進(jìn)行如下操作: 1、獲得學(xué)生個數(shù)和所有學(xué)生的分?jǐn)?shù) 2、求和,計算學(xué)生總分 3、用總分除以學(xué)生人數(shù),得到平均分什么是程序?對于上述問題,我們有: 1、特定的目標(biāo)——計算平均分 2、命令序列的集合——一系列操作如果把上述用到的所有命令都用計算機(jī)語言寫出來,就是我們這里要講的程序了。什么是程序?偉大的計算機(jī)科學(xué)家Knuth曾經(jīng)對程序下過如下的定義:程序=算法+數(shù)據(jù)結(jié)構(gòu)用最通俗的話來解釋的話,數(shù)據(jù)結(jié)構(gòu)就是把我們要處理的數(shù)據(jù)與信息按照一定的方法整理存放起來,以便于我們處理;算法,就是配合我們的數(shù)據(jù)結(jié)構(gòu),處理數(shù)據(jù)的方法。這二者結(jié)合,就成為了一個程序。當(dāng)然,算法與數(shù)據(jù)結(jié)構(gòu)都是非常抽象的概念,我們依然需要通過計算機(jī)語言來把他們做成現(xiàn)實(shí)的東西。所謂C語言所謂C語言,其實(shí)就是上述所謂的眾多“計算機(jī)語言”中的一種。C語言還擁有一個升級版本:C++語言。C語言和C++語言廣泛應(yīng)用于編寫各種軟件當(dāng)中,windows系統(tǒng)也是利用C++語言來完成的。二者的區(qū)別各位可以不做深究,暫且認(rèn)為他們是一樣的就可以了。當(dāng)然,對于我們來說C語言的功能還是用來實(shí)現(xiàn)我們的算法與數(shù)據(jù)結(jié)構(gòu)。我們使用的編譯器編譯:把一行行的代碼變成電腦可以看懂并運(yùn)行的程序,這個過程叫做編譯。顯然,我們所寫下的所有代碼都必須通過編譯才能運(yùn)行,所以我們需要使用一個編譯器來幫助我們完成這項工作。我們使用一款非常經(jīng)典,很適合信息學(xué)競賽使用的編譯器——DEVCPPDEVCPP再多說幾句盡量在剛剛開始寫程序的時候養(yǎng)成良好的寫代碼習(xí)慣,培養(yǎng)良好的代碼風(fēng)格——跟練字是一個道理。如果一開始就有問題,后邊再改會很麻煩。寫程序,如果不上機(jī)親自動手寫,是絕對不可能有進(jìn)步的。對于信息學(xué)競賽來說,上機(jī)寫程序,做大量的題目,也是絕對不可回避的。多抄別人的代碼。這個指的不是讓你們在交作業(yè)之前超別人的代碼應(yīng)付,而是在某些問題實(shí)在無法解決的時候,抄一抄別人的代碼,體會一下別人解決問題的思路,把這些變成自己的知識。抄代碼并不是一味的一個字符不差的抄寫,而是要一邊看一邊理解,最后把代碼寫成自己的風(fēng)格,變成自己的東西。好,我們正式開始1.1一個簡單的C語言程序#include <iostream>usingnamespacestd;int main(){ cout<<"HelloWorld!"<<endl; system("pause"); return0;}1.1一個簡單的C語言程序我們來一行行的解釋一下這段代碼:1.1一個簡單的C語言程序#include <iostream>在編寫程序的過程中,我們需要使用到一些工具,這些工具是C語言已經(jīng)寫好了提供給我們的,我們直接利用就可以了。一些最最基本的工具被放在了一個叫做iostream的工具包里,具體有哪些我們隨著學(xué)習(xí)的深入再介紹。這一條語句通過include操作把iostream工具包加了進(jìn)來,在程序中我們就可以使用iostream包里的所有工具了。iostream作為最最基本的工具包,一般來說是必須使用到的。當(dāng)然我們還有很多其他的工具包,也放到以后再說。1.1一個簡單的C語言程序usingnamespacestd;這一句的含義不大容易給各位解釋清楚,目前的話各位先把這一句當(dāng)做是一句固定的格式,必須要寫,不可或缺,背下來就好了。具體的我們還是以后再說。大家一定不要忽略這一行結(jié)尾的那個分號。從今往后,大家一定要提高對分號的注意力。1.1一個簡單的C語言程序intmain()先大致介紹函數(shù)的概念:C語言程序的基本單位,稱作函數(shù)。這里的函數(shù)跟各位數(shù)學(xué)上學(xué)過的函數(shù)是完全不一樣的概念,沒什么關(guān)系。C語言的函數(shù),各位姑且認(rèn)為它是一種基本結(jié)構(gòu),一個完整的C語言程序就是通過很多的函數(shù)組成的。所有函數(shù)中,有一個地位很特殊的函數(shù),稱之為主函數(shù)。主函數(shù)必須有且只能有一個,程序無論是由多少個函數(shù)組成的,都一定會從主函數(shù)開始運(yùn)行。也就是說,主函數(shù)才是整個程序的主干,其它函數(shù)都是輔助的。1.1一個簡單的C語言程序intmain()這里的intmain()就是主函數(shù)的函數(shù)頭,告訴電腦主函數(shù)在這里。前邊的int是什么意思暫時不用管。而主函數(shù)的所有內(nèi)容,通通都放在intmain()后邊的那對花括號{}里邊。剩下的三行代碼,就都是主函數(shù)的內(nèi)容了。當(dāng)然這個程序比較簡單,就只有一個主函數(shù)而已。以后我們學(xué)到更復(fù)雜的程序的時候,函數(shù)有可能有很多很多。1.1一個簡單的C語言程序cout<<“HelloWorld!”<<endl;這一句的作用是在屏幕上輸出一句話:HelloWorld!cout是C++風(fēng)格的輸出工具,使用的時候,只需要把要輸出的內(nèi)容放在cout的后邊,并且用<<連接起來就可以了——如果要輸出多個內(nèi)容也是一樣的。<<這個符號大家可以形象的記憶,這就好比水流一樣,把我們要輸出的信息從屏幕上流出去了。在輸出要說的話的時候,要在話的兩端加上雙引號,這個是一種格式上的規(guī)定,大家一定要記住。endl是換行符,輸出一個endl就相當(dāng)于打了一個回車。注意結(jié)尾的分號了嗎?1.1一個簡單的C語言程序system(“pause”);這一句的作用是把程序暫停下來。電腦運(yùn)行程序的時候速度是非常快的,一旦程序結(jié)束,窗口就會自動關(guān)閉,而且從窗口打開到窗口結(jié)束的時間非常短,以至于我們什么結(jié)果都看不到。所以需要在適當(dāng)?shù)牡胤郊由蟬ystem(“pause”);來讓程序暫停,方便我們看結(jié)果。這一句不只可以加在程序的結(jié)尾,它可以加在任何你想讓程序停下來的地方。注意結(jié)尾的分號了嗎?1.1一個簡單的C語言程序return0;這一句的作用是告訴程序,主函數(shù)的任務(wù)做完了,可以結(jié)束了。當(dāng)然,因?yàn)橹骱瘮?shù)是整個程序的主干,所以只要主函數(shù)結(jié)束了,程序也就結(jié)束了。這一句的更詳細(xì)的含義,以后再說。注意結(jié)尾的分號了嗎?1.1一個簡單的C語言程序一個完整的程序就這樣解釋完了,我們再來回顧一下1.1一個簡單的C語言程序#include <iostream>usingnamespacestd;int main(){ cout<<"HelloWorld!"<<endl; system("pause"); return0;}1.1一個簡單的C語言程序有了上邊給出的框架,我們至少可以寫出一個完整的可以運(yùn)行的C語言程序了。以后我們需要做的工作就只是在框架中添加不同的內(nèi)容了。1.2變量接下來我們來介紹變量的概念。回到剛開始我們講過的那個例子:我們在計算平均分的時候,第一步需要進(jìn)行的操作就是獲得學(xué)生人數(shù)和學(xué)生的分?jǐn)?shù)。我們獲取的這些數(shù)據(jù)需要存儲起來——存放這些數(shù)據(jù)的地方就叫做變量。1.2變量一個變量可以被理解稱為一個裝東西的盒子,每一個盒子都有一個名字,里邊可以裝一個數(shù)據(jù)。變量是有類型之分的,一種類型的變量只能存儲對應(yīng)類型的數(shù)據(jù)。好比盒子也是有分類的,一種盒子只能用來放一種數(shù)據(jù)。常用的數(shù)據(jù)類型有:整型浮點(diǎn)型字符型布爾型1.2變量整型:整型變量用來存儲整數(shù)整型變量分為下列幾種: (unsigned)int (unsigned)short (unsigned)longlongint不同的整型變量也是有區(qū)別的,目前可以不做深究。我們現(xiàn)在都使用int類型的就好。1.2變量浮點(diǎn)型:浮點(diǎn)型變量用來存儲小數(shù)浮點(diǎn)型變量分為下列幾種: (unsigned)float (unsigned)double (unsigned)longdouble不同的浮點(diǎn)型變量同樣有區(qū)別的,目前也可以不做深究。我們現(xiàn)在都使用float類型的就好。1.2變量字符型:字符型變量用來存儲字符,比如說aB,*字符型變量一般只用char型1.2變量布爾型:布爾型變量是一種比較特殊的數(shù)據(jù)類型,這個數(shù)據(jù)類型是用來判斷真假的。所以布爾型的變量只有兩種值:真&假bool具體應(yīng)用我們以后用到的時候再說,現(xiàn)在只有個大概的概念就行了。1.2變量整型浮點(diǎn)型字符型布爾型上邊四個數(shù)據(jù)類型稱為基本數(shù)據(jù)類型整型int浮點(diǎn)型float字符型char布爾型bool1.3變量的申請之前說過,變量就好比盒子,一個變量在被使用之前,一定要先被申請,就好比一個盒子在用來裝東西之前,一定要先造出來。下邊我們就來講講變量的申請:變量申請的格式是這樣的:數(shù)據(jù)類型_變量名;1.3變量的申請舉例說明: int a; float b; char c; bool d;如果要同時申請多個同一類型的數(shù)據(jù),只需要這樣寫: int a,b,c,d;注意結(jié)尾的分號了嗎?1.3變量的申請關(guān)于變量名:在C語言中有一些詞被賦予了特殊的意義,比如說剛才提過的int等等,還有其他很多。這些被賦予了特殊意義的詞叫做保留字,保留字是不能作為變量的名字被申請的。除此之外,起變量名的時候沒有什么限制。盡管沒有什么限制,但是在起變量名的時候還是要注意一下根據(jù)數(shù)據(jù)的意義來起變量的名字,比如說學(xué)生數(shù)目叫number,分?jǐn)?shù)叫score,這樣方便自己和別人看懂自己的程序。1.4變量的賦值現(xiàn)在我們已經(jīng)申請好了一些需要的變量了。下邊我們需要往盒子里放東西了,這時候應(yīng)該怎樣操作呢?我們只需要通過一個等于號來對變量進(jìn)行賦值。a=....;其中省略號的部分,可以是某些確定的值,可以是其他的變量,也可以是一些計算表達(dá)式。不過一定要注意,不管是什么,最后的結(jié)果的類型一定要和a的類型是相符的。a=5;a=b;a=3*7+9;1.4變量的賦值這樣,我們就把值賦給一個變量了。在賦值的時候,一個變量里邊原來有的值會被覆蓋掉,所以一定要小心謹(jǐn)慎。1.5變量的輸入與輸出回到第一個問題,我們?nèi)绾螐拇翱谥休斎胍粋€變量的值呢?情況與輸出的時候是非常類似的,這個時候我們只需要把cout換成cin,把<<換成>>就可以了。比如說我們要把一個數(shù)據(jù)的值輸入到變量a里邊,只需要寫:cin>>
a;如果要同時輸入多個變量,那么只需要:cin>>a>>b>>c;1.5變量的輸入與輸出>>符號也可以被形象的理解為流的感覺,只是方向一定不要弄反關(guān)于變量的輸出,和之前是一樣的。cout<<a<<b<<c<<endl;1.6運(yùn)算符在C語言中,我們在進(jìn)行數(shù)據(jù)運(yùn)算的時候,會用到很多運(yùn)算符,最簡單的就是加減乘除——當(dāng)然不止有這些。C語言中最基本的運(yùn)算符為如下四類:
算術(shù)運(yùn)算符
關(guān)系運(yùn)算符
賦值運(yùn)算符
邏輯運(yùn)算符今天我們先介紹算術(shù)運(yùn)算符和賦值運(yùn)算符,其他的兩種我們放到以后的課程當(dāng)中介紹。1.6運(yùn)算符算術(shù)運(yùn)算符:+-*/算術(shù)運(yùn)算符應(yīng)該是大家最熟悉的運(yùn)算符的,從學(xué)數(shù)學(xué)開始就一直在用。算術(shù)運(yùn)算符除了上述的加減乘除之外,C語言中還有一個非常常用的運(yùn)算符,叫做取模,用%來表示。1+34-26*810/57%4運(yùn)算優(yōu)先級:乘=除=取模>加=減1.6運(yùn)算符除了上述五個運(yùn)算符之外,還有一種運(yùn)算符叫做自加(自減)運(yùn)算符。這樣的運(yùn)算符用于這樣的情況:當(dāng)一個變量a的值需要加1或者減1的時候。a++;a--;++a;--a;1.6運(yùn)算符賦值運(yùn)算符:賦值運(yùn)算符在前邊講變量的賦值的時候已經(jīng)有所介紹。最基本的賦值運(yùn)算符就是一個等號=它可以把等號右邊的值賦給等號左邊。這里注意,等號的左邊,也就是被賦值的部分,只能是一個變量,不能是數(shù)值或表
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 炸藥生產(chǎn)自動化設(shè)備應(yīng)用考核試卷
- 下肢深靜脈血栓的預(yù)防和護(hù)理新進(jìn)展
- 二年級數(shù)學(xué)口算題
- 2-3邏輯運(yùn)算的電路實(shí)現(xiàn)-開關(guān)特性
- 九江理工職業(yè)學(xué)院《中藥學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 江蘇省無錫市惠山區(qū)七校2024-2025學(xué)年初三下學(xué)期第一次在線考試含解析
- 四川大學(xué)附中2025年高三綜合題(三)歷史試題(文史類)試題含解析
- 遼寧財貿(mào)學(xué)院《工程建設(shè)監(jiān)理》2023-2024學(xué)年第一學(xué)期期末試卷
- 道路損毀及搶修搶建分級
- 江蘇省蘇州市姑蘇區(qū)振華校2024-2025學(xué)年初三化學(xué)試題第一次統(tǒng)練(一模)試題含解析
- 2024年8月CCAA注冊審核員OHSMS職業(yè)健康安全管理體系基礎(chǔ)知識考試題目含解析
- 《工程建設(shè)標(biāo)準(zhǔn)強(qiáng)制性條文》(水利工程部分)
- 《PBR次世代游戲建模技術(shù)》(微課版)課件 0課程導(dǎo)引
- 后所村城中村改造建設(shè)項目節(jié)能評估報告
- 中小學(xué)班主任工作指南
- DB35∕T 2174-2024 改良酸性土壤專用有機(jī)肥料通 用技術(shù)要求
- 北師大版數(shù)學(xué)五年級下冊《確定位置》課件教學(xué)課件
- 遼寧葫蘆島協(xié)作校2025屆高三第二次聯(lián)考生物試卷含解析
- DL∕T 1396-2014 水電建設(shè)項目文件收集與檔案整 理規(guī)范
- 2024年紀(jì)檢監(jiān)察綜合業(yè)務(wù)知識考試題庫及參考答案(完整版)
- DL-T5181-2017水電水利工程錨噴支護(hù)施工規(guī)范
評論
0/150
提交評論