2018 C語言復(fù)習(xí)題

上傳人:小*** 文檔編號:159578107 上傳時間:2022-10-09 格式:DOC 頁數(shù):8 大?。?7.29KB
收藏 版權(quán)申訴 舉報 下載
2018 C語言復(fù)習(xí)題_第1頁
第1頁 / 共8頁
2018 C語言復(fù)習(xí)題_第2頁
第2頁 / 共8頁
2018 C語言復(fù)習(xí)題_第3頁
第3頁 / 共8頁

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《2018 C語言復(fù)習(xí)題》由會員分享,可在線閱讀,更多相關(guān)《2018 C語言復(fù)習(xí)題(8頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、C語言復(fù)習(xí)題 熟讀理論教材,理解相關(guān)知識,并復(fù)習(xí)理論教材課后練習(xí)題 (切記:以理論教材知識、例題和課后練習(xí)為主復(fù)習(xí)) 熟讀課本例題及知識,完成以下知識點的復(fù)習(xí)及總結(jié)。 一.填空 1. 一個C語言的執(zhí)行是從本程序的____開始,到____結(jié)束? 2. C語言中用戶的標(biāo)識符命名規(guī)則是____。 3. 在一個c語言程序中,main函數(shù)的位置是___。 4. 若有代數(shù)式p(mne)/(bcd),其中p、m、n、e、b、c、d為變量,則該代數(shù)式的 C語言表達式為___。 5. char a; int x; float y,m; double z,p;則表達式“a*x*m+z-y

2、*x*p”值的數(shù)據(jù)類型為___。 6. C語言的常用關(guān)鍵字有___(舉例說明,越多越好)。 7. printf函數(shù)中用到格式符%ms,其中數(shù)字m表示輸出的字符串占用m列。如果字符串長度大于m,則輸出時的規(guī)則是___。若如果字符串長度小于m,則輸出時的規(guī)則是___。若如果字符串長度等于m,則輸出時的規(guī)則是___。當(dāng)m>0時是左對齊還是右對齊?m<0呢? 8已有定義“int x; float y;”且執(zhí)行“scanf(“%4d%f”,&x,&y);”語句,若從第一列開始輸入數(shù)據(jù)9876543,則x的值為___。 10.能正確表示a≥-100或a≦100的關(guān)系表達式是___。能正確表示a≥-

3、100且a≦100的關(guān)系表達式是___。 11.判斷邏輯值為“真”的判斷方法是___。邏輯值為“假”的判斷方法是___。 12.已知“int x=100,y=200,z=300”,則執(zhí)行if(x>y)z=x;x=y;y=z;語句后,x、y、z的值是___。 13.若m和n均為int型變量,則以下for語句循環(huán)執(zhí)行的次數(shù)___及輸出結(jié)果是___。 for(n=8,m=8;m!=8;m++,++n) printf(“Welcome you!\n”); 14.若n為int型變量,則循環(huán)語句“for(n=0;n<100;n++)”控制循環(huán)體執(zhí)行___次。 15.在循環(huán)語句循環(huán)體中執(zhí)行c

4、ontinue語句,其作用是___,break的作用是__;在swich() Case語句中break語句作用是__。 16.關(guān)于函數(shù)的參數(shù),實參可以是__,形參可以是__, A.表達式;B.變量 c.常量 D.默認值 17.C語言的編譯系統(tǒng)對宏命令的處理是在什么時間進行__ 18.在C語言中,函數(shù)返回值的類型最終取決于__ 19.定義二維整型數(shù)組b時,該數(shù)組行號和列號是否可以為變量? 20.對一維數(shù)組和二維數(shù)組定義及初始化的方法進行總結(jié),并舉例說明__ 21.若有以下語句,char a[]=”abcdefgh”; char b[]={‘a(chǎn)’,’b’,’c’,’d,’e,’f’

5、,’g’,’h’};則a和b數(shù)組長度分別為__和__ 22.設(shè)有定義“int n1=0,n2,*p=&n2,*q=&n1;”,以下賦值語句中與“n2=n1;”語句等價的是另外一種表示語句為__ 23.如有語句“int q=100,*p=&q;”,下面均代表地址的一組選項是________________ A. q,p,*&q B. &*q,&q,*p C. *&p, p,&q D. float *q,&*p ,p 24.若有說明語句“int m, a[10][10];”,則不能將a[1][1]的值賦給變量m的語句是________________ A. m=*(*(a+1)

6、+1); B. m=a[1][1] C. m=*(*(a+1)) D. m=*(a[1])+1) 25.下面程序的運行結(jié)果是________________ char str[]=”ABCDEFGGH”,*p=str; printf(“%d\n”,*(p+3)); 26.C語言結(jié)構(gòu)體類型變量在程序執(zhí)行期間駐留在內(nèi)存中的包括________________ 27.以下關(guān)于結(jié)構(gòu)體與共用體的共同點和區(qū)別是________________,他們?nèi)绾畏峙淇臻g的? 28.已有定義“int a,b,c;”,且a=b=c=20,執(zhí)行if(a++||b++) c++;語句后,a、b、

