C語(yǔ)言程序設(shè)計(jì)緒論_第1頁(yè)
C語(yǔ)言程序設(shè)計(jì)緒論_第2頁(yè)
C語(yǔ)言程序設(shè)計(jì)緒論_第3頁(yè)
C語(yǔ)言程序設(shè)計(jì)緒論_第4頁(yè)
C語(yǔ)言程序設(shè)計(jì)緒論_第5頁(yè)
已閱讀5頁(yè),還剩24頁(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)介

C語(yǔ)言程序設(shè)計(jì)C語(yǔ)言程序設(shè)計(jì)概論C語(yǔ)言程序設(shè)計(jì)

為什么要學(xué)習(xí)C語(yǔ)言?什么是程序和C語(yǔ)言程序?如何學(xué)好C語(yǔ)言?

1目錄contentC語(yǔ)言的入門知識(shí)1C語(yǔ)言的發(fā)展及特點(diǎn)2C語(yǔ)言程序的書寫格式和結(jié)構(gòu)特點(diǎn)3C語(yǔ)言的基本語(yǔ)法單位4簡(jiǎn)單的輸入與輸出5運(yùn)行C程序的一般步驟6本章小結(jié)71.1數(shù)在計(jì)算機(jī)中的存儲(chǔ)(以8位二進(jìn)制數(shù)為例)C語(yǔ)言的入門知識(shí)150000111125511111111-1111111111.1.1數(shù)與數(shù)據(jù)類型:任何數(shù)在存儲(chǔ)時(shí)都涉及到數(shù)據(jù)類型,數(shù)據(jù)類型決定了計(jì)算機(jī)分配給它的字節(jié)數(shù)。數(shù)的原碼:最高字節(jié)的最高位為符號(hào)位,1表示負(fù)號(hào),0表示正號(hào),其余是該數(shù)絕對(duì)值的二進(jìn)制表示。(以8位二進(jìn)制數(shù)為例)

如:[+3]原

=00000011[-1]原

=10000001正數(shù)在計(jì)算機(jī)內(nèi)的表示:以數(shù)的二進(jìn)制值原碼表示。負(fù)數(shù)在計(jì)算機(jī)內(nèi)的表示:以數(shù)的二進(jìn)制值補(bǔ)碼表示,補(bǔ)碼是其原碼除符號(hào)位之外取反加1。C語(yǔ)言的入門知識(shí)求一個(gè)負(fù)數(shù)的補(bǔ)碼例如:求-3的補(bǔ)碼原碼10000

011按位取反加一后得到補(bǔ)碼符號(hào)位不變1

1111

1

001

11

11

1011.1.3例如:求-15的補(bǔ)碼原碼10001111按位取反加一后得到補(bǔ)碼符號(hào)位不變1

11100001

11

10001C語(yǔ)言的發(fā)展及特點(diǎn)1.2C語(yǔ)言是目前世界上流行最廣泛的通用程序設(shè)計(jì)語(yǔ)言。發(fā)展:C語(yǔ)言的發(fā)展過(guò)程可粗略地分為三個(gè)階段:

1)1970年至1973年為誕生階段2)1973年至1988年為發(fā)展階段3)1988年以后為成熟階段

C語(yǔ)言的產(chǎn)生歷程:ALGOL1960年CPL1963年BCPL1967年B1970年C1972年C語(yǔ)言的特點(diǎn)1.21)介乎于高級(jí)語(yǔ)言和匯編語(yǔ)言之間,兼有兩者的優(yōu)點(diǎn)。2)引用結(jié)構(gòu)化程序結(jié)構(gòu),便于軟件工程化。3)語(yǔ)言簡(jiǎn)潔,且表達(dá)能力強(qiáng),使用靈活,易于學(xué)習(xí)和應(yīng)用。4)可移植性好。C語(yǔ)言程序的書寫格式和結(jié)構(gòu)特點(diǎn)1.3一個(gè)簡(jiǎn)單的C語(yǔ)言程序:編制計(jì)算半徑為R、高度為H的圓柱體體積的程序。要求R和H的數(shù)值由鍵盤輸入。#include<stdio.h>voidmain(){

intr,h;

floatv;

scanf("%d%d",&r,&h);v=3.14159*r*r*h;printf("v=%f\n",v);}書寫格式特點(diǎn)符合C標(biāo)準(zhǔn)的程序特點(diǎn)(根據(jù)前面的簡(jiǎn)單程序,至少包括以下幾點(diǎn))1)C語(yǔ)言程序習(xí)慣上使用小寫英文字母。2)C語(yǔ)言程序也是由一個(gè)個(gè)的語(yǔ)句組成。3)C語(yǔ)言程序不使用行序號(hào)。4)C語(yǔ)言程序使用分號(hào);作為語(yǔ)句的終止符或分隔符。5)一般情況下,每個(gè)語(yǔ)句占用一個(gè)書寫行的位置。6)C語(yǔ)言程序中用大括弧對(duì){},表示程序的起止或結(jié)構(gòu)層次范圍。7)C語(yǔ)言程序中,為了增強(qiáng)可讀性,可以使用適量的空格和空行。1.3.1C語(yǔ)言程序的結(jié)構(gòu)特點(diǎn)再看一個(gè)稍微復(fù)雜點(diǎn)的程序:編一程序?qū)逆I盤上輸入的一串字符中的小寫字母變成大寫輸出/*printstringasuppercase*/#include<stdio.h>#defineSIZE80voidputupper(charch);voidmain(){charstr[SIZE];inti;

