C語(yǔ)言基礎(chǔ)知識(shí)_第1頁(yè)
C語(yǔ)言基礎(chǔ)知識(shí)_第2頁(yè)
C語(yǔ)言基礎(chǔ)知識(shí)_第3頁(yè)
C語(yǔ)言基礎(chǔ)知識(shí)_第4頁(yè)
C語(yǔ)言基礎(chǔ)知識(shí)_第5頁(yè)
已閱讀5頁(yè),還剩38頁(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ǔ)言基礎(chǔ)知識(shí)

2021/6/281第一節(jié)C語(yǔ)言的基本格式一、一個(gè)簡(jiǎn)單的C語(yǔ)言程序例1:計(jì)算兩個(gè)整數(shù)之和第1行:#include“stdio.h”第2行:main()/*主函數(shù)*/第3行:{第4行:inta,b,sum;/*變量說(shuō)明*/第5行:a=10;/*把整數(shù)10賦值給變量a*/第6行:b=20;/*把整數(shù)20賦值給變量b*/第7行:sum=a+b;/*把兩數(shù)之和賦值給變量sum*/第8行:printf(“a=%d,b=%d,sum=%d\n”,a,b,sum);/*把計(jì)算結(jié)果輸出到用戶屏幕上*/第9行}函數(shù)功能:求兩數(shù)之和2021/6/282程序說(shuō)明:第1行是表示包含一個(gè)頭文件。第2行:main是函數(shù)名,表示是主函數(shù),每個(gè)C程序都必須有一個(gè)主函數(shù),也只能有一個(gè)主函數(shù)。主函數(shù)具體寫(xiě)法為:

main(){/*此處寫(xiě)函數(shù)的具體執(zhí)行語(yǔ)句*/}第3行和第9行:一對(duì)大括號(hào){}之間的內(nèi)容是函數(shù)的具體內(nèi)容。第4行:int是英語(yǔ)“整數(shù)(integer)”的簡(jiǎn)寫(xiě)。

a,b,sum是變量2021/6/283第5行的意思是讓變量a的值為10.第6行的意思是讓變量b的值為20第7行表示把變量a加上變量b的和賦值給變量sum.第8行是將計(jì)算的結(jié)果輸出到屏幕上。2021/6/284其它說(shuō)明:1、程序中的注釋?zhuān)?/p>

C語(yǔ)言程序用/*開(kāi)頭,用*/結(jié)尾表示程序的注釋例2:

main(){inta=0,b=0;a=10;/*給a賦值

b=20;給b賦值*/printf(“a+b=%d\n”,a+b);}輸出結(jié)果:a+b=302021/6/2852、C語(yǔ)言函數(shù)可以分為兩大部分:定義部分和執(zhí)行部分,定義部分應(yīng)在執(zhí)行部分的前面,當(dāng)然兩個(gè)部分都不是必須的。例3:main(){inta=0,b=0;a=10;/*給a賦值

b=20;給b賦值*/printf(“a+b=%d\n”,a+b);}定義部分執(zhí)行部分2021/6/286例4:

main(){ printf(“Hello,spels!”);}

此例中只有執(zhí)行部分,沒(méi)有定義部分執(zhí)行部分2021/6/2873、C程序中變量必須先定義,后使用。4、C程序中語(yǔ)句后必須有一個(gè)分號(hào)。5、C程序書(shū)寫(xiě)格式自由。一般一條語(yǔ)句寫(xiě)一行,采用縮進(jìn)格式main(){ inta=0,b=0;a=10;b=20; printf(“a+b=%d\n”,a+b);}6、C程序的書(shū)寫(xiě)是區(qū)分大小寫(xiě)的。如main和Main是不一樣的。2021/6/288一、標(biāo)識(shí)符1、命名規(guī)則(1)標(biāo)識(shí)符只能由字母、數(shù)字、下劃線組成。(2)標(biāo)識(shí)符的第一個(gè)字符必須是字母或下劃線。(3)標(biāo)識(shí)符是區(qū)分大小寫(xiě)的。 如:Abc和abc是不同的例5:判斷下列標(biāo)識(shí)符是否合法