7、c的值是分別是________________、______________、________________。 已有定義“int a,b,c;”,且a=b=c=20,執(zhí)行if(a++&&b++) c++;語句后,a、b、c的值是分別是________________、______________、________________ 29. 在一個源文件中定義的全局變量和局部變量的作用域為________________和________________。 30. 在調(diào)用函數(shù)時,如果實參是簡單變量,它與對應(yīng)形參之間的數(shù)據(jù)傳遞方式是什么?如果實參是地址值呢?不同的是什么? 31.有以下程

8、序, 結(jié)果為_______________。 void main( ) { int a[5]={1, 2, 3, 4, 5}; int *pa=&a[1]; printf(“%d”, pa[1]); } 32.下面函數(shù)調(diào)用語句含有實參的個數(shù)為_______________。 y = fun(a, b, c, min(d ,e),max(a,b)); 33.以下程序的輸出結(jié)果是_______________。 long fib(int n) { if(n>2) return(fib(n-1)+fib(

9、n-2)); else return (2); } void main( ) { printf("%ld\n", fib(5)); } 34.若有以下語句int a,*p,**p; a=808;p=&a;pp=&p;則**PP的值是_______________。 35. 設(shè)有如下定義:int *p( ); int a[10], *q[10];q[i]=&a[i]則p表示的意義是_______________,*q的表示的含義是_______________,其值是_______________。 38.若有 #define MU(x,y) x

10、*y , 則表達式24/MU(1+2,2)的值是_______________。 39.若有 int a=1; 則執(zhí)行完循環(huán)語句while( a++<100 );后a的值為_______________。 40.以下所列的C語言常量中,錯誤的是_______________。 A. 0xFF B.2.8e0.2 C.25.3 D.'B' 41.所有的字符串都是以_______________字符結(jié)束的。 42假定double類型變量占用8個字節(jié),且有定義:double x[10]={1,2,3};,則數(shù)組x在內(nèi)存中所占

11、字節(jié)數(shù)是_______________ 43判斷char型變量ch是否為小寫字母的正確表達式是_______________ 44. 以下語句正確的有_______________,錯誤的有_______________ A char a='P', b='M'; B float a=b=101.0; C int m=101, *n=&m; D double *a, b=&a; 45.以下4個選項中,不能看做一條語句的是_______________ A.a(chǎn)-=23;

12、 B.a(chǎn)=8,b=12.5,c=13.68; B. if(a<15) p++; D.if(b!=5)x=2; y=6; 46.關(guān)于if后一對圓括號中的表達式,可以是哪種類型的表達式_______________ 47.以下有關(guān)變量使用范圍不正確的說法是_______________。 A 在不同函數(shù)中可以使用同名的變量 B 形式參數(shù)是局部變量 C 在函數(shù)內(nèi)定義的變量只在本函數(shù)內(nèi)有效 D 全局變量可以在所有函數(shù)中使用 48.若有說明語句:int a,b,*d=&b;,則能正確從鍵盤讀入2個整數(shù)分別賦給變

13、量a、b的語句是_______________。 A.scanf("%d%d", &a,d); B.scanf("%d%d", &a,&d); C. scanf("%d%d" ,a,d); D.scanf("%d%d", a,*d); 49.已知 int p=20; 則執(zhí)行 if(p<=0) if(p!=0) printf(“AAAAA”); else printf(“BBBBB”); else printf(“

14、CCCCC”); 語句后,輸出的結(jié)果是_______________。 50.要使字符數(shù)組str存放一個字符串"Goodbye",正確的定義語句是_______________。 51.若用二維數(shù)組名作為函數(shù)調(diào)用的實參,傳遞給形參的值是_______________。 52.若有 int x=20,y=8,z;,則執(zhí)行語句z=0.7+x/y后z的值為_______________。 53.設(shè)有以下語句: struct SS {int no; char name[10];}PERSON; 則下面敘述中錯誤的是_______________。 A struct是結(jié)構(gòu)

