C電大語言程序設(shè)計A復(fù)習(xí)資料一_第1頁
C電大語言程序設(shè)計A復(fù)習(xí)資料一_第2頁
C電大語言程序設(shè)計A復(fù)習(xí)資料一_第3頁
C電大語言程序設(shè)計A復(fù)習(xí)資料一_第4頁
C電大語言程序設(shè)計A復(fù)習(xí)資料一_第5頁
已閱讀5頁,還剩7頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、C語言程序設(shè)計A復(fù)習(xí)資料一一、單選題 1. 由C語言目標(biāo)文件連接而成的可執(zhí)行文件的缺省擴(kuò)展名為( )。 A. cpp B. exe C. obj D. c 2. 設(shè)有兩條語句為“int a=12; a+=a*a;”,則執(zhí)行結(jié)束后,a的值為( )。 A. 12 B. 144 C. 156 D. 28 3. 帶有隨機(jī)函數(shù)調(diào)用的表達(dá)式rand()%20的值在( )區(qū)間內(nèi)。 A. 119 B. 120 C. 019 D. 020 4. for循環(huán)語句“for(i=0; in; i+=2) S;”中循環(huán)體S語句被執(zhí)行的次數(shù)為( )。 A. (n+1)/2 B. n/2+1 C. n/2-1 D. n-1

2、 5. 在下列的字符數(shù)組定義中,存在語法錯誤的是( )。 A. char a20=abcdefg; B. char a=x+y=55.; C. char a15=1,2; D. char a10=5; 6. 若有一個函數(shù)原型為“double *function()”,則它的返回值類型為( )。 A. 實數(shù)型 B. 實數(shù)指針型 C. 函數(shù)指針型 D. 數(shù)組型 7. 在C語言中,所有預(yù)處理命令都是以( )符號開頭的。 A. * B. # C. & D. 8. 假定整數(shù)指針p所指數(shù)據(jù)單元的值為30,p+1所指數(shù)據(jù)單元的值為40,則執(zhí)行*p+后,p所指數(shù)據(jù)單元的值為( )。 A. 40 B. 30 C

3、. 70 D. 10 9. 若要使p指向二維整型數(shù)組a1020,則p的類型為( )。 A. int * B. int * C. int *20 D. int(*)20 10. 表示文件結(jié)束符的符號常量為( ) A. eof B. Eof C. EOF D. feof 二、填空題 1一個函數(shù)定義由_和函數(shù)體兩部分組成。 2. 執(zhí)行“printf(%c,F-2);”語句后得到的輸出結(jié)果為_。 3int類型的長度為_。 4. 表達(dá)式(float)25/4的值為_。 5若x=5,y=10,則x=y的邏輯值為_。 6. 作為語句標(biāo)號使用的case和default只能用于_語句的定義體中。 7. 在程序中

4、執(zhí)行到_語句時,將結(jié)束所在函數(shù)的執(zhí)行過程,返回到調(diào)用該函數(shù)的位置。 8. 假定二維數(shù)組的定義為“char aMN;”,則該數(shù)組所含元素的個數(shù)為_。 9. 存儲字符a需要占用存儲器的_個字節(jié)空間。 10. 用于存儲一個長度為n的字符串的字符數(shù)組的長度至少為_。 11. 假定p所指對象的值為25,p+1所指對象的值為46,則執(zhí)行表達(dá)式(*p)+后,p所指對象的值為_。 12. 假定p是一個指向整數(shù)對象的指針,則用_表示該整數(shù)對象。 13假定一個結(jié)構(gòu)類型的定義為“struct Bint a5; char* b;”,則該類型的理論長度為_。 三、寫出下列每個程序運行后的輸出結(jié)果 1. #include

5、 void main() int i, s1=0, s2=0; for(i=0;i10;i+) if(i%2) s1+=i; else s2+=i; printf(%d %dn,s1,s2); 2. #include const int M=20; void main() int i=2; while(1) if(iM/2) break; if(M%i=0) printf(%d ,i); i+; printf(n); 3. #include int a6=4,5,6,15,20,12; void main() int i,s1,s2; s1=s2=0; for(i=0; i6; i+) swi