axsum3ss3spelsyes?yes-no_to123_123@r第二節(jié)標(biāo)識(shí)符、常量與變量2021/6/2892、標(biāo)識(shí)符的分類(lèi)(1)關(guān)鍵字:見(jiàn)書(shū)附錄二。 如:int,float,char,double

(2)預(yù)定義標(biāo)識(shí)符 主要有各種函數(shù)名稱(chēng)和編譯預(yù)處理命令如:printfsinscanfdefineinclude

(3)用戶自定義標(biāo)識(shí)符:由用戶根據(jù)需要定義的標(biāo)識(shí)符,主要用于變量和自定義函數(shù)的命名。 要求:不能和關(guān)鍵字相同,也盡量不要和預(yù)定義標(biāo)識(shí)符相同。

2021/6/2810例6:以下不能定義為用戶標(biāo)識(shí)符的是()

A)scanfB)VoidC)_3com_D)int分析:int是關(guān)鍵字,scanf是系統(tǒng)關(guān)鍵字例7:以下不合法的用戶標(biāo)符是()A)j2_KEYB)DoubleC)4dD)_8_分析:標(biāo)識(shí)符不能以數(shù)字開(kāi)頭A,DC2021/6/2811二、常量常量:是指在程序執(zhí)行過(guò)程中其值保持不變的量1、普通常量整型常量 如:323100實(shí)型常量 如:12.32.71828字符常量 如:‘a(chǎn)’‘?’(特征:?jiǎn)我?hào))字符串常量 如:“abcd”(特征:雙引號(hào))

2021/6/28122、符號(hào)常量例8:計(jì)算圓面積的C語(yǔ)言程序#include<stidio.h>#definePI3.14159main(){floatr,area;r=12.5;area=PI*r*r;/*等價(jià)于:area=3.14159*r*r;*/printf(“area=%f\n”,area);}注:習(xí)慣上符號(hào)常量一般用大寫(xiě)字母書(shū)寫(xiě),以區(qū)別于變量名(變量名一般用小寫(xiě)字母書(shū)寫(xiě))。2021/6/2813三、變量變量:就是在程序運(yùn)行過(guò)程中其值可以改變的量。例9:變量的應(yīng)用#include“stdio.h”main(){inta=10,b=20,c;a=30;b=40;c=a+b;printf(“c=%d\n”,c);}2021/6/2814例10:下列定義變量的語(yǔ)句中錯(cuò)誤的是____A)int_int;B)doubleint_;C)charFOR;D)floatUS$;分析:選項(xiàng)D中變量名不符標(biāo)識(shí)符的定義要求D2021/6/2815第三節(jié)整型數(shù)據(jù)一、數(shù)制轉(zhuǎn)換數(shù)制說(shuō)明十進(jìn)制:數(shù)碼有0,1,2,……9,運(yùn)算規(guī)則為加法逢十進(jìn)一,減法借一當(dāng)十二進(jìn)制:數(shù)碼有0,1,運(yùn)算規(guī)則為加法逢二進(jìn)一,減法借一當(dāng)二八進(jìn)制:數(shù)碼有0,1,2……7,運(yùn)算規(guī)則為加法逢八進(jìn)一,減法借一當(dāng)八十六進(jìn)制:數(shù)碼有0,1,2……9,A,B,C,D,E,F,運(yùn)算規(guī)則為加法逢十六進(jìn)一,減法借一當(dāng)十六2021/6/2816例:二、八、十、十六進(jìn)制數(shù)大小對(duì)照表十進(jìn)制01234567二進(jìn)制011011100101110111八進(jìn)制01234567十六進(jìn)制01234567十進(jìn)制89101112131415二進(jìn)制10001001101010111100110111101111八進(jìn)制1011121314151617十六進(jìn)制89ABCDEF2021/6/2817二、整型常量1、十進(jìn)制常量,如:0,129,-232、八進(jìn)制常量以數(shù)字0開(kāi)頭,如:0127,0343、十六進(jìn)制常量以0x或0X開(kāi)頭,如:0x23,0xAF注:C語(yǔ)言中不能直接表示二進(jìn)制數(shù)常量例10:以下選項(xiàng)中可作為C語(yǔ)言合法整數(shù)的是____A)10110BB)0386C)0XffaD)x2a2例11:不合法的十六進(jìn)制整數(shù)是_____A)0x16B)0XabcC)0x15D)oXF123CD2021/6/2818例12:以下程序運(yùn)行后的輸出結(jié)果是()main(){intx=0210;printf(“%X\n”,x);}說(shuō)明:%X表示按十六進(jìn)制數(shù)的形式輸出結(jié)果輸出結(jié)果:882021/6/2819三、整型變量整型變量分為2021/6/2820數(shù)據(jù)類(lèi)型關(guān)鍵字占用的字節(jié)數(shù)數(shù)值范圍基本整型[signed]int4-214783648~214783647短整型[signed]short[int]2-32768~32767長(zhǎng)整型[signed]long[int]4-214783648~214783647無(wú)符號(hào)整型unsigned[int]40~4292967295無(wú)符號(hào)短整型unsignedshort[int]20~65535無(wú)符號(hào)長(zhǎng)整型unsignedlong[int]40~4292967295不同類(lèi)型的整型數(shù)在內(nèi)存中所占用的字節(jié)數(shù)和數(shù)值范圍2021/6/2821四、整數(shù)在內(nèi)存中的存儲(chǔ)形式1.有符號(hào)正整數(shù)有符號(hào)正整數(shù)的存儲(chǔ)形式稱(chēng)為”原碼”例:正整數(shù)10,在內(nèi)存中的二進(jìn)制為:(短整數(shù))15141312111098765432100000000000001010符號(hào)位:0表示正,1表示負(fù)最小正整數(shù)(十進(jìn)制數(shù)是1)00000000000000000000000000000001最大正整數(shù)是:(十進(jìn)制是231-1=214783647)011111111111111111111111111111112021/6/28222.負(fù)整數(shù)C語(yǔ)言中,負(fù)整數(shù)以”補(bǔ)碼”形式存放.例:求-6的在內(nèi)存中的存儲(chǔ)形式(1)求正整數(shù)6在內(nèi)存中存放的原碼為”0000000000000110”(2)求原碼的反碼:即將原碼中的”0”變”1”,”1”變”0”,由此可得反碼:1111111111111001(3)將反碼加1,就可得-6的補(bǔ)碼為:1111111111111010練習(xí):求-10的補(bǔ)碼

