C程序設(shè)計(jì)復(fù)習(xí)題答案new_第1頁(yè)
C程序設(shè)計(jì)復(fù)習(xí)題答案new_第2頁(yè)
C程序設(shè)計(jì)復(fù)習(xí)題答案new_第3頁(yè)
C程序設(shè)計(jì)復(fù)習(xí)題答案new_第4頁(yè)
C程序設(shè)計(jì)復(fù)習(xí)題答案new_第5頁(yè)
已閱讀5頁(yè),還剩9頁(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)介

1、程序設(shè)計(jì)基礎(chǔ)復(fù)習(xí)題答案一、 填空題1、C語(yǔ)言所提供的實(shí)型變量分為兩種類型,它們是 float和double 。2、一個(gè)C源程序中至少應(yīng)包含一個(gè) 主函數(shù)或main函數(shù) 。3已知字母a的ASCII碼為十進(jìn)制數(shù)97,且設(shè)ch為字符型變量,則表達(dá)式ch=a+8-3的值為 102 。4在標(biāo)準(zhǔn)C語(yǔ)言中,輸入操作是由庫(kù)函數(shù) scanf() 完成的,輸出操作是由庫(kù)函數(shù) printf() 完成的。5對(duì)以下說(shuō)明:int c10 = 116, 125, 218, 312, 100, 40, 13, 67, 186;c4的值為 100 。6在C語(yǔ)言中,引用數(shù)組元素時(shí),引用數(shù)組元素時(shí),其數(shù)組下標(biāo)的數(shù)組類型允許是 整型常

2、量或整型表達(dá)式 。7設(shè)y為int 型變量,請(qǐng)寫出描述“y是偶數(shù)”的表達(dá)式 (y%2)=0 。8設(shè)int i=0,j=1,k=2,a=3,b=4; 執(zhí)行表達(dá)式(a=ik)的值為 0 。9與表達(dá)式 a+=b 等價(jià)的另一書(shū)寫形式是 a=a+b 。10有以下定義和語(yǔ)句int a32=1,2,3,4,5,6,*p3;p0=a1;則*(p0+1)所代表的數(shù)組元素是 a11 。11代表一個(gè)反斜杠字符“”的轉(zhuǎn)義字符是 。12變量的指針就是變量的地址,存放變量地址的變量就是 指針變量 ,它用來(lái)指向另一個(gè)變量。13+i和i+的不同之處在于 i+是先使用i的值后,再執(zhí)行i=i+1;而+i是先執(zhí)行i=i+1后,再使用

3、i的值 。14設(shè)x、y和z是int 型變量,且x=3,y=4,z=5, 則表達(dá)式! (xy) & !z|1)值為 0 。15已知函數(shù)int f(int k) return (k0)?1:f(k-2)+2); 則 f(3)的值是 5 。16C語(yǔ)言中的標(biāo)識(shí)符只能由字母、數(shù)字和下劃線三種字符組成,且第一個(gè)字符必須為 字母或下劃線 。 17計(jì)算表達(dá)式:x=(i=4, j=10, k=24)后,x的值為 24 。18若a和b均是int型變量,且a和b的初值均為5,則計(jì)算表達(dá)式 a+=b+ 后,a的值為 10 ,b的值為 6 。19設(shè)int a10=0,1,2,3,4,5,6,7,8,9, *p=a; 則

4、表達(dá)式*(p+8)的值是 9 。20若有以下定義:char a; int b;float c; double d;則表達(dá)式a*b+d-c值的類型為 double 。21.*(p+)和*(+p)作用不同,它們的意義分別是 *(p+)先取*p的值,后使p加1,*(+p)先使p加1,再取*p 二、程序理解題請(qǐng)給出運(yùn)行以下程序的輸出結(jié)果:1#include void main() int u=24,v=16,w; while(v) w=u % v; u=v ; v=w;printf(%dn,u); 輸出結(jié)果為: 8 2. void main() char sYesn/No,*ps=s; puts(ps

5、+4); *(ps+4)=0; puts(s);輸出結(jié)果:/No Yes3. main() int p7=11,13,14,15,16,17,18; int i=0,j=0; while(i7 & pi%2=1) j+=pi+; printf(%dn,j);輸出結(jié)果: 24 。4、下列程序的運(yùn)行結(jié)果是 total=144 。void main() int arr_sum(int arr,int n);int a34=1,3,5,7,9,11,13,15,17,19,21,23;int *p,total;p=a0;total= arr_sum (p,12);printf(“total=%dn”,

6、total);int arr_sum(int arr,int n)int i,sum=0;for(i=0;in;i+)sum=sum+arri; return(sum);5. 給出以下程序的運(yùn)行結(jié)果:void main() int a,b,c; a=25; b=025; c=0x25; printf(%d, %d, %dn,a,b,c);運(yùn)行結(jié)果:25, 21, 376. 給出有下面一段程序的運(yùn)行結(jié)果。void main() int p7=11,13,14,15,16,17,18; int i=0, ,j=0; while(i7 & pi%2=1) j+=pi+; printf(%dn,j);

