計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)第1章C 語言基本語法元素_第1頁
計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)第1章C 語言基本語法元素_第2頁
計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)第1章C 語言基本語法元素_第3頁
計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)第1章C 語言基本語法元素_第4頁
計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)第1章C 語言基本語法元素_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)第1章C語言基本語法元素1.1數(shù)據(jù)類型1.2量與表達(dá)式1.3語句1.4基本輸入輸出函數(shù)1.5程序設(shè)計(jì)風(fēng)格第1章

C

語言基本語法元素1.1整數(shù)類型浮點(diǎn)數(shù)類型字符串類型數(shù)據(jù)類型整數(shù)類型分類(1)基本型:以int

表示。(2)短整型:以shortint

或short表示。(3)長整型:以longint

或long表示。(4)無符號(hào)型:存貯單元中全部二進(jìn)制位用作存放數(shù)本身,不包括符號(hào)。無符號(hào)數(shù)整型:unsigned[int]短整型:unsignedshort[int]長整型:unsignedlong[int]注意:整數(shù)運(yùn)算的溢出問題類型占字節(jié)數(shù)表數(shù)范圍int4B-231~231-1long4B-231~231-1short2B-215~215-1unsignedint4B0~232-1unsignedlong4B0~232-1unsignedshort2B0~216-1一、分類float:單精度浮點(diǎn)數(shù)、4B、7位有效數(shù)字double:雙精度浮點(diǎn)數(shù)、8B、16位有效數(shù)字注意:浮點(diǎn)數(shù)存儲(chǔ)是有誤差的。二、浮點(diǎn)數(shù)應(yīng)用舉例例1.編寫程序,計(jì)算用戶輸入的兩個(gè)浮點(diǎn)數(shù)之和浮點(diǎn)數(shù)類型一、字符串類型名STRING

注意:該類型名是由本書作者自定義的。二、字符串類型應(yīng)用舉例例2.接受用戶輸入的用戶名,向用戶問好。工程項(xiàng)目的設(shè)置步驟:(1)創(chuàng)建新工程(2)將文件“zylib.h”與“zylib.c”拷貝到程序目錄下(3)在工程項(xiàng)目中添加“zylib.c”文件(4)在程序代碼中使用雙引號(hào)包含頭文件“zylib.h”字符串類型文字與常量變量表達(dá)式賦值與初始化混合運(yùn)算與類型轉(zhuǎn)換1.2量與表達(dá)式一、什么是文字程序中顯示出現(xiàn)的數(shù)據(jù)值。例:100

3.14、

“Hello”等二、整數(shù)類型文字三、浮點(diǎn)型文字四、字符串文字文字一、什么是常量程序執(zhí)行期間其值不可改變的量。二、常量定義格式const數(shù)據(jù)類型常量名稱=初始值;例:constintzero=0;注意:定義常量時(shí)必須進(jìn)行初始化!

常量constintzero;

×三、常量與文字區(qū)別常量可以尋址:&zero(1)十進(jìn)制表示:例:55、-32(2)十六進(jìn)制表示:以“0x”或“0X”開頭的0~9、A/a~F/f

序列例:0x55、0X1F、0x2a(3)八進(jìn)制表示:以“0”開頭的0~7序列例:055注意:不要與十進(jìn)制混淆!整數(shù)類型文字表示方式:(1)一般形式由數(shù)字、小數(shù)點(diǎn)和正負(fù)號(hào)組成例:314.16、.23、-2.(2)指數(shù)形式(科學(xué)計(jì)數(shù)法)由尾數(shù)部分、字符E與指數(shù)部分組成例:314.16e-2、–1.718E2浮點(diǎn)型文字314.1610-2-1.718102注意:e或E前必須有尾數(shù),指數(shù)必須是整數(shù)。浮點(diǎn)型文字默認(rèn)為double類型表示方式:字符串文字:用雙引號(hào)引起來的字符序列。例:“A”、“abc\n”、“123”、“”轉(zhuǎn)義字符:以反斜杠開始,后跟一個(gè)或多個(gè)字符例:\n

字符串文字轉(zhuǎn)義序列功能與意義\a響鈴\b退格\f換頁\n換行\(zhòng)r返回到當(dāng)前行首\t水平制表鍵\v垂直制表鍵\0ASCII碼0\\反斜杠字符自身\’單引號(hào)字符(僅在字符常數(shù)中需要使用此方式)\"雙引號(hào)字符(僅在字符串常數(shù)中需要使用此方式)\ddd“ddd”表示八進(jìn)制的該字符ASCII碼值\xhh“hh”表示十六進(jìn)制的字符ASCII碼值,x為十六進(jìn)制標(biāo)志C

