第一章C語言基礎(chǔ)知識培訓(xùn)課件_第1頁
第一章C語言基礎(chǔ)知識培訓(xùn)課件_第2頁
第一章C語言基礎(chǔ)知識培訓(xùn)課件_第3頁
第一章C語言基礎(chǔ)知識培訓(xùn)課件_第4頁
第一章C語言基礎(chǔ)知識培訓(xùn)課件_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第一章C語言基礎(chǔ)知識第一節(jié)C語言的基本格式一、一個簡單的C語言程序例1:計算兩個整數(shù)之和第1行:#include“stdio.h”第2行:main()/*主函數(shù)*/第3行:{第4行:inta,b,sum;/*變量說明*/第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);/*把計算結(jié)果輸出到用戶屏幕上*/第9行}函數(shù)功能:求兩數(shù)之和程序說明:第1行是表示包含一個頭文件。第2行:main是函數(shù)名,表示是主函數(shù),每個C程序都必須有一個主函數(shù),也只能有一個主函數(shù)。主函數(shù)具體寫法為:main(){/*此處寫函數(shù)的具體執(zhí)行語句*/}第3行和第9行:一對大括號{}之間的內(nèi)容是函數(shù)的具體內(nèi)容。第4行:int是英語“整數(shù)(integer)”的簡寫。a,b,sum是變量第5行的意思是讓變量a的值為10.第6行的意思是讓變量b的值為20第7行表示把變量a加上變量b的和賦值給變量sum.第8行是將計算的結(jié)果輸出到屏幕上。2、C語言函數(shù)可以分為兩大部分:定義部分和執(zhí)行部分,定義部分應(yīng)在執(zhí)行部分的前面,當(dāng)然兩個部分都不是必須的。例3:main(){inta=0,b=0;a=10;/*給a賦值b=20;給b賦值*/printf(“a+b=%d\n”,a+b);}定義部分執(zhí)行部分例4:main(){ printf(“Hello,spels!”);} 此例中只有執(zhí)行部分,沒有定義部分執(zhí)行部分3、C程序中變量必須先定義,后使用。4、C程序中語句后必須有一個分號。5、C程序書寫格式自由。一般一條語句寫一行,采用縮進(jìn)格式main(){ inta=0,b=0;a=10;b=20; printf(“a+b=%d\n”,a+b);}6、C程序的書寫是區(qū)分大小寫的。如main和Main是不一樣的。一、標(biāo)識符1、命名規(guī)則(1)標(biāo)識符只能由字母、數(shù)字、下劃線組成。(2)標(biāo)識符的第一個字符必須是字母或下劃線。(3)標(biāo)識符是區(qū)分大小寫的。 如:Abc和abc是不同的例5:判斷下列標(biāo)識符是否合法axsum3ss3spelsyes?yes-no_to123_123@r第二節(jié)標(biāo)識符、常量與變量2、標(biāo)識符的分類(1)關(guān)鍵字:見書附錄二。 如:int,float,char,double(2)預(yù)定義標(biāo)識符 主要有各種函數(shù)名稱和編譯預(yù)處理命令如:printfsinscanfdefineinclude(3)用戶自定義標(biāo)識符:由用戶根據(jù)需要定義的標(biāo)識符,主要用于變量和自定義函數(shù)的命名。 要求:不能和關(guān)鍵字相同,也盡量不要和預(yù)定義標(biāo)識符相同。

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

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