-10的補(bǔ)碼是11111111111101102021/6/28233.無(wú)符號(hào)整數(shù)3130……210……數(shù)值位最大的無(wú)符號(hào)整數(shù)是11111111111111111111111111111111(十進(jìn)制數(shù)是232-1=4292967295)和-1的補(bǔ)碼在內(nèi)存中的存放形式一致2021/6/2824例:有以下程序main(){unsignedinta;intb=-1;a=b;printf(“%u”,a);/*%u表示按無(wú)符號(hào)數(shù)格式輸出*/}程序運(yùn)行結(jié)果是____A)-1B)4292967295C)32767D)-32768B2021/6/2825第四節(jié)實(shí)型數(shù)據(jù)一、實(shí)型常量在C語(yǔ)言中,實(shí)型常量有兩種表示形式:小數(shù)形式和指數(shù)形式。(1)小數(shù)形式如:3.141590.15812.0.0.36-18.0(2)指數(shù)形式

1e5(表示數(shù)值1×105)

1.25E+4(表示數(shù)值1.25×104)

2.0E-3(表示數(shù)值2.0×10-3)注意:指數(shù)形式實(shí)型常量要求E的前面要有數(shù),E的后面是整數(shù)如:e51.25E2.0E1.3都是不正確的。2021/6/2826例:以下選項(xiàng)中合法的實(shí)型常數(shù)是_____A)5E2.0B)E-3C).2E0D)1.3E例:以下選項(xiàng)中,不能作為合法常量的是____A)1.234e04B)1.234e0.4C)1.234e+4D)1.234e0CB2021/6/2827二、實(shí)型變量C語(yǔ)言中,實(shí)型變量分為單精度(float)和雙精度(double)兩種。定義形式如下:

floatx,y,z;doublea,b,c;數(shù)據(jù)類(lèi)型關(guān)鍵字占用的字節(jié)數(shù)取值范圍有效數(shù)字單精度f(wàn)loat4-1038~10387雙精度double8-10308~1030815~162021/6/2828第五節(jié)算術(shù)運(yùn)算符及表達(dá)式一、算術(shù)運(yùn)算符和算術(shù)表達(dá)式1、算術(shù)運(yùn)算符與優(yōu)先級(jí)次序

