【正文】
式x=x+y表示成復合賦值表達式為 x+=y 。printf(%d,x/y)。 4.double類型的長度為_8_。 3. 假定一個枚舉類型的定義為“enum RA{ab,ac,ad,ae}。 A.讀取 B.寫入 C.關閉 D.打開二、填空題 1. 在一個C語言程序文件中,若要包含另外一個頭文件或程序文件,則應使用的預處理命令為include。 A.free(p) B.delete(p) C.free(*p) D.free(amp。m D.p=*m 9.假定指針變量p定義為“int *p=malloc(sizeof(int))。 A.p=m B.p=amp。 A.1 B.2 C.4 D.8 8.假定有定義為“int m=7, *p。 int(double* a)。 Function (char)。 A.2 B.4 C.6 D.8 6.在下列選項中,不正確的函數原型格式為(C)。 A.n1 B.n C.n+1 D.n/2 5.假定一個二維數組的定義語句為“int a[3][4]={{3,4},{2,8,6}}。 i++。 x10 3.當處理特定問題時的循環(huán)次數已知時,通常采用(A)循環(huán)來解決。 x10 C.x=0 || x=10 D.x0 amp。 A.x=0 || x10 B.x=0 amp。amp。 }第二套復習題一、單選題 1.程序運行中需要從鍵盤上輸入多于一個數據時,各數據之間默認使用(D)符號作為分隔符。 i++) sum+=a[i]。 for(i=0。 } 2. 根據函數原型“int FF(int a[], int n)”,編寫函數定義,計算并返回數組a[n]中所有元素之和。 s+=p。i=10。 int s=1。程序為: include void main(){ int i。函數功能:求出并返回由f所指向的單鏈表中所有結點的最大值。 struct IntNode* next。 } return x。 while(f) { if(fdatax) x=fdata。} x=fdata。2. int FindMax(struct IntNode *f) //f為一個單鏈表的表頭指針 { int x。 else return 1。 i++。 if(x==2 || x==3) return 1。 printf(b=%d\n,b)。 } void main() { int a[5]={1,2,3,4,5}。i++) s+=a[i]。 for(i=0。 printf(%d\n,WF(x,y))。 return x+y。 }運行結果:s=235 4. include int WF(int x, int y) { x=x+y。 a[i]=90) s+=a[i]。 i++) if(a[i]=70 amp。 for(i=0。 } }運行結果:2 5 3. include void main() { int a[8]={70,63,54,95,40,75,90,66}。 x/=i。 int i=2。 printf(%d\n,k)。 j5。 i5。 三、寫出下列每個程序運行后的輸出結果(每小題6分,共30分) 1. include void main() { int i,j,k=0?!?,則該類型的理論長度為_12_。 A* c。 11. 假定一個數據對象為int*類型,則指向該對象的指針類型為_int**_。 9. 字符串a:\\xxk\\的長度為_15_。 8. 使用“typedef char BB[10][50]。 7. 假定二維數組的定義為“int a[3][5]。 y5)的相反表達式為(x!=0 || y=5) 或:(x || y=5)。 5. 邏輯表達式(x==0 amp。 3. float 。”語句后得到的輸出結果為_C_。A39。 10. 從一個數據文件中讀入以換行符結束的一行字符串的函數為(B)。 p=amp。p=*s。s。 A. char *p=s。 A. 數組的首地址 B. 數組中第一個元素的值 C. 數組中全部元素的值 D. 數組元素的個數 8. 假定a為一個整數類型的數組名,整數類型的長度為4,則元素a[4]的地址比a數組的首地址大(C)個字節(jié)。 A. 8 B. 9 C. 10 D. 11 6. 將兩個字符串連接起來組成一個字符串時,選用的字符串函數為(C)。 do i++。 A. for B. while C. do D. if 5. 在下面的dowhile循環(huán)語句中,其循環(huán)體語句被執(zhí)行的次數為(C)。 A. 1 B. 2 C. 3 D. 4 3. 字符串a+b=12\n的長度為(B)。本科《C語言程序設計A》歷年考題第一套(2010年7月試題) 一、單選題(每小題2分,共20分) 1.在每個C語言程序中都必須包含有這樣一個函數,該函數的函數名為(A)。 A. main B. MAIN C. name D. function 2.每個C語言程序文件的編譯錯誤分為(B)類。 A. 6 B. 7 C. 8 D. 9 4. 在switch語句的每個case塊中,假定都是以break語句結束的,則此switch語句容易被改寫為(D)語句。 int i=0。 while(i10)。 A. strlen() B. strcpy() C. strcat() D. strcmp() 7. 若用數組名作為函數調用的實參,傳遞給形參的是(A)。 A. 4 B. 8 C. 16 D. 32 9. 假定s被定義為指針類型char *的變量,初始指向的字符串為Hello world!,若要使變量p指向s所指向的字符串,則p應定義為(A)。 B. char *p=amp。 C. char *p。 D. char *p。s。 A. gets() B. fgets() C. getc() D. fgetc() 二、填空題(每小題2分,共26分) 1.執(zhí)行“printf(%c,39。+2)。 2.short int類型的長度為_2_。 4. 假定y=10,則表達式++y*3的值為_33_。amp。 6.若x=5,y=10,則x!=y的邏輯值為_1(真,true)_?!保瑒t該數組所占存儲空間的字節(jié)數為_60_?!闭Z句定義_BB_為含有10行50列的二維字符數組類型。 10.假定p所指對象的值為25,p+1所指對象的值為46,則*++p的值為_46_。 12.假定一個結構類型的定義為 “struct A{int a,b。}。 13. 假定要訪問一個結構對象x中的數據成員a。 for(i=0。 i++) for(j=i。 j++) k++。 }運行結果:15 2. include void main() { int x=20。 while(ix) { if(x%i==0) {printf(%d ,i)。} i++。 int i, s=0。 i8。amp。 printf(s=%d\n,s)。 y+=x。 } void main() { int x=3, y=5。 }運行結果: 21 5. include int LA(int *a, int n) { int i,s=0。in。 return s。 int b=LA(a,5)+LA(a+1,3)。 }運行結果: b=24 四、寫出下列每個函數的功能(每小題6分,共12分) 1. int SG(int x) { //x為大于等于2的整數 int i=2。 while(i*i=x) { if(x%i==0) break。 } if(i*i=x)return 0。 }函數功能:判斷x是否為一個素數,若是則返回1,否則返回0。 if(!f) {printf(單鏈表為空\n),exit(1)。 f=fnext。 f=fnext。 } 假定struct IntNode的結點類型定義為: struct IntNode { int data。}。 五、按照題目要