




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第1章C語(yǔ)言及程序設(shè)計(jì)概述內(nèi)容提要:C語(yǔ)言起源和發(fā)展C語(yǔ)言的特點(diǎn)簡(jiǎn)單的C程序介紹1.1C語(yǔ)言簡(jiǎn)介
1.1.1C語(yǔ)言的發(fā)展過程
計(jì)算機(jī)語(yǔ)言是面向計(jì)算機(jī)的人工語(yǔ)言,是進(jìn)行程序設(shè)計(jì)的工具,因此也稱程序設(shè)計(jì)語(yǔ)言。程序設(shè)計(jì)語(yǔ)言可以分為機(jī)器語(yǔ)言、匯編語(yǔ)言、高級(jí)語(yǔ)言。高級(jí)語(yǔ)言中一種是面向問題的程序設(shè)計(jì)語(yǔ)言,它要對(duì)具體的算法和過程進(jìn)行描述,也可以稱為面向過程的算法語(yǔ)言,例如FORTRAN語(yǔ)言、PASCAL語(yǔ)言和C語(yǔ)言等。另一種屬于人工智能語(yǔ)言,如PROLOG語(yǔ)言。還有一種是當(dāng)前流行的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,例如C++、Java等,它們都是以C語(yǔ)言為基礎(chǔ)的,學(xué)了C語(yǔ)言再學(xué)習(xí)C++等語(yǔ)言就方便多了。1.語(yǔ)言簡(jiǎn)潔、緊湊、使用靈活、方便;
共有32個(gè)關(guān)鍵字、9種控制語(yǔ)句
書寫形式自由,主要用小寫字母表示2.運(yùn)算符及其豐富;共有34種運(yùn)算符3.?dāng)?shù)據(jù)結(jié)構(gòu)豐富,具有現(xiàn)代化語(yǔ)言的各種數(shù)據(jù)結(jié)構(gòu); 如:
整型(關(guān)鍵字int)
實(shí)型(關(guān)鍵字float)
字符型(關(guān)鍵字char)
數(shù)組類型(關(guān)鍵字[])
指針類型(關(guān)鍵字*)
結(jié)構(gòu)體類型(關(guān)鍵字struct)
共用體類型(關(guān)鍵字union)1.1.2C語(yǔ)言的主要特點(diǎn)4.具有結(jié)構(gòu)化的控制語(yǔ)句,以函數(shù)為程序模塊;
如:if...elsewhilefor
do...whileswitch
5.生成目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高;6.程序的可移植性好;7.兼有低級(jí)語(yǔ)言和高級(jí)語(yǔ)言的特點(diǎn);8.語(yǔ)法限制不太嚴(yán)格,程序設(shè)計(jì)自由度大。1.2C程序結(jié)構(gòu)
1.2.1C程序的結(jié)構(gòu)及其主要特點(diǎn)
例1-1:最簡(jiǎn)單的程序#include"stdio.h“ /*包含頭文件*/voidmain(){ /*主函數(shù)*/printf("ThisisaCprogram.\n"); /*輸出了一句話*/}程序運(yùn)行結(jié)果:
ThisisaCprogram例1-2:求兩數(shù)之和#include"stdio.h“ /*包含頭文件*/voidmain(){ /*主函數(shù)*/inta,b,sum; /*定義變量*/a=123;b=456; /*給變量賦值*/sum=a+b; /*求a,b之和*/printf("sumis%d\n",sum); /*輸出結(jié)果*/} scanf("%d,%d",&a,&b);例1-3:求兩數(shù)中的最大者#include"stdio.h" /*包含頭文件*/voidmain(){ /*主函數(shù)*/inta,b,max; /*定義變量*/scanf("%d,%d",&a,&b); /*輸入變量a,b的值*/if(a>b)max=a;elsemax=b; /*求兩個(gè)數(shù)的最大者*/printf("maxis%d\n",max); /*輸出結(jié)果*/} 思考:求三個(gè)數(shù)的最大者#include<stdio.h>voidmain(){intmax(intx,inty,intz); /*對(duì)被調(diào)用函數(shù)聲明*/inta,b,c,d;scanf("%d%d%d",&a,&b,&c);d=max(a,b,c);printf("max=%d\n",d);}intmax(intx,inty,intz){intv;if(x>y&&x>z)v=x;elsev=y;if(x<y&&z<y)v=y;elsev=z;return(v);}例1-4:求兩數(shù)中的最大者#include"stdio.h"/*包含頭文件*/intmax(intx,inty){ /*定義max函數(shù)*/intz; /*定義變量*/if(x>y) z=x; /*比較x,y大小,如果x>y,則執(zhí)行z=x*/else z=y; /*否則執(zhí)行z=y*/return(z); /*將z的值返回,通過max帶回調(diào)用處*/}voidmain(){ /*主函數(shù)*/inta,b,zmax; /*定義變量*/scanf("%d,%d",&a,&b); /*輸入變量a,b的值*/zmax=max(a,b); /*調(diào)用函數(shù),將得到的值賦給c*/printf("maxis%d\n",zmax); /*輸出結(jié)果*/} 例1-5:求解遞歸問題。#include"stdio.h“ /*包含頭文件*/intage(intx){ /*定義age函數(shù)*/intz; /*定義變量*/if(x==1) z=20; /*如果x=1,則z=20*/else z=age(x-1)+3; /*否則,利用遞歸法計(jì)算某人年齡*/return(z); /*將z的值返回,通過age帶回調(diào)用處*/}voidmain(){ /*主函數(shù)*/inti,j; /*定義變量*/scanf("%d",&i); /*輸入變量i的值*/j=age(i); /*調(diào)用函數(shù),將得到的值賦給j*/printf("age=%d\n",j); /*輸出結(jié)果*/}C程序是由函數(shù)構(gòu)成的,是函數(shù)式的語(yǔ)言。①函數(shù)是C程序的基本單位,可以是庫(kù)函數(shù),也可以是用戶自己編寫的函數(shù);C程序的結(jié)構(gòu)特點(diǎn)和書寫格式:#include"stdio.h"/*例1-3*/intmax(intx,inty){intz;if(x>y) z=x;else z=y;return(z);}voidmain(){inta,b,zmax;scanf("%d,%d",&a,&b);zmax=max(a,b);printf("max=%d",zmax);}用戶自定義函數(shù)主函數(shù)②一個(gè)C源程序至少包含一個(gè)函數(shù)(main函數(shù)),也可以包含一個(gè)main函數(shù)和若干個(gè)其它函數(shù);函數(shù)說明部分包括:函數(shù)名、函數(shù)類型、函數(shù)屬性、函數(shù)參數(shù)名、形參類型;如:intmax(x,y)函數(shù)類型函數(shù)名函數(shù)參數(shù)
intx,y;形參類型形式參數(shù)又如:main()
函數(shù)名無(wú)參數(shù)函數(shù)體包括:變量定義部分和執(zhí)行部分
inta,b;printf(“Thisisadog.”);③一個(gè)函數(shù)的組成包括:函數(shù)說明部分和函數(shù)體。④一個(gè)C程序總是從main()
函數(shù)開始的;如下:intmax(x,y){......}main(){intx,y;......;......;}⑤
C程序書寫格式自由,一行多語(yǔ)句或一語(yǔ)句多行;⑥每個(gè)語(yǔ)句和數(shù)據(jù)定義后面必須有一個(gè)分號(hào);⑦C語(yǔ)言沒有輸入輸出語(yǔ)句,輸入輸出操作由函數(shù)來(lái)完成;⑧可以用/*......*/對(duì)C程序中的任何部分作注釋。主程序開始之處1.2.2標(biāo)示符與關(guān)鍵字1.C語(yǔ)言的標(biāo)識(shí)符用來(lái)標(biāo)記常量、變量、函數(shù)及文件名字的字符序列。標(biāo)識(shí)符的構(gòu)成規(guī)則:?以字母或下劃線開頭;?隨后可跟若干個(gè)(包括0個(gè))字母、數(shù)字、下劃線;?標(biāo)識(shí)符的長(zhǎng)度各個(gè)系統(tǒng)不同,最好不超過8個(gè)字符;如:xy3_imaxELSEXA_to_B(合法)
7Xint#N0badonere-input(不合法)注意:區(qū)分大小寫。如:sum、Sum是兩個(gè)標(biāo)識(shí)符2、C語(yǔ)言的關(guān)鍵字(保留字)它是C語(yǔ)言中具有特定含義,專門用做語(yǔ)言特定成分的一類標(biāo)識(shí)符ANSI推薦的C語(yǔ)言的關(guān)鍵字是32個(gè)(TurboC另擴(kuò)展了11個(gè))。如表1-1所示:如:main,int,char,float等注意:①所有的關(guān)鍵字都有固定的意義,不能用做其它;
②所有的關(guān)鍵字都必須小寫;表1-1C語(yǔ)言的關(guān)鍵字?jǐn)?shù)據(jù)類型關(guān)鍵字(12個(gè))控制語(yǔ)句關(guān)鍵字(12個(gè))存儲(chǔ)類型關(guān)鍵字(4個(gè))其它類型關(guān)鍵字(4個(gè))chardoubleenumfloatintlongshortsignedstructunionunsignedvoidbreakcasecontinuedefaultdoelseforgotoifreturnswitchwhileautoexternregisterstaticconstsizeoftypedefvolatile1.3C語(yǔ)言編譯工具簡(jiǎn)介
1.3.1C語(yǔ)言程序?qū)崿F(xiàn)的步驟
1.
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 加強(qiáng)倉(cāng)庫(kù)節(jié)能減排措施的行動(dòng)方案計(jì)劃
- 交通樞紐安全管理辦法計(jì)劃
- 班級(jí)親子活動(dòng)的組織與方案設(shè)計(jì)計(jì)劃
- 化工行業(yè)品牌宣傳方案計(jì)劃
- 高中信息技術(shù) 信息價(jià)值的判斷教學(xué)實(shí)錄2 滬教版必修1
- 《托里縣上海梅蘭日蘭礦業(yè)有限公司新疆托里縣科克火熱金礦Ⅱ號(hào)礦段礦產(chǎn)資源開發(fā)利用與生態(tài)保護(hù)修復(fù)方案》專家意見的認(rèn)定
- 七年級(jí)地理下冊(cè) 9.3 撒哈拉以南的非洲-黑種人的故鄉(xiāng)教學(xué)實(shí)錄 晉教版
- 化妝師職業(yè)知識(shí)培訓(xùn)課件
- 統(tǒng)編版小學(xué)語(yǔ)文二年級(jí)下冊(cè)《語(yǔ)文園地八》精美課件
- 2025年江蘇貨運(yùn)資格證答題竅門
- 合成樹脂瓦工程檢驗(yàn)批質(zhì)量驗(yàn)收記錄表格
- 保溫?zé)o機(jī)復(fù)合板施工方案
- 卡通家庭急救常識(shí)知識(shí)講座PPT模板
- 初一語(yǔ)文詞性練習(xí)(連答案)(最新整理)
- 小學(xué)五年級(jí)語(yǔ)文上冊(cè)有趣的漢字課件
- 消防(控制室)值班記錄
- 房屋租賃(出租)家私清單
- 計(jì)算機(jī)技術(shù)碩士專業(yè)學(xué)位授權(quán)點(diǎn)申報(bào)研究演示課件(PPT 39頁(yè))
- 建筑裝飾材料與構(gòu)造-ppt課件
- 水泥廠熟料庫(kù)屋面鋼網(wǎng)架施工方案(46頁(yè))
- AWS D1.8 D1.8M-2021 結(jié)構(gòu)焊接規(guī)范
評(píng)論
0/150
提交評(píng)論