辦公課件章語(yǔ)言概述_第1頁(yè)
辦公課件章語(yǔ)言概述_第2頁(yè)
辦公課件章語(yǔ)言概述_第3頁(yè)
辦公課件章語(yǔ)言概述_第4頁(yè)
辦公課件章語(yǔ)言概述_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(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ù)說(shuō)明部分包括:函數(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ù)說(shuō)明部分和函數(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ú)特殊說(shuō)明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論