語言預(yù)定義的轉(zhuǎn)義序列一、什么是變量程序執(zhí)行期間,值可以發(fā)生變化的量。二、變量定義格式變量類型變量名稱;例:inta;

int

b,c;三、變量的基本特征變量具有類型、名稱、值和地址。注意:(1)變量要先定義,后使用。(2)在同一作用范圍內(nèi),變量不能同名。變量一、定義操作數(shù)與操作符組成的序列二、操作數(shù)文字、常量、變量、函數(shù)調(diào)用三、操作符即運(yùn)算符例:a+1、b=c、++i、2*sqrt(2)、a/(b+c)表達(dá)式一、操作符分類(1)一元操作符:只有單個(gè)操作數(shù),例如負(fù)號(hào)(2)二元操作符:帶有兩個(gè)操作數(shù),例如加減乘除(3)三元操作符:帶有三個(gè)操作數(shù),例如條件運(yùn)算符二、操作符的優(yōu)先級(jí)與結(jié)合性優(yōu)先級(jí)確定計(jì)算順序a-b*c結(jié)合性確定計(jì)算方向操作符左結(jié)合:從左向右結(jié)合右結(jié)合:從右向左結(jié)合注意:優(yōu)先級(jí)相同的情況下,考慮結(jié)合性。三、算術(shù)操作符+、-、*、/、%操作符優(yōu)先級(jí):*、/、%高于+、-結(jié)合性:左結(jié)合注意:(1)%兩側(cè)操作數(shù)是整型例:5%2=0(2)整數(shù)相除結(jié)果是整數(shù)例:5/2=2(3)整數(shù)與浮點(diǎn)數(shù)相除結(jié)果是浮點(diǎn)數(shù)例:5/2.0=2.5四、賦值操作符=變量名=表達(dá)式操作符優(yōu)先級(jí):僅高于,操作符。結(jié)合性:右結(jié)合例:a=1a=a+2a=b=1注意:=左側(cè)只能是變量,不能是表達(dá)式例:a+2=ba=b+c=1都是錯(cuò)誤的賦值表達(dá)式操作符五、復(fù)合賦值操作符+=、-=、*=、/=、%=變量名<復(fù)合賦值操作符>表達(dá)式優(yōu)先級(jí):與=相同。結(jié)合性:右結(jié)合例:a=1a*=a+2a+=a*=a-=3操作符六、自加自減操作符++、--(1)變量名++表達(dá)式的值等于變量的值,變量的值增加1(2)++變量名變量的值增加1,表達(dá)式的值等于變量的值例:a=3a++++aa--

--ab=a++b=++a結(jié)合性:右結(jié)合

注意:++、--只能用于變量,不能用于常量或表達(dá)式。操作符七、逗號(hào)操作符,表達(dá)式1,表達(dá)式2,……表達(dá)式n優(yōu)先級(jí):最低。結(jié)合性:左結(jié)合例:a=b=1a+2,b+3,a+b

a=3+4,a+7,a*3x=a=3,6*ax=(a=3,6*3)

逗號(hào)表達(dá)式一、賦值語句由賦值表達(dá)式加分號(hào)構(gòu)成格式:變量名稱=表達(dá)式;例:a=0;二、變量的初始化在定義變量時(shí)直接設(shè)定初始值例:inta=0;判斷正誤:int

a,b,c;a=b=c=1;

inta=b=c=1;賦值與初始化√×混合運(yùn)算與類型轉(zhuǎn)換一、各類數(shù)值型數(shù)據(jù)間的混合運(yùn)算例:3*5.2+‘A’整型、字符型、浮點(diǎn)型數(shù)據(jù)可以混合運(yùn)算,不同類型的數(shù)據(jù)要先轉(zhuǎn)換成同一類型,然后運(yùn)算。doublefloatlongunsigned

intchar,short高低方向是必定的轉(zhuǎn)換。方向表示操作數(shù)為不同類型時(shí)轉(zhuǎn)換的方向。(1)隱式類型轉(zhuǎn)換