15、體類型的關(guān)鍵字   B struct SS是結(jié)構(gòu)體類型 C PERSON是結(jié)構(gòu)體類型名   D name是結(jié)構(gòu)體成員名 54.已知:char ch='m';則下列表達式的值是_______________。 ch = (ch>='a'&&ch<='z') ? (ch-32) : ch; 55.下面程序的運行結(jié)果是_______________。 char c[8]={'a','\0,’b','\0','c','\0'}; printf("%s",c); 56.以下程序的輸出結(jié)果是_____________

16、__。 main() { char st[20]= "10987654321\n\t\n\\\t\\"; printf("%d \n",strlen(st)); } 57.有如下程序, 該程序的輸出結(jié)果是_______________。 main( ) { float x=2.0, y; if( x<0.0 ) y=0.0; else if( x<10.0 ) y=1.0/x+1/4; else y=10.0; printf( "%f\n",

17、 y); } 58.以下程序段的輸出結(jié)果是_______________。 main( ) { int a[10]={1,2,3,4,5,6,7,8,9,10}, *p=&a[2]; printf( "%d", *(p+3) ); } 59.有如下程序, 該程序的執(zhí)行結(jié)果是_______________。 main() { int i, sum=0; for(i=1; i<=10; i++) sum += i; printf( "%d\n", sum); } 60.以下程序段,

18、while 循環(huán)執(zhí)行的次數(shù)是_______________。 int k=0; while( k = 2) { k = k -1; } 60.語言使用的磁盤文件系統(tǒng)中,數(shù)據(jù)文件存儲的的形式有哪兩種_______________。 61.文件函數(shù)中,用于打開文件的函數(shù)是________,用于關(guān)閉文件的函數(shù)是_______,讀寫文件中字符的函數(shù)是_______,將一個字符寫入磁盤文件的函數(shù)是_______。 二.編程 1.已知某班10個學(xué)生的C語言成績?yōu)? 學(xué)號 9901 9902 9903 9904 9905 9906 9907

19、9908 9909 9910 C成績 65.4 86.7 69.8 88.5 100 92.6 87.3 54.8 96.3 79.6 要求:按成績大小排序輸出,格式如下: 學(xué)號 成績 名次 9905 100.0 1 9909 96.3 2 …… …… 參考答案: #include "stdio.h" void main() { static int num[10]={},i,j,p,t; static float sc[1

20、0]={65.4,86.7,69.8,88.5,100,92.6,87.3,54.8,96.3,79.6},f; printf("the original data:\n"); printf(" 學(xué)號 成績\n===========\n"); for(i=0;i<10;i++) printf("%6d %6.1f\n",num[i],sc[i]); for(i=0;i<9;i++) { p=i; for(j=i+1;j<10;j++) if(sc[p]

21、 for(j=0;j<10;j++) { t=num[p]; num[p]=num[i]; num[i]=t; f=sc[p]; sc[p]=sc[i]; sc[i]=f; } } printf("the sorted data:\n"); printf(" 學(xué)號 成績 名次\n===========\n"); for(i=0;i<10;i++) printf("%6d %6.1f %d\n",num[i],sc[i],i+1); } 2.例8.3 編寫一個交換兩個變量

22、的函數(shù),在主程序中調(diào)用,實現(xiàn)兩個變量值的交換。 #include void main() {  int a,b; int *pa,*pb; void swap(int *p1,int *p2);     /*函數(shù)聲明*/ scanf(″%d%d″,&a,&b); pa=&a; /* pa指向變量a */ pb=&b; /* pb指向變量b */ swap(pa,pb); printf(″\na=%d,b=%d\n″,a,b); } void swap(int *p1,int *p2) { int temp; temp=*p1;  

23、   /*三行語句交換指針p1,p2所指向的變量的值*/ *p1=*p2; *p2=temp; } 3. 例6.5編程求組合C= 分別定義求組合的函數(shù)和求階乘的函數(shù): #include long fac(int k)     /* 定義求階乘的函數(shù)*/ { long f=1; int i; for(i=1;i<=k;i++)  f = f * i; return f; } long comb(int n,int m) /* 定義組合函數(shù)*/ { long c;  c =

