《c語(yǔ)言期末復(fù)習(xí)》課件_第1頁(yè)
《c語(yǔ)言期末復(fù)習(xí)》課件_第2頁(yè)
《c語(yǔ)言期末復(fù)習(xí)》課件_第3頁(yè)
《c語(yǔ)言期末復(fù)習(xí)》課件_第4頁(yè)
《c語(yǔ)言期末復(fù)習(xí)》課件_第5頁(yè)
已閱讀5頁(yè),還剩69頁(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)介

題型:20*2=402*10=20選擇題填空題改錯(cuò)題編程題2*10=202*10=20題型:20*2=402*10=20選擇題填空題改錯(cuò)題編程題2改錯(cuò)、填空多考點(diǎn):#include<math.h>

預(yù)處理#defineN10宏定義floatff(floata,floatb,floatc);

函數(shù)聲明main()主函數(shù){inti,j,a[10],*p,sum,x=1;變量定義sum=0;賦值scanf(“%d”,&a[0]);輸入語(yǔ)句,參數(shù)是地址if(i==0)for(;;),while語(yǔ)句的考察,注意表達(dá)式的判斷,循環(huán)體語(yǔ)句的判斷。輸出語(yǔ)句}}改錯(cuò)、填空多考點(diǎn):#include<math.h>函數(shù)調(diào)用intss(inta,intb[],int*q){}main(){intx,s[10],y;ss(x,s,&y);

實(shí)參和形參個(gè)數(shù)相同,類型相同。}函數(shù)調(diào)用intss(inta,intb[],int*雙層循環(huán)inta[5][6]for(i=0;i<5;i++)for(j=5;j>=0;j--)i,j的范圍if(i%2==0)奇數(shù)位對(duì)應(yīng)偶數(shù)下標(biāo)a[i][j]=i+j+1;規(guī)律雙層循環(huán)inta[5][6]總體上必須清楚的:

1)程序結(jié)構(gòu)是三種:順序結(jié)構(gòu)

,循環(huán)結(jié)構(gòu)(三個(gè)循環(huán)結(jié)構(gòu)),選擇結(jié)構(gòu)(if和

switch)。

2)讀程序都要從main()入口,然后從最上面順序往下讀(碰到循環(huán)做循環(huán),碰到選擇做選擇)。

3)計(jì)算機(jī)的數(shù)據(jù)在電腦中保存是以二進(jìn)制的形式。數(shù)據(jù)存放的位置就是他的地址。

4)二進(jìn)制如何劃成十進(jìn)制。總體上必須清楚的:

1)程序結(jié)構(gòu)是三種:順序結(jié)構(gòu),循環(huán)概念??嫉降模?/p>

1、編譯預(yù)處理不是C語(yǔ)言的一部分,不占運(yùn)行時(shí)間。C語(yǔ)言編譯的程序稱為源程序,它以ASCII數(shù)值存放在文本文件中。

2、每個(gè)C語(yǔ)言程序中main函數(shù)是有且只有一個(gè)。

3、在函數(shù)中不可以再定義函數(shù)。定義不可嵌套,但調(diào)用可以。

4、break可用于循環(huán)結(jié)構(gòu)和switch語(yǔ)句。5、優(yōu)先級(jí):?jiǎn)文?++,--,!)>算術(shù)表達(dá)式>關(guān)系表達(dá)式>邏輯表達(dá)式>三目>賦值。

概念??嫉降模?/p>

1、編譯預(yù)處理不是C語(yǔ)言的一部分,不占運(yùn)行時(shí)14.C語(yǔ)言的下列運(yùn)算符中,優(yōu)先級(jí)最高的運(yùn)算符是(

)。A.++ B.+= C.|| D.!=下列敘述正確的是()

A為提高程序運(yùn)行速度可在源程序中加入一些宏定義

B一個(gè)C語(yǔ)言源程序只能有一條預(yù)處理命令C宏定義不占用程序運(yùn)行時(shí)間,但與程序中的語(yǔ)句一樣需要編程D宏定義中的宏名必須用大寫字母表示

AC14.C語(yǔ)言的下列運(yùn)算符中,優(yōu)先級(jí)最高的運(yùn)算符是()。第一章1)合法的用戶標(biāo)識(shí)符由字母,數(shù)字,下劃線組成。并且第一個(gè)必須為字母或則是下劃線。關(guān)鍵字不可以作為用戶標(biāo)識(shí)符號(hào)。main

define

scanf

printf都是關(guān)鍵字。If是可以做為用戶標(biāo)識(shí)符。因?yàn)镮f中的第一個(gè)字母大寫了,所以不是關(guān)鍵字。

2)實(shí)型數(shù)據(jù)的合法形式:

2.333e-1就是合法的,且數(shù)據(jù)是2.333×10-1。

考試口訣:e前e后必有數(shù),e后必為整數(shù)。2.3小數(shù)點(diǎn)前后可省略其中一個(gè)。

3)字符數(shù)據(jù)的合法形式::

'1'是字符占一個(gè)字節(jié),"1"是字符串占兩個(gè)字節(jié)(含有一個(gè)結(jié)束符號(hào)‘\0’)。