6、tch(ai%2) case 0: s2+=ai;break; case 1: s1+=ai;break; printf(%d %dn,s1,s2); 4. #include void main() int a33=3,5,7,9,11,13,6,8,20; int i,*p=&a00; for(i=0;i10) printf(%d ,*p); p+; printf(n); 5. #include #include struct Worker char name15; int age; float pay; void main() struct Worker x; char *t=liouti

7、ng; int d=38; float f=400; strcpy(,t); x.age=d; x.pay=f; x.age+; x.pay*=2; printf(%s %d %6.2fn,,x.age,x.pay); 四、寫出下列每個函數(shù)的功能 1. #include int SA(int a, int b) if(ab) return 1; else if(a=b) return 0; else return -1; 函數(shù)功能: 2. void Output(struct IntNode *f) /f為單鏈表的表頭指針 if(!f) return; while(f)

8、 printf(%d ,f-data); f=f-next; printf(n); 假定struct IntNode的類型定義為: struct IntNode int data; struct IntNode* next; 函數(shù)功能: 五、按題目要求編寫程序或函數(shù) 6. 編寫一個程序,計算1+3+32+.+310的值并輸出,假定分別用i,p,s作為循環(huán)變量、累乘變量和累加變量的標(biāo)識符。6. 根據(jù)函數(shù)原型“int FF(int a, int n)”,編寫函數(shù)定義,計算并返回數(shù)組an中所有元素之和。參考答案一、單選題 1. B 2. C 3. C 4. A 5. D 6. B 7. B 8. A

9、 9. D 10. C二、填空題 1. 函數(shù)頭 2. D 3. 4 4. 6.25 5. 1 6. switch 或開關(guān) 或分情況 7. return 或返回 8. M*N 9. 1 10. n+1 11. 26 12. *p 13. 24三、寫出下列每個程序運行后的輸出結(jié)果評分標(biāo)準(zhǔn):根據(jù)答案正確程度酌情給分。 1. 25 20 2. 2 4 5 10 3. 20 42 4. 11 13 20 5. liouting 39 800.00四、寫出下列每個函數(shù)的功能評分標(biāo)準(zhǔn):根據(jù)答案敘述的正確與完善程度酌情給分。 1. 比較兩個整數(shù)a和b的大小,若ab則返回1,若a=b則返回0,若ab則返回-1。

10、 2. 遍歷并輸出由f所指向的單鏈表中每個結(jié)點的值。 五、按題目要求編寫程序或函數(shù)評分標(biāo)準(zhǔn):按程序或函數(shù)編寫的正確與完整程度酌情給分。1. #include void main() int i; int p=1; int s=1; for(i=1;i=10;i+) p*=3; s+=p; printf(%dn,s); 2. int FF(int a, int n) int i,sum=0; for(i=0; i0 | y=5的相反表達(dá)式為( )。A. x=0 | y!=5 B. x0 | y!=5 D. x0 & y=5 4. 枚舉類型中的每個枚舉常量的值都是一個( )。 A. 整數(shù) B. 浮