scanf(“%s”,str);

for(i=0;str[i]!='\0';i++){ putupper(str[i]);}}voidputupper(charch){charcc;

cc=(ch>=‘a(chǎn)’&&ch<=‘z’)?\

ch+'A'-'a':ch);

putchar(cc);}1.3.2C語(yǔ)言程序的結(jié)構(gòu)特點(diǎn)C語(yǔ)言程序的執(zhí)行是從主函數(shù)main()開(kāi)始,主函數(shù)中的所有語(yǔ)句執(zhí)行完畢,則程序執(zhí)行結(jié)束。main()函數(shù)之外的其它函數(shù)都是在執(zhí)行main()函數(shù)時(shí),通過(guò)嵌套調(diào)用而執(zhí)行的,在程序中除了可以調(diào)用用戶自己編制的函數(shù)外,還可以調(diào)用由系統(tǒng)提供的標(biāo)準(zhǔn)函數(shù)。1.3.2C程序基本結(jié)構(gòu)小結(jié)(1)

C程序的組成:一個(gè)C程序可以由若干個(gè)函數(shù)構(gòu)成,其中必須有且只能有一個(gè)以main命名的主函數(shù)。(2)

C函數(shù)的組成:C函數(shù)是一個(gè)獨(dú)立的程序塊,相互不能嵌套。一個(gè)函數(shù)由兩個(gè)部分組成:函數(shù)頭和函數(shù)體。(3)C函數(shù)分類兩類:標(biāo)準(zhǔn)函數(shù)/用戶定義函數(shù)用戶定義函數(shù)是由程序員在自己的源程序中編寫的函數(shù)。標(biāo)準(zhǔn)函數(shù)是由C編譯程序提供的一些通用函數(shù),C標(biāo)準(zhǔn)函數(shù)又稱為C庫(kù)函數(shù)。(4)C標(biāo)準(zhǔn)函數(shù)應(yīng)用用戶程序需要使用標(biāo)準(zhǔn)函數(shù)時(shí),只需要使用前用#include包含該標(biāo)準(zhǔn)函數(shù)所需的系統(tǒng)頭文件即可。1.3.3說(shuō)說(shuō)下面C語(yǔ)言程序的格式和結(jié)構(gòu)特點(diǎn)?編一程序?qū)逆I盤上輸入的一串字符中的小寫字母變成大寫輸出/*printstringasuppercase*/#include<stdio.h>#defineSIZE80voidputupper(charch);voidmain(){charstr[SIZE];inti;

scanf(“%s”,str);

for(i=0;str[i]!='\0';i++){ putupper(str[i]);}}voidputupper(charch){charcc;cc=(ch>='a'&&ch<='z')?ch+'A'-'a':ch);putchar(cc);}1.3.4C語(yǔ)言的基本語(yǔ)法單位1.4

1)標(biāo)識(shí)符2)關(guān)鍵字3)分隔符與注釋符

標(biāo)識(shí)符標(biāo)識(shí)符:在高級(jí)語(yǔ)言程序中由用戶(即程序員)或編譯程序(有時(shí)稱系統(tǒng))定義的常量、變量、自定義的數(shù)據(jù)類型、函數(shù)、過(guò)程和程序等的名字。標(biāo)識(shí)符的組成規(guī)則:由字母(A~Z,a~z)、下劃線_和數(shù)字(0~9)組成,其第一個(gè)字符為字母或下劃線_。字母區(qū)分大小寫。標(biāo)識(shí)符的有效長(zhǎng)度:能夠被編譯程序識(shí)別的標(biāo)識(shí)符的字符的數(shù)目稱為標(biāo)識(shí)符的有效長(zhǎng)度。標(biāo)準(zhǔn)C規(guī)定標(biāo)識(shí)符的有效長(zhǎng)度為31(DOS環(huán)境下)。1.4.1關(guān)鍵字關(guān)鍵字由固定的小寫字母組成,是系統(tǒng)預(yù)定的名字,用于表示C語(yǔ)言的語(yǔ)句,數(shù)據(jù)類型、存儲(chǔ)類型或運(yùn)算符。關(guān)鍵字又稱為保留字。標(biāo)準(zhǔn)C定義的32個(gè)關(guān)鍵字如下:autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifIntlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunionunsignedvoidvolatilewhile1.4.2分隔符與注釋符分隔符:包括空格符、制表符、換行符、換頁(yè)符。程序中兩個(gè)相鄰的標(biāo)識(shí)符、關(guān)鍵字和常量之間必須用分隔符分開(kāi)(通常用空格符)。注釋符:1./*……*/2.//(Borlandc++3.1中,注釋符可用//引導(dǎo))1.4.3嘗試看懂一個(gè)小程序如下的一個(gè)簡(jiǎn)單C語(yǔ)言程序的細(xì)節(jié)你能看懂嗎?//圓柱體體積計(jì)算程序:#include<stdio.h>/*包含頭文件*/

