![C語言基礎(chǔ)知識(shí)考研復(fù)習(xí)篇市公開課一等獎(jiǎng)省賽課微課金獎(jiǎng)?wù)n件_第1頁](http://file4.renrendoc.com/view2/M00/11/00/wKhkFmYajseATWPdAACCQMNGqhw382.jpg)
![C語言基礎(chǔ)知識(shí)考研復(fù)習(xí)篇市公開課一等獎(jiǎng)省賽課微課金獎(jiǎng)?wù)n件_第2頁](http://file4.renrendoc.com/view2/M00/11/00/wKhkFmYajseATWPdAACCQMNGqhw3822.jpg)
![C語言基礎(chǔ)知識(shí)考研復(fù)習(xí)篇市公開課一等獎(jiǎng)省賽課微課金獎(jiǎng)?wù)n件_第3頁](http://file4.renrendoc.com/view2/M00/11/00/wKhkFmYajseATWPdAACCQMNGqhw3823.jpg)
![C語言基礎(chǔ)知識(shí)考研復(fù)習(xí)篇市公開課一等獎(jiǎng)省賽課微課金獎(jiǎng)?wù)n件_第4頁](http://file4.renrendoc.com/view2/M00/11/00/wKhkFmYajseATWPdAACCQMNGqhw3824.jpg)
![C語言基礎(chǔ)知識(shí)考研復(fù)習(xí)篇市公開課一等獎(jiǎng)省賽課微課金獎(jiǎng)?wù)n件_第5頁](http://file4.renrendoc.com/view2/M00/11/00/wKhkFmYajseATWPdAACCQMNGqhw3825.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
C基礎(chǔ)知識(shí)專題一:1/54熱身練習(xí):1.已知各變量類型說明以下,則以下不符合C語言語法表示式是
。 intk,a,b; unsignedlongw=5; doublex=1.42; A)x%(-3) B)w+=-2 C)k=(a=2,b=3,a+b) D)a+=a-=(b=4)*(a=3)
2/54熱身練習(xí):2.設(shè)x、y、t均為int型變量,則執(zhí)行語句:x=y=3;t=++x||++y;后,x值為
,y值為
。A)不定值
B)4 C)3 D)83/54熱身練習(xí):3.有以下定義,若要求a1,a2,c1,c2值分別為10,20,A和B,當(dāng)從第一列開始輸入數(shù)據(jù)時(shí),正確數(shù)據(jù)輸入方式是
。
inta1,a2;charc1,c2; scanf(“%d%d”,&a1,&a2); scanf(“%c%c”,&c1,&c2); A)1020AB<CR> B)1020<CR>AB<CR> C)1020AB<CR>D)1020AB<CR>4/54一、C語言特點(diǎn)1、語言簡(jiǎn)練、緊湊,使用方便、靈活;一共有32個(gè)關(guān)鍵字,9種控制語句,主要用小寫字母表示。autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedstaticsizeofstructswitchtypedefunionunsignedvoidvolatilewhile5/54一、C語言特點(diǎn)九種控制語句:if()~else~for()~while()~do~while()cotinuebreakswitchgotoreturn6/54一、C語言特點(diǎn)2、運(yùn)算符豐富:共有34種運(yùn)算符。
算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符、位操作運(yùn)算符、賦值運(yùn)算符、條件運(yùn)算符、逗號(hào)運(yùn)算符、指針運(yùn)算符、求字節(jié)數(shù)運(yùn)算符、特殊運(yùn)算符等。3、數(shù)據(jù)結(jié)構(gòu)豐富:C數(shù)據(jù)類型有:整型、實(shí)型、字符型、數(shù)組類型、結(jié)構(gòu)體類型、共用體類型、指針類型、空類型等。7/54一、C語言特點(diǎn)4、含有結(jié)構(gòu)化控制語句;5、語法限制不太嚴(yán)格,程序設(shè)計(jì)自由度大;6、C語言能進(jìn)行位操作,能實(shí)現(xiàn)匯編語言大部分功效,能夠直接對(duì)硬件進(jìn)行操作;7、生成目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高;8、用C語言編寫程序可移植性好。8/54二、C語言詞匯在C語言中使用詞匯分為六類:標(biāo)識(shí)符:變量名、函數(shù)名、標(biāo)號(hào)等統(tǒng)稱為標(biāo)識(shí)符
標(biāo)識(shí)符只能是字母、數(shù)字、下劃線組成字符串,而且第一個(gè)字符必須是字母或下劃線,用戶定義標(biāo)識(shí)符不應(yīng)與關(guān)鍵字相同。
關(guān)鍵字:由C語言要求含有特定意義字符串運(yùn)算符:與變量、函數(shù)一起組成表示式,實(shí)現(xiàn)運(yùn)算功效分隔符:逗號(hào)和空格
常量:數(shù)字常量、字符常量、字符串常量、符號(hào)常量、轉(zhuǎn)義字符注釋符:“/*”開頭并以“*/”結(jié)尾串9/54三、數(shù)據(jù)類型數(shù)據(jù)類型基本類型結(jié)構(gòu)類型指針類型空類型整型實(shí)型(浮點(diǎn)型)字符型枚舉類型數(shù)組類型結(jié)構(gòu)體類型共用體類型單精度實(shí)型雙精度實(shí)型基本整型長(zhǎng)整型短整型無符號(hào)整型10/54(一)基本類型分類及特點(diǎn)【注】帶*號(hào)表示數(shù)據(jù)類型與機(jī)器硬件相關(guān)11/54(二)變量在內(nèi)存中存放形式1、整型數(shù)據(jù)在內(nèi)存中以補(bǔ)碼形式存放正數(shù):原碼即為補(bǔ)碼(該數(shù)二進(jìn)制數(shù))負(fù)數(shù):(1)取絕對(duì)值(2)求絕對(duì)值二進(jìn)制形式(3)將二進(jìn)制按位取反(4)再加上1,可得補(bǔ)碼注意:若給出一個(gè)數(shù)在內(nèi)存中存放形式,先看最高位來判斷是正負(fù)數(shù)。1111111111110110-10在機(jī)器內(nèi)存中存放形式12/54(二)變量在內(nèi)存中存放形式求-10補(bǔ)碼過程:10原碼:0000000000001010按位取反:1111111111110101再加1,得-10補(bǔ)碼:111111111111011013/54(二)變量在內(nèi)存中存放形式有符號(hào)整型變量:最大表示32767無符號(hào)整型變量:最大表示655350111111111111111111111111111111114/54(二)變量在內(nèi)存中存放形式處理整型數(shù)據(jù)溢出問題如:inta=32767,b;b=a+1;printf(“%d”,b);01111111111111111000000000000000b=-3276815/54(二)變量在內(nèi)存中存放形式
2、實(shí)型數(shù)據(jù)在內(nèi)存中存放形式實(shí)型數(shù)據(jù)普通占4個(gè)字節(jié)(32位)內(nèi)存空間。按指數(shù)形式存放。實(shí)數(shù)3.14159在內(nèi)存中存放形式以下:+.3141591類型說明符比特?cái)?shù)(字節(jié)數(shù))有效數(shù)字?jǐn)?shù)范圍float32(4)6~710-38~1038
double64(8)15~1610-308~10308
longdouble128(16)18~1910-4932~104932
16/54三、數(shù)據(jù)類型——變量main(){floata;doubleb;a=33333.33333;
b=33333.33333333333333;printf("%f\n%f\n",a,b);}因?yàn)閍是單精度浮點(diǎn)型,有效位數(shù)只有七位。而整數(shù)已占五位,故小數(shù)二位后之后均為無效數(shù)字。b是雙精度型,有效位為十六位。但TurboC要求小數(shù)后最多保留六位,其余部分四舍五入。doubled=12.3456789;printf(“%lf”,d);17/54三、數(shù)據(jù)類型——常量1、整數(shù)常量十進(jìn)制整數(shù):帶符號(hào),0~9組成,第一位數(shù)字為非零(除零外)-456八進(jìn)制整數(shù):0~7組成,最高位用0引導(dǎo)0123=(123)8=(83)10十六進(jìn)制整數(shù):0~9及a~f或A~F組成,最高位用0x或0X引導(dǎo),0x123=(123)16=(291)10整數(shù)常量后加字母u或U表示該數(shù)為無符號(hào)型,加字母l或L表示該數(shù)為長(zhǎng)整型
12345u123L18/54三、數(shù)據(jù)類型——常量2、實(shí)型常量在C中有兩種表示方法:十進(jìn)制小數(shù)形式:0.0、25.0、300.、-267.8230等。注意,必須有小數(shù)點(diǎn)。
指數(shù)形式:me
n(或mEn)表示m*10
n(這里m為非0實(shí)數(shù),n為整數(shù))。如:12.3E-2表示12.3*10-2
在C編譯系統(tǒng)中,將浮點(diǎn)型常量作為雙精度來處理
以下不是正當(dāng)實(shí)數(shù),請(qǐng)說明理由:345E7-553.-E32.7E19/54三、數(shù)據(jù)類型——常量3、字符常量-轉(zhuǎn)義字符20/54三、數(shù)據(jù)類型——常量3、字符常量-轉(zhuǎn)義字符\ddd輸出一到三位八進(jìn)制數(shù)所對(duì)應(yīng)字符\xhh輸出一到兩位16進(jìn)制數(shù)所對(duì)應(yīng)字符比如:chara=‘\101’,b=‘\x41’;putchar(a);putchar(b);答案:AA21/54三、數(shù)據(jù)類型——常量字符常量就是一個(gè)普通整數(shù),也可參加各種數(shù)學(xué)運(yùn)算每個(gè)字符含有一個(gè)0~255之間數(shù)值,可從ASCII表查出注意:’5’和整數(shù)5區(qū)分’5’ASCII碼值是53思索:’
6’—’2’值是多少?22/54例題:小寫字母轉(zhuǎn)換為大寫字母#include<stdio.h>main(){
charch='b';printf("%c,%d\n",ch,ch);
ch='b'-32;
printf("%c,%d\n",ch,ch);}#include<stdio.h>main(){
charch='b';printf("%c,%d\n",ch,ch);
ch='b'-('a'-'A')
;
printf("%c,%d\n",ch,ch);}b,98B,66
b,98B,66
相當(dāng)于97-6523/54三、數(shù)據(jù)類型——常量
4、字符串常量用雙引號(hào)括住由0個(gè)或多個(gè)字符組成字符序列"Iamastring"""表示空字符串除注釋外,是唯一能夠出現(xiàn)漢字地方C語言內(nèi)部用’\0’表示字符串結(jié)束"x"和’x’是不一樣<string.h>里定義了一系列專門字符串處理函數(shù)轉(zhuǎn)義字符也可在字符串中使用24/54實(shí)踐挑戰(zhàn):1、設(shè):char*s=“\ta\017\bc”;則strlen(s)值為()。(04南師大)2、在一個(gè)32位系統(tǒng)中(如WindowsXP),若定義char*s="010\010\\010\n";則sizeof(s)值為(),strlen(s)值為()答案:1、5
2、2
925/54sizeof到底是什么?C語言關(guān)鍵字,并非函數(shù)計(jì)算類型占用字節(jié)數(shù)兩種語法形式sizeof(類型)結(jié)果為類型占用字節(jié)數(shù)sizeof(表示式)結(jié)果為表示式值所屬類型占用字節(jié)數(shù)普通都使用sizeof(變量名)
26/54strlen()到底是什么?strlen()是函數(shù),返回字符串中所包含字符個(gè)數(shù)。注:統(tǒng)計(jì)時(shí)不包含’\0’兩種語法形式strlen(字符串)如:strlen(“abcd”);strlen(字符指針變量);char*s=“abc";stelen(s);27/54三、數(shù)據(jù)類型——常量宏常量也稱符號(hào)常量普通采取全大寫字母表示宏定義不是語句,而是一個(gè)編譯預(yù)處理命令格式以下:#define
標(biāo)識(shí)符字符串使用時(shí),將標(biāo)識(shí)符用字符串完全替換28/54正確實(shí)例:計(jì)算圓周長(zhǎng)和面積#include<stdio.h>#definePI3.14159#defineR5.3main(){
printf("area=%f\n",PI*R*R);
printf("circumference=%f\n",2*PI*R);}area=88.247263circumference=33.300854相當(dāng)于執(zhí)行#include<stdio.h>main(){
printf("area=%f\n",3.14159*5.3*5.3);
printf("circumference=%f\n",2*3.14159
*5.3);}宏替換29/54錯(cuò)誤實(shí)例
:計(jì)算圓周長(zhǎng)和面積#include<stdio.h>#definePI3.14159;#defineR5.3;main(){
printf("area=%f\n",PI*R*R);
printf("circumference=%f\n",2*PI*R);}相當(dāng)于執(zhí)行#include<stdio.h>main(){
printf("area=%f\n",3.14159;*5.3;*5.3;);
printf("circumference=%f\n",2*3.14159;*5.3;);}語法錯(cuò)誤30/54實(shí)踐挑戰(zhàn):3、在C語言中,宏定義#definePI3.14159中,用宏名PI代替了一個(gè)()(南師大06)A.單精度數(shù)B.雙精度數(shù)C.字符序列D.常量答案:C31/54枚舉(Enumeration)常量
enumweeks{SUN,MON,TUE,WED,THU,FRI,SAT};/*申明了一個(gè)枚舉類型*/
enumweekstoday;/*用上面類型定義變量*/
today=TUE;/*變量today只能在上面定義范圍內(nèi)取值*/enumresponse{no,yes,none};enumresponseanswer;answer=yes;
enumresponse{no=-1,yes=1,none=0};其值為2其值為132/54四、運(yùn)算符常見運(yùn)算符算術(shù)運(yùn)算符賦值運(yùn)算符類型強(qiáng)轉(zhuǎn)(強(qiáng)制類型轉(zhuǎn)換)關(guān)系運(yùn)算符邏輯運(yùn)算符增1和減1位運(yùn)算符33/54四、運(yùn)算符運(yùn)算符有三個(gè)屬性:運(yùn)算元數(shù):最少1個(gè),最多3個(gè)-1;3>2?3:2優(yōu)先級(jí):結(jié)合性:即指運(yùn)算符與運(yùn)算元結(jié)合方向,用于指導(dǎo)同級(jí)運(yùn)算表示式:運(yùn)算元與運(yùn)算符組合式
a*b/c-2.2+'A'簡(jiǎn)化后優(yōu)先級(jí):1一級(jí)運(yùn)算符2單變量運(yùn)算符
3算術(shù)運(yùn)算符4位運(yùn)算符5關(guān)系運(yùn)算符6位邏輯運(yùn)算符7邏輯運(yùn)算符8條件運(yùn)算符
9賦值運(yùn)算符
10逗號(hào)運(yùn)算符高低34/54四、運(yùn)算符—基本算術(shù)運(yùn)算符操作符作用舉例-減、單目取負(fù)3-2,-4+加、單目取正3+2,+4*乘3*2/除3/2%求余或取模(兩側(cè)均應(yīng)為整型數(shù))6%4++加1++a,a++--減1--a,a--當(dāng)兩個(gè)整數(shù)相除時(shí),其結(jié)果為整數(shù),即舍去小數(shù)部分。如:10/3=3;35/54四、運(yùn)算符賦值運(yùn)算符及賦值表示式簡(jiǎn)單賦值運(yùn)算符用“=”表示屬于雙目運(yùn)算符優(yōu)先級(jí)較低,僅高于逗號(hào)含有右結(jié)合性由“=”連接式子稱為賦值表示式功效是計(jì)算表示式值再賦予左邊變量a=b=c=5可了解為a=(b=(c=5))賦值表示式值就是“=”號(hào)右側(cè)值
x=(a=5)+(b=8)
36/54四、運(yùn)算符復(fù)合賦值運(yùn)算符
在賦值符“=”之前加上其它二目運(yùn)算符可組成復(fù)合賦值符。如+=,-=,*=,/=,%=,<<=,>>=,&=,^=,|=
比如:
a+=5等價(jià)于a=a+5x*=y+7等價(jià)于x=x*(y+7)
r%=p等價(jià)于r=r%p能提升編譯效率并產(chǎn)生質(zhì)量較高目標(biāo)代碼37/54自動(dòng)類型轉(zhuǎn)換相同類型數(shù)據(jù)運(yùn)算結(jié)果,還是該類型不一樣類型數(shù)據(jù)運(yùn)算結(jié)果,是兩種類型中取值范圍大那種double>float>long>int>short>chardoublefloatlongunsignedintchar,short低高38/54自動(dòng)類型轉(zhuǎn)換取值范圍小類型賦值給取值范圍大類型是安全
doubled;floatf=1.5;d=f;反之是不安全若大類型值在小類型能容納范圍之內(nèi),則平安無事
doubled=1.5;floatf;f=d;若浮點(diǎn)數(shù)轉(zhuǎn)為整數(shù),會(huì)丟失小數(shù)部分,非四舍五入inti;floatf=1.64;i=f;(i值為1)反之,轉(zhuǎn)換后結(jié)果必定是錯(cuò)誤,詳細(xì)結(jié)果與機(jī)器和實(shí)現(xiàn)方式相關(guān)doubled=123.456789e100;floatf;f=d;39/54Example:
intx=10; floaty; y=(float)x;
(float)10
10.000000x10y??10.000000消除從大到小警告
x=(int)y;經(jīng)過下面方式把表示式值轉(zhuǎn)為任意類型
(類型)表示式不改變x強(qiáng)制類型轉(zhuǎn)換40/54Example:
inttotal,number; floataverage; … average=total/number;
15/2
7total15number2average??7.000000兩個(gè)整數(shù)運(yùn)算結(jié)果還是整數(shù),不是浮點(diǎn)數(shù)強(qiáng)制類型轉(zhuǎn)換41/54Example:
inttotal,number; floataverage; … average=(float)total/number;
15.000000/2
7.500000total15number2average??7.500000強(qiáng)制類型轉(zhuǎn)換42/54增一和減一運(yùn)算符n++,n--,++n,--n++讓參加運(yùn)算變量加1,--讓參加運(yùn)算變量減1作為后綴(postfix)運(yùn)算符時(shí),先取n值,然后加/減1m=n++;m=n;n++;43/54n++,n--,++n,--n++讓參加運(yùn)算變量加1,--讓參加運(yùn)算變量減1作為后綴(postfix)運(yùn)算符時(shí),先取n值,然后加/減1作為前綴(prefix)運(yùn)算符時(shí),先加/減1,然后取n值m=++n;n++;
m=n;增一和減一運(yùn)算符44/54比如:j=++i-2i5等價(jià)于:i=i+1;j=i–2;j??46增一和減一運(yùn)算符45/54比如:j=i++-2i5等價(jià)于:j=i–2;i=i+1;j??36增一和減一運(yùn)算符46/54例:輸出結(jié)果和變量a值?inta=3;printf("%d",-a++);a3等價(jià)于:printf("%d",-a);a=a+1;4增一和減一運(yùn)算符47/54例題:main(){inti=5,j=5,p,q;p=(i++)+(i++)+(i++);q=(++j)+(++j)+(++j);printf("%d,%d,%d,%d",p,q,i,j);}解析:對(duì)p=(i++)+(i++)+(i++)應(yīng)了解為三個(gè)i相加,故P值為15。然后i再自增1三次相當(dāng)于加3故i最終值為8。而對(duì)于q值則不然,q=(++j)+(++j)+(++j)應(yīng)了解為q先自增1,再參加運(yùn)算,因?yàn)閝自增1三次后值為8,三個(gè)8相加和為24,j最終值仍為8。48/54四、運(yùn)算符逗號(hào)運(yùn)算符和逗號(hào)表示式
功效是把兩個(gè)表示式連接起
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年心血管系統(tǒng)用藥項(xiàng)目建議書
- 家庭廚余垃圾簡(jiǎn)易生物降解系統(tǒng)
- 民房建筑施工合同
- 環(huán)保行業(yè)廢棄物處理風(fēng)險(xiǎn)免責(zé)協(xié)議
- 智慧社區(qū)建設(shè)投資合作合同
- 2025年液壓破碎錘項(xiàng)目發(fā)展計(jì)劃
- Glycycoumarin-Standard-生命科學(xué)試劑-MCE
- 2025年紡織片梭織機(jī)項(xiàng)目建議書
- 網(wǎng)絡(luò)安全技術(shù)培訓(xùn)服務(wù)合同書
- 1S-2S-2-PCCA-hydrochloride-生命科學(xué)試劑-MCE
- 中國(guó)電信互聯(lián)網(wǎng)+酒店解決方案
- 《信息科技》學(xué)科新課標(biāo)《義務(wù)教育信息科技課程標(biāo)準(zhǔn)(2022年版)》
- 《語用學(xué)之指示語》課件
- 《對(duì)折剪紙》課件
- 小學(xué)數(shù)學(xué)人教版六年級(jí)上冊(cè)分?jǐn)?shù)混合運(yùn)算練習(xí)題
- 《魔方知識(shí)普及》課件
- 培訓(xùn)學(xué)校 組織架構(gòu)及部門崗位職責(zé)
- 東芝授權(quán)委托書標(biāo)準(zhǔn)版
- 調(diào)車作業(yè)-調(diào)車概述(鐵路行車組織)
- 【住院患者跌倒或墜床預(yù)防護(hù)理措施研究國(guó)內(nèi)外文獻(xiàn)綜述3300字】
- 2023施工項(xiàng)目部標(biāo)準(zhǔn)化工作手冊(cè)
評(píng)論
0/150
提交評(píng)論