高低()+-(正負(fù)號(hào))*/%+-(加、減號(hào))同級(jí)同級(jí)同級(jí)單目運(yùn)算雙目運(yùn)算符2021/6/2829說(shuō)明:(1)算術(shù)運(yùn)算符兩邊的運(yùn)算對(duì)象類(lèi)型必須一致才能運(yùn)算,運(yùn)算結(jié)果的類(lèi)型與運(yùn)算對(duì)象類(lèi)型一致。如:5/2,1/2,2*4

(2)如果算術(shù)運(yùn)算符兩邊的運(yùn)算對(duì)象類(lèi)型不一致,則低類(lèi)型向高類(lèi)型轉(zhuǎn)換。 類(lèi)型從高到低(double,float,long,int,short,char)

如:5.0/2,2.5*2(3)%兩邊的運(yùn)算對(duì)象必須是整數(shù)如:5%2,100%3,3%6,而5.4%2是錯(cuò)誤的。如果運(yùn)算對(duì)象為負(fù)時(shí),運(yùn)算結(jié)果的符號(hào)與被除數(shù)相同如:-5%2,5%-22021/6/28302、算術(shù)表達(dá)式就是用算術(shù)運(yùn)算符和圓括號(hào)連接起來(lái)的式子例:表達(dá)式3.6-5/2+1.2+5%2的值是_____A)4.3B)4.8C)3.3D)3.8二、強(qiáng)制類(lèi)型轉(zhuǎn)換格式:(類(lèi)型名)表達(dá)式如:(int)2.36結(jié)果為2(float)5/2結(jié)果為2.5D2021/6/2831練習(xí):請(qǐng)計(jì)算下列表達(dá)式的值已知:inta=5,b=25,x=5;(1).a+b%4*(int)(2.5/0.7)(2).(float)(a+2)/2+a%b(3).(b-a)%6+a/b88.522021/6/2832第六節(jié)賦值表達(dá)式一、賦值運(yùn)算符和賦值表達(dá)式賦值運(yùn)算符:=使用格式:變量名=表達(dá)式常見(jiàn)情況說(shuō)明:x+1=3

x=yx=y=25i=i+1intx;x=1.2;6.floaty;y=3;×注:=的左邊只能是變量2021/6/2833例:有以下定義語(yǔ)句:doublea,b;intw;longc;若各變量已正確賦值,則下列選項(xiàng)中正確的表達(dá)式是_____A)a=a+b=b++B)w%((int)a+b)C)(c+w)%(int)aD)w=a%bC2021/6/2834二、復(fù)合賦值運(yùn)算復(fù)合賦值運(yùn)算符:+=,-=,*=,/=,%=含義:變量+=表達(dá)式等價(jià)于:變量=變量+(表達(dá)式)n+=1等價(jià)于表達(dá)式:n=n+(1)n-=2+y等價(jià)于表達(dá)式:n=n-(2+y)n*=m+1等價(jià)于表達(dá)式:n=n*(m+1)n/=10-m*2等價(jià)于表達(dá)式:n=n/(10-m*2)2021/6/2835例:已知變量n的初始值為8, 計(jì)算表達(dá)式n+=n*=n-2注:計(jì)算方向從右向左(右結(jié)合性)練習(xí):已知inta=3,b=4;請(qǐng)計(jì)算:a+=a-=ba*=b+1a*=a/=b-22021/6/2836三、自加與自減運(yùn)算符運(yùn)算符:++,--如:i++,++i,x--,--yi++,++i相當(dāng)于i=i+1i--,--i相當(dāng)于i=i-1說(shuō)明:1.增量運(yùn)算的運(yùn)算對(duì)象只能為變量,不能是常量或是表達(dá)式2.自加、自減運(yùn)算符的結(jié)合方向是“從右到左”,如-i++.3.前綴算運(yùn)符(如++i,--x),先進(jìn)行自增或自減,再參與其它運(yùn)算,后綴算運(yùn)符(i++,x--)先參與其它運(yùn)算再自增或自減2021/6/2837如:設(shè)i

溫馨提示

  • 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)論