版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
學(xué)好C語言,走遍淮工都不怕上機練習(xí)一1.顯示數(shù)據(jù)類型的字節(jié)數(shù)。顯示ASC碼值。Voidmain(){printf("%d\n",sizeof(int)); printf("%c",23);}2.從鍵盤上輸入4個數(shù)字,然后把它們用8進制,16進制輸出。書上66頁。Voidmain(){inta,b,c,d; printf("輸入四個整數(shù):\n"); scanf("%d%d%d%d",&a,&b,&c,&d); printf("分別對應(yīng)的八進制和十六進制的數(shù)是:\n"); printf("%o%o%o%o\n",a,b,c,d); printf("%x%x%x%x\n",a,b,c,d);}3.通過printf()函數(shù),測試函數(shù)參數(shù)列表中的計算順序。例如i=4,printf(“d%d%d%”,i++,i++,i++) inti=4; printf("%d,%d,%d,%d\n",i++,++i,i++);4.編寫一個程序。要求輸出到顯示器的中間位置。不頂格輸出。**************************************helloworld!**************************************voidmain(){printf("\t\t\t***********************************\n");printf("\t\t\t**\n");printf("\t\t\t*helloworld!*\n");printf("\t\t\t**\n");printf("\t\t\t***********************************\n");}5.67頁7題.Voidmain(){charc1='C',c2='h',c3='i',c4='n',c5='a';c1=c1+4;c2=c2+4;c3=c3+4;c4=c4+4;c5=c5+4;printf("密碼是:\n");printf("%c%c%c%c%c",c1,c2,c3,c4,c5);}練習(xí)題1以下程序運行后的輸出結(jié)果是(88)main(){intx=0210;printf(“%x\n”,x);}2有以下程序main(){intm=0256,n=256;printf(“%o,%o\n”,m,n);}程序運行后的輸出結(jié)果是(C)A02560400B0256256C256400D400400要求會16進制的表示。自己設(shè)計練習(xí)??荚嚳疾榉秶?有定義語句:intb;charc[10];則正確的輸入語句是(A)Ascanf(“%d%s”,&b,&c);Bscanf(“%d%s”,&b,c);Cscanf(“%d%s”,b,c);Dscanf(“%d%s”,b,&c);`4有以下程序:voidmain(){chara,b,c,d;scanf(“%c,%c,%d,%d”,&a,&b,&c,&d); printf("%c%c%c%c\n",a,b,c,d);}若運行時從鍵盤上輸入:6,5,65,66(回車)。則輸出結(jié)果是(A)A6,5,A,BB6,5,65,66C6,5,6,5D6,5,6,6.上機練習(xí)二1編寫一個求一元二次方程的根的程序,實根和虛根都要求顯示。#include"stdio.h"#include"math.h"voidmain(){floata,b,c,x1=0,x2=0,disc,realpart=0,imagpart=0;scanf("%f%f%f",&a,&b,&c);disc=b*b-4*a*c;if(fabs(a)<=1e-6)if(fabs(b)<=1e-6)printf("無解\n");elseprintf("theonerootis%8.4f\n",-c/b);elseif(fabs(disc)<=1e-6)printf("有兩個相等的實根:%8.4f\n",-b/(2*a));elseif(disc>1e-6) { doublex1=(-b+sqrt(disc))/(2*a),x2=(-b-sqrt(disc))/(2*a);printf("兩個不同的根:x1=%8.4f\n,x2=%8.4f\n",x1,x2); }elseprintf("amplexroot\nrealpart=%8.4fimagpart=%8.4f\n",-b/(2*a),sqrt(-disc)/(2*a));}練習(xí)題1設(shè)有定義:inta=2,b=3,c=4;則以下選項中值為0的表達式是(A)A(!a==1)&&(!b=0)B(a<b)&&!c||1Ca&&bDa||(b+b)&&(c-a)2以下程序段中與語句k=a>b?(b>c?1:0):0功能等價的是(A)Aif((a>b)&&(b>c))k=1;Bif((a>b)||(b>c))k=1;elsek=0;elsek=0;Cif(a<=b)k=0;Dif(a>b)k=1;elseif(b<=c)k=1;elseif(b>c)k=1;elsek=0;3有以下程序main(){chara1=’M’,a2=’m’;printf(“%c\n”,(a1,a2));}以下敘述正確的是(B)A程序輸出字母M;B程序輸出小寫字母m;C格式說明符不足,編譯出錯D程序運行時產(chǎn)生錯誤信息。4以下sum函數(shù)的功能是計算下列級數(shù)之和:請給函數(shù)中的各變量正確賦初值。doublesum(doublex,intn);{inti;doublea,b,s;a=1,b=1,s=1;for(i=1;i<n;i++){a=a*x;b=b*b;s=s+a/b;}return(s);}1編寫程序,從鍵盤上輸入任意一個正整數(shù)n,計算n!。并且給出5!,10!,隨著n的變大,程序有運行是否有什么變化?簡單分析原因。1.#include"stdio.h"voidmain(){ inti,s,n; scanf("%d",&n); for(i=1,s=1;i<=n;) { s=s*i; i=i++; } printf("n!=%d\n",s);}5!=12010!=362880013之后開始出錯2使用switch語句編寫以下分段函數(shù):并且計算以下x處的函數(shù)值,-1.3,1.5,2.7,3.4。如果不限制必須使用switch語句,則是否可以簡化程序代碼。2.#include"stdio.h"#include"math.h"voidmain(){charc;floatx,y;printf("輸入x\n");scanf("%f",&x);if(x<0)c=0;elseif(x<1)c=1;elseif(x<2)c=2;elseif(x<3)c=3;elsec=0;switch(c){ case0:printf("錯誤");break; case1:y=1-x;printf("%f",y);break; case2:y=(1-x)*(x-2);printf("%f",y);break; case3:y=sin(x);printf("%f",y);break;}}x=-1錯誤x=1.5y=0.250000x=2.7y=0.427380x=5錯誤二練習(xí)題1下列敘述中正確的是DAbreak語句只能用于swithc語句;B在switch語句中必須使用defaultCbreak語句必須與switch語句中的case語句配對使用D在switch語句中,不一定使用break語句。2有以下程序:main(){inti,n=0;for(i=2;i<5;i++)do{if(i%3)continue;n++;}while(!i);printf(“n=%d\n”,n);}程序執(zhí)行后的輸出結(jié)果是DAn=5;Bn=2;Cn=3;Dn=4;3下面的程序功能是輸出一下形式的金字塔圖案****************main(){inti,j;for(i=1;i<=4;i++){for(j=1;j<=________;j++)printf(“”);for(j=1;j<=________;j++)printf(*);printf(“\n”);}}在下劃線處應(yīng)填入的是BAi;B2*i-1;C2*i+1;Di+2;上機實習(xí)內(nèi)容4定義一維數(shù)組a[20],然后從鍵盤輸入任意20個整數(shù),用冒泡法排序,并在顯示器上輸出顯示。#include"stdio.h"voidmain(){inta[20]; inti,j,t; printf("輸入20個整數(shù):\n"); for(i=0;i<20;i++) scanf("%d",&a[i]); printf("\n"); for(j=0;j<19;j++) for(i=0;i<19-j;i++) if(a[i]>a[i+1]) { t=a[i]; a[i]=a[i+1]; a[i+1]=t; } printf("thesortnumbers:\n"); for(i=0;i<20;i++) printf("%d,",a[i]); printf("\n");}2.把1,2,3,…,16,連續(xù)16個數(shù)填到下面的表格中,使得每行每列的和都相等。#include"stdio.h"voidmain(){inta4[5][5]={{0},{0,1,2,3,4},{0,5,6,7,8},{0,9,10,11,12},{0,13,14,15,16}};intb1,b2,i,j;printf("四階魔方陣為:\n");for(i=1;i<=2;i++){ b1=a4[i][i]; a4[i][i]=a4[5-i][5-i]; a4[5-i][5-i]=b1; b2=a4[i][5-i]; a4[i][5-i]=a4[5-i][i]; a4[5-i][i]=b2;}for(i=1;i<=4;i++){ for(j=1;j<=4;j++) { printf("%-3d",a4[i][j]); } printf("\n"); }}162313511108976124141513.定義一個字符數(shù)組str[100],從鍵盤上輸入小于100個英文字母,對str初始化。然后再輸入包含5個英文字母的字符串,檢查str中是否包含該字符串。例如,”fefag”包含在“sadfefagghwirpogefidf”。編寫程序進行判斷。#include"stdio.h"voidmain(){charst[100],s[5]; inta=1,b=1,c=0,d=0; printf("inputthefirststring:\n"); gets(st); printf("inputthesecondsting:\n"); gets(s); if(st[a]==s[b]) for(a=1;a<=100;) { a++;b++;c++; if(st[a]==s[b])continue; elsebreak; } else { for(a=1;a<=100;) { a++; if(st[a]!=s[b])continue; else if(st[a]==s[b]) for(a=1;b<=100;) { a++;b++;c++; if(st[a]==s[b])continue; elsebreak; } } } if(c>=4) printf("%d\n",d=d+1); else printf("%d\n",d);}練習(xí)題41以下能正確定義一維數(shù)組的選項是BAinta[5]={0,1,2,3,4,5};Bchara[]={0,1,2,3,4,5}Cchara={‘A’,’B’,’C’};Dinta[5]=”12345”;2下面程序執(zhí)行后的輸出結(jié)果是50,53,56mian(){inti=0;inta[3][3]={‘1’,’2’,’3’,’4’,’5’,’6’,’7’,’8’,’9’};for(i=0;i<3;i++)printf(“%d”,a[i][1]);}505356;3.下面的程序的功能是將一個字符串str的內(nèi)容顛倒過來,請?zhí)羁铡?include<string.h>main(){inti,j,_k;charstr[]={“1234567”};for(i=0,j=strlen(str)-1;i<j;i++,j--){k=str[i];str[i]=str[j];str[j]=k;}printf(“%s\n”,str);}上機練習(xí)5請編寫一個函數(shù),函數(shù)名為printstar();該函數(shù)功能為打印如下圖形:********************Helloworld********************#include"stdio.h"voidmain(){voidprintstar();voidprint_message();printstar();print_message();printstar();}voidprintstar(){printf("*************************\n");}voidprint_message(){printf("Helloworld\n");}按下回車鍵,屏幕上顯示為:********************Helloworld********************此函數(shù)為無參函數(shù),且沒有形參、實參、返回值;編寫一個求兩個數(shù)的最大值的函數(shù),函數(shù)名為max();并且在主函數(shù)中利用該函數(shù),求任意四個數(shù)中的最大數(shù)。該函數(shù)的實參、形參、返回值是什么?#include"stdio.h"voidmain(){floatmax(floatx,floaty);floata,b,c,d;floate;printf("請輸入:a,b,c,d=");scanf("%f,%f,%f,%f,",&a,&b,&c,&d);e=max(max(max(a,b),c),d);printf("Maxis%f\n",e);}floatmax(floatx,floaty){floatz;z=x>y?x:y;return(z);}輸入:3,4,9,2按下回車鍵:屏幕上顯示:Maxis9.000000形式參數(shù):floatx,floaty實際參數(shù):max(max(a,b),c),d編寫計算階層的遞歸函數(shù),函數(shù)名為:fac();#include"stdio.h"fac(intj){ intsum; if(j==0) sum=1; else sum=j*fac(j-1); returnsum;}main(){ intn; printf("pleaseinputn:"); scanf("%d",&n); printf("n!=%d\n",fac(n));}屏幕上顯示為:pleaseinputn:輸入5,按下回車鍵,顯示為n!=120用遞歸方法求下面階勒讓德多項式的值,遞歸公式為:#include"stdio.h"voidmain(){ floatPn(intn,floatx); intn; floatx,y; printf("inputn,x:"); scanf("%d,%f",&n,&x); y=Pn(n,x); printf("Px=%f",y); }floatPn(intn,floatx){floata;if(n<0) printf("inputerror");if(n==0)a=1;if(n==1)a=x;if(n>1)a=((2*n-1)*x-Pn(n-1,x)-(n-1)*Pn(n-2,x))/n;return(a);}輸入0,2;結(jié)果:y0=1.000輸入1,2;結(jié)果:y0=2.000輸入2,2;結(jié)果:y0=5.500編寫兩個函數(shù),分別求兩個整數(shù)的最大公約數(shù)和最小公倍數(shù),用主函數(shù)調(diào)用這兩個函數(shù),并輸出結(jié)果。然后在利用這兩個函數(shù),編寫求任意兩個真分數(shù)的和的函數(shù),要求該函數(shù)返回值也是分數(shù),用主函數(shù)調(diào)用該函數(shù)顯示結(jié)果。#include"stdio.h"ma(intm,intn){intt,r; if(m<n){t=m;m=n;n=t;} while(n!=0) { r=m%n; m=n; n=r; } returnm;}mi(intm,intn,inth){ returnm*n/h;}voidmain(){ intm,n,t,r; printf("Inputm,n\n"); scanf("%d,%d",&m,&n); t=ma(m,n); r=mi(m,n,t); printf("最大公約數(shù)=%d,最小公倍數(shù)=%d",t,r);}輸入6,8;按下回車鍵,屏幕上顯示:最大公約數(shù)=2,最小公倍數(shù)=24;輸入10個學(xué)生5門課程的成績,可以保存為2維數(shù)組。分別用函數(shù)實現(xiàn)下列功能:計算每個學(xué)生的平均分;計算每門課程的平均分;找出所有50個分數(shù)中最高分所對應(yīng)的學(xué)生和課程。計算平均分方差:,其中為第學(xué)生的平均分。#include"stdio.h"floatx1[10],x2[5];floatpp(),cc(),find(),xx();main(){charname[10][20],class[5][20];floatscore[10][5],o,k=0,max[5];inta[5],i,j;for(i=0;i<10;i++)gets(name[i]);for(j=0;j<5;j++)gets(class[j]);for(i=0;i<10;i++)for(j=0;j<5;j++)scanf("%f",&score[i][j]);pp(score);cc(score);find(score,max,a);o=xx(k);for(i=0;i<10;i++){puts(name[i]);printf("%.3f\n",x1[i]);}for(j=0;j<5;j++){ puts(class[j]);printf("%.3f\n",x2[j]); }for(j=0;j<5;j++){printf("%.3f\n",max[j]);puts(name[a[j]]);puts(class[j]);}printf("o=%.3f\n",o);}floatpp(f)floatf[10][5];{ floatsum=0;inti,j;for(i=0,sum=0;i<10;i++){ for(j=0;j<5;j++)sum=sum+f[i][j];x1[i]=sum/5;}return(x1[i]);}floatcc(y)floaty[10][5]; { floatsum=0;inti,j;for(j=0;j<5;j++){ for(i=0;i<10;i++)sum=sum+y[i][j];x1[j]=sum/10;}return(x1[j]);}floatfind(z,s,t)floatz[10][5],s[5];intt[5];{ inti,j;for(j=0,s[j]=z[0][j];j<5;j++)for(i=0;i<10;i++)if(s[j]<z[i][j]){ s[j]=z[i][j];t[j]=i;}return(z[i][j],s[j],t[j]);}floatxx(q)floatq;{ floatf=0,e=0;inti;for(i=0;i<10;i++){ e=x1[i]*x1[i]+e;f=f+x1[i];}q=e/10-(f/10)*(f/10);return(q);}第六次指針練習(xí)1設(shè)定義intn1=0,n2,*p=&n2,*q=&n1;以下賦值語句中與n2=n1;語句等價的是(A)A*p=*qBp=qC*p=&n1Dp=*qA2若有定義intx=0,*p=&x;則語句printf("%d\n",*p);的輸出結(jié)果是(B)A隨機值B0Cx的地址Dp的地址有以下程序:#include"stdio.h"voidmain(){ inta=7,b=8,*p,*q,*r; p=&a;q=&b; r=q;q=p;p=r; printf("%d,%d,%d,%d\n",*p,*q,a,b);}程序運行后的輸出結(jié)果是(C)A8,7,8,7B7,8,7,8C8,7,7,8D7,8,8,7已有定義:inta[10],*p;則合法的賦值語句是(D)Ap=100;Bp=a[5];Cp=a[2]+2;Dp=a+2;有以下程序:#include"stdio.h"voidmain(){ inta[10]={1,2,3,4,5,6,7,8,9,10}; int*p=&a[3],*q=p+2; printf("%d\n",*p+*q);}程序運行后的輸出結(jié)果是(B)有以下程序:#include"stdio.h"voidmain(){inta[]={2,4,6,8,10},y=0,x,*p;p=&a[1];for(x=1;x<3;x++)y+=p[x];printf("%d\n",y);}程序運行后的輸出結(jié)果是(C)A10B11C14D15有以下程序:#include"stdio.h"voidmain(){chars[]="159",*p;p=s;printf("%c",*p++);printf("%c",*p++);}程序運行后的輸出結(jié)果是(A)A15B16C12D59設(shè)有語句:intx[6]={2,4,6,8,5,7},*p=x,i;要求依次輸出x數(shù)組6個元素的值,不能完成此操作的語句是(D)Afor(i=0;i<6;i++)printf("%2d",*(p++));Bfor(i=0;i<6;i++)printf("%2d",*(p+i));Cfor(i=0;i<6;i++)printf("%2d",*p++);Dfor(i=0;i<6;i++)printf("%2d",(*p)++);有以下程序:#include"stdio.h"voidmain(){ inta[]={1,2,3,4,5,6,7,8,9,10,11,12}; int*p=a+5,*q=NULL; *q=*(p+5); printf("%d%d\n",*p,*q);}程序運行后的輸出結(jié)果是(A)A運行出錯B66C611D510有以下程序:#include"stdio.h"voidmain(){ charstr[][10]={"China","Beijing"},*p=str; printf("%s\n",p+10);}程序運行后的輸出結(jié)果是(B)AChinaBBeijingCngDing以下程序運行后的輸出結(jié)果是(gae)#include"stdio.h"voidmain(){ chara[]="Language",b[]="Programe"; char*p1,*p2;intk; p1=a;p2=b; for(k=0;k<=7;k++) { if(*(p1+k)==*(p2+k))printf("%c",*(p1+k)); }}以下程序運行后的輸出結(jié)果是(12*4*6*8)#include"stdio.h"voidmain(){chara[]="123456789",*p;inti=0;p=a;while(*p){ if(i%2==0)*p='*'; p++;i++;}puts(a);}有以下程序:#include"stdio.h"floatf1(floatn){ returnn*n;}floatf2(floatn){ return2*n;}voidmain(){ float(*p1)(float),(*p2)(float),(*t)(float),y1,y2; p1=f1;p2=f2; y1=p2(p1(2.0)); t=p1;p1=p2;p2=t; y2=p2(p1(2.0)); printf("%3.0f,%3.0f\n",y1,y2);}程序運行后的輸出結(jié)果是(A)A8,16B8,8C16,16D4,8有以下程序:#include"stdio.h"voidf(int*x,int*y){ intt; t=*x;*x=*y;*y=t;}voidmain(){ inta[8]={1,2,3,4,5,6,7,8},i,*p,*q; p=a;q=&a[7]; while(p<q){f(p,q);p++;q--;} for(i=0;i<8;i++)printf("%d,",a[i]);}程序運行后的輸出結(jié)果是(D)A8,2,3,4,5,6,7,1,B5,6,7,8,1,2,3,4,C1,2,3,4,5,6,7,8,D8,7,6,5,4,3,2,1,有以下程序#include"stdio.h"voidprt(int*m,intn){ inti; for(i=0;i<n;i++)m[i]++;}voidmain(){ inta[]={1,2,3,4,5},i; prt(a,5); for(i=0;i<5;i++)printf("%d,",a[i]); }程序運行后的輸出結(jié)果是(B)A1,2,3,4,5,B2,3,4,5,6,C3,4,5,6,7,D2,3,4,5,1,有以下程序:#include"stdio.h"voidpoint(char*p){p+=3;}voidmain(){ charb[4]={'a','b','c','d'},*p=b; point(p); printf("%c\n",*p); }程序運行后的輸出結(jié)果是(A)AaBbCcDd有以下程序:#include"stdio.h"voidsum(int*a){ a[0]=a[1];}voidmain(){ intaa[10]={1,2,3,4,5,6,7,8,9,10},i; for(i=2;i>=0;i--)sum(&aa[i]); printf("%d\n",aa[0]); }程序運行后的輸出結(jié)果是(A)A4;B3;C2;D1;有以下程序:#include"stdio.h"inta=2;intf(int*a){return(*a)++;}voidmain(){ ints=0; { inta=5; s+=f(&a); printf("%d\n",s); } s+=f(&a); printf("%d\n",s);}程序運行后的輸出結(jié)果是(C)A10B9C7D8以下程序運行后的輸出結(jié)果是(8,4)#include"stdio.h"voidf(inty,int*x){y=y+*x;*x=*x+y;}voidmain(){ intx=2,y=4; f(y,&x); printf("%d%d\n",x,y);}以下sstrcpy()函數(shù)實現(xiàn)字符串復(fù)制,即將t所指字符串復(fù)制到s所指內(nèi)存空間中,形成一個新的字符串s。請?zhí)羁眨?include"stdio.h"voidsstrcpy(char*s,char*t){while(*s++=*t++);}voidmain(){ charstr1[100],str2[]="abcdefgh"; sstrcpy(str1,str2); printf("%s\n",str1);}21以下程序運行后的輸出結(jié)果是(bcdefgha)#include"stdio.h"#
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)年度檢驗委托代理合同
- 唐詩三百首賞析文化與藝術(shù)的交融
- 油氣礦產(chǎn)資源行業(yè)開采與環(huán)境保護策略
- 企業(yè)內(nèi)部信息安全管理規(guī)定
- 物業(yè)籌建方案
- 濰坊仿古長廊施工方案
- 體育館監(jiān)控安全操作規(guī)范
- 2023年新課標人教版小學(xué)四年級下冊作文教案全冊
- 建筑工程承包施工合同轉(zhuǎn)讓協(xié)議
- 酒店業(yè)差旅費管理
- DL∕T 1100.1-2018 電力系統(tǒng)的時間同步系統(tǒng) 第1部分:技術(shù)規(guī)范
- CJ/T 158-2002 城市污水處理廠管道和設(shè)備色標
- NB-T35009-2013抽水蓄能電站選點規(guī)劃編制規(guī)范
- 曳引驅(qū)動電梯調(diào)試作業(yè)指導(dǎo)書
- 上海市中考英語試卷及答案
- 基礎(chǔ)會計課程思政教案設(shè)計
- 蘇教版科學(xué)小學(xué)五年級上冊期末測試卷及完整答案(奪冠系列)
- 監(jiān)控工程竣工驗收報告
- 經(jīng)皮肝穿刺膽道引流(PTCD)導(dǎo)管的護理要點
- 國家開放大學(xué)《心理學(xué)》形考任務(wù)1-4參考答案
- 2024年社會工作者《社會工作實務(wù)(中級)》考試真題必考題
評論
0/150
提交評論