版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 五年級(jí)上冊(cè)第五單元綜合性學(xué)習(xí)課件
- 2025年廣州貨運(yùn)從業(yè)資格證模擬考試試題
- 2025年陜西從業(yè)資格貨運(yùn)資格考試題庫(kù)及答案
- 2025年南寧年貨運(yùn)資格證考試題
- 2025年十堰貨運(yùn)從業(yè)資格證模擬考試題庫(kù)下載
- 2024實(shí)習(xí)協(xié)議書:房地產(chǎn)企業(yè)實(shí)習(xí)生就業(yè)合同2篇
- 2024年標(biāo)準(zhǔn)裝飾材料銷售協(xié)議樣本版
- 2024全新汽修廠員工培訓(xùn)與職業(yè)晉升服務(wù)全面合作協(xié)議書3篇
- 2024年城市綠地樹木采購(gòu)及病蟲害防治服務(wù)合同范本2篇
- 2024年標(biāo)準(zhǔn)版房屋面積誤差補(bǔ)充協(xié)議模板版B版
- 醫(yī)院?jiǎn)T工手冊(cè)范本
- GB/T 19606-2024家用和類似用途電器噪聲限值
- 靜脈導(dǎo)管常見(jiàn)并發(fā)癥護(hù)理
- Unit 5單元教案2024-2025學(xué)年人教版英語(yǔ)七年級(jí)上冊(cè)
- 《地震產(chǎn)生探究》(教案) 小學(xué)科學(xué)校本課程
- 2024年河南省高考對(duì)口升學(xué)語(yǔ)文英語(yǔ)試題
- 《第2課時(shí) 光合作用與能量轉(zhuǎn)化》參考課件1
- 2023年江蘇常州中考滿分作文《方寸之間天地大》4
- 2024年初三數(shù)學(xué)競(jìng)賽考試試題
- 房地產(chǎn)營(yíng)銷工作排期【倒排計(jì)劃表】
- 某大學(xué)中西醫(yī)臨床(專升本)學(xué)士學(xué)位考試復(fù)習(xí)題
評(píng)論
0/150
提交評(píng)論