'0'的ASCII數(shù)值表示為48,'a'的ASCII數(shù)值是97,'A'的ASCII數(shù)值是65。4)char是1字節(jié),int是2字節(jié),long是4字節(jié),float是4個(gè)字節(jié),double是8字節(jié)

第一章1)合法的用戶標(biāo)識(shí)符由字母,數(shù)字,下劃線組成。并且第一

5)在轉(zhuǎn)義字符中,’\x6d’十六進(jìn)制數(shù)。

‘\141’八進(jìn)制數(shù)。

‘\108’是非法的,因?yàn)椴豢梢猿霈F(xiàn)8。

6)強(qiáng)制類型轉(zhuǎn)換:

一定是(int)a不是

int(a),類型上一定有括號(hào)的。

注意(int)(3.6+3.6)=7和(int)

3.6+3.6=6.6的區(qū)別。

7)表達(dá)式的考查:

是表達(dá)式就一定有數(shù)值。

賦值表達(dá)式:表達(dá)式左邊一定是一個(gè)變量。

自加、自減表達(dá)式:假設(shè)a=5,++a(是為6),

a++(為5);考試口訣:++在前先加后賦,++在后先賦后加。

逗號(hào)表達(dá)式:優(yōu)先級(jí)別最低;表達(dá)式的數(shù)值逗號(hào)最右邊的那個(gè)表達(dá)式的數(shù)值。(2,3,4)的表達(dá)式的數(shù)值就是4。

8)位運(yùn)算的考查:會(huì)有一到二題考試題目。

<<左移一位表示乘以2,2位乘4,3位乘8;>>右移一位表示除以2,2位除4,3位除6。

9)%(求余)符號(hào)兩邊要求是整數(shù)。

10)取整丟小數(shù)的情況:1、(int)1.6=1;2、1/2=0;

5)在轉(zhuǎn)義字符中,’\x6d’十六進(jìn)制數(shù)。

18.(

)為正確的變量名。A.-k15 B.int C.k_5 D.k.jeep19.(

)為正確的字符常量。A.''\\'' B."\24m" C."c" D.'M'22.以下選項(xiàng)中,合法的實(shí)型常數(shù)是(

)。A.E-3 B..2E1 C.1E.5 D.1.5E29.語(yǔ)句

k=(m=5,n=++m);運(yùn)行之后,變量k、m、n的值依次為(

)。A.5,5,6 B.5,6,5 C.6,6,5 D.6,6,635.若有定義:intm=4,n=5;floatk;,則以下符合C語(yǔ)言語(yǔ)法的表達(dá)式是(

)。A.(m+n)*=k B.m=(n==5) C.k=float(n)/m D.n%2.544.若有定義

inti=1,j=9;則表達(dá)式

(++j)*(i--)的值為(

)。A.0 B.10 C.9 D.8cDBDBB18.()為正確的變量名。44.若有定義inti第二章

1)printf函數(shù)的格式考查:

%d對(duì)應(yīng)int整型;%c對(duì)應(yīng)char字符;%f對(duì)應(yīng)float單精度;

%ld對(duì)應(yīng)

longint;%lf對(duì)應(yīng)double。寬度的,左對(duì)齊等修飾。

%.3f

2)scanf函數(shù)的格式考察:

注意該函數(shù)的第二個(gè)部分是&a這樣的地址,不是a;

scanf(“%d%d%*d%d”,&a,&b,&c);跳過(guò)輸入的第三個(gè)數(shù)據(jù)(b沒賦值)。輸入語(yǔ)句不能出現(xiàn)%6.2f,只能是%6f。

3)putchar,getchar函數(shù)的考查:

char

a;a=getchar()是沒有參數(shù)的,從鍵盤得到你輸入的一個(gè)字符給變量a。

putchar(‘y’)把字符y輸出到屏幕中。

4)如何實(shí)現(xiàn)兩個(gè)變量x,y中數(shù)值的互換(要求背下來(lái))

不可以把

x=y,y=x;要用中間變量

t=x;x=y;y=t。5)while((c=getchar())!=’\n’)

注意點(diǎn):括號(hào)在這里的重要性。

第二章

1)printf函數(shù)的格式考查:

%d對(duì)應(yīng)52.

若已定義:inta=5,b=9,c=6;則語(yǔ)句

b++;++c;a=b-c;運(yùn)行后a的值為(

)。A.5 B.3 C.2 D.454.若已定義

floatx;要從鍵盤輸入數(shù)據(jù)36.582給變量x,則應(yīng)選用(

)語(yǔ)句。A.scanf("%2.3f",&x); B.scanf("%6f",&x);C.scanf("%6.3f",&x); D.scanf("%5.3f",&x);58.若已定義

inta=11;執(zhí)行以下語(yǔ)句后的輸出結(jié)果是(

)。

printf("a=%d,a=%o,a=%x\n",a,a,a);A.a=11,a=11,a=b B.a=11,a=13,a=bC.a=11,a=13,a=c D.a=11,a=12,a=1361.以下程序段的運(yùn)行結(jié)果是(

)。