24、 fac(m)/ (fac(n)* fac(m-n)); /* 嵌套調(diào)用階乘函數(shù)*/  return c; } main() { int n,m; long c; scanf(″%d,%d″,&n,&m); c = comb (n,m); /* 調(diào)用組合函數(shù)*/ printf (″%ld″,c); } 4.例6.6輸入兩個數(shù),輸出其中較大的數(shù)。 #include void main() { int a,b,m; int max(int,int );

25、 /*對函數(shù)max的聲明*/ scanf(″%d,%d″,&a,&b); m = max(a,b); /*調(diào)用函數(shù)max,a、b已有具體的值*/ printf(″max=%d″,m); } int max(int x,int y) { int t; if (x>y)t = x; else t = y; return t; } 如果運行時輸入: 10,5 輸出為 10 5. 例6.8 用遞歸計算n!。 程序: #in

26、clude long fac(int n) {long f;  if (n==0) f=1;  esle f = n * fac(n-1); /* 遞歸調(diào)用,求(n-1)!*/  return f; } void main() {long y; int n; scanf(″%d″,&n); y = fac(n); /*調(diào)用fac(n)求n!*/ printf(″%d?。?ld″,n,y); } 程序運行時如果輸入: 3 6. 例5.9 找出3~1 000中的全部素數(shù)。 程序: #include

27、 void main() {  unsigned int i,j,count,flag;/* 用flag作標(biāo)志*/ count=0; /* 計數(shù)器清0*/ for(i=3;i<=1000;i++) { flag = 0; for(j=2;j<= sqrt(i);j++) { if (i % j ==0) /*能整除,不是素數(shù),標(biāo)志設(shè)為1 */ { flag = 1;break;} } /* 內(nèi)循環(huán)結(jié)束 */ if (flag == 0) /* 若flag為0,則i是素數(shù) */ {  printf(″%4d,″,i ); coun

28、t++; if (count % 8 == 0)printf(″\n″); /* 每行輸出8個素數(shù)*/ } }/* 外循環(huán) */ } 7.例8.1 從鍵盤輸入兩個整數(shù)到a、b,按由大到小輸出。 #include void main() { int a,b,*pa=&a,*pb=&b,*p;  /*定義指針變量pa、pb,并進行初始化,如圖8.4(a)所示*/ scanf(″%d%d″,&a,&b); if (*pa<*pb) {  p=pa;     /*進行指針交換,如圖8.4(b)和圖8.4(c)所示*/ pa=pb;

29、pb=p; } printf(″\n a=%d,b=%d\n″,a,b); printf(″\n max=%d,min=%d″,*pa,*pb); /* pa指向大數(shù),pb指向小數(shù)*/ } 輸入: 12 22↙ 輸出: a=12,b=22 max=22,min=12 8.例8.14 用指向一維數(shù)組的行指針輸出二維數(shù)組,并輸出數(shù)組中的最大元素及所在行列號。 #include void main() { int i,j,m,n,max; int a[3][4]={{1,2,3,4},{5,6,7,8}

30、,{9,10,11,12}}; int (*p)[4]; /*定義p為指向一個有4個元素的一維數(shù)組的指針變量*/ p=a; /*p指向第0行*/ max=**p; /*將第一個元素送入max,**p相當(dāng)于 *(*(p+0)+0) */ for(i=0;i<3;i++) { printf(″\n″); for(j=0;j<4;j++) {  pri

31、ntf(″%5d″,*(*p+j)); if(max<*(*p+j)) { max=*(*p+j); m=i;n=j(luò); } } p++; /*指向下一行*/ } printf(″\nmax is:a[%2d] [%2d]=%5d″,m,n,max); } 9.例5.1 編寫一個程序,輸入一個班的學(xué)生的成績,求全班的平均成績。 程序: #include

32、 void main() {  float score,average=0;     /* average存放平均成績,初值為0 */ int n=0; /* n存放學(xué)生數(shù),初值為0 */ scanf(″%f″,&score); /* 輸入第一個學(xué)生的分數(shù) */ while (score>=0) {  average += score; /* average先用來放總分 */ n++; /* 學(xué)生數(shù)加一 */ scanf(″%f″,&score); /* 輸入下一個學(xué)生的分數(shù) */ } if (n?。?) average = average /n; /*求平均成績average*/ printf(″%6.2f″,average); /*輸出平均成績average,保留兩位小數(shù)*/ }

展開閱讀全文
溫馨提示:
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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!

五月丁香婷婷狠狠色,亚洲日韩欧美精品久久久不卡,欧美日韩国产黄片三级,手机在线观看成人国产亚洲