11、點數(shù) C. 字符 D. 邏輯值 5. 循環(huán)語句“for(int i=0; in; i+) S;”中循環(huán)體S被執(zhí)行的次數(shù)為( )。 A. 1 B. n-1 C. n D. n+1 6. 在下面的while循環(huán)語句中,其循環(huán)體被執(zhí)行的次數(shù)為( )。 int i=0,s=0; while(sname等價的表達(dá)式是_。三、寫出下列每個程序運行后的輸出結(jié)果 1. #include void main() int i, s=0; for(i=1;i+) if(s50) break; if(i%2=0) s+=i; printf(i,s=%d, %dn,i,s); 2. #include void main

12、() char ch=*; int i, n=5; while(1) for(i=0;in;i+) printf(%c,ch); printf(n); if(-n=0) break; 3. #include void main() int x=24,y=88; int i=2,p=1; do while(x%i=0 & y%i=0) p*=i; x/=i; y/=i; i+; while(x=i & y=i); printf(%dn,p*x*y); 4. #include void main() int a9=36,25,48,24,55,40,18,66,20; int i, b1, b2;

13、 a0=a1? (b1=a0, b2=a1):(b1=a1,b2=a0); for(i=2; i9; i+) if(aib1) b2=b1; b1=ai; else if(aib2) b2=ai; printf(%d %dn,b1,b2); 5. #include void main() int a=10, b=20; printf(%d %dn,a,b); int b=a+25; a*=4; printf(%d %dn,a,b); printf(%d %dn,a,b); 6. #include void SelectSort(int a, int n) int i,j,k,x; for(i=

14、1;in;i+) /進(jìn)行n-1次選擇和交換 k=i-1; for(j=i;jn;j+) if(ajak) k=j; x=ai-1; ai-1=ak; ak=x; void main() int i; int a6=20,15,32,47,36,28; SelectSort(a,6); for(i=0; i6; i+) printf(%d ,ai); printf(n); 7. #include void LE(int* a, int* b) int x=*a; *a=*b; *b=x; void main() int x=15, y=26; printf(%d %dn,x,y); LE(&x,

15、&y); printf(%d %dn,x,y); 8. #include #include struct Worker char name15; /姓名 int age; /年齡 float pay; /工資 ; int Equal(struct Worker* r1, struct Worker* r2) if(strcmp(r1-name, r2-name)=0) return 1; else return 0; void main() struct Worker a4=abc,25,420,defa,58,638, ghin,49,560,jklt,36,375; struct Work

16、er x=defa; int i; for(i=0; i=4) printf(沒有查找所需要的記錄!n); else printf(%s %d %6.2fn,,ai.age,ai.pay); 四、寫出下列每個函數(shù)的功能 1. int SE(int n) /n為大于等于1的整數(shù) int x,s=0; printf(輸入%d個整數(shù): ,n); scanf(%d,&x); if(n=1) return x; s=x; while(-n) scanf(%d,&x); s+=x; return s; 2. #include void WA(int a, int n) int i,k,j,x

17、; for(i=0;in-1;i+) k=i; for(j=i+1;jak) k=j; x=ai; ai=ak; ak=x; 3. #include int* LJ(int a, int n) int i,k=0; for(i=1;iak) k=i; return &ak; 4. int Output(struct IntNode *f) int sum=0; if(!f) return -9999; /用返回特定值-9999表示空表 while(f) sum+=f-data; f=f-next; return sum; 假定struct IntNode的類型定義為: struct IntNo

18、de int data; /結(jié)點值域 struct IntNode* next; /結(jié)點指針域 ; 5. int wr4(FILE* fptr) char ch; int c=0; fseek(fptr,0,SEEK_SET); while(1) ch=fgetc(fptr); if(ch!=EOF) c+; else break; return c; 五、根據(jù)下列每個題目要求編寫程序 1. 編寫一個函數(shù)fun(),首先從鍵盤上輸入一個4行4列的一個實數(shù)矩陣到一個二維數(shù)組a44中,接著求出主對角線上元素之和,最后返回求和結(jié)果。 2. 編寫一個主函數(shù),計算1+3+32+.+310的值并輸出,假定

19、分別用i,p,s作為循環(huán)變量、累乘變量和累加變量的標(biāo)識符。 3. 編寫一個主函數(shù),已知6a40,15b30,求出滿足不定方程2a+5b=120的全部整數(shù)組解。如(13,20)就是其中的一組解。參考答案一、選擇題1. C 2. D 3. B 4. A 5. C 6. C 7. B 8. A 9. C 10. A 11. D 12. A 13. C 二、填空題1. /* 2. 程序 3. weirong18 4. C 5. 2 6. float7. 33 8. (!x)9. 1 10. if11. continue 12. M*N13. 2 14. 長度15. 實參 16. 程序文件17. *(a+i) 18. *p 19. struct Worker* r 20. (*p).name三、寫出下列每個程序運行后的輸出結(jié)果 1. i,s=15, 56 2. * * * * * 3. 264 4. 18 20

溫馨提示

  • 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

提交評論