inta=1;printf("%d,%d,%d\n",a,++a,a++);3,3,1 B.1,2,2C.1,2,3 D.3,2,1BBBA52.若已定義:inta=5,b=9,c=6;則語(yǔ)句66.有以下程序:main(){intc;while((c=getchar())!='\n'){switch(c-'2'){case0:case1:putchar(c+4);case2:putchar(c+4);break;case3:putchar(c+3);default:putchar(c+2);break;}}}當(dāng)輸入:247<回車>,程序的輸出結(jié)果是(

)。689 B.6689C.66778 D.66887B66.有以下程序:Bc語(yǔ)言中是用非0表示邏輯真的,用0表示邏輯假的。

1)關(guān)系表達(dá)式:

表達(dá)式的數(shù)值只能為1(表示為真),或0(表示假)

關(guān)系的表達(dá)是為真的時(shí)候得到1。如

9>8這個(gè)是真的,所以表達(dá)式的數(shù)值就是1;a>b>c的問題

2)邏輯表達(dá)式:

為1(表示為真),0(表示假)

a)!>&&>||

優(yōu)先的級(jí)別。

b)不完全計(jì)算問題。

c)要表示

x是比0大,比10小的方法。0<x<10是不可以的。

一定要用

(0<x)&&(x<10)。

c語(yǔ)言中是用非0表示邏輯真的,用0表示邏輯假的。36.若有定義:inta=6;則語(yǔ)句

a*=a-=a/=3;運(yùn)行后,a的值是(

)。A.10 B.0 C.34 D.2446.若已定義

inta=3,b=2,c=1;則語(yǔ)句

++a||++b&&++c;運(yùn)行后b的值為(

)。A.0 B.3 C.1 D.248.若已定義:inta=2,b=2;則表達(dá)式

(a+(b++),b)的值是(

)。A.2 B.3 C.4 D.669.若已定義

intx=-16,y=-12,z;語(yǔ)句z=x<=y;運(yùn)行后z的值為(

)。.t. B.1 C..f. D.071.若定義

inta=2,b=3;則表達(dá)式

!a||b的值為(

)。A.0 B.1 C.2 D.3BBCBB36.若有定義:inta=6;則語(yǔ)句a*=a-=a/73.下列表達(dá)式()不能用來(lái)判斷整型變量x中的值是否為奇數(shù)。A.x%2==1 B.!(x%2==0) C.!(x%2) D.x%274.若有定義:inta=3,b=2,c=3;則值為0的表達(dá)式是(

)。A.(a-b)==(c/b) B.a>=cC.c-b||a+b&&(b*c-a-c) D.(b*c-a-c)&&(b*c-a-b)80.已定義

doublek=3.6;則正確的賦值表達(dá)式是(

)。A.k=double(-3.6) B.k%3C.k=k*(-1.0)=-3.6 D.k+=k-=(k=1.2)*(k=3)89.若有定義:floatx=2,y=4,h=3;下列表達(dá)式中與(x+y)*h/2.0計(jì)算結(jié)果不相符的是(

)。(x+y)*h/2 B.(x+y)*h*1/2C.(1/2)*(x+y)*h D.h/2*(x+y)CDDc73.下列表達(dá)式()不能用來(lái)判斷整型變量x中的值是1)if語(yǔ)句

else是與最接近的if且沒有else配套的相組合的。

2)條件表達(dá)式:

條件表達(dá)式1?表達(dá)式2:表達(dá)式3

注意是條件判斷為真時(shí)執(zhí)行表達(dá)式2的數(shù)值,當(dāng)是假時(shí)執(zhí)行表達(dá)式3的數(shù)值。

3)switch語(yǔ)句:

a)一定要注意:有break和沒有break的差別,沒有break時(shí)候,只要有一個(gè)case匹配了,剩下的都要執(zhí)行,有break則是直接跳出了

swiche語(yǔ)句。

b)switch只可以和break一起用,不可以和continue用。第三章1)if語(yǔ)句

else是與最接近的if且沒有els79.以下程序運(yùn)行后,a的值是(

)。main(){inta,b;for(a=1,b=1;a<=100;a++){if(b>=20)break;if(b%3==1){b+=3;continue;}b-=5;}}A.101 B.100 C.8 D.7c79.以下程序運(yùn)行后,a的值是()。c98.以下程序段運(yùn)行后變量k的值為(

)。inta=3,b=2;

intk;k=(--a==b++)?a:b+1;A.0 B.1 C.2 D.399.以下程序的運(yùn)行結(jié)果是(

)。voidmain(){intn=9;switch(n--){default:printf("%d",n++);case8:case7:printf("%d",n);break;case6:printf("%d",n++);case5:printf("%d",n);}}A.8 B.7 C.89 D.87cc98.以下程序段運(yùn)行后變量k的值為()。cc101.

以下程序的運(yùn)行結(jié)果是(

)。voidmain(){inta;if(a=6)printf("%d\n",a);elseif(a>6)printf("%d\n",a+2);elseprintf("%d\n",a+3);}A.運(yùn)行時(shí)產(chǎn)生錯(cuò)誤信息

B.9 C.8 D.6D101.以下程序的運(yùn)行結(jié)果是()。D103.若有定義:inta=2,b=3,c=1;則以下程序段的運(yùn)行結(jié)果是(

)。