例:inta;doubleg=9.80665;a=g;(2)顯式類型轉(zhuǎn)換格式:(轉(zhuǎn)換后的數(shù)據(jù)類型)(表達(dá)式)例:a=(int)g*4;//a值為4*9=36a=(int)(g*4);//a值為39

a=(int)g%2//a值為1混合運(yùn)算與類型轉(zhuǎn)換二、類型轉(zhuǎn)換一、簡單語句格式:表達(dá)式后加分號(hào)例:sum=a+b;a++;

printf("%d+%d=%d\n",a,b,sum);二、復(fù)合語句格式:花括號(hào)括起來的語句序列三、空語句格式:;目的:滿足程序特定語法規(guī)則的要求;作為未來添加程序代碼的占位標(biāo)記1.3語句四、控制語句1.3語句①if()~else~②for()~③while()~④do~while()⑤continue⑥break⑦switch⑧goto⑨return典型輸入輸出函數(shù)格式化輸出函數(shù)printf格式化輸入函數(shù)scanf1.4基本輸入輸出函數(shù)應(yīng)用舉例:編寫程序,詢問用戶姓名,向用戶問好,然后請(qǐng)求用戶輸入一整數(shù)和一實(shí)數(shù),輸出加法運(yùn)算結(jié)果。一、printf

函數(shù)的格式printf(“輸出格式控制字符串”,輸出項(xiàng)列表);格式化輸出函數(shù)printf例:printf(“Hello.\n");

printf(“Hello,%s.\n”,name);

printf(“a=%d\nb=%d\nsum=%d\n",a,b,a+b);printf(“%d,%f,%s\n”,100,1.23,“good”);①格式碼,由“%”和格式描述符組成。②普通字符。文字、常量、變量、表達(dá)式二、格式碼%d:有符號(hào)十進(jìn)制整數(shù)%o:八進(jìn)制整數(shù)%x:十六進(jìn)制整數(shù)%f:float型浮點(diǎn)小數(shù);%e:float型指數(shù)形式%lf:double型浮點(diǎn)小數(shù);%le:double型指數(shù)形式%s:字符串%u:無符號(hào)十進(jìn)制整數(shù)%c:單個(gè)字符%%:輸出“%”自身格式化輸出函數(shù)printf三、場寬、精度與對(duì)齊%[對(duì)齊標(biāo)志][場寬][.精度]格式描述符(1)對(duì)齊標(biāo)志:確定輸出項(xiàng)左側(cè)還是右側(cè)對(duì)齊(2)場寬:確定輸出項(xiàng)占用多少字符寬度(3)精度:對(duì)于浮點(diǎn)數(shù),表示小數(shù)點(diǎn)后的小數(shù)位數(shù)。格式化輸出函數(shù)printf四、printf函數(shù)示例格式化輸出函數(shù)printf例:編寫程序,按照下列格式輸出截止2005年底的部分省市統(tǒng)計(jì)數(shù)據(jù)。所有數(shù)據(jù)均來自各地政府官方網(wǎng)站,面積僅包括陸域(單位:平方公里),人口僅包括戶籍人口(單位:萬人),其中部分?jǐn)?shù)據(jù)為約數(shù)。格式化輸出函數(shù)printf可以使用zylib

庫中的三個(gè)函數(shù)代替scanf!(1)整數(shù)輸入:a=GetIntegerFromKeyboard()(2)浮點(diǎn)數(shù)輸入:b=GetRealFromKeyboard()(3)字符串輸入:c=GetStringFromKeyboard()格式化輸入函數(shù)scanf一、scanf

函數(shù)的格式scanf(“輸入格式控制字符串”,地址表列);例:scanf(“%d%d”,&a,&b);

scanf(“%d,%d”,&a,&b);

scanf(“a=%d,b=%d”,&a,&b);注釋命名規(guī)范宏定義源代碼的排版1.5程序設(shè)計(jì)風(fēng)格一、注釋的目的增強(qiáng)程序的可讀性、可維護(hù)性二、注釋的格式格式一:/*注釋內(nèi)容*/注釋內(nèi)容可以是多行格式二://注釋內(nèi)容注釋從//開始一直到行尾注釋一、標(biāo)識(shí)符用來表示常量、變量、函數(shù)、類型等的名稱。二、命名規(guī)則以下劃線或字母開頭,由下劃線、字母、數(shù)字組成。注意:標(biāo)識(shí)符區(qū)分大小寫!命名

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論