2、符號常量例8:計算圓面積的C語言程序#definePI3.14159main(){floatr,area;r=12.5;area=PI*r*r;/*等價于:area=3.14159*r*r;*/printf(“area=%f\n”,area);}注:習(xí)慣上符號常量一般用大寫字母書寫,以區(qū)別于變量名(變量名一般用小寫字母書寫)。三、變量變量:就是在程序運(yùn)行過程中其值可以改變的量。例9:變量的應(yīng)用#include“stdio.h”main(){inta=10,b=20,c;a=30;b=40;c=a+b;printf(“c=%d\n”,c);}例10:下列定義變量的語句中錯誤的是____A)int_int;B)doubleint_;C)charFOR;D)floatUS$;分析:選項(xiàng)D中變量名不符標(biāo)識符的定義要求D第三節(jié)整型數(shù)據(jù)一、數(shù)制轉(zhuǎn)換數(shù)制說明十進(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)十六例:二、八、十、十六進(jìn)制數(shù)大小對照表十進(jìn)制01234567二進(jìn)制011011100101110111八進(jìn)制01234567十六進(jìn)制01234567十進(jìn)制89101112131415二進(jìn)制10001001101010111100110111101111八進(jìn)制1011121314151617十六進(jìn)制89ABCDEF表示形式如120D,10111B,347Q,AB9H或(120)10,(10111)2,(347)8,(AB9)161、將十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制規(guī)則:除2取余例:(45)10=()22、將十進(jìn)制數(shù)轉(zhuǎn)換成八進(jìn)制、規(guī)則:除8取余例:(45)10=()8101101553、將十進(jìn)制數(shù)轉(zhuǎn)換成十六進(jìn)制規(guī)則:除16取余例:(45)10=()16練習(xí):請計算100轉(zhuǎn)換成二進(jìn)制,八進(jìn)制,十六進(jìn)制分別是多少?(100)10=()2(100)10=()8(100)10=()162D1100100144644、二進(jìn)制、八進(jìn)制、十六進(jìn)制轉(zhuǎn)十進(jìn)制規(guī)則:按權(quán)展開例:(1011011)2=()10(123)8=()10(12B)16=()10練習(xí):(11101)2=()10

(37)8=()10(AF)16=()10918329929311755、二進(jìn)制與八進(jìn)制、十六進(jìn)制的轉(zhuǎn)換方法:二進(jìn)制與八進(jìn)制轉(zhuǎn)換是三位對應(yīng)一位二進(jìn)制與十六進(jìn)制轉(zhuǎn)換是四位對應(yīng)一位(13)8=()2(E3)16=()2(1001101)2=()8(1001101)2=()16練習(xí):(24)8=()2(8D)16=()2(111011101)2=()8(111011101)2=()161011111000111154D010100100011017351DD二、整型常量1、十進(jìn)制常量,如:0,129,-232、八進(jìn)制常量以數(shù)字0開頭,如:0127,0343、十六進(jìn)制常量以0x或0X開頭,如:0x23,0xAF注:C語言中不能直接表示二進(jìn)制數(shù)常量例10:以下選項(xiàng)中可作為C語言合法整數(shù)的是____A)10110BB)0386C)0XffaD)x2a2例11:不合法的十六進(jìn)制整數(shù)是_____A)0x16B)0XabcC)0x15D)oXF123CD例12:以下程序運(yùn)行后的輸出結(jié)果是()main(){intx=0210;printf(“%X\n”,x);}說明:%X表示按十六進(jìn)制數(shù)的形式輸出結(jié)果輸出結(jié)果:88三、整型變量整型變量分為數(shù)據(jù)類型關(guān)鍵字占用的字節(jié)數(shù)數(shù)值范圍基本整型[signed]int4-214783648~214783647短整型[signed]short[int]2-32768~32767長整型[signed]long[int]4-214783648~214783647無符號整型unsigned[int]40~4292967295無符號短整型unsignedshort[int]20~65535無符號長整型unsignedlong[int]40~4292967295不同類型的整型數(shù)在內(nèi)存中所占用的字節(jié)數(shù)和數(shù)值范圍四、整數(shù)在內(nèi)存中的存儲形式1.有符號正整數(shù)有符號正整數(shù)的存儲形式稱為”原碼”例:正整數(shù)10,在內(nèi)存中的二進(jìn)制為:(短整數(shù))15141312111098765432100000000000001010符號位:0表示正,1表示負(fù)最小正整數(shù)(十進(jìn)制數(shù)是1)00000000000000000000000000000001最大正整數(shù)是:(十進(jìn)制是231-1=214783647)011111111111111111111111111111112.負(fù)整數(shù)C語言中,負(fù)整數(shù)以”補(bǔ)碼”形式存放.例:求-6的在內(nèi)存中的存儲形式(1)求正整數(shù)6在內(nèi)存中存放的原碼為”0000000000000110”(2)求原碼的反碼:即將原碼中的”0”變”1”,”1”變”0”,由此可得反碼:1111111111111001(3)將反碼加1,就可得-6的補(bǔ)碼為:1111111111111010練習(xí):求-10的補(bǔ)碼