if(a>b)if(a>c)printf("%d",a);elseprintf("%d",b);printf("%d",c);A.31 B.21 C.3 D.1D103.若有定義:inta=2,b=3,c=1;則以第四章

1)三種循環(huán)結(jié)構(gòu):for;while();

do-while()三種。

a)for(;;)語(yǔ)句1;循環(huán)當(dāng)中必須是兩個(gè)分號(hào),千萬(wàn)不要忘記。

b)寫程序的時(shí)候一定要注意,循環(huán)一定要有結(jié)束的條件,否則成了死循環(huán)。

c)

do-while()循環(huán)的最后一個(gè)while();的分號(hào)一定不能夠丟。(當(dāng)心上機(jī)改錯(cuò))

2)break:退出整個(gè)循環(huán)。

continue:結(jié)束本次循環(huán),就是循環(huán)體內(nèi)剩下的語(yǔ)句不再執(zhí)行,跳到循環(huán)開始,然后判斷循環(huán)條件,進(jìn)行新一輪的循環(huán)。

3)嵌套循環(huán)

就是有循環(huán)里面還有循環(huán),這種比較復(fù)雜,要一層一層一步一步耐心的計(jì)算,一般記住兩層是處理二維數(shù)組的。

第四章

1)三種循環(huán)結(jié)構(gòu):for;while();

do105.下列程序段中,非死循環(huán)的是(

)。A.inti=100;while(1){i=i%100+1;if(i>=100)break;}C.ints=10;while(++s%2+s%2)s++;B.intk=0;do{++k;}while(k>=0);D.for(;;)A105.下列程序段中,非死循環(huán)的是()。B.intk=108.以下程序段運(yùn)行后,循環(huán)體中的

n+=3;語(yǔ)句運(yùn)行的次數(shù)為(

)。inti,j,n=0;for(i=1;i<=3;i++)

{for(j=1;j<=i;j++)

{n+=3;printf("%d\n",n);}}A.6次

B.9次

C.12次

D.1次A108.以下程序段運(yùn)行后,循環(huán)體中的n+=3;語(yǔ)句運(yùn)行114.以下程序的運(yùn)行結(jié)果是(

)。

voidmain(){ints=0,i=0;while(i<10){i++;if(i%2==0)s+=i;}printf("%d\n",s);

}A.20 B.30 C.25 D.45B114.以下程序的運(yùn)行結(jié)果是()。B115.以下程序的運(yùn)行結(jié)果是(

)。

voidmain(){intx=5;do{printf("%2d",x--);}while(!x);}A.54321B.43210C.5D.4C115.以下程序的運(yùn)行結(jié)果是()。C116.以下程序的運(yùn)行結(jié)果是(

)。

voidmain(){inti,j,k=0;for(i=3;i>=1;i--)

{for(j=i;j<=3;j++)

k+=i*j;

}

printf("%d\n",k);

}A.19 B.29 C.6 D.25D116.以下程序的運(yùn)行結(jié)果是()。Dinta[10];

1、a表示數(shù)組名,是數(shù)組的首地址,也就是元素a[0]的地址。

2、a是地址常量,所以只要出現(xiàn)a++,或者是a=a+2賦值的都是錯(cuò)誤的。

3、a+1是跳一列。

inta[3][3]

1、a是a[0][0]的地址。

2、a+1是跳一行。

3、a[0]、a[1]、a[2]也都是地址常量,不可以對(duì)它進(jìn)行賦值操作,a[0]+1,a[1]+1,a[2]+1都是跳一列。數(shù)組inta[10];

1、a表示數(shù)組名,是數(shù)組的首地址,二維數(shù)組做題目的技巧:

如果有a[3][3]={1,2,3,4,5,6,7,8,9}這樣的題目。

步驟一:把他們寫成:第一列第二列第三列

a[0]

1

2

3

->第一行

a[1]

4

5

6

—>第二行

a[2]

7

8

9->第三行

步驟二:

*(a[0]+1)我們就知道是第一行的第一個(gè)元素往后面跳一列,那么這里就是a[0][1]元素,所以是2。

*(a[1]+2)我們就知道是第二行的第一個(gè)元素往后面跳二列。那么這里就是

a[1][2]元素,所以是6。

一定記住:只要是二維數(shù)組的題目,一定是寫成如上的格式,再去做題目,這樣會(huì)比較簡(jiǎn)單。

二維數(shù)組做題目的技巧:

如果有a[3][3]={1,2,數(shù)組的初始化,二維的,行標(biāo)可以不寫,列標(biāo)一定要寫。

inta[]={1,2}合法。inta[][4]={2,3,4}合法。但inta[4][]={2,3,4}非法。二維數(shù)組中的行指針

inta[1][2];

a現(xiàn)在就是一個(gè)行指針,a+1跳一行數(shù)組元素。

a[0],a[1]現(xiàn)在就是一個(gè)列指針。a[0]+1跳一個(gè)數(shù)組元素。

還有記住脫衣服法則:

a[2]

變成*(a+2)

a[2][3]變成*(a+2)[3]再可以變成

*(*(a+2)+3)

數(shù)組的初始化,二維的,行標(biāo)可以不寫,列標(biāo)一定要寫。

int函數(shù)1)