7、運(yùn)行結(jié)果:247. 給出有下面一段程序的運(yùn)行結(jié)果。#include int fac(int n)static int f=1;f=f*n;return(f);void main()int i;for(i=1;i=5;i+)printf(%d!=%dn,i,fac(i);答案:1!=1 2!=2 3!=6 4!=24 5!=1208. 給出有下面一段程序的運(yùn)行結(jié)果。main() int a44=1,2,3,4,5,6,7,8,11,12,13,14,15,16,17,18; int i=0,j=0,s=0; while(i+4) if(i=2|i=4) continue; j=0; do s+=

8、 aj; j+; while(j4); printf(%dn,s);運(yùn)行結(jié)果:92三、程序填空題1以下程序可判斷輸入的一個(gè)整數(shù)是否能被5或13整除,若能整除,輸出“yes”并換行,否則輸出“no”并換行。請(qǐng)?zhí)羁铡?#include void main() int k; printf(“Enter a int number:”); scanf(“%d”,&k); if_(k%5=0|k%13=0)_ printf(“yesn”); else printf(_“non”_); 2下面程序是將鍵盤輸入的英文字符全改為小寫英文字符輸出, 用換行符結(jié)束循環(huán)。請(qǐng)?zhí)羁铡?include void main(

9、) char c; while( (c=getchar()!=n ) if( c =A|c=Z ) c=c+32; printf(%c,c); printf(n);3有一個(gè)一維數(shù)組score,內(nèi)放10個(gè)學(xué)生成績(jī),求平均成績(jī),請(qǐng)?zhí)羁铡?includefloat average(float array10);void main()float score10,aver; int i;printf(input 10 scores:n);for(i=0;i10;i+) scanf(%f, &scorei );printf(n);aver=average(score); printf(average sc

10、ore is %5.2f,aver);float average(float array10)int i; float aver,sum=array0; for( i=1;i10;i+ )sum=sum+arrayi; aver=sum/10 ; return aver ;4以下程序從終端讀入數(shù)據(jù)到數(shù)組中,統(tǒng)計(jì)其中正數(shù)的個(gè)數(shù),并計(jì)算它們之和。請(qǐng)?zhí)羁?。Void main() int i,a20,sum,count; sum=count=0; for(i=0;i20;i+) scanf(%d, &ai ); for (i=0;i0) count+; sum+= ai ; printf(sum=%d

11、,count=%dn,sum,count);5.下面程序可以逐行輸出由language數(shù)組元素所指向的5個(gè)字符串。請(qǐng)?zhí)羁铡?includevoid main() char * language= “BASIC”, “FORTRAN”, “PROLOG”, “JAVA”, “C+”; char * q ; int k; for (k=0;k5;k+) q= language+k ; printf(“%sn”,*q); 6以下程序的功能是:從鍵盤上輸入一行字符,存入一個(gè)字符數(shù)組中,然后輸出該字符串,請(qǐng)?zhí)羁铡?includevoid main() char str81,*sptr; int i; f

12、or(i=0;i1)程序:int age(int n)int c;if( n=1 )c= 10 ;else c= age(n-1)+2 ;return (c);void main()printf(“age:%dn”, age(5);8) 下面程序的功能是在三個(gè)字符串中找出最小的,請(qǐng)?zhí)羁眨?include#includevoid main( ) char s20,str330; int i; for (i=0;i3;i+) gets(stri); strcpy ( s, (strcmp(str0,str1)0?str0:str1) ); if (strcmp(str2,s)0) strcpy(

13、s,str2); print(“%sn”, s ) ; 9)以下程序的功能是:通過(guò)指針操作,找出三個(gè)整數(shù)中的最小值并輸出。請(qǐng)?zhí)羁铡?#include void main( ) int *a,*b,*c, num,x,y,z; a=&x; b=&y; c=&z; printf(“輸入3個(gè)整數(shù):”); scanf(“%d%d%d”,a,b,c); printf(“%d,%d,%dn”, *a,*b,*c); num=*a; if (*a*b) num=*b ; if (num*c) num=*c ; printf(“輸出最小整數(shù):%dn”, num); 10. C語(yǔ)言源程序文件的后綴是_.cpp_

