



版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
TOC\o"1-5"\h\z第—"單ノU 程序及I十和CI?吾口 1\o"CurrentDocument"第二單元順序程序設(shè)計 3\o"CurrentDocument"第二單兀 分支程序設(shè)計 7\o"CurrentDocument"第四單元循環(huán)程序設(shè)計 14\o"CurrentDocument"第五單元數(shù)組 23\o"CurrentDocument"第六單元函數(shù) 34\o"CurrentDocument"第七單元指針 42\o"CurrentDocument"第ハ單元結(jié)構(gòu)體和共用體 61\o"CurrentDocument"第九單元文件 78第一單元程序設(shè)計和C語言ー、選擇題.C語言的基本構(gòu)成單位是:.A.函數(shù) B,函數(shù)和過程 C,超文本過程D,子程序.一個C語言程序總是從開始執(zhí)行。A.主過程 B.主函數(shù) C,子程序 D.主程序.C語言的程序一行寫不下時,可以〇A.用逗號換行 B,用分號換行C,在任意ー空格處換行D.用回車符換行.以下敘述不正確的是:〇A,在C程序中,語句之間必須要用分號";"分隔B,若a是實型變量,C程序中a=10是正確的,因為實型變量中允許存放整型數(shù)C.在C程序中,無論是整數(shù)還是實數(shù)都能正確無誤地表示D.在C程序中,%是只能用于整數(shù)運算的運算符.以下不正確的C語言標(biāo)識符是.A.ABC B.abc C.a_bc D.ab.c.下列字符串是標(biāo)識符的是:〇A._HJ B.9_student C.long D.LINE1.以下說法中正確的是:。A.C語言程序總是從第一個定義的函數(shù)開始執(zhí)行.在C語言程序中,要調(diào)用的函數(shù)必須放在main。函數(shù)中定義C語言程序總是從main。函數(shù)開始執(zhí)行C語言程序中的main。函數(shù)必須放在程序的開始部分.不合法的常量是:?A.'\2' B." "C.'3' D.''483'.已知各變量的類型說明如下,則以下不符合C語言語法的表達(dá)式是:—.intk,a,b;unsignedlongw=5;doublex=l.422;A.x%(-3)B.w+=-2C.k=(a=2,b=3,a+b)D.a+=a=+(b=4)*(a=3).在C語言中,字符型數(shù)據(jù)在內(nèi)存中以形式存放。A,原碼B.BCD碼C.反碼D.ASCII碼.若有定義:inta=7;floatx=2.5;y=4.7;則表達(dá)式x+a%3*(int)(x+y)%2/4的值是:〇A.2.500000B,2.750000C.3.500000D.0.000000.設(shè)有說明:charw;intx;floaty;doublez;則表達(dá)式w*x+z-y值的數(shù)據(jù)類型為:。A.float B.char C.int D.double.以下是不正確的轉(zhuǎn)義字符。A.’い‘ B.'\' C.'081' D.'\0'.若x為int型變量,則執(zhí)行以下語句后,x的值為。x=6;x+=x-=x*x;A.36B,-60C.60D.一24.字符串"\\\"ABC\"ゝぐ的長度是?A.11B.7 C.5D.3二、填空題.ー個函數(shù)由兩部分組成,它們是和〇.ー個C源程序至少包含一個,即。.設(shè)inta=12;則表達(dá)式a/=a+a的值是〇.表達(dá)式x=(a=3,6*a)和表達(dá)式x=a=3,6*a分別是表達(dá)式和表達(dá)式,兩個表達(dá)式執(zhí)行完的結(jié)果分別是和,x值分別是和=.在C語言中,實數(shù)有兩種表示形式,即和。.在C語言中,運算符的優(yōu)先級最小的是運算符。第二單元順序程序設(shè)計ー、選擇題1.若m為float型變量,則執(zhí)行以下語句后的輸出為。m=1234.123;printf("%-8.3f\n",m);printf("%10.3f\n',m);A.1234.123B.1234.123C.1234.123D.-1234.1231234.123 1234.123 1234.123 001234.123.若x,y,z均為int型變量,則執(zhí)行以下語句后的輸出為.x=(y=(z=10)+5)-5;printf(*x=%d,y=%d,z=%d\n*,x,y,z);y=(z=x=0,x+10);printfCx=%d,y=%d,z=%d\n*,x,y,z);A.X=10,Y=15,Z=10 B.X=10,Y=10,Z=10X=0,Y=10,Z=0 X=0,Y=10,Z=10C.X=10,Y=15,Z=10C.X=10,Y=15,Z=10X=10,Y=10,Z=0D.X=10,Y=10,Z=10X=0,Y=10,Z=0.若x是!nt型變量,y是float型變量,所用的scanf調(diào)用語句格式為:scanf("x=%d,y=%f",&x,&y);則為了將數(shù)據(jù)!0和66.6分別賦給x和y,正確的輸入應(yīng)是:0A.x=10,y=66.6く回車) B.1066.6く回車〉C.10く回車>66.6く回車) D.x=10く回車〉y=66.6く回車).已知有變量定義:inta;charc;用scanf(u%d%cw,&a,&c);語句給a和c輸入數(shù)據(jù),使30存入a,字符‘b'存入c,則正確的輸入是:〇A.30'b,く回車> B.30bく回車)C.30く回車あく回車》 D.30bく回車).已知有變量定義:doublex;longa:要給a和x輸入數(shù)據(jù),正確的輸入語句是〇若要輸出a和x的值,正確的輸出語句〇A.scanf("%d%f”,&a,&x);B.scanf("%ld%f",&a,&x);printf("%d,%f",a,x); printf("%ld,%f",a,x);C.scanf(u%ld%lf",&a,&x);D.scanf(u%ld%lf",&a,&x);printf(w%ld,%lf",a,x);printf(a%ld,%f",a,x);.若有定義doublex=l,y;則以下的語句執(zhí)行的結(jié)果是〇y=x+3/2;printf(,y);A.2.500000B.2.5C.2.000000D.2.若a為整型變量,則以下語句0a=-2L;printf("%d\n”,a);.賦值不合法B.輸出為不確定的值 C.輸出值為ー2 D.輸出值為2二、讀程序?qū)懡Y(jié)果main(){intx,y;scanf(〃%2d%*2d%ld〃,&x,&y);printf(,z%d\n/z,x+y);}執(zhí)行時輸入:1234567main(){intx=4,y=0,z;x*=3+2;printfx);x*=y=z=4;printfx);)main(){floatx;inti;x=3.6;i=(int)x;printf("x=%f,i=%d”,x,i);}main(){inta=2;a%=4-l;printf("%d,”,a);a+二a*二a一二a*二3;printf("%d",a);)main(){intx=02,y=3;printf("x或d,y二%%d”,x,y);main(){charcl二’6',c2ゴ〇';printf(*%c,%c,%d,%d\n*,cl,c2,cl-c2,cl+c2);}main(){intx,y,z;x=y=l;z=++x-l;printf(*%d,%d\n”,x,z);z+=y++;printf(*%d,%d\n”,y,z);}三、填空題.在C語言中,字符型數(shù)據(jù)和整型數(shù)據(jù)之間可以通用,ー個字符數(shù)據(jù)既能以輸出,也能以輸出。."%-ms”表示如果串長小于m,則在m列范圍內(nèi),字符串向靠,補空格。.printf函數(shù)的“格式控制”包括兩部分,它們是和〇.編寫程序求矩形的面積和周長,矩形的長和寬由鍵盤輸入,請?zhí)羁铡?include<stdio.h>voidmain(){float1,w;printf(apleaseinputlengthandwidthoftherectangle\n");scanf(“%f%f”,&l,&w);area=;girth=;).編寫程序,輸入一個數(shù)字字符(’0'ヽ’9')存入變量c,把c轉(zhuǎn)換成它所對應(yīng)的整數(shù)存入n,如:字符’0’所對應(yīng)的整數(shù)就是〇。請?zhí)羁?。voidmain()charc;printf(upleaseinputachar:\nw);n=;printf(,c,n);}四、編程.將華氏溫度轉(zhuǎn)換為攝氏溫度和絕對溫度的公式分別為:c=-(f-32) (攝氏溫度)9k=273.16+c (絕對溫度)請編程序:當(dāng)給出f時,求其相應(yīng)攝氏溫度和絕對溫度。測試數(shù)據(jù):①f=34②f=100.寫ー個程序把極坐標(biāo)(r,e)(。之單位為度)轉(zhuǎn)換為直角坐標(biāo)(X,Y)?轉(zhuǎn)換公式是:x=r.cos〇y=r.sin〇測試數(shù)據(jù):①r=106=45°②r=200=90°.寫ー個程序,按如下格式輸出數(shù)據(jù)。namenumbermathenglishcomputerzhanghua990180.5087.080lina990270.0080.090wanggang990387.0076.078.輸入3個雙精度實數(shù),分別求出它們的和、平均值、平方和以及平方和的開方,并輸出所求出各個值。.輸入ー個3位整數(shù),求出該數(shù)每個位上的數(shù)字之和。如123,每個位上的數(shù)字和就是1+2+3=6〇第三單元分支程序設(shè)計ー、選擇題.若x=0,y=3,z=3,以下表達(dá)式值為〇的是A.!xB.x<y?1:0C.x%2&&y==zD.y=x||z/3.以下運算符中優(yōu)先級最低的運算符為,優(yōu)先級最高的為A.&& B.! C.!= D. || E.?: F.==.若w=l,x=2,y=3,z=4,則條件表達(dá)式wくx?w:yくz?y:z的結(jié)果為〇A.4 B.3 C.2 D. 1.若w,x,z均為int型變量,則執(zhí)行以下語句后的輸出為〇w=3;z=7;x=10;printfC%d\n/z,x>10?x+100:x-10);printfw++1|z++);printf(zz%d\n,z,!w>z);printf(袋d\n”,w&&z);A.0B.1C.0D.01111110011105,分析以下程序,下列說法正確的是main(){intx=5,a=0,b=0;if(x=a+b)printf("****\n");elseprintfC####\n");)A,有語法錯,不能通過編譯 B,通過編譯,但不能連接C.輸出?*** D.輸出####.分析以下程序,下列說法正確的是〇main(){intx=5,a=0,b=3;if(x=a+b)printf("****\n");elseprintf('####\n");A,有語法錯,不能通過編譯 B,通過編譯,但不能連接C.輸出**** D.輸出####.分析以下程序,下列說法正確的是。main(){intx=0,a=0,b=0;if(x=a+b)printf(*****\n");elseprintfCtt###\n");A,有語法錯,不能通過編譯 B.通過編譯,但不能連接C.輸出?*** D.輸出####.分析以下程序,下列說法正確的是〇main(){intx=0,a=0,b=0;if(x==a+b)printf(*****\n");elseprintfCtt###\n");)A,有語法錯,不能通過編譯 B,通過編譯,但不能連接C.輸出**** D.輸出####二、讀程序?qū)懡Y(jié)果include<stdio.h>main(){inta=-l,b=4,k;k=(a++<=0)&&(!(b--<=0));printf("%d,%d,%d\n”,k,a,b);}main(){intx=4,y=0,z;x*=3+2;printf("%d",x);x*=(y==(z=4));printf("%d”,x);}{intx,y,z;x=3;y=z=4;printf(^%d*,(x>=z>=x)?l:0);printf(#%dz/,z>=y&&y>=x);)mainO{intx=l,y=l,z=10;if(z<0)if(y>0)x=3;elsex=5;printf("%d\ピ,x);if(z=y<0)x=3;elseif(y==O)x=5;elsex=7;printfx);printfz);}main(){charx="B';switch(x)TOC\o"1-5"\h\z{case 'A' : printf( uIt is A. ” );case 'B' : printf( "It is B.");case 'C' : printf( "It is C. ”);default:printf("other.n;))main(){intx=l,y=0,a=0,b=0;switch(x){case1:switch(y){case0:a++;break;
case1:b++;break;a++;b++;break;a++;b++;printf(z,a=%d,b=%d\n”,a,b);}填空題.若a=5,b=6,c=7,d=8,則表達(dá)式d=a/2&&b==cII!a的值為.定義intx=10,y,z;執(zhí)行y二z二x;x=y=z后,變量x的值為〇3,分段函數(shù):輸入x,計算y值,輸出y,其中:x<0y=2x+3x=0,y=0x>0,y=(x+7)/3#include<stdio.h>main()intx,y;scanf(*%d*,&x);if(x<0) (1);⑵ y=0;(3) y=(x+7)/3;printf(a%dw,y);)4.由鍵盤輸入三個數(shù),計算以這三個數(shù)為邊長的三角形面積。⑴main()(⑵;printf("Pleaseenter3reals:\n");scanf("%f%f%f",&a,&b,&c);if((3)){s=(a+b+c)*0.5;sl=s*(s-a)*(s-b)*(s-c);s=(4);printf(*\nAreaofthetriangleis%f\n”,s);⑸printf("Itisnottriangle!\n");}.有一方程ax2+bx+c=0,a,b,c的值由鍵盤輸入,請編程序,打印出以下情況時方程的解。a二〇,bWOa=0,b=0,c=0a=0,b=0,cWOaWO,b2-4ac>0aWO,b2-4ac^0#include"math,h"main(){floata,b,c,d,pr,pi,xl,x2;scanf("%f%f%r,&a,&b,&c);printf("a=%f,b=%f,c=%f\n*,a,b,c);if(a==0){if((1))printf("onlyonesolutionx=%f\n,-c/b);elseif((2))printf("nosolution\n");elseprintf("xisanyvalue\n");}else{d=b*b-4*a*c;if((3)){xl=(-b+sqrt(d))/(4);x2=(-b-sqrt(d))/⑸ ;printf("xl合6.2f,x2=%6.2f\n",xl,x2);}else{pr=-b/(2*a); (6);
printf(*xl=%6.2f+%6.2fi\n*,pr,pi);printf(“x2=%6.2f-%6.2fi\n”,pr,pi);)}.投票表決器:輸入丫、y,打印agree輸入N、n,打印disagree輸入其他,打印!osemain(){charc;scanf(*%c*,&c);(1)caseY:case7':printf("agree");(2) ;case'N':case,n':printf("disagree");(3)(4):printf("lose");四、編程sin(x)+cos(x)(x>0)(x<0)寫ー程序求y值sin(x)+cos(x)(x>0)(x<0)—く jsin(x)-cos(x). 2.輸入一個字符,判斷它如果是小寫字母輸出其對應(yīng)大寫字母;如果是大寫字母輸出其對應(yīng)小寫字母:如果是數(shù)字輸出數(shù)字本身;如果是空格,輸出“space";如果不是上述情況,輸出“other”。.有三個數(shù)a、b、c,由鍵盤輸入,輸出其中最大的數(shù)。.輸入一個數(shù),判斷它能否被3或者被5整除,如至少能被這兩個數(shù)中的一個整除則將此數(shù)打印出來,否則不打印,編出程序。
.讀入1到7之間的某個數(shù),輸出表示一星期中相應(yīng)的某一天的單詞:Monday、Tuesday等等,用switch語句做。.給出ー百分制成績,要求輸出成績等級'A','B','C','D','E',90分以上為‘A',80?89分為‘B',70?79分為‘C',60?69分為‘D',60分以下為‘E‘。.有一函數(shù)(0<x<15)(15<x<30)50---(x-30)40+—(x-45)50---(x-30)40+—(x-45)(30<x<45)3060一ビ(X-75)
無意義(45<x<75)(75<x<90)
(其它)請編程序計算y的值(x的值由鍵盤輸入)。
ー、選擇題第四單元循環(huán)程序設(shè)計1.程序段如下:則以下說法中正確的是:intk=5;ー、選擇題第四單元循環(huán)程序設(shè)計1.程序段如下:則以下說法中正確的是:intk=5;do(k-;}while(k<=0);A,循環(huán)執(zhí)行5次C.循環(huán)體語句ー次也不執(zhí)行B.循環(huán)是無限循環(huán)D,循環(huán)體語句執(zhí)行ー次.設(shè)i和x都是int類型,則for循環(huán)語句。for(i=0,x=0;iく=9&&x!=876;i++)scanf&x);A?最多執(zhí)行10次C,是無限循環(huán).下述for循環(huán)語句。inti,k;for(i=0,k=T;k=1;i++,k++)A.判斷循環(huán)結(jié)束的條件非法C.只循環(huán)一次B.最多執(zhí)行9次D.循環(huán)體ー次也不執(zhí)行printf("****");B,是無限循環(huán)D,一次也不循環(huán).程序段如下:則以下說法中正確的是:intk二一20;while(k=0)k=k+l;A.while循環(huán)執(zhí)行20次 B.循環(huán)是無限循環(huán)C.循環(huán)體語句ー次也不執(zhí)行 D.循環(huán)體語句執(zhí)行ー次.下列程序段執(zhí)行后k值為〇intk二0,i,j;for(i=0;i<5;i++)for(j=0;j<3;j++)
k=k+1;A.15B.3C.5 D.8.程序段如下:則以下說法中不正確的是:#include<stdio.h>mainOintk=2,;while(k<7)(if(k%2){k=k+3;printf(Mk=%d\n,,,k);continue;}k=k+1;printf("k二%d\n",k);})A.k=k+3;執(zhí)行一次 B.k=k+1;執(zhí)行2次C.執(zhí)行后k值為7 D.循環(huán)體只執(zhí)行ー次二、讀程序?qū)懡Y(jié)果main(){intnum=0;while(num<=2){num++;printfi%d\n〃,num);}}main(){inti=0,s=0;do{s+=i*2+l;printf("i=%d,s=%d\n〃,i,s);i++;}while(s<10);}^include<stdio.h>main(){inti,m=l;for(i=5;i>=l;i~){m=(m+l)*2;printf("m二%d\n',m);)}指出下面三個程序的功能,當(dāng)輸入為:〃quert?〃時,它們的執(zhí)行結(jié)果是什么?⑴#include<stdio.h>main(){charc;c=getchar();while(c!=’?'){putchar(c);c=getchar();}}⑵#include<stdio.h>main(){charc;while((c二getchar())!='?')putchar(++c);}⑶#include<stdio.h>main(){while(putchar(getchar())!='?');}#include<stdio.h>mainO{inti;for(i=l;i<=5;i++){if(i%2)putchar('く’);elsecontinue;putchar('>');)putchar( ;}main(){inta,b;for(a=l,b=l;a<=100;a++){if(b>10)break;if(b%3=l){b+=3;continue;}printf(*a=%d\nz/,a);)main(){inti=l;while(i<=15)if(++i%3!=2)continue;elseprintf("%d”,i);printf("\n");}#include<stdio.h>voidmain(){inti,j;for(i=0;i<=3;i++){for(j=0;j<=i;j++)printf("(%d,%d),",i,j);printf('\n");))main(){inti,j,k;charspace二'';for(i=0;iく=5;i++){for(j=l;j<=i;j++)printf("%c",space);for(k=0;k<=5;k++)printf("%c",;printf("\n");)}^include<stdio.h>main(){inti,j,k=0;for(j=ll;j<=30;j++){if(k%10==0)printf("\n");for(i=2;i〈j;i++){if(!(j%i))break;if(i>=jT){printfj);k++;}}})三、填空題.break語句只能用于語句和語句中〇.計算2+4+6+8+...+98+100main()(inti,(1);for(i=2;i<=100; (2) )s+=i;).求滿足下式的x,y,zXYZ+YZZmain(){intx,y,z,i,result=532;TOC\o"1-5"\h\zfor(x=l; (1) ;x++)for(y=l; ⑵ ;y++)for( (3) ; (4) ;z++){i= (5) +(100*y+10*z+z);if(i==result)printf("x=%d,y二%d,z二%d\n”,x,y,z);4.求Sn=a+aa+aaa+.??+aa.?.a之值,其中a是一個數(shù)字。例如2+22+222+2222(此時n=4),n由鍵盤輸入。main(){inta,n,count=l,Sn=O,Tn=O;printf(〃請輸入a和n的值:、rT);scanf(,z%d,%d",&a,&n);TOC\o"1-5"\h\zwhile(count<=(1) ){Tn= ⑵ ;Sn= (3) ;a=a******main()(4) ;printfしa+aa+aaa+...=%d\n”,Sn);}.ー球從100米高度自由落下,每次落地后反跳回原來高度的一半,再落下,求它在第十次落地時,共經(jīng)過多少米?第十次反彈多高?main(){floatSn=100.0,hn=Sn/2;intn;for(n=2;n<= (1) ;n++){Sn=(2) ;hn=(3) ;}printf("第10次落地時共經(jīng)過%f米、n”,Sn);printf(〃第10次反彈%f米、n”,hn);).打印出以下圖形****{inti,j,k;for(i=0;i<= (1) ;i++){for(j=0;j<=2-i;j++)printf(?ヽ,for(k=O;kく= (2) ;k++)printf("*");(3)for(i=0;i<=2;i++){for(j=0;j<= (4) ;j++)printf(*");for(k=0;k<= (5) ;k++)printf("*");printf(〃\n〃);})7.準(zhǔn)備客票。某鐵路線上共10個車站,問需要準(zhǔn)備幾種車票?main(){inti,j,station,total=0;printf("輸入車站數(shù):");scanf1%d”,&station);for(i=l;i<(1) ;i++)for(j= (2)ゴく=station;j++)total- (3);printf("車票種類=%d\n",total);}四、編程.計算n的階乘.求1到100之間的奇數(shù)之和、偶數(shù)之積。.輸入一行字符,統(tǒng)計其中的英文字母、數(shù)字、空格和其他字符個數(shù)。.用循環(huán)語句編寫求2°+2]+2?+23+…+263的程序。20.求E-(即求1!+2!求!+...+20!)〇n-\.有一分?jǐn)?shù)序列;,:7,7,ラ?,ヽ, ?求出這個數(shù)列的前20項之和。123〉013.任意十個數(shù),打印出它們中的最大數(shù)、最小數(shù)。
測試數(shù)據(jù):①1,-12,20,30,-5,-23,33,125,200,-100②0,10,3,1,5,6,-10,90,9,-4③12,13,14,15,10,-10,-11,-12,-9,9.判斷ー個數(shù)是否是素數(shù).打印1-100之間所有素數(shù).求1-100之間所有非素數(shù)的和.輸入兩個正整數(shù)m和n,求其最大公約數(shù)和最小公倍數(shù)。提示:求m,n的最大公約數(shù):首先將m除以n(m>n)得余數(shù)R?再用余數(shù)R去除原來的除數(shù),得新的余數(shù),重復(fù)此過程直到余數(shù)為0時停止,此時的除數(shù)就是m和n的最大公約數(shù)。求m和n的最小公倍數(shù):m和n的積除以m和n的最大公約數(shù)。測試數(shù)據(jù):m=12, n=24m=100,n=300.打印出所有的“水仙花數(shù)”,所謂“水仙花數(shù)”是指一個三位數(shù),其各位數(shù)字立方和等于該數(shù)本身。例如153是一個水仙花數(shù),因為153=ド+53+33(要求分別用ー重循環(huán)和三重循環(huán)實現(xiàn))。.ー個數(shù)恰好等于它的平方數(shù)的右端,這個數(shù)稱為同構(gòu)數(shù)。如5的平方是25,5是25中的右端的數(shù),5就是同構(gòu)數(shù)。找出1?1000之間的全部同構(gòu)數(shù)。.3025這個數(shù)具有一種獨特的性質(zhì):將它平分為兩段,即30和25,使之相加后求平方,即(30+25),恰好等于3025本身。請求出具有這樣性質(zhì)的全部四位數(shù)。.兩位數(shù)13和62具有很有趣的性質(zhì):把它們個位數(shù)字和十位數(shù)字對調(diào),其乘積不變,即13*62=31*26。編程序求共有多少對這種性質(zhì)的兩位數(shù)(個位與十位相同的不在此列,如11、22,重復(fù)出現(xiàn)的不在此列,如13*62與62*13)。.ー個數(shù)如果恰好等于它的因子之和,這個數(shù)就稱為“完數(shù)”。例如,6的因子為1、2、3,而6=1+2+3,因此6是“完數(shù)”。編程序找出1000之內(nèi)的所有完數(shù),并按下面格式輸出其因子:itsfactorsare1,2,3.有一個四位正整數(shù),組成這個四位數(shù)的四個數(shù)字各不相同,如果把它們的首尾互換,第二位與第三位互換,組成一個新的四位數(shù)。原四位數(shù)為新四位數(shù)的4倍,請找出ー個這樣的四位數(shù)。.給出ー個不多于4位的正整數(shù),要求:①求出它是幾位數(shù)②分別打印出每ー位數(shù)字③按逆序打印出各位數(shù)字。.在ー個程序中計算出給定誤差小于0.1,0.01,0.001,0.0001,0.00001時,下式的值:x...x(2〃+12〃+12x...x(2〃+12〃+1提示:本題中誤差指前n+1項之積與前n項積之差。20.用泰勒展開式求20.用泰勒展開式求sinx的近似值xXxX3sinx= 1!3!5!7! (2〃ー1)!測試數(shù)據(jù):①x=0.測試數(shù)據(jù):①x=0.3,n=8x=0.5,n=20.驗證歌德巴赫猜想。一個充分大的偶數(shù)(大于或等于6)可以分解為兩個素數(shù)之和。試編程序,將6至50之間全部偶數(shù)表示為兩個素數(shù)之和。.用牛頓迭代法求方程在1.5附近的根(精度為l(rb。2.x3-4x~+3x—6=023.兩個乒乓球隊進(jìn)行比賽,各出三人,甲隊為A、B、C三人,乙隊為X、YヽZ三人,已知抽簽決定比賽名單。有人向隊員打聽比賽的名單,A說他不和X比,C說他不和X、Z比,請編程序找出三對賽手的名單。第五單元數(shù)組ー、選擇題.以下關(guān)于數(shù)組的描述正確的是。A,數(shù)組的大小是固定的,但可以有不同的類型的數(shù)組元素。B.數(shù)組的大小是可變的,但所有數(shù)組元素的類型必須相同。C,數(shù)組的大小是固定的,但所有數(shù)組元素的類型必須相同。D.數(shù)組的大小是可變的,但可以有不同的類型的數(shù)組元素。.在定義inta[10];之后,對a的引用正確的是〇A.a[10] B.a[6.3] C.a(6) D.a[10-10].以下能正確定義數(shù)組并正確賦初值的語句是〇A.intn=5,b[n][n]; B.inta[l][2]={{1},{3});C.intc[2][]={{1,2},{3,4}}D.inta[3][2]={{1,2},{314}).以下不能正確賦值的是〇A.charsi[10];si="test"; B.chars2口二{'t','e','s','t'}C.chars3[20]="test"; D.chars4[4]={'t','e','s','t'}.下面程序段運行時輸出結(jié)果是〇chars[18]="abook!printf("%.4s",s);A.abook!B.abook!C.aboD,格式描述不正確,沒有確定輸出.下面程序段運行時輸出結(jié)果是〇chars[12]="Abook";printf("%d\n”,strlen(s));A.12 B. 8 C. 7 D. 6.在執(zhí)行inta[][3]={1,2,3,4,5,6};語句后,a[l][0]的值是〇A.4 B. 1 C. 2 D. 5二、讀程序?qū)懡Y(jié)果#include<stdio.h>voidmain()inta[8]={l,0,1,0,1,0,1,0},i;for(i=2;i<8;i++)a[i]+=a[i-l]+a[i-2];for(i=0;i<8;i++)printf("%5d",a[i]);)tfinclude<stdio.h>voidmain()(floatb[6]={l.1,2.2,3.3,4.4,5.5,6.6},t;inti;t=b[O];for(i=0;i<5;i++)b[i]=b[i+l];b[5]=t;for(i=0:i<6;i++)printf(4<%6.2fw,b[i]);)^include<stdio.h>voidmain(){intp[7]={ll,13,14,15,16,17,18},i=0,k=0;while(i<7&&p[i]%2){k=k+p[i];i++;}printf("k=%d\n”,k);)voidmain(){inta[3][3]={1,3,5,7,9,11,13,15,17);intsum=0,i,j;for(i=0;i<3;i++)for(j=0;j<3;j++){a[i][j]=i+j;if(i==j)sum=sum+a[i][j];printf("sum二%d”,sum);voidmain(){inta[4][4],i,j,k;for(i二〇;iく4;i++)for(j=0;j<4;j++)a[i][j]=i-j;for(i=0;i<4;i++){for(j=O;j<=i;j++)printf("%4d",a[i][j]);printf("\n");^include<stdio.h>main(){inti,s;charsl[100],s2[100];printf("inputstringl:\n");gets(si);printf("inputstring2:\n");gets(s2);i二〇;while((si[i]==s2[i])&&(sl[i]!=‘、〇'))i++;if((sl[i]==,\0')&&(s2[i]=='\0'))s=0;elses=sl[i]-s2[i];printf("%d\n",s);}輸入數(shù)據(jù) aidandvoidmain()(charch[3][5]={"AAAA","BBB","CC");printf("ヽ"%s\"\n",ch[l]);#inlcude<stdio.h>#include<string.h>voidmain()(charstr[10][80],c[80];inti;for(i=0;iく10;i++)gets(str[i]);strcpy(c,str[0]);for(i=l;i<10;i++)if(strlen(c)<strlen(str[i]))strcpy(c,str[i]);puts(c);}三、填空題.構(gòu)成數(shù)組的各個元素必須具有相同的〇.下面的程序是輸出數(shù)組中最大元素的下標(biāo)(p表示最大元素的下標(biāo))。voidmain()ints[]=(l,-3,0,-9,8,5,-20,3};for(i=0,p=0;i<8;i++)if(s[i]>s[p]) .輸入20個數(shù),輸出他們的平均值,輸出與平均值之差的絕對值最小的數(shù)組元素。#include<stdio.h>voidmain()floata[20],pjz=0,s,t;inti,k;for(i=0;i<20;i++)(scanf("%f”,&a[i]);Pjz+二:)s=fabs(a[0]-pjz);t=a[0];for(i=l;i<20;i++)if(fabs(a[i]-pjz)<s)t=a[i];}.輸出行、列號之和為3的數(shù)組元素。main(){charss[4][3]={,A','a','f',‘ゼ,'B','d','e','b',intx,y,z;for(x=0; (1) ;x++)for(尸〇; ⑵ ;y++)(z=x+y;if( (3) )printf("%c\n",ss[x][y]);}).將一個數(shù)組中的元素按逆序重新存放。例如原來的順序為:8,5,7,4,1,要求改為:1,4,7,5,8〇#defineN7voidmain(){inta[N]={12,9,16,5,7,2,l),k,s;printf("\n初始數(shù)組:\n");for(k=0;k<N;k++)printf("%4d",a[k]);TOC\o"1-5"\h\zfor(kWkく ⑴ ル++){s=a[k];a[k]= (2) ; ⑶ =s;}printf(〃、n交換后的數(shù)組:\n");for(k=0; (4) ;k++)printf("%4d",a[k]);}.有一行文字,要求刪去某ー個字符。此行文字和要刪去的字符均由鍵盤輸入,要刪去的字符以字符形式輸入(如輸入a表示要刪去所有的a字符)。#include<stdio.h>voidmain(){ /*strl表示原來的一行文字,str2表示刪除指定字符后的文字?/charstrl[100],str2[100];charch;inti二〇,k二〇;printf("pleaseinputansentence:\nn);gets(strl);scanf("%c”,&ch);for(i=0; (2) ;i++)if(strl[i]!=ch){str2[(3)]=strl[i];k++;}str2[ (4) ]=,、〇';printf("\n%s\n”,str2);).找出10個字符串中的最大者。#include<stdio.h>#include<string.h>#defineN10voidmain(){charstr[20],s[N][20];inti;for(i=0;i<N;i++)gets((1) );strcpy(str,s[0]);for(i=l;iくN;i++)if( (2)>0)strcpy(str,s[i]);printfCThelongeststringis:\n%s\n〃,str);}.某人有四張3分的郵票和三張5分的郵票,用這些郵票中的ー張或若干張可以得到多少種不同的郵資?main(){staticinta[27];inti,j,k,s,n=0;for(i=0;iく=4;i++)for(j=0;j<=3;j++)TOC\o"1-5"\h\z{s=(1) ;for(k=0;a[k];k++)if(s=a[k]) (2) ;if( (3) ){a[k]=s;n++;}}printf(〃%dkind:〃,n);for(k=0; (4) ;k++)printf("%3d",a[k]);}.求矩陣的馬鞍點。馬鞍點即它的值在行中最大,在它所在的列中最小。#defineN10#defineM10main(){inti,j,k,m,n,flagl,flag2;inta[N][M],max;printf("\n輸入行數(shù)n:");scanf("%d",&n);printf("\n輸入列數(shù)m:");scanf("%d",&m);for(i二〇;iくn;i++)for(j=0;j<m;j++)scanf(1) );for(i=0;i<n;i++){for(j=0;j<m;j++)printf("%5d”,a[i][j]); (2)—;flag2=0;for(i=0;i<n;i++){max=(3) ;for(j=l;j<m;j++)if(a[i][j]>max)max=a[i][j];for(j=0;j<m;j++){flagl=0;if(a[i][j]==max){for(k=0,flagl=l;k<n&&flagl;k++)if( ⑷ )flagl=0;if(flagl){printf("第%d行,第%d列的%d是鞍點、n", ⑸ );flag2=l;if(!flag2)printf("\n矩陣中無鞍點!'n");四、編程.有一個正整數(shù)數(shù)組,包含N個元素,要求編程求出其中的素數(shù)之和以及所有素數(shù)的平均值。.有一個數(shù)組,內(nèi)放10個整數(shù)。要求找出最小的數(shù)和它的下標(biāo),然后把它和數(shù)組中最前面的元素對換位置。.有N個數(shù)己按由小到大的順序排好,要求輸入一個數(shù),把它插入到原有序列中,而且仍然保持有序。.輸入N個數(shù)到數(shù)組中,輸出所有大于N個數(shù)平均值的數(shù)。.輸入N個數(shù)到數(shù)組中,選出其中最大的數(shù)和最小的數(shù),并分別將它們與最前面和最后面的數(shù)互換。.用選擇法對10個整數(shù)由大到小排序。.用篩選法求2到100之間的素數(shù)。方法如下:首先2是素數(shù),凡2的倍數(shù)都不是素數(shù),于是把這些數(shù)從數(shù)表中篩去,2以后沒有被篩去的第一個數(shù)是3,然后把3的倍數(shù)都從數(shù)表中篩去,3以后沒被篩去的第一個數(shù)是5,然后把5的倍數(shù)都從數(shù)表中篩去。如此下去,直到遇到某數(shù)K(くN),其后沒有數(shù)可篩選為止,這時保留下的未被篩去的數(shù)就是2到N的素數(shù)。.求一個3X3矩陣兩條對角線上元素之和(每個元素只加一次)。.打印如下形式的楊輝三角形1TOC\o"1-5"\h\z1 11 2 113 3 11 4 6 4 11 5 10 10 5 1輸出前10行,從〇行開始,分別用ー維數(shù)組和二維數(shù)組實現(xiàn)。.有一個二維數(shù)組整型數(shù)組中,每一行都有一個最大值,編程求出這些最大值以及它們的和。.把一個二維實型數(shù)組a按照第〇列的元素進(jìn)行排序(由小到大排序,用起泡法)。例如:如果a[i][〇]大于a[i+l][〇],則i行與i+1行中所有元素都要進(jìn)行對換。.編程序?qū)⒁粋€字符串的前N個子字符送到一個字符型數(shù)組中去,然后再加上一個,、〇’(不允許使用strcpy(strl,str2,n)函數(shù))。.將字符數(shù)組A中下標(biāo)為雙號(0,2,4,6,8...)的元素值傳給另一個字符數(shù)組B,然后將B數(shù)組的元素按逆序輸出。.有一行字符,統(tǒng)計其中的單詞個數(shù)(單詞之間以空格分隔),并將每一個單詞的第ー個字母改為大寫。.有N個國家名,要求按字母先后順序排列(用起泡排序法)后輸出。.有17個人圍成一圈(編號為〇?16),從第〇號的人開始從1報數(shù),凡報到3的倍數(shù)的人離開圈子,然后再數(shù)下去,直到最后只剩下ー個人為止。問此人原來的位置是多少號?.編程產(chǎn)生如下形式的方陣。TOC\o"1-5"\h\z1 2 22 22 13 1 22 21 43 3 12 14 43 3 31 44 43 3 15 14 43 1 55 51 41 5 55 55 1要求:不允許使用鍵盤輸入語句和靜態(tài)賦值語句,盡量少用循環(huán)。.打印所有不超過n(n<256)的其平方具有對稱性的數(shù)(也稱回文數(shù))。.求N個數(shù)中的最大值,最大值出現(xiàn)的次數(shù),然后求出次大值(次大值一定存在)。.找出MXN數(shù)組中所有不相鄰元素,并求出它們的和(相鄰的數(shù):前ー個是偶數(shù),后ー個是素數(shù))。.圓盤上有如下圖所示的二十個數(shù),請找出哪四個相鄰數(shù)之和為最大,并指出它們的起始位置及最大和的值。20.已知100個自然數(shù)1?100,我們?nèi)?,2,3,4時,我們可將其排成一圈使每兩個數(shù)之和都是素數(shù),即ー1-2f3f4-,問1?100內(nèi)連續(xù)取n個數(shù),即1?n(W100)能滿足上述要求的最大的n是多少?.打印魔方陣。所謂魔方陣是指這樣的方陣,它的每一行、每一列和對角線之和均相等。例如:三階魔方陣為816357492要求打印由1到Nユ的自然數(shù)構(gòu)成的魔方陣。提示:魔方陣中各數(shù)的排列規(guī)律如下:⑴將''1"放在第一行中間一列;⑵從“2”開始直到nXn為止各數(shù)依次按下列規(guī)則存放:每ー個數(shù)存放的行比前一個數(shù)的行數(shù)減1,列數(shù)加1;⑶如果上一個數(shù)的行數(shù)為1,則下ー個數(shù)的行數(shù)為n(指最下一行):(4)當(dāng)ー個數(shù)的列數(shù)為n,下ー個數(shù)的列數(shù)應(yīng)為1,行數(shù)減1;⑸如果按上面規(guī)則確定的位置已有數(shù),或上一個數(shù)是第1行第n列時,則把下ー個數(shù)放在上一個數(shù)的下面。.統(tǒng)計一個單位職エ的年齡,要求把相同年齡最多的那個年齡找出來(可能有幾個這樣的年齡),并統(tǒng)計出現(xiàn)的次數(shù)。.nXn的拉丁方陣的每行、每列均為自然數(shù)的一個全排列,每行(列)上均無重復(fù)數(shù)。如n=5時,5X5的ー種拉丁方陣可以為:TOC\o"1-5"\h\z5 2 4 33 4 5 115 3 22 3 1 44 12 5該數(shù)組的第一行1,5,2,4,3用程序自動生成,但產(chǎn)生的第一行不一定非得是1,5,2,4,3,第一行填寫完畢后,即以第一行作為全方陣索引,即若第一行中的第i列的元素值為j,則j在各行中的列號即為從第一行中元素值為i的那一列開始讀出的n個自然數(shù)(到行末則從行頭接著讀),例如第一行第2列的元素值為5,則從元素值為2的那一列(第3列)開始讀出2,4,3,1,5,這就是元素5在各行中的列標(biāo)號。測試數(shù)據(jù):①n=5 ②n=8第六單元函數(shù)ー、選擇題1?在C語言中,當(dāng)函數(shù)調(diào)用時。A.實參和形參各占ー個獨立的存儲單元B.實參和形參共用存儲單元C.可以由用戶指定實參和形參是否共用存儲單元D.由系統(tǒng)自動確定實參和形參是否共用存儲單元.以下函數(shù)調(diào)用語句中實參的個數(shù)為。exce((vl,v2),(v3,v4,v5),v6);A.3B.4C.5D.6.如果在ー個函數(shù)的復(fù)合語句中定義了一個變量,則該變量 。A.只在該符合語句中有效,在該符合語句外無效B,在該函數(shù)中任何位置都有效C,在本程序的原文件范圍內(nèi)均有效D.此定義方法錯誤,其變量為非法變量.C語言允許函數(shù)值類型缺省定義,此時該函數(shù)值隱含的類型是。A.float型B.int型C.long型D.double型.C語言規(guī)定,函數(shù)返回值的類型是由。A.return語句中的表達(dá)式類型所決定B.調(diào)用該函數(shù)時的主調(diào)函數(shù)類型所決定C.調(diào)用該函數(shù)時系統(tǒng)臨時決定D,在定義該函數(shù)時所指定的函數(shù)類型決定.在C語言程序中,以下描述正確的是〇A,函數(shù)的定義可以嵌套,但函數(shù)的調(diào)用不可以嵌套B.函數(shù)的定義不可以嵌套,但函數(shù)的調(diào)用可以嵌套C,函數(shù)的定義和函數(shù)的調(diào)用均不可以嵌套D.函數(shù)的定義和函數(shù)的調(diào)用均可以嵌套.以下敘述中正確的是〇A.全局變量的作用域一定比局部變量的作用域范圍大B,靜態(tài)(static)類別變量的生存期貫穿于整個程序的運行期間C,函數(shù)的形參都屬于全局變量D.未在定義語句中賦初值的auto變量和static變量的初值都是隨機值.以下程序的運行結(jié)果是:#include<stdio_h>voidsub(intsロ,inty){staticintt=3;y=s[t];t-J)mainO{intaロ={1,2,3,4},i,x=0;for(i=0;i<4;i++){sub(a,x);printf("%dM,x);}printf(M\n”);)A)1234 B)4321 00000 D)4444.以下程序的運行結(jié)果是:main(){intw=5;fun(w);printf("\n°);}fun(intk){if(k>0)fun(kT):printf(n%d”,k);}A)54321 B)012345 012345 D)543210.以下所列的各函數(shù)首部中,正確的是0A)voidplay(vata:Integer,varb:Integer)B)voidplay(inta,b)0voidplay(inta,intb) D)Subplay(aasinteger,basinteger).當(dāng)調(diào)用函數(shù)時,實參是一個數(shù)組名,則向函數(shù)傳送的是0A)數(shù)組的長度 B)數(shù)組的首地址0數(shù)組每一個元素的地址 D)數(shù)組每個元素中的值12,在調(diào)用函數(shù)時,如果實參是簡單變量,它與對應(yīng)形參之間的數(shù)據(jù)傳遞方式是A)地址傳遞 B)單向值傳遞〇由實參傳給形,再由形參傳回實參D)傳遞方式由用戶指定13,以下函數(shù)值的類型是0fun(floatx){floaty;y=3*x-4;returny;}A)intB)不確定 0void D)float二、讀程序?qū)懡Y(jié)果funl(inta,intb)intc;a+=a;b+二b;c=fun2(a,b);returnc*c;}fun2(inta,intb)intc;c=a*b%3;returnc;main()intx=ll,y=19;printf("Thefinalresultis:%d\n”,funl(x,y));intx;main()x=5;cude();printf("%d\n",x);cude()x=x*x*x;}^include<stdio.h>longfun(intn){longs;if(n=lIIn=2)s=2;elses=n+fun(n-l);returns;main(){printf(*%ld\n*,fun(4));}mainOinti;for(i=0;i<2;i++)add();}add()intx=O;staticinty=O;printf("%d,%d\n”,x,y);x++;y=y+2;}mainOintk=4,m=l,p;p=func(k,m);printf("%d,”,p);p=func(k,m);printf("%d\n”,p);}func(inta,intb)staticintm=O,i=2;i+=m+l;m=i+a+b;returnm;)intt(intx,inty,intcp,intdp){cp=x*x+y*y;dp=x*x-y*y;)main(){inta=4,b=3,c=5,d=6;t(a,b,c,d);printf(H%d%d\nM,c,d);fun(intx,inty,intz){z=x*x+y*y;}main(){inta=31;fun(5,2,a);printf("%d",a);)inta,b;voidfun(){a=100;b=200;}main(){inta=5,b=7;fun();printf("%d%d\n”,a,b);)intx=3;main(){inti;for(i=l;i<x;i++)increO;}increO{staticintx=l;x*=x+l;printf(H%d”,x);)intfunc(inta,intb){return(a+b);)main(){intx=2,y=5,z=8,r;r=func(func(x,y),z);printf("%d\n",r);)longfib(intn){if(n>2)return(fib(n-1)+fib(n-2));elsereturn(2);)main(){printf("%ld\n0,fib(3)};}三、填空題.編寫一個驗證正整數(shù)M是否為素數(shù)的函數(shù),若M是素數(shù)則把1送到T中,否則零送到T中。在主函數(shù)中讀入N個正整數(shù),每讀入ー個則調(diào)用函數(shù)判斷它是否為素數(shù),在主函數(shù)中將T的值累加到另一個變量中。用此方法可求出N個數(shù)中素數(shù)的個數(shù)。請?zhí)羁胀瓿缮鲜龉δ艿某绦颉?include<stdio.h>#include<math.h>intprime(intm){inti,pp=l;for(i=2;(1);i++)if(m%i==0)pp=O;if(m==l) ⑵return(pp);}main(){inta[20],i,sumニ〇;for(i=0;i<10;i++){scanf(*%d*,&a[i]);sum=(3))printf(*thenumberofprimedatais:%d”,sum);).編寫ー函數(shù),由實參傳來ー個字符串,統(tǒng)計此字符串中字母、數(shù)字、空格和其它字符的個數(shù),在主函數(shù)中輸入字符串以及輸出上述的結(jié)果。請?zhí)羁胀瓿缮鲜龉δ艿某绦颉?include<stdio.h>#include<ctype.h>voidfitj(charstr[],inta[]){int11,i;11=(1)for(i=0;iく11;i++){if(⑵ )a[0]++;elseif((3) )a[l]++;elseif((4) )a[2]++;elsea[3]++;))main(){staticcharstr[60];staticinta[4]={0,0,0,0};gets(str);fitj(str,a);printf(*%schar:%ddigit:%dspace:%dother:%d*,str,a[0],a[l],a[2],a[3]);).用遞歸方法求N階勒讓德多項式的值,遞歸公式為[1 (〃=〇)Pn=] X (n= 1)[((2n-1)-x?/??_1(%)-(n-1)-p?_2(x))/n (〃>1)#include<stdio.h>main(){floatpn();floatx,lyd;intn;scanf("%d%f”,&n,&x);lyd=(1)printf("pn=%f”,lyd);)floatpn(floatx,intn){floattemp;if(n==0)t6mp=(2)elseif(n==l)temp二⑶elsetemp=(4)return(temp);}.以下函數(shù)的功能是:求x的y次方,請?zhí)羁?。doublefun(doublex,inty){inti;doublez:for(i=l,z=x;i<y;i++)z=z*(1)returnz:四、編程.編寫一函數(shù)判斷某數(shù)是否素數(shù)。.編寫ー函數(shù)求三個整數(shù)的最大值。.打印出3到1100之間的全部素數(shù)(判素數(shù)由函數(shù)實現(xiàn))。.寫ー函數(shù),使給定的一個二維數(shù)組(3X3)轉(zhuǎn)置,即行列互換。.寫ー函數(shù),將兩個字符串連接,即編寫ーstrcat函數(shù)。.寫ー函數(shù),求一字符串長度,即編寫ーstrlen函數(shù)。.寫ー函數(shù)將字符數(shù)組si中的全部字符復(fù)制到字符數(shù)組s2中,不用strcpy函數(shù)。.寫ー函數(shù)判斷某數(shù)是否“水仙花數(shù)”,所謂“水仙花數(shù)”是指一個三位數(shù),其各位數(shù)字立方和等于該數(shù)本身。例如153是ー個水仙花數(shù),因為153=^+53+33。9,在主函數(shù)內(nèi)任意輸入ー個5X6矩陣,編寫ー函數(shù)求出每一行的和放到ー個ー維數(shù)組中,輸出此矩陣及其每一行的和。.寫ー主函數(shù)輸入ー數(shù)組,寫一子函數(shù)實現(xiàn)對該數(shù)組的冒泡排序并輸出。.任意輸入20個正整數(shù),找出其中的素數(shù),并將這些素數(shù)按由小到大排序。要求:判斷ー個數(shù)是否為素數(shù)用函數(shù)實現(xiàn):排序用函數(shù)實現(xiàn)。.編寫計算m的n次方的遞歸函數(shù)。.編ー個程序,讀入具有5個元素的整型數(shù)組,然后調(diào)用ー個函數(shù),遞歸計算這些元素的積。.編ー個程序,讀入具有5個元素的實型數(shù)組,然后調(diào)用ー個函數(shù),遞歸地找出其中的最大元素,并指出它位置。第七單元指針ー、選擇題1、若有以下定義和語句,且OWiく10則對數(shù)組元素的錯誤引用是。intaロ0]={1,2,3,4,5,6,7,8,9,10),*p,i;P=a;A.*(a+i) B.a[p-a] C.p+i D.*(&a[i])2,若有定義:inta[3][4];,不能表示數(shù)組元素a[l][1]。A.*(a[l]+l) B.*(&a[l][l])C.(*(a+l)[lj)D.*(a+5)3、對如下定義,以下說法中正確的是。A.char*a[2]={"abed","ABCD"};B,數(shù)組a的元素值分別為"abed"和"ABCD"C.a是指針變量,它指向含有兩個數(shù)組元素的字符型數(shù)組D.數(shù)組a的兩個元素分別存放的是含有4個字符的ー維數(shù)組的首地址4、數(shù)組a的兩個元素中各自存放了字符’a’、‘A’的地址char*s="\t\\Nanie\\Address\n”;指針S所指字符串的長度為:0A.說明不合法B.19 C.18 D.155、分析下面函數(shù),以下說法正確的是〇swap(int*pl,int*p2){int*p;*p=*pl;*pl=*p2;*p2=*p;)A?交換?pl和?p2的值 B,正確,但無法改變*pl和?p2的值C.交換?pl和?p2的地址 D1可能造成系統(tǒng)故障,因為使用了空指針6、設(shè)有說明int(*ptr)[M];其中ptr是。A.M個指向整型變量的指針B.指向M個整型變量的函數(shù)指針C,ー個指向具有M個整型元素的ー維數(shù)組的指針D.具有M個指針元素的ー維指針數(shù)組,每個元素都只能指向整型量7,在說明語句:int*f();中,標(biāo)識符代表的是:。A.ー個用于指向整型數(shù)據(jù)的指針變量 B.ー個用于指向ー維數(shù)組的指針C.ー個用于指向函數(shù)的指針變量D,ー個返回值為指針型的函數(shù)名8,若intx,*pb;,則正確的賦值表達(dá)式是。A.pb=&xB.pb=x;C.*pb=&x;D.*pb=*x9、有如下程序段int*p,a=10,b=l;p=&a;a二?p+b;執(zhí)行該程序段后,a的值為〇A.12B.11C.10 D,編譯出錯10、若有以下定義和語句:doubler=99,*p=&r;*p二r;則以下正確的敘述是〇A.以下兩處的?p含義相同,都說明給指針變量p賦值B.在"doubler=99,*p=&r;”中,把r的地址賦值給了p所指的存儲單元C.語句"*p=r;〃把變量r的值賦給指針變量pD.語句"*p=r;"取變量r的值放回r中11、要求函數(shù)的功能是交換x和y中的值,且通過正確調(diào)用返回交換結(jié)果,能正確執(zhí)行此功能的函數(shù)是〇funa (int *x, int *y) { int*p;*p二?x; *x=*y; *y二*p;}fund (int x,inty){ intt;t=x;x=y; y=t;}func (int *x, int *y) { *x=*y;*y=*x;}fund (int *x, int *y) { *x=*x+*y;*y=*x-*y;*x=*x-*y;}12、若有說明:long*p,a;則不能通過scanf語句正確給輸入項讀入數(shù)據(jù)的程序段是〇*p=&a;scanf("%ld",p);p=(long*)malloc(8);scanf("%ld",p);scanf("%ld",p=&a);scanf("%ld",&a);13、對于類型相同的兩個指針變量之間,不能進(jìn)行的運算是〇A.< B.= C.+ D.-14、若已定義:inta[9],*p=a;并在以后的語句中未改變p的值,不能表示a[l]地址的表達(dá)式是〇A.p+1 B.a+1 C.a++ D.++p15、若有以下說明:inta[10]={l,2,3,4,5,6,7,8,9,10},*p=a;則數(shù)值為6的表達(dá)式是〇A.*p+6B.*(p+6)C.*p+=5D.p+516、設(shè)Pl和P2是指向同一個int型ー維數(shù)組的指針變量,k為int型變量,則不能正確執(zhí)行的語句是〇A.k=*P1+*P2; B.p2=k;C.P1=P2;D.k二?Pl*(*P2);17、若有以下的定義:inta[]二{1,2,3,4,5,6,7,8,9,10},*p二a;則值為3的表式是〇A.p+二2,*(p++) B.p+=2,*++pC.p+=3,*p++ D.p+=2,++*p18、若有以下定義和語句:inta[10]={l,2,3,4,5,6,7,8,9,10),*p-a:則不能表示a數(shù)組元素的表達(dá)式是〇A.*p B.a[10] C.*a D.a[p-a]19、有如下說明inta[10]={l,2,3,4,5,6,7,8,9,10},*p二a;則數(shù)值為9的表達(dá)式是0A.*p+9 B.*(p+8) C.*p+=9 D.p+820、下面程序輸出數(shù)組中的最大值,由s指針指向該元素.voidmain(){inta[10]={6,7,2,9,1,10,5,8,4,3,},*p,*s;for(p=a,s=a;p-a<10;p++)if([])s=p;printf("Themax:%d",*s):}則在if語句中的判斷表達(dá)式應(yīng)該是〇A.p>sB.*p>*sC.a[p]>a[s]D.p-a>p-s21、若有以下定義和語句:inta[10]二{1,2,3,4,5,6,7,8,9.10},*p-a;則不能表示a數(shù)組元素的表達(dá)式是。A.*p B.a[10] C.*a D.a[p-a]22、若有以下定義和語句:intw[2][3],(*pw)[3];pw=w;則對w數(shù)組元素非法引用是〇A.*(w[0]+2)B.*(pw+1)[2]C.pw[0][0]D.*(pw[l]+2)23、有以下說明和語句,則是對c數(shù)組元素的正確引用。intc[4][5], (*cp)[5];
cp=c;*(cp+1)+3*(*cp+2)A.cp+1B.*(cp+3)24、設(shè)有如下的程序段:*(cp+1)+3*(*cp+2)charstr[]="Hello";char*ptr;ptr=str;執(zhí)行上面的程序段后,*(ptr+5)的值為A.'o'B.'\0'A.'o'B.'\0'C.25、下面函數(shù)的功能是〇sss(char*s,char*t){while((*s)&&(*t)&&return(*s-*t);}A,求字符串的長度C,將字符串s復(fù)制到字符串t中不確定的值 D.’〇’的地址(*t++==*s++));B.比較兩個字符串的大小D,將字符串s接續(xù)到字符串t中B.charS⑸B.charS⑸={'A','B','C','D','E'};D.char*S;scanf("%S”,S);B,比較兩個字符串的大小D.將字符串X連接到字符串Y后面26、下面各語句行中,不能正確進(jìn)行字符串賦值操作的語句是A.charST[5]={"ABCDE”};C.char*S;S="ABCDE”;27、下列函數(shù)的功能是。intfunl(char*x){char*y=x;while(*y++);return(y-x-1);}A,求字符串的長度C,將字符串X復(fù)制到字符串Y28、請讀程序:ttinclude<stdio.h>#include<string.h>voidmain(){char*S1="ABCDEF",*s2="aB";si++;s2++;printf(“"d'n”,strcmp(si,s2));)上面程序的輸出結(jié)果是。A.正數(shù) B.負(fù)數(shù) C.零 D.不確定的值29、設(shè)有如下定義:int(*ptr)();則以下敘述中正確的是。ptr是指向ー維組數(shù)的指針變量ptr是指向int型數(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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2019-2025年軍隊文職人員招聘之軍隊文職教育學(xué)題庫與答案
- 2025年軍隊文職人員招聘之軍隊文職管理學(xué)與服務(wù)考試題庫
- 2021-2022學(xué)年廣東省廣州市白云區(qū)六校七年級(下)期中數(shù)學(xué)試卷(含答案)
- 企業(yè)級數(shù)據(jù)安全合規(guī)策略制定服務(wù)協(xié)議
- 網(wǎng)絡(luò)直播平臺合作項目表
- 四川省成都市武侯區(qū)2024-2025學(xué)年七年級上學(xué)期期末生物學(xué)試題(含答案)
- 湖南省岳陽市岳陽縣2024-2025學(xué)年七年級上學(xué)期期末生物學(xué)試題(含答案)
- 語言學(xué)英語翻譯技能測試卷
- 濕地松采脂承包合同
- 團(tuán)隊目標(biāo)與績效考核表
- 2025版年度城市綠化活動策劃及實施服務(wù)合同范本
- 2025年誠通證券招聘筆試參考題庫含答案解析
- 人教版高一上學(xué)期數(shù)學(xué)(必修一)期末考試卷(附答案)
- 專題17 全等三角形模型之奔馳模型解讀與提分精練(全國)(解析版)
- 智能制造能力成熟度模型(-CMMM-)介紹及評估方法分享
- 臨床康復(fù)專科護(hù)士主導(dǎo)神經(jīng)重癥患者早期漸進(jìn)式離床活動實踐應(yīng)用
- 《搜索引擎使用方法》課件
- DBJT14-100-2013 外墻外保溫應(yīng)用技術(shù)規(guī)程(改性酚醛泡沫板薄抹灰外墻外保溫系統(tǒng))
- 《兒科補液》課件
- 2024解析:第六章質(zhì)量和密度-講核心(解析版)
- 基爾霍夫定律課件(共17張課件)
評論
0/150
提交評論