main()

{inta=5,b=6,c;

c=add(a,b);

printf(“%d”,c);

}調(diào)用函數(shù):a,b是實(shí)參

整個(gè)函數(shù)得到一個(gè)數(shù)值就是:add函數(shù)的返回?cái)?shù)值。

intadd(intx,inty)

{intz;

z=x+y;

returnz;

}

被調(diào)用函數(shù):x,y是形式參數(shù)

函數(shù)返回?cái)?shù)值是整型函數(shù)1)

main()

{inta=52)一定要注意參數(shù)之間的傳遞

實(shí)參和形參之間傳數(shù)值,和傳地址的差別。(考試的重點(diǎn))

傳數(shù)值的話,形參的變化不會(huì)改變實(shí)參的變化。

傳地址的話,形參的變化就會(huì)有可能改變實(shí)參的變化。

3)函數(shù)聲明的考查:

一定要有:函數(shù)名,函數(shù)的返回類型,函數(shù)的參數(shù)類型。

不一定要有:形參的名稱。2)一定要注意參數(shù)之間的傳遞

實(shí)參和形參之間傳數(shù)值指針變量的本質(zhì)是用來(lái)放地址,而一般的變量是放數(shù)值的。

int

*p中

*p和p的差別:

*p可以當(dāng)做變量來(lái)用;*的作用是取后面地址p里面的數(shù)值

p是當(dāng)作地址來(lái)使用。

*p++和(*p)++的之間的差別:改錯(cuò)題目中很重要

*p++是地址會(huì)變化。

(*p)++是數(shù)值會(huì)要變化。

三名主義:(考試的重點(diǎn))

數(shù)組名:表示第一個(gè)元素的地址。數(shù)組名不可以自加,他是地址常量名。(考了很多次)

函數(shù)名:表示該函數(shù)的入口地址。

字符串常量名:表示第一個(gè)字符的地址。指針(三個(gè)結(jié)論,什么時(shí)候指地址什么時(shí)候是元素)指針變量的本質(zhì)是用來(lái)放地址,而一般的變量是放數(shù)值的。

int

其他(選擇題)結(jié)構(gòu)體:struct共用體:union枚舉類型:enum新類型:typedef注意:關(guān)鍵字,區(qū)別其他(選擇題)結(jié)構(gòu)體:str函數(shù)調(diào)用填空題:沒其他可填時(shí)考慮:函數(shù)聲明函數(shù)的實(shí)參(在主函數(shù)中,不需要定義類型)形參(定義類型);函數(shù)調(diào)用填空題:沒其他可填時(shí)考慮:函數(shù)聲明36可編輯感謝下載36可編輯感謝下載37可編輯感謝下載37可編輯感謝下載題型:20*2=402*10=20選擇題填空題改錯(cuò)題編程題2*10=202*10=20題型:20*2=402*10=20選擇題填空題改錯(cuò)題編程題2改錯(cuò)、填空多考點(diǎn):#include<math.h>

預(yù)處理#defineN10宏定義floatff(floata,floatb,floatc);

函數(shù)聲明main()主函數(shù){inti,j,a[10],*p,sum,x=1;變量定義sum=0;賦值scanf(“%d”,&a[0]);輸入語(yǔ)句,參數(shù)是地址if(i==0)for(;;),while語(yǔ)句的考察,注意表達(dá)式的判斷,循環(huán)體語(yǔ)句的判斷。輸出語(yǔ)句}}改錯(cuò)、填空多考點(diǎn):#include<math.h>函數(shù)調(diào)用intss(inta,intb[],int*q){}main(){intx,s[10],y;ss(x,s,&y);

實(shí)參和形參個(gè)數(shù)相同,類型相同。}函數(shù)調(diào)用intss(inta,intb[],int*雙層循環(huán)inta[5][6]for(i=0;i<5;i++)for(j=5;j>=0;j--)i,j的范圍if(i%2==0)奇數(shù)位對(duì)應(yīng)偶數(shù)下標(biāo)a[i][j]=i+j+1;規(guī)律雙層循環(huán)inta[5][6]總體上必須清楚的:

1)程序結(jié)構(gòu)是三種:順序結(jié)構(gòu)

,循環(huán)結(jié)構(gòu)(三個(gè)循環(huán)結(jié)構(gòu)),選擇結(jié)構(gòu)(if和

switch)。

2)讀程序都要從main()入口,然后從最上面順序往下讀(碰到循環(huán)做循環(huán),碰到選擇做選擇)。

3)計(jì)算機(jī)的數(shù)據(jù)在電腦中保存是以二進(jìn)制的形式。數(shù)據(jù)存放的位置就是他的地址。

4)二進(jìn)制如何劃成十進(jìn)制??傮w上必須清楚的:

1)程序結(jié)構(gòu)是三種:順序結(jié)構(gòu),循環(huán)概念??嫉降模?/p>

1、編譯預(yù)處理不是C語(yǔ)言的一部分,不占運(yùn)行時(shí)間。C語(yǔ)言編譯的程序稱為源程序,它以ASCII數(shù)值存放在文本文件中。