14、,經(jīng)編譯后生成的文件的后綴是_.obj_,連接后生成的文件的后綴是.exe。11從鍵盤輸入一個(gè)大寫字母,要求改用小寫字母輸出。請(qǐng)?zhí)羁眨?include void main()char c1,c2;c1= getchar() ;printf(“%c, %dn”,c1,c1); c2=c1+32 ;printf(“%c, %dn”,c2,c2);12以下程序的功能是:從鍵盤上輸入一行字符,存入一個(gè)字符數(shù)組中,然后輸出該字符串。請(qǐng)?zhí)羁眨?includevoid main() char str81,*sptr; int i; for(i=0;i80;i+) stri=getchar(); if(str

15、i=n) break; stri= 0 ; sptr=str; while(*sptr) putchar(*sptr + ;13輸入三角形的三邊長(zhǎng),求三角形面積。請(qǐng)?zhí)羁眨簐oid main()float a, b, c, s, area ;scanf(“%f, %f, %f”, &a, &b, &c);s=1.0/2*(a+b+c);area = sqrt(s*(s-a)*(s-b)*(s-c) ;printf(“a=%7.2f, b=%7.2f, c=%7.2f, s=%7.2fn”,a,b,c,s);printf(“area=%7.2fn”,area);14判斷m是否素?cái)?shù)。請(qǐng)?zhí)羁眨?inc

16、lude #include void main() int m, i, k; scanf(%d, &m); k=sqrt(m) ; for(i=2;ik ) printf(%d is a prime numbern,m); else printf(%d is not a prime numbern,m);15以下程序?qū)斎氲囊粋€(gè)小寫字母,將字母循環(huán)后移5個(gè)位置后輸出。如a變成f,w變成b。請(qǐng)?zhí)羁眨?include void main( ) char c; c=getchar( ); if (c=a & c=v & cy) t=x;x=y;y=t; /*交換x,y的值*/ if(xz) t=z;

17、z=x;x=t; /*交換x,z的值*/ if(yz) t=y;y=z;z=t; /*交換z,y的值*/ printf(small to big: %d %d %dn,x,y,z);17求1!+2!+3!+4!+20!的值。請(qǐng)?zhí)羁眨?include void main() float s=0,t=1; int n; for(n=1;n=a&c=A&c=0&c=9) digit+; else others+; printf(all in all:char=%d space=%d digit=%d others=%dn,letters, space,digit,others);19以下程序是通過(guò)指

18、針操作,找出三個(gè)整數(shù)中的最小值并輸出。請(qǐng)?zhí)羁眨?#include void main( ) int *a,*b,*c, num,x,y,z; a=&x; b=&y; c=&z; printf(“輸入3個(gè)整數(shù):”); scanf(“%d%d%d”,a,b,c); printf(“%d,%d,%dn”, *a,*b,*c); num=*a; if (*a*b) num=*b ; if (num*c) num=*c ; printf(“輸出最小整數(shù):%dn”, num); 20下面程序的功能是打印100以內(nèi)個(gè)位數(shù)為6且能被3整除的所有數(shù)。請(qǐng)?zhí)羁铡?include void main() int i,

19、j; for(i=0; i10 ;i+) j=i*10+6; if( j%3!=0 ) continue; printf(“%d ”,j); 四、編程題1給學(xué)生成績(jī),要求輸出成績(jī)等級(jí)ABCDE。90分以上為A,80-89分為B,70-79分為C,60-69分為D,60分以下為E。#include void main()float score;char grade;printf(請(qǐng)輸入學(xué)生成績(jī):);scanf(%f,&score);while(score100|score0)printf(n輸入有誤,請(qǐng)重輸!);scanf(%f,&score);switch(int)(score/10)case

20、 10: case 9: grade=A;break;case 8: grade=B;break;case 7: grade=C;break;case 6: grade=D;break;case 5: case 4:case 3:case 2:case 1: case 0: grade=E; printf(成績(jī)是%5.1f,相應(yīng)的等級(jí)是%c.n,score,grade);2輸入一數(shù)組各元素值,將這個(gè)數(shù)組中的值按逆序重新存放(如原來(lái)順序?yàn)?,4,3,2,1要求改為1,2,3,4,5)。#include # define N 5void main()int aN,i,temp;printf(Enter array:n);for(i=0;iN;i+)scanf(%d,&ai);printf(array a:n);for(i=0;iN;i+)printf(%4d,ai);for(i=0;iN/2;i+)temp=ai; ai=aN-i-1; aN-i-1=temp;printf(n Now,arraw a:n);for(i=0;iN;i+) printf

溫馨提示

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