-10的補(bǔ)碼是1111111111110110例:已知補(bǔ)碼求真值已知補(bǔ)碼1111111111111101,求真值方法:(1).將補(bǔ)碼各位取反(2)將得到的結(jié)果加1(3)將得到的二進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù)(4).根據(jù)補(bǔ)碼的最高位判斷整數(shù)的正負(fù).結(jié)果為:-3注:四個字節(jié)(32位)存放的最小整數(shù)為10000000000000000000000000000000(十進(jìn)制為-214783648)3.無符號整數(shù)3130……210……數(shù)值位最大的無符號整數(shù)是11111111111111111111111111111111(十進(jìn)制數(shù)是232-1=4292967295)和-1的補(bǔ)碼在內(nèi)存中的存放形式一致例:有以下程序main(){unsignedinta;intb=-1;a=b;printf(“%u”,a);/*%u表示按無符號數(shù)格式輸出*/}程序運(yùn)行結(jié)果是____A)-1B)4292967295C)32767D)-32768B第四節(jié)實(shí)型數(shù)據(jù)一、實(shí)型常量在C語言中,實(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都是不正確的。例:以下選項(xiàng)中合法的實(shí)型常數(shù)是_____A)5E2.0B)E-3C).2E0D)1.3E例:以下選項(xiàng)中,不能作為合法常量的是____A)1.234e04B)1.234e0.4C)1.234e+4D)1.234e0CB二、實(shí)型變量C語言中,實(shí)型變量分為單精度(float)和雙精度(double)兩種。定義形式如下:floatx,y,z;doublea,b,c;數(shù)據(jù)類型關(guān)鍵字占用的字節(jié)數(shù)取值范圍有效數(shù)字單精度float4-1038~10387雙精度double8-10308~1030815~16第五節(jié)算術(shù)運(yùn)算符及表達(dá)式一、算術(shù)運(yùn)算符和算術(shù)表達(dá)式1、算術(shù)運(yùn)算符與優(yōu)先級次序高低()+-(正負(fù)號)*/%+-(加、減號)同級同級同級單目運(yùn)算雙目運(yùn)算符說明:(1)算術(shù)運(yùn)算符兩邊的運(yùn)算對象類型必須一致才能運(yùn)算,運(yùn)算結(jié)果的類型與運(yùn)算對象類型一致。如:5/2,1/2,2*4(2)如果算術(shù)運(yùn)算符兩邊的運(yùn)算對象類型不一致,則低類型向高類型轉(zhuǎn)換。 類型從高到低(double,float,long,int,short,char)如:5.0/2,2.5*2(3)%兩邊的運(yùn)算對象必須是整數(shù)如:5%2,100%3,3%6,而5.4%2是錯誤的。如果運(yùn)算對象為負(fù)時,運(yùn)算結(jié)果的符號與被除數(shù)相同如:-5%2,5%-22、算術(shù)表達(dá)式就是用算術(shù)運(yùn)算符和圓括號連接起來的式子例:表達(dá)式3.6-5/2+1.2+5%2的值是_____A)4.3B)4.8C)3.3D)3.8二、強(qiáng)制類型轉(zhuǎn)換格式:(類型名)表達(dá)式如:(int)2.36結(jié)果為2(float)5/2結(jié)果為2.5D練習(xí):請計算下列表達(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.52第六節(jié)賦值表達(dá)式一、賦值運(yùn)算符和賦值表達(dá)式賦值運(yùn)算符:=使用格式:變量名=表達(dá)式常見情況說明:x+1=3

x=yx=y=25i=i+1intx;x=1.2;6.floaty;y=3;×注:=的左邊只能是變量例:有以下定義語句:doublea,b;intw;longc;若各變量已正確賦值,則下列選項(xiàng)中正確的表達(dá)式是_____A)a=a+b=b++B)w%((int)a+b)C)(c+w)%(int)aD)w=a%bC二、復(fù)合賦值運(yùn)算復(fù)合賦值運(yùn)算符:+=,-=,*=,/=,%=含義:變量+=表達(dá)式等價于:變量=變量+(表達(dá)式)n+=1等價于表達(dá)式:n=n+(1)n-=2+y等價于表達(dá)式:n=n-(2+y)n*=m+1等價于表達(dá)式:n=n*(m+1)n/=10-m*2等價于表達(dá)式:n=n/(10-m*2)例:已知變量n的初始值為8, 計算表達(dá)式n+=n*=n-2注:計算方向從右向左(右結(jié)合性)練習(xí):已知inta=3,b=4;請計算:a+=a-=ba*=b+1a*=a/=b-2三、自加與自減運(yùn)算符運(yùn)算符:++,--如:i++,++i,x--,--yi++,++i相當(dāng)于i=i+1i--,--i相當(dāng)于i=i-1說明:1.增量運(yùn)算的運(yùn)算對象只能為變量,不能是

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論