2、每個(gè)C語(yǔ)言程序中main函數(shù)是有且只有一個(gè)。

3、在函數(shù)中不可以再定義函數(shù)。定義不可嵌套,但調(diào)用可以。

4、break可用于循環(huán)結(jié)構(gòu)和switch語(yǔ)句。5、優(yōu)先級(jí):?jiǎn)文?++,--,!)>算術(shù)表達(dá)式>關(guān)系表達(dá)式>邏輯表達(dá)式>三目>賦值。

概念??嫉降模?/p>

1、編譯預(yù)處理不是C語(yǔ)言的一部分,不占運(yùn)行時(shí)14.C語(yǔ)言的下列運(yùn)算符中,優(yōu)先級(jí)最高的運(yùn)算符是(

)。A.++ B.+= C.|| D.!=下列敘述正確的是()

A為提高程序運(yùn)行速度可在源程序中加入一些宏定義

B一個(gè)C語(yǔ)言源程序只能有一條預(yù)處理命令C宏定義不占用程序運(yùn)行時(shí)間,但與程序中的語(yǔ)句一樣需要編程D宏定義中的宏名必須用大寫字母表示

AC14.C語(yǔ)言的下列運(yùn)算符中,優(yōu)先級(jí)最高的運(yùn)算符是()。第一章1)合法的用戶標(biāo)識(shí)符由字母,數(shù)字,下劃線組成。并且第一個(gè)必須為字母或則是下劃線。關(guān)鍵字不可以作為用戶標(biāo)識(shí)符號(hào)。main

define

scanf

printf都是關(guān)鍵字。If是可以做為用戶標(biāo)識(shí)符。因?yàn)镮f中的第一個(gè)字母大寫了,所以不是關(guān)鍵字。

2)實(shí)型數(shù)據(jù)的合法形式:

2.333e-1就是合法的,且數(shù)據(jù)是2.333×10-1。

考試口訣:e前e后必有數(shù),e后必為整數(shù)。2.3小數(shù)點(diǎn)前后可省略其中一個(gè)。

3)字符數(shù)據(jù)的合法形式::

'1'是字符占一個(gè)字節(jié),"1"是字符串占兩個(gè)字節(jié)(含有一個(gè)結(jié)束符號(hào)‘\0’)。

'0'的ASCII數(shù)值表示為48,'a'的ASCII數(shù)值是97,'A'的ASCII數(shù)值是65。4)char是1字節(jié),int是2字節(jié),long是4字節(jié),float是4個(gè)字節(jié),double是8字節(jié)

第一章1)合法的用戶標(biāo)識(shí)符由字母,數(shù)字,下劃線組成。并且第一

5)在轉(zhuǎn)義字符中,’\x6d’十六進(jìn)制數(shù)。

‘\141’八進(jìn)制數(shù)。

‘\108’是非法的,因?yàn)椴豢梢猿霈F(xiàn)8。

6)強(qiáng)制類型轉(zhuǎn)換:

一定是(int)a不是

int(a),類型上一定有括號(hào)的。

注意(int)(3.6+3.6)=7和(int)

3.6+3.6=6.6的區(qū)別。

7)表達(dá)式的考查:

是表達(dá)式就一定有數(shù)值。

賦值表達(dá)式:表達(dá)式左邊一定是一個(gè)變量。

自加、自減表達(dá)式:假設(shè)a=5,++a(是為6),

a++(為5);考試口訣:++在前先加后賦,++在后先賦后加。

逗號(hào)表達(dá)式:優(yōu)先級(jí)別最低;表達(dá)式的數(shù)值逗號(hào)最右邊的那個(gè)表達(dá)式的數(shù)值。(2,3,4)的表達(dá)式的數(shù)值就是4。

8)位運(yùn)算的考查:會(huì)有一到二題考試題目。

<<左移一位表示乘以2,2位乘4,3位乘8;>>右移一位表示除以2,2位除4,3位除6。

9)%(求余)符號(hào)兩邊要求是整數(shù)。

10)取整丟小數(shù)的情況:1、(int)1.6=1;2、1/2=0;

5)在轉(zhuǎn)義字符中,’\x6d’十六進(jìn)制數(shù)。

18.(

)為正確的變量名。A.-k15 B.int C.k_5 D.k.jeep19.(

)為正確的字符常量。A.''\\'' B."\24m" C."c" D.'M'22.以下選項(xiàng)中,合法的實(shí)型常數(shù)是(

)。A.E-3 B..2E1 C.1E.5 D.1.5E29.語(yǔ)句

k=(m=5,n=++m);運(yùn)行之后,變量k、m、n的值依次為(

)。A.5,5,6 B.5,6,5 C.6,6,5 D.6,6,635.若有定義:intm=4,n=5;floatk;,則以下符合C語(yǔ)言語(yǔ)法的表達(dá)式是(

)。A.(m+n)*=k B.m=(n==5) C.k=float(n)/m D.n%2.544.若有定義

inti=1,j=9;則表達(dá)式

(++j)*(i--)的值為(

)。A.0 B.10 C.9 D.8cDBDBB18.()為正確的變量名。44.若有定義inti第二章

1)printf函數(shù)的格式考查:

%d對(duì)應(yīng)int整型;%c對(duì)應(yīng)char字符;%f對(duì)應(yīng)float單精度;

%ld對(duì)應(yīng)

longint;%lf對(duì)應(yīng)double。寬度的,左對(duì)齊等修飾。

%.3f

2)scanf函數(shù)的格式考察:

注意該函數(shù)的第二個(gè)部分是&a這樣的地址,不是a;

scanf(“%d%d%*d%d”,&a,&b,&c);跳過(guò)輸入的第三個(gè)數(shù)據(jù)(b沒賦值)。輸入語(yǔ)句不能出現(xiàn)%6.2f,只能是%6f。

3)putchar,getchar函數(shù)的考查:

char

a;a=getchar()是沒有參數(shù)的,從鍵盤得到你輸入的一個(gè)字符給變量a。

putchar(‘y’)把字符y輸出到屏幕中。

4)如何實(shí)現(xiàn)兩個(gè)變量x,y中數(shù)值的互換(要求背下來(lái))

不可以把

x=y,y=x;要用中間變量

t=x;x=y;y=t。5)while((c=getchar())!=’\n’)

注意點(diǎn):括號(hào)在這里的重要性。

第二章

1)printf函數(shù)的格式考查:

%d對(duì)應(yīng)52.

若已定義:inta=5,b=9,c=6;則語(yǔ)句

b++;++c;a=b-c;運(yùn)行后a的值為(

)。A.5 B.3 C.2 D.454.若已定義

floatx;要從鍵盤輸入數(shù)據(jù)36.582給變量x,則應(yīng)選用(

)語(yǔ)句。A.scanf("%2.3f",&x); B.scanf("%6f",&x);C.scanf("%6.3f",&x); D.scanf("%5.3f",&x);58.若已定義

inta=11;執(zhí)行以下語(yǔ)句后的輸出結(jié)果是(

)。

printf("a=%d,a=%o,a=%x\n",a,a,a);A.a=11,a=11,a=b B.a=11,a=13,a=bC.a=11,a=13,a=c D.a=11,a=12,a=1361.以下程序段的運(yùn)行結(jié)果是(

)。

inta=1;printf("%d,%d,%d\n",a,++a,a++);3,3,1 B.1,2,2C.1,2,3 D.3,2,1BBBA52.若已定義:inta=5,b=9,c=6;則語(yǔ)句66.有以下程序:main(){intc;while((c=getchar())!='\n'){switch(c-'2'){case0:case1:putchar(c+4);case2:putchar(c+4);break;case3:putchar(c+3);default:putchar(c+2);break;}}}當(dāng)輸入:247<回車>,程序的輸出結(jié)果是(

)。689 B.6689C.66778 D.66887B66.有以下程序:Bc語(yǔ)言中是用非0表示邏輯真的,用0表示邏輯假的。

1)關(guān)系表達(dá)式:

表達(dá)式的數(shù)值只能為1(表示為真),或0(表示假)

關(guān)系的表達(dá)是為真的時(shí)候得到1。如

9>8這個(gè)是真的,所以表達(dá)式的數(shù)值就是1;a>b>c的問題

2)邏輯表達(dá)式:

為1(表示為真),0(表示假)

a)!>&&>||

優(yōu)先的級(jí)別。

b)不完全計(jì)算問題。

c)要表示

x是比0大,比10小的方法。0<x<10是不可以的。

一定要用

(0<x)&&(x<10)。

c語(yǔ)言中是用非0表示邏輯真的,用0表示邏輯假的。36.若有定義:inta=6;則語(yǔ)句

a*=a-=a/=3;運(yùn)行后,a的值是(

)。A.10 B.0 C.34 D.2446.若已定義

inta=3,b=2,c=1;則語(yǔ)句

++a||++b&&++c;運(yùn)行后b的值為(

)。A.0 B.3 C.1 D.248.若已定義:inta=2,b=2;則表達(dá)式

(a+(b++),b)的值是(

)。A.2 B.3 C.4 D.669.若已定義

intx=-16,y=-12,z;語(yǔ)句z=x<=y;運(yùn)行后z的值為(

)。.t. B.1 C..f. D.071.若定義

inta=2,b=3;則表達(dá)式

!a||b的值為(

)。A.0 B.1 C.2 D.3BBCBB36.若有定義:inta=6;則語(yǔ)句a*=a-=a/73.下列表達(dá)式()不能用來(lái)判斷整型變量x中的值是否為奇數(shù)。A.x%2==1 B.!(x%2==0) C.!(x%2) D.x%274.若有定義:inta=3,b=2,c=3;則值為0的表達(dá)式是(

)。A.(a-b)==(c/b) B.a>=cC.c-b||a+b&&(b*c-a-c) D.(b*c-a-c)&&(b*c-a-b)80.已定義

doublek=3.6;則正確的賦值表達(dá)式是(

)。A.k=double(-3.6) B.k%3C.k=k*(-1.0)=-3.6 D.k+=k-=(k=1.2)*(k=3)89.若有定義:floatx=2,y=4,h=3;下列表達(dá)式中與(x+y)*h/2.0計(jì)算結(jié)果不相符的是(

)。(x+y)*h/2 B.(x+y)*h*1/2C.(1/2)*(x+y)*h D.h/2*(x+y)CDDc73.下列表達(dá)式()不能用來(lái)判斷整型變量x中的值是1)if語(yǔ)句