voidmain(){intr,h;/*定義變量r和h,分別表示半徑和高*/

floatv;/*定義變量v表示體積*/scanf(“%d%d”,&r,&h);//輸入半徑r和高h(yuǎn)的值

v=3.14159*r*r*h;//計(jì)算體積printf(“v=%f\n”,v);//輸出

}有些東西看不懂沒(méi)關(guān)系,我們進(jìn)入下面的學(xué)習(xí)。。。1.4.4簡(jiǎn)單的輸入與輸出1.5一個(gè)完整的計(jì)算機(jī)程序,常常要求具備輸入輸出功能。C語(yǔ)言程序的輸入輸出功能是通過(guò)調(diào)用系統(tǒng)提供的標(biāo)準(zhǔn)函數(shù)實(shí)現(xiàn)的。幾個(gè)常用的C語(yǔ)言輸入輸出函數(shù):printf函數(shù)scanf函數(shù)

getchar函數(shù)

putchar函數(shù)格式化輸出printf函數(shù)一般使用形式如下:

printf(“輸出格式”,輸出項(xiàng)系列);常用輸出格式轉(zhuǎn)換說(shuō)明符:

%d

十進(jìn)制整數(shù)

%x

十六進(jìn)制整數(shù)

%f

浮點(diǎn)小數(shù)(實(shí)數(shù))

%c

單一字符

%s

字符串如:printf(“v=%f\n”,v);把輸出項(xiàng)v的值按%f規(guī)定的浮點(diǎn)小數(shù)形式輸出。

如:printf(“h=%d\n”,h);把輸出項(xiàng)h的值按%d規(guī)定的十進(jìn)制整數(shù)形式輸出。1.5.1printf函數(shù)輸出格式中除轉(zhuǎn)換說(shuō)明符以外的其它字符都原封不動(dòng)地輸出到標(biāo)準(zhǔn)輸出設(shè)備。其中以’\’打頭后跟一個(gè)字母或數(shù)字的部分稱為換碼序列(轉(zhuǎn)義字符)。字符類型字符表示字符含義ASCII碼值“\ddd”表示“\xhh”表示部分轉(zhuǎn)義字符‘\n’回車換行10\012\x0A‘\t’制表符9\011\x09‘\f’走紙換頁(yè)12\014\x0C‘\0’空字符0\000\x00‘\b’退格8\010\x08‘\r’回車13\015\x0D1.5.1printf函數(shù)多項(xiàng)輸出使用例要求輸出格式中的轉(zhuǎn)換說(shuō)明符與輸出項(xiàng)的個(gè)數(shù)必須相同。它們按各自的先后順序一一對(duì)應(yīng)。如:printf("….%d…%x…%f…",a,b,c);1.5.1格式化輸入scanf函數(shù)其一般使用形式如下:

scanf("輸入格式",輸入項(xiàng)系列);輸入格式中一般只使用轉(zhuǎn)換說(shuō)明符,否則容易出錯(cuò)。輸入項(xiàng)必須是地址量,(變量名前加上&表示變量的地址)。1)常規(guī)輸入例:scanf("%d",&a);

輸入10結(jié)果:a=102)輸入中有分隔符例:

scanf("%d:%d",&a,&b);

輸入3:5結(jié)果:

a=3,b=53)輸入長(zhǎng)度給定例:

scanf(%4d%2d%2d”,&a,&b,&c);

假設(shè)輸入序列為:20160125

結(jié)果:a=2016,b=01,c=25輸入數(shù)據(jù)時(shí),遇到下列情況時(shí)該數(shù)據(jù)認(rèn)為結(jié)束

a.遇空格、回車或者tab鍵 b.遇寬度結(jié)束,如“%3d”只取輸入項(xiàng)前三列。1.5.2字符輸入getchar函數(shù)

getchar函數(shù)的功能是從鍵盤讀入一個(gè)字節(jié)的代碼值。在程序中必須用一個(gè)對(duì)應(yīng)的變量接收讀取的代碼值,如下所示:

c=getchar();

執(zhí)行上面的語(yǔ)句時(shí),變量c就得到了讀取的代碼值。1.5.3字符輸出putchar函數(shù)putchar函數(shù)的功能是把一字

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論