C語言復習資料_第1頁
C語言復習資料_第2頁
C語言復習資料_第3頁
C語言復習資料_第4頁
C語言復習資料_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

C語言復習資料《C語言程序設計》期末復習資料一、考試題型及其分數(shù)分布:1、單項選擇題(每小題2分,共30分)2、填空題(每空1分,共20分)3、程序閱讀分析題(每小題3分,共30分)4、編程題(每小題10分,共20分)二、復習要點1、構(gòu)成C程序的基本單位是?函數(shù)2、字符型常量的正確使用方式。3、合法的用戶標識符是?4、強制類型轉(zhuǎn)換的正確運用。(float)(5/2)5、自增自減運算符使用要點。6、逗號表達式值的概念及其正確運用。(例如:已知inta,b;執(zhí)行語句a=(b=3*4,b*2),b+9;變量a的值是?)7、scanf函數(shù)多數(shù)據(jù)輸入時的格式控制問題(空格或逗號的使用)"%d%d%d"是按十進值格式輸入三個整數(shù)值。輸入時,在兩個數(shù)據(jù)之間可以用一個或多個空格、tab鍵、回車鍵分隔。8、二維數(shù)組定義時下標值缺省的規(guī)則。9、printf函數(shù)輸出數(shù)據(jù)時總長度和小數(shù)位數(shù)的確定。12d10、指向數(shù)組的指針靈活運用的問題。(例如:已知:chars[10],*p=s;下列錯誤的表達式是:s=p+5p=s+5s[2]=p[3]*p=s[0])11、自增自減運算符“先用后增減,先增減后用”的問題。12、字符串復制函數(shù)和字符數(shù)組(串)長度的概念和運用。(例如:saticcharstr[]=”beijing”;則執(zhí)行下列語句后的輸出結(jié)果為?printf(“%d\n”,strlen(strcpy(str,”hello!”)));另外:chara[]=”abcde”,b[]={a’,’b’,’c’,’d’,’e’};中a與b的區(qū)別和聯(lián)系。staticcharstr[]=”beijing”;printf(“%d\n”,strlen(strcpy(str,”hello!”)));#includemain(){inta,b;staticcharstr[]="beijing";a=strlen(str);strcpy(str,"hello!");b=strlen(str);printf("%d,%d\n",a,b);}8,6strlen()求數(shù)組中存放的字符串的長度!(不算\0)13、“循環(huán)條件”與“循環(huán)結(jié)束條件”的概念。14、字符串比較函數(shù)strcmp返回值的概念。較大字符串的正確語句是:A.if(strcmp(str1,str2))printf(“%s”,str1);B.if(str1>str2)printf(“%s”,str1);C.if(strcmp(str1,str2)>0)printf(“%s”,str1);D.if(strcmp(str1)>strcmp(str2))printf(“%s”,str1);當str1<str2時,返回值str2時,返回值>0即:兩個字符串自左向右逐個字符相比(按ASCII值大小相比較),直到出現(xiàn)不同的字符或遇'\0'為止。如:"A"<"B""a">"A""computer">"compare"</str2時,返回值15、函數(shù)值類型的定義缺省時函數(shù)值的隱含類型是?void16、調(diào)用一個函數(shù),且此函數(shù)中沒有return語句,意味著什么?該函數(shù)沒有返回值17、main函數(shù)調(diào)用自定義函數(shù)時返回值的使用。18、在一個文件中定義的全局變量的作用域為?從定義該變量開始至本文件結(jié)束19、以下敘述中錯誤的是()。A)二進制文件打開后可以先讀文件的末尾,而順序文件不可以。B)在程序結(jié)束時,應當用fclose函數(shù)關(guān)閉已打開的文件。C)用fread函數(shù)從二進制文件中讀數(shù),可以用數(shù)組名給數(shù)組所有元素讀入數(shù)據(jù)。D)不可以用FILE定義指向二進制文件的文件指針。20、三種循環(huán)結(jié)構(gòu)的區(qū)別與聯(lián)系。21、當說明一個結(jié)構(gòu)體變量時系統(tǒng)分配給它的內(nèi)存是()。A)各成員所需內(nèi)存的總和B)結(jié)構(gòu)中第一個成員所需內(nèi)存量C)成員中占內(nèi)存量最大者所需的容量D)結(jié)構(gòu)中最后一個成員所需內(nèi)存量22、二維數(shù)組轉(zhuǎn)換成等價的一維數(shù)組,原二維數(shù)組中元素轉(zhuǎn)換成一維數(shù)組后在一維數(shù)組中的下標應該是?23、在位運算中,操作數(shù)每右移一位,其結(jié)果相當于什么?若左移1位,其結(jié)果相當于什么?24、當順利執(zhí)行了文件關(guān)閉操作時,fclose()函數(shù)的返回值是什么?當使用完一個文件后,應該將該文件關(guān)閉,以防止它再被調(diào)用?!瓣P(guān)閉”就是是文件指針變量不再指向該文件,也就是文件指針變量與該文件“斷開”,此后不能通過該指針變量對原來與其相聯(lián)系的文件進行讀寫操作,除非再次打開,使文件變量重新指向該文件?!菊{(diào)用形式】fclose(文件指針變量名)【功能】關(guān)閉文件指針變量所指向的文件,同時自動釋放分配給文件的緩沖區(qū)?!痉祷刂怠课募苷jP(guān)閉,則返回0,否則返回非0.25、實型變量的類型說明符有哪些?float、double26、表達式8+9>2&&25%5的結(jié)果是什么?27、編寫從鍵盤輸入的字符中統(tǒng)計數(shù)字字符的個數(shù)的程序,字符用getchar()獲得,循環(huán)條件由判斷是否回車構(gòu)成。intn=0,ch;ch=getchar();while(ch=getchar()!=’\n’){if(ch>=0&&ch<=9)n++;}28、putchar()函數(shù)的功能是什么?29、定義fp為文件型指針變量的定義方法是什么?file*fp30、若s是int型變量,且s=9,則表達式s%2+(s+1)%2的值是多少?31、通常a和b的值可以借助中間變量t進行交換,寫出它們交換的語句;若不借助任何變量把a、b中的值進行交換,也請寫出相關(guān)語句,并注意使用縮減賦值符號+=和-=等。{t=a;a=b;b=t;}{a+=b;b=a-b;a-=b;}32、編寫求出矩陣a的主對角線上的元素之和的程序。main(){inta[3][3]={1,3,5,7,9,11,13,15,17},sum=0,i,j;for(i=0;i<3;i++)for(j=0;j<3;j++)if(i==j)sum=sum+(a[i][j]);printf("sum=%d\n",sum);}33、以下程序的運行結(jié)果是?main(){increment();increment();increment();}increment(){staticintx=0;x+=2;printf("%d",x);}非常重要,自行分析!34、以下程序的運行結(jié)果是?voidmain(){staticinta[10],i;for(i=0;i<10;i++)a[i]=i+1;for(i=0;i<10;i=i+2)printf(“%d”,*(a+i));}非常重要,自行分析!35、編寫程序輸出所有大寫字母和其對應的ASCII碼值。程序填空,有1處,非常簡單,但也要注意!36、編寫程序?qū)⒁粋€字符串S的內(nèi)容顛倒過來。程序填空,有2處,例如:voidreserve(chars[],intn){inti,j,k;for(i=0,j=strlen(s)-1;i<=""p="">{k=s[i];s[i]=s[j];s[j]=k;}}37、編寫程序由鍵盤輸入三個數(shù)a,b,c,計算以這三個數(shù)為邊長的三角形面積。s=(a+b+c)/2s=sqrt(s*(s-a)*(s-b)*(s-c))程序填空,有2處,注意根據(jù)邊長求面積公式38、從鍵盤輸入一個字符串,把它輸出到文件中,文件名由鍵盤輸入。#includevoidmain(){FILE*fp;charch,*fn;scanf(“%s”,fn);if((fp=fopen(fn,“W”))==NULL){printf(“打開e文件出錯\n”);exit(1);}while((ch=getchar())!=EOF){fputc(ch,fp);putchar(ch);}fclose(fp);}請?zhí)畛湎聞澗€處的內(nèi)容以完善本程序。39、編寫程序輸出所有的“水仙花數(shù)”,所謂“水仙花數(shù)”就是指一個3位數(shù),其各位數(shù)的立方和等于該數(shù)本身。例如:153是一個水仙花數(shù),因為153=13+53+33。程序填空,有1處,注意如何從一個三位整數(shù)中取得百位、十位和個位!40、充分分析和理解是猴子吃桃問題:猴子第1天摘下若干個桃子,當即吃了1半,還不過癮,又多吃了1個。第2天早上又將剩下的桃子吃掉1半,又多吃了1個。以后每天早上都吃了前天剩下的1半零1個。到第10天早上想再吃時,見只剩1個桃子了。求第1天共摘了多少個桃子。程序填空,有1處,注意表達式的理解!41、有15個數(shù)按從小到大的順序存放在1個數(shù)組中。輸入1個數(shù),要求用折半查找法找出該數(shù)是數(shù)組中第幾個元素的值。如果該數(shù)不在數(shù)組中,輸出“不在表中”。解題思路:假如有已按由小到大排好序的9個數(shù),a[1]----a[9],其值分別為:1,3,5,7,9,11,13,15,17。若輸入一個數(shù)3與a[5]比較,a[5]的值是9。發(fā)現(xiàn)a[5]>3,顯然3應該在a[1]到a[5]范圍內(nèi),而不會在a[6]到a[9]范圍內(nèi)。這樣就可以縮小查找范圍,甩掉a[6]到a[9]這一部分,即將查找范圍縮小為1半。在找a[1]到a[5]范圍內(nèi)的居中的數(shù),即a[3],將要找的數(shù)與a[3]比較,a[3]的值是5,發(fā)現(xiàn)a[3]>3,顯然3應該在a[1]到a[3]的范圍內(nèi)。依次類推,直到找到為止。下面是折半查找函數(shù)。intbinsearch(seqlistr,keytypek){//折半查找intlow=1,high=n,mid;while(low<=high){mid=(low+high)/2;if(r[mid].key==k)retur

溫馨提示

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

評論

0/150

提交評論