else是與最接近的if且沒有else配套的相組合的。

2)條件表達(dá)式:

條件表達(dá)式1?表達(dá)式2:表達(dá)式3

注意是條件判斷為真時(shí)執(zhí)行表達(dá)式2的數(shù)值,當(dāng)是假時(shí)執(zhí)行表達(dá)式3的數(shù)值。

3)switch語(yǔ)句:

a)一定要注意:有break和沒有break的差別,沒有break時(shí)候,只要有一個(gè)case匹配了,剩下的都要執(zhí)行,有break則是直接跳出了

swiche語(yǔ)句。

b)switch只可以和break一起用,不可以和continue用。第三章1)if語(yǔ)句

else是與最接近的if且沒有els79.以下程序運(yùn)行后,a的值是(

)。main(){inta,b;for(a=1,b=1;a<=100;a++){if(b>=20)break;if(b%3==1){b+=3;continue;}b-=5;}}A.101 B.100 C.8 D.7c79.以下程序運(yùn)行后,a的值是()。c98.以下程序段運(yùn)行后變量k的值為(

)。inta=3,b=2;

intk;k=(--a==b++)?a:b+1;A.0 B.1 C.2 D.399.以下程序的運(yùn)行結(jié)果是(

)。voidmain(){intn=9;switch(n--){default:printf("%d",n++);case8:case7:printf("%d",n);break;case6:printf("%d",n++);case5:printf("%d",n);}}A.8 B.7 C.89 D.87cc98.以下程序段運(yùn)行后變量k的值為()。cc101.

以下程序的運(yùn)行結(jié)果是(

)。voidmain(){inta;if(a=6)printf("%d\n",a);elseif(a>6)printf("%d\n",a+2);elseprintf("%d\n",a+3);}A.運(yùn)行時(shí)產(chǎn)生錯(cuò)誤信息

B.9 C.8 D.6D101.以下程序的運(yùn)行結(jié)果是()。D103.若有定義:inta=2,b=3,c=1;則以下程序段的運(yùn)行結(jié)果是(

)。

if(a>b)if(a>c)printf("%d",a);elseprintf("%d",b);printf("%d",c);A.31 B.21 C.3 D.1D103.若有定義:inta=2,b=3,c=1;則以第四章

1)三種循環(huán)結(jié)構(gòu):for;while();

do-while()三種。

a)for(;;)語(yǔ)句1;循環(huán)當(dāng)中必須是兩個(gè)分號(hào),千萬(wàn)不要忘記。

b)寫程序的時(shí)候一定要注意,循環(huán)一定要有結(jié)束的條件,否則成了死循環(huán)。

c)

do-while()循環(huán)的最后一個(gè)while();的分號(hào)一定不能夠丟。(當(dāng)心上機(jī)改錯(cuò))

2)break:退出整個(gè)循環(huán)。

continue:結(jié)束本次循環(huán),就是循環(huán)體內(nèi)剩下的語(yǔ)句不再執(zhí)行,跳到循環(huán)開始,然后判斷循環(huán)條件,進(jìn)行新一輪的循環(huán)。

3)嵌套循環(huán)

就是有循環(huán)里面還有循環(huán),這種比較復(fù)雜,要一層一層一步一步耐心的計(jì)算,一般記住兩層是處理二維數(shù)組的。

第四章

1)三種循環(huán)結(jié)構(gòu):for;while();

do105.下列程序段中,非死循環(huán)的是(

)。A.inti=100;while(1){i=i%100+1;if(i>=100)break;}C.ints=10;while(++s%2+s%2)s++;B.intk=0;do{++k;}while(k>=0);D.for(;;)A105.下列程序段中,非死循環(huán)的是()。B.intk=108.以下程序段運(yùn)行后,循環(huán)體中的

n+=3;語(yǔ)句運(yùn)行的次數(shù)為(

)。inti,j,n=0;for(i=1;i<=3;i++)

{for(j=1;j<=i;j++)

{n+=3;printf("%d\n",n);}}A.6次

B.9次

C.12次

D.1次A108.以下程序段運(yùn)行后,循環(huán)體中的n+=3;語(yǔ)句運(yùn)行114.以下程序的運(yùn)行結(jié)果是(

)。

voidmain(){ints=0,i=0;while(i<10){i++;if(i%2==0)s+=i;}printf("%d\n",s);

}A.20 B.30 C.25 D.45B114.以下程序的運(yùn)行結(jié)果是()。B115.以下程序的運(yùn)行結(jié)果是(

)。

voidmain(){intx=5;do{printf("%2d",x--);}while(!x);}A.54321B.43210C.5D.4C115.以下程序的運(yùn)行結(jié)果是()。C116.以下程序的運(yùn)行結(jié)果是(

)。

voidmain(){inti,j,k=0;for(i=3;i>=1;i--)

{for(j=i;j<=3;j++)

k+=i*j;

}

printf("%d\

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論