第一、二章C 語言概述與算法_第1頁
第一、二章C 語言概述與算法_第2頁
第一、二章C 語言概述與算法_第3頁
第一、二章C 語言概述與算法_第4頁
已閱讀5頁,還剩74頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第一、二章C語言概述與算法一、單選題1.一個算法應該具有“確定性”等五個特性,P面對另外4個特性的描述中錯誤的是A)有零個或多個輸入 B)有零個或多個輸出C)有窮性 D)可行性.以下敘述中正確的是C語言的源程序不必通過編譯就可以直接運行C語言的每條可執(zhí)行語句最終都將被轉(zhuǎn)換成二進制的機器指令C語言的源程序經(jīng)編譯形成的一進制代碼可以直接運行C語言的函數(shù)不可以單獨進行編譯.對用C語言編寫的代碼程序,以下敘述中哪個是正確的A)可立即執(zhí)行 B)是一個源程序C)經(jīng)過編譯即可執(zhí)行 D)經(jīng)過編譯解釋才能執(zhí)行.結(jié)構(gòu)化程序由三種基本結(jié)構(gòu)組成,由這三種基本結(jié)構(gòu)組成的算法A)可以完成任何復雜的任務 B)只能完成部分復雜的任務C)只能完成符合結(jié)構(gòu)化的任務 D)只能完成一些簡單的任務.有一個命名為C001.C的C語言源程序,當正常執(zhí)行后,在當前目錄卜不存在的文件是A)COOl,OBJB)C001.DATC)C001.EXED)C001.C二、填空題.結(jié)構(gòu)化程序由、、三種基本結(jié)構(gòu)組成。.模塊化程序設計的設計原則是和。.組成C程序的基本單位是—,其組成部分包括和....C程序中的main稱,它可以出現(xiàn)在程序的位置。.由“蘆”和“*/”括起來的內(nèi)容稱為,它的作用是。.描述算法的常用方法有:。第三章數(shù)據(jù)類型、運算符與表達式一、單選題.與十進制數(shù)97不等值的字符常量是A)B)r\10HC),\x6\,D)f\141z.在編寫了一個C語言源程序COOLC并正確執(zhí)行之后,當前目錄下哪個文件不存在A)COOLCB)COOI.OBJC)C001.DATD)COO1.EXE.以下選項中正確的整型常量是A)5.B)-10C)1.000D)4/5.以下選項中正確的實型常量是A)0B)3.1415C)0.03x102D).32.以下選項中不正確的實型常量是A)2.670E-1B)0.05e+I.5C)-77.77D)456e-2.以下選項中不合法的用戶標識符是A)wb-1B)fileC)MainD)PRINTF.以下選項中不合法的用戶標識符是A)_123B)printfC)A$D)Dim.C語言中運算對象必須是整型的運算符是A)%B)/C)*D)+.可在C程序中用作標識符的一組標識符是A)voidB)as_b3C)ForD)2cDefine」23-abcDOWORDIfcaseSiG.若變量已正確定義并賦值,符合C語言語法的表達式是A)a=a+7;B)a=7+b+c,a++C)int(12.3%4)D)a=a+7=c+b.以卜.非法的賦值語句是)n=(i=2,++i);B)j++;C)++(i+l);D)x=j>0;.設a和b均為double型變量,且a=5.5、b=2.5,則表達式(int)a+b/b的值是A)6.500000B)6C)5.500000D)6.000000.已有定義:intx=3,y=4,z=5;,則表達式!(x+y)+z-l&&y+z/2的值是A)6 B)0 C)2D)1.以下敘述中正確的是A)a是實型變量,C允許以下賦值a=10,因此可以這樣說實型變量中允許存放整型值。B)在賦值表達式中,賦值號右邊既可以是變量也可以是任意表達式C)執(zhí)行表達式a=b后,在內(nèi)存中a和b存儲單元中的原有值都將被改變,a的值已由原值改變?yōu)閎的值,b的值由原值變?yōu)?D)已有a=3,b=5。當執(zhí)行了表達式25力=2之后,己使a中的值為5,b中的值為3.以下敘述中正確的是A)在C程序中,無論是整數(shù)還是實數(shù),只要在允許的范圍內(nèi)都能準確無誤的表示。)C程序由主函數(shù)組成。C)C程序由函數(shù)組成。D)C程序由函數(shù)和過程組成。.TurboC中血類型變量所占字節(jié)數(shù)是A)IB)2C)3D)4.不合法的八進制數(shù)是A)0B)028C)07700D)01.不合法的十六進制數(shù)是A)oxffB)OXabcC)0x11D)0x19.若a、b、c、d都是血類型變量且初值為0,以卜選項中不正確的賦值語句是A)a=b=c=100;B)d++;C)c+b;D)d=(c=22)-(b++);.以下選項中不是C語句的是{inti;i-H-;printfCt%d\n,\i);};C)a=5,c=10D){;}.以下合法的C語言賦值語句是A)a=b=58B)k=int(a+b);C)a=58,b=58D)—i;

.以卜.程序的輸出結(jié)果是main(){intx=10,y=3;printfC%d\n”,y=x/y);)A)0B)1C)3D)不確定的值.C語言中的簡單數(shù)據(jù)類型有A)整型、實型、邏輯型B)整型、實型、字符型C)整型、字符型、邏輯型D)整型、實型、邏輯型、字符型.C語言中,字符(char)型數(shù)據(jù)在微機內(nèi)存中的存儲形式是A)反碼B)補碼C)EBCDIC碼D)ASCII碼.設有語句chara='\172';,則變量aA)包含1個字符B)包含2個字符C)包含3個字符D)說明不合法.C語言中不合法的字符常量是A)'\xfFB)'\65'C)'&'D)'\028'.C語言中不合法的字符串量是A)F21"B)'尸'C)"\n\n"D)"ABCD\x6d”.判斷char型變量c是否為大寫字母的最簡單且正確的表達式是A)'A'<=c<='Z'B)(c>='A'&(c<='Z')C)(W<=c)AND(Z>=c)D)(c>=,A,)&&(c<=,Z,).卜列運算符中優(yōu)先級最高的運算符是A)! B)%C)-= D)&&.下列運算符中優(yōu)先級最低的運算符是A)|| B)!=C)<= D)+.為表示關系x'yez,應使用的C語言表達式是A)(x>=y)&&(y>=z)B)(x>=y)AND(y>=z)C)(x>=y>=z)D)(x>=y)&(y>=z)C)(x>=y>=z)D)(x>=y)&(y>=z)32.設a、b和c都是int變量,且a=3,b=4,c=5;則以卜.的表達式中,值為0的表達式是A)a&&bB)a<=bC)a||b+c&&b-cD)!((a<b)&&!c||l)二、填空題.若k為int型變埴且賦值11,請寫出運算k++后表達式的值—和變量的值。.若x為double型變量,請寫出運算x=3.2,++x后表達式的值—和變量的值—..函數(shù)體由符號 開始,用符號 結(jié)束。.函數(shù)體的前面是一部分,其后面是一部分。.在C語言程序中,用關鍵字—定義基本整型變量,用關鍵字—定義單精度實型變量,用關鍵字 定義雙精度實型變量。.把al、a2定義成單精度實型變量,并賦初值1的定義語句是。.C程序中定義的變量,代表內(nèi)存中的?個。.表達式3.5+1/2的計算結(jié)果是—..對以下數(shù)學式,寫出三個等價的C語言表達式是、、a

b?c.表達式s=10應當讀做“.計算機中內(nèi)存儲器的最小單位稱為,其中能容納的數(shù)是 。.通常?個字節(jié)包含_個二進制位。在個字節(jié)中能存放的最大十進制整數(shù)是—,它的二進制數(shù)的形式是;最小十進制整數(shù)是它的二進制形式是 。.當計算機用兩個字節(jié)存放一個整數(shù)時,其中能存放的最大十進制整數(shù)是—、最小十進制整數(shù)是一,它們的二進制形式是。.C語言中用表示邏輯真,用表示邏輯假。.根據(jù)C語言運算符的優(yōu)先順序和結(jié)合性,按從高到低的順序?qū)懗鲆韵卤磉_式中,運算符“+”、,*>”、和的優(yōu)先順序:.若表達式(a+b)>c*2&&b!=5||!(l/2)中,a、b、c的定義和賦值為inta=3,b=4,c=2;則表達式的值為..將下列數(shù)學式改寫成C語言的關系表達式或邏輯表達式是A) B)—oA)a=b或a<cB)|x|>4.請寫出與以下表達式等價的表達式是A)B)。A)!(x>0)B)!0.以下程序的輸出結(jié)果是一omain(){inta=0;a+=(a=8);printf(M%d\nH,a);}第四章順序結(jié)構(gòu)程序設計一、單選題.若變量已正確說明為im類型,要給a、b、c輸入數(shù)據(jù),以下正確的輸入語句是A)rcad(a,b,c) B)scanf("%d%d%<r,a,b,c);C)scnaf("%D%D%D”,&a,&b,&C);D)scanf(tt%d%d%d,;&a,&b,&c);.若變量已正確說明為float類型,要通過以卜.賦值語句給a賦予10、b賦予22、c賦予33,以卜.不正確的輸入形式是scanf|tfc%f%f%f\&a,&b,&c);A)10B)10.0,22.0,33.0C)10.0D)102222 22.033.0 3333.已知i、j、k為int型變量,若從鍵盤輸入:1,2,3V回車,,使i的值為1、j的值為2、k的值為3,以下選項中正確的輸入語句是A)scanf(',%2d%2d%2d,\&i,&j,&k);B)scanfC%d%dC)scanf(M%d,%d,%dM,&i,&j,&k);D)scanf(oi=%dj==%d,k==%dw,&i,&j,&k);.若有以卜程序:main()(intk=2,i=2,m;m=(k+=i*=k);printfl;"%d,%d\n”,m,i);}執(zhí)行后的輸出結(jié)果是A)8,6B)8,3C)6,4D)7.45若變量已正確定義,要將a和b中的數(shù)進行交換,下面不正確的語句是A)a=a+b,b=a-b,a=a-b; B)t=a;a=b;b=t;C)a=t;t=b;b=a;D)t=b;b=a;a=t;.有以下程序main(){inti=10,j=l;printf(',%d,%d\n,\i—,++j);}執(zhí)行后輸出結(jié)果是A)9,2B)10,2C)9,1D)10,1.若變量已正確定義,以下程序段的輸出結(jié)果是x=5.16894;printfC%f\n”,(int)(x*1000+0.5)/(float)1000);A)輸出格式說明與輸出項不匹配,輸出無定值B)5.17000C)5.168000 D)5.169000.若有以下程序段,c3中的值是intcl=1,c2=2,c3;c3=cl/c2;A)0B)1/2C)0.5D)1.若有以卜程序段,其輸出結(jié)果是inta=0,b=0,c=0;c=(a-=a-5),(a=b,b+3);printfT%d,%d,%d\n”,a,b,c);A)0,0,-10B)0,0,5C)-103,-10D)3,3,-10.當運行以下程序時,在鍵盤上從第一列開始,輸入9876543210〈CR>(此處<CR>表示Emer),則程序的輸出結(jié)果是main(){inta;floatb,c;scanfl[tt%2d%3f%4f;&a,&b,&c);printf(t4\na=%d,b=%f;c=%f\n,\a,b,c);)A)a=98,b=765,c=4321 B)a=10,b=432,c=8765C)a=98,b=765.000000,c=4321.000000 D)a=98,b=765.0,c=4321.0.以下程序的輸出結(jié)果是main(){inta=2,b=5;printf(t4a=%%d,b=%%d\n,\a,b);}A)a=%2,b=%5B)a=2,b=5C)a=%%d,b=%%dD)a=%d,b=%d.若int類型占兩個字節(jié),則以下程序段的輸出是inta=-l;printR“%d,%u\n**,a,a);A)-1,-1B)-1,32767C)-1,32768D)-1,65535.以下程序段的輸出是intx=496;printflkt*%-06d*\n,\x);A)*496?B)*496*C)*000496*D)輸出格式不合法.以卜程序段的輸出是floata=3.1415;printfT|%6.0f]\n'',a);A)|3.1415|B)|3.0|C)| 3|D)|3.|.以下程序段的輸出是printR"|%10.5fl\n”,12345.678);A)|2345.67800|B)|12345.6780|C)|12345.67800|D)|12345.678|.若從終端輸入以下數(shù)據(jù),要給變量c賦以283.19,則正確的輸入語句是A)scanfl;%f\c)B)scanf(%8.4f\&c);C)scanfl%6.2f;&c);D)scanWf;&c);.若變量已正確說明,要求用以語句給a賦予3.12、給b賦予9.0,則正確的輸入形式是scanf(tta=%f;b=%f,,&a,&b);A)3.129.0B)a=3.12b=90a=3.12,b=9.0D)a=3.12,b=9.以下程序的輸出結(jié)果是#include"math.h"main(){doublea=-3.0,b=2;printR"%3.0f%3.0f\n\pow(b,fabs(a)),pow(fabs(a),b));)A)98B)89C)66D)以上三個都不對.以下程序的輸出結(jié)果是main(){charcl='A',c2='Y';printfCt%d,%d\n,\cl,c2);)A)因輸出格式不合法,無正確輸出B)65,90C)A,YD)65,89.以下程序段的輸出結(jié)果是main(){charx='A';x=(x>='A'&&xv=Z)?(x+32):x;printft4t%c\n,\x);}A)AB)aC)ZD)z21以下程序段的輸出結(jié)果是main(){charchi,ch2;chi=,A'+5」3';ch2='A'+'5'?'3';primfC%d,%c\n”,chl,ch2);}A)67,CB)B,CC)C,DD)不確定的值.若變量已正確說明,要求用以下語句給cl賦予字符%、給c2賦予字符#、給a賦予2.0、給b賦予4.0,則正確的輸入形式是scanfi("%f%c%伙c”,&a,&cl,&b,&c2);A)2.0%4.0#B)2.0%4.0#C)2%4#D)2%4#.以下程序的運行結(jié)果是main(){inta=2,b=-1,c=2;if(a<b)if<b<0)c=0;elsec+=I;printf(tt%d\n,\c);A)0B)1C)2D)3.以下程序的輸出結(jié)果是main(){intw=4,x=3,y=2,z=1;printf("%d\n”,(wvx)?w:zvy?z:x));}A)1B)2C)3D)4.下列程序段的輸出結(jié)果是inta=1234;floatb=123.456;doublec=12345.54321;printf(,,%2d,%2.1f;%2.1f,,a,b,c);A)無輸出B)12,123.5,12345.5C)1234,123.5,12345.5D)1234,123.4,1234.5二、填空題.若有以下定義,請寫出以下程序段中輸出語句執(zhí)行后的結(jié)果。(2)(3)inti=-200J=2500;printfE)%d%d”,i,j);pnnt?-(2)i=%d,j=%d\n*\i,j);primf(,3)i=%d\nj=%d\n”,ij);.變量i、j、k已定義為int類型并賦初值0,用以下語句輸入時scanfi(4t%d,\&i);scanfi("%d”,&j);scanf("%d”,&k);當執(zhí)行第一個輸入語句時從鍵盤輸入:123<CR><CR>表示Enter鍵則變量i、j、k的值分別是。.復合語句在語法上被認為是 o空語句的形式是—O.以下程序段,要求通過scanf語句給變量賦值,然后輸出變量的值。寫出運行時給k輸入100,給a輸入25.81,給x輸入1.89234時的三種可能的輸入形式_、_、_。intk;flaota;doublex;scantV4%d%f%lf\&k,&a,&x);printff'k=%d,a=%f,x=%f\n,\k,a,x);.以下程序段的輸出結(jié)果是°intx=0177;printff'x=%3d,x=%6d,x=%6o,x=%6x,x=%6u\n”,x,x,x,x,x);.以下程序段的輸出結(jié)果是odoublea=513.789215;printff^a=%8.6f,a=%8.2f,a=%14.8f,a=%14.81f\n,\a,a,a,a);.若要通過以下語句給a、b、c、d分別輸入字符A、B、C、D,給w、x、y、z分別輸入10、20、30、40,正確的輸入形式是。請用vCR>代表Enter鍵。scanf(u%d%c%d%c%d%c%d%c,\&w,&a,&x,&b,&y,&c,&z,&d);.若有以下說明和輸入語句,要求給cl、c2輸入字符A和B,給al、a2輸入7.29和101.298,從鍵盤正確輸入數(shù)據(jù)的形式是Ocharcl,c2;floatal,a2;&al,&a2);scanf("%c%c”,&cl,&c2);.若有以下說明和輸入語句,要求給cl、c2、c3輸入字符A、B和C,請寫出從鍵盤正確輸入數(shù)據(jù)的形式是ocharcl,c2,c3;scanf(u%4c,\&cl);scanfT%4c”,&c2);scanf("%4c”,&c3);.卜列程序的輸出結(jié)果是16,00,請?zhí)羁?。main()inta=9,b=2;floatx= ,y=l.l,z;z=a/2+b*x/y+l/2;primf(”%5.2f\n”,z);

第五章選擇結(jié)構(gòu)程序設計一、單選題1.卜面的程序片斷所表示的數(shù)學函數(shù)關系是y=-l;iRx!=0)y=1;if(x>O)y=1;elsey=0;廠1(x<1(x<0)B)y=-1(x=0)0(x>0)A)y=0(x=0)1(x>0)0(x<0)-1(x<0)0(x<0)y=-1(x=0)y=1(x=0)1(x>0)0(x>0)1(x>0)2.運行以下程序后,輸出的結(jié)果是main(){intk=-3;if(k<=0)printff****也A)elseprintf("&&&&\n”);A)B)&&&&C)**?*&&&&D)有語法錯誤不能通過編譯3.有如下程序main()intx=l,a=O,b=O;switch(x){case0:b-H-;ease1:a-H-;case2:}printf(Ma=%d,b=%d\nM,a,b);}該程序的輸出結(jié)果是A)a=2,b=lB)a=l,b=lC)a=l,b=0D)a=2,b=2.有以下程序main(){inta=5,b=4,c=3,d=2;if(a>b>c)printflH%d\nM,d);else>=d)=1)printfC%d\n”,d+l);elseprin氓"%d\n”,d+2);}執(zhí)行后輸出結(jié)果是A)2 B)3C)編譯時出錯D)4.有以卜.程序main()!inti=lj=l,k=2;if((j++||k++)&&i++)printf(”%d,%d,%d\n'\ij,k);)執(zhí)行后輸出結(jié)果是A)1,1,2B)2,2,1C)2,2,2D)2,2,3.有如下程序main()(floatx=2.0,y;if(x<0.0)y=0.0;elseif(x<10.0)y=1.0/x;elsey=1.0;printf(M%f\nw,y);}該程序的輸出結(jié)果是A)0.000000B)0.250000C)0.500000D)1.000000.若執(zhí)行以下程序時從鍵盤上輸入3和4,則輸出結(jié)果是main()inta,b,s;scanfT%d%d”,&a,&b);s=a;if(a<b)s=b;*=pritnR"%d\n”,s);IA)14B)16C)18D)208.假定所有變量均已正確定義,下面語句段執(zhí)行后的x的值是a=b=c=0;x=35;if(!a)x—;elseif(b);if(c)x=3;elsex=4;A)34B)4C)35D)3二、填空題.請寫出以下程序的輸出結(jié)果Omain(){inta=100;if(a>100)primfT%d\n”,a>100);elseprintff'%d\n",a<=100);}.將上題中的雙分支if語句改寫成條件表達式語句:.當a=l、b=2、c=3時,以下if語句執(zhí)行后,a、b、c中的值分別為:iRa>c)b=a;a=c;c=b;.若變量已正確定義,以卜.語句段的輸出結(jié)果是.x=0;y=2;z=3;switch(x){case0:switch(y=2){case1:printRfc4*M);break;case2:printR'4%");break;switch(z){ease1:printffS');primf("*");break;default:printfT#");}.以下程序的輸出結(jié)果是.main(){intx=100,a=10,b=20,ok1=5,ok2=0;if(a<b)if(b!=15)if(!okl)x=l;elseif(ok2)x=10;elsex=-1;printf(H%d\nn,x);).若從鍵盤輸入58,則以下程序輸出的結(jié)果是.main()(inta;scanf(,,%d,\&a);if(a>50)printf("%d”,a);if(a>40)printf(M%dw,a);if(a>30)printf(”%d”,a);.以下程序的執(zhí)行結(jié)果是。main()intk=8;switch(k)!k+=l;k+=l;k+=l;break;default:k+=l;!printf("%d\n”,k);8.閱讀下面程序,程序執(zhí)行后的輸出結(jié)果是#include"sidio.h"main()(intx,y,z;x=1;y=2;z=3;if(x>y)if(x>z)printf("%d”,x);elseprintf(”%d”,y);printf("%d\n”,z);第六章循環(huán)控制一、單選題.以下不是死循環(huán)的語句是A)fbr(;;x+=i);B)whilc(l){x++;}C)fbr(i=10;;i++)sum+=i;D)fbr(;(c=gctchar())!=*\n';)printR"%c”,c);.下面程序的運行結(jié)果是#include<stdio.h>main()(inty=10;dojy—;}while(—y);printf(M%d\nH,y-);A)-1B)1C)8D)0.以下程序段的輸出結(jié)果是intn=10;whilc(n>7){n-;primfT%d”,n);}A)1098B)987C)10987D)9876.以卜程序段的輸力結(jié)果是intx=3;do{printf("%3(r,x?=2);}while(!(-x));A)1B)30C)1-2D)死循環(huán).以卜.程序的輸出結(jié)果是main(){inti,sum;fbr(i=l;i<6;i++)sum+=sum;printfr%d\n"sum);)A)154B)146C)不確定D)0.以下程序的輸出結(jié)果是main(){inty=10fbr(;y>0;y-)if(y%3=0){primfT%d”,??y);continue;)}A)741B)852C)963D)875421.有以下程序main(){inti;fbr(i=O;i<3;i++)switch(i){case1:printf("%d",i);case2:printfC'%dM,i);default:printRH%d,',i);))執(zhí)行后輸出結(jié)果是.以下程序的功能是:按順序讀入10名學生4門課程的成績,計算出每位學生的平均分并輸出,程序如下:main(){intn,k;floatscore,sum,ave;sum=0.0;fbr(n=l;n<=10;n-H-){fbr(k=l;k<=4;k-H-)(scanf("%f\&score);sum+=score;}ave=sum/4.0;printfi(,,NO%d:%fn,,,n,ave);}}上述程序運行后結(jié)果不正確,調(diào)試中發(fā)現(xiàn)有一條語句出現(xiàn)在程序中的位置不正確。這條語句是A)sum=0.0; B)sum+=score;C)ave=sum/4.0 D)printf(nNO%d:%f\nM,n,ave);.若x是int類型變量,以下程序段的輸出結(jié)果是for(x=3;x<6;x-H-)printfl(x%2)?("**%d,,):(tk##%d\n,,),x);A)**3B)##3C)##3D)**3##4##4 **4 **4##5**5**5 ##5io.以卜.程序的輸出結(jié)果是#include<stdio.h>main()(inti;fbr(i=l;i<5;i-H-)(iRi%2)putchar('v');elsecontinue;putchar(t>,);}putchar(*#');}A)<><><>#B)><><><#C)<><>#D)><><#.以下敘述正確的是do-while語句構(gòu)成的循環(huán)不能用其它語句構(gòu)成的循環(huán)來代替。do-while語句構(gòu)成的循環(huán)只能用break語句退出。C)用do-while構(gòu)成循環(huán)時,只有在while后的表達式為非零時結(jié)束循環(huán)D)用do-whilc構(gòu)成循環(huán)時,只有在while后的表達式為零時結(jié)束循環(huán).以下程序的輸出結(jié)果是A)3981B)4284C)2668D)2870main(){intx,i;for(i=I;i<=100;i-H-)if(++x%2=0)iR++x%3=0)ifl:-h-x%7=0)printf("%dx);)printfp\n");}.以下程序段的輸出結(jié)果是intk,j,s;fbr(k=2;k<6;k++,k-H-){s=1;fbr(j=k;j<6;j-H-)s+=j;}primfT%d\n”,s);A)9B)24C)15D)10.以下程序段的輸出結(jié)果是inti,j,m=0;fbr(i=l;i<=15;i+=4)for(j=3;j<=19;j+=4)m-H-;printfr%d\n”,m);A)12B)15C)20D)25.下面程序的功能是把316表示為兩個加數(shù)的和,使兩個加數(shù)分別能被13和11整除,請選擇填空。#include<stdio.h>main()inti=0j,k;do{i++;k=316-13*i;}while();j=k/U;printf(,,316=13*%d+ll*%d',,ij);}A)k/11B)k%llC)k/ll=0D)k%ll==016.在下述程序中,判斷i>j共執(zhí)行了多少次#include<stdio.h>main(){inti=0,j=10,k=2,s=0;for(;;)(i+=k;*j)(primfT%d\n”,s);break;)s+=i;))A)4B)7C)6D)8二、填空題.執(zhí)行以下程序后的輸出結(jié)果是。main()inta,b,c,d,i,j,k;a=10;b=c=d=5;i=j=k=0;for(;a>b;-H-b)收while(a>++c)竹dok++;whilc(a>d-H-);printf(4<i=%d,j=%d,k=%d\n?\I,j,k);).以下程序段的輸出結(jié)果是。intk,n,m;n=10;m=1;k=1;while(k<=n)m*=2;printR"%d\n”,m);.以下程序的輸出結(jié)果是。main(){intx=2;while(x-);primfT%d\rr,x);).以下程序段的輸出結(jié)果是。inti=0,sum=1;do{sum+=i++;}while(i<5);primfT%d\n”,sum);5.有以下程序段:s=1.0;fbr(k=1;k<=n;k++)s=s+1.0/(k*(k+1));printf(44%f\nM,s);請?zhí)羁?,使下面的程序段的功能完全與之等同。s=0.0;k=0;do{s+=d;d=1.0/(k*(k+1));}while( );printR"%f\n”,s);.以下程序的功能是:從鍵盤上輸入若干學生的成績,統(tǒng)計并輸出最高成績和最低成績,當輸入為負數(shù)時結(jié)束輸入。請?zhí)羁?。main(){floatx,amax,amin;scag"%『,&x);amax=x;amin=x;while( ){if(x>amax)amax=x;if( )amin=x;scanfC*%f',&x);printf(kt\namax=%f\naming=%f\n”,amax,amin);.若依次輸入字符AB,在以下while語句執(zhí)行后ch的值是 <,while(ch=getchar()=’A');.閱讀下面程序,程序執(zhí)行后的輸出結(jié)果為o#include“stdio.h”main():chara,b;for(a=/O',b='9*;a<b;a-H-,b-)printf(w%c%cM,a,b);printf(M\nH);).閱讀下面程序,則執(zhí)行后程序的結(jié)果為.#includc"stdio.h”main()(inta=0,b=0;while(a<15)a++;while(b-H-<15);primf("%d,%d\n”,a,b);}.下列程序的功能是輸入一個整數(shù),判斷其是否是素數(shù),若為素數(shù)輸出1,否則輸出0.請?zhí)羁?。main(){inti,x,y=l;scanf("%d”,&x);for(i=2;i<=—if{y=0;break;}printf("%d\n",y);}第七章數(shù)組一、單選題.以下對整型數(shù)組a的正確說明是A)inta(10); B)intn=10,a[n];C)intn; D)#defineSIZE10scanfl4t%dM,&n); inta[S!ZE];inta[n];.以下對數(shù)組初始化錯誤的是A)inta[2][3]={U,3,4);B)int[2][]={1,2,34,5,6};C)inta[2][3]={{l,2,3},{4,5}}D)inta[][3]={l,2,3,4,5,6};.若想將一個字符數(shù)組a的內(nèi)容存入另一個字符數(shù)組b中,下列確的是A)b=a;B)strcpy(b,a);C)strcpy(b,a);D)strcat(b,a);4.若有以下說明inta[12]={1,2,3,4,5,6,7,8,9,10,11,12};charc='a',d,g;則數(shù)值為4的數(shù)組元素是A)a[g-c]B)a[4]C) D)a[kd*-c].若有定義語句:charc[5]={ta,;b\,\0,;c,;\0,};,則執(zhí)行語句primf「%s”,c);的結(jié)果是A)'a"b'B)abC)abcD)ab\0c.對兩個數(shù)組a和b進行如下初始化:chara[]="ABCDEF”;charb[]={'A',‘B','C','D','E','F'};則以下敘述正確的是A)a與b完全相同B)a與b長度相同)a與b中都存放字符串 D)a數(shù)組比b數(shù)組長度長.以下程序段給數(shù)組所有元素輸入數(shù)據(jù),應在下劃線處填入的是main(){inta[10],i=0;while(i<10)scanf("%d'',一);A)a+(i++)B)&a[i+l]C)a+iD)&a[++i].以卜.程序的輸出結(jié)果是main(){inti,x[3][3]={l,2,3,4,5,6,7,8,9);fbr(i=0;i<3;i-H-)printf(u%d;\x[i][2-i]);}A)1,5,9,B)1,4,7,C)3,5,7,D)3,6,9,.當運行以下程序時輸入三行,每行都是在第一列上開始,<CR>代表Entre鍵。a<CR>b<CR>cdef<CR>則程序的輸出結(jié)果是#include<stdio.h>#defineN6main(){charc[N];inti=0;for(i=0;i<N;i-H-)c[i]=getchar();fbr(i=0;i<N;i++)putchar(c[i]);|A)abcdefB)aC)aD)ab b bc cd cdef.以卜程序段的輸出結(jié)果是pritnfT%d'n”,stden("ATS\nO12\1\V'));A)11B)10C)9D)8.下面程序的運行結(jié)果是A)12ba56B)6521C)6D)62main(){charch[7]="65ab21inti,s=0;fbr(i=0;ch[i]>=,0,&&ch[i]<=,9,;i+=2)s=s*10+ch[i]-*0,;printf(M%d\nM,s);}.以卜.程序的輸出結(jié)果是A)不確定的值B)302D)Imin(){intn[2]={0},i,j,k=2;fbrfi=0;i<k;i++)fbr(j=0;j<k;j-H-)nU]=n[i]+l;pritnf(kt%d\nM,n[k]);).以下程序中,若第?個printf語句輸出的是194,則第二個printf語句的輸出結(jié)果是main(){inta[卜{1,2,3,4,5,6,7,8,9,0};printfC%x\n”,a);printfC%x\n”,a+9);}A)212B)204C)la4D)la6.定義如下變量和數(shù)組inti;intx[3][3]=(l,2,3,4,5,6,7,8,9);則下面語句的輸出結(jié)果是fbr(i=0;i<3;i++)printR"%<ix[i][2-i]);A)159B)147C)357D)369.執(zhí)行下面的程序段后,變量k中的值為intk=3,s[2];s[0]=k;k=s[1]*10;A)不定值B)33C)30D)10二、填空題.若有以下定義:doublew[10];則w數(shù)組元素下標的上限是—,下限是—o.若有定義inta[3][4]={l,2,3,4,5,6,7,8,9};,則a[l][3]=—,a[2][3]=—。.若有以下定義:chara[]="ABCD”,b[]="abcd”;if(strcmp(a,b)=O)printf("YES\rf');elseprintfTNOXn");執(zhí)行結(jié)果是。.以F程序的輸出結(jié)果是omain(){intarr[10],i,k=0;fbr(i=0;i<10;i++)arr[i]=i;for(i=0;i<4;i++)k+=arr[i]+i;printfCt%d\n,\k);}.以下程序的輸出結(jié)果是 omain(){inti,j,row,col,m;intarr[3][3]={{100,200,300},{28,72,-30},{-850,2,6}};m=arr[O][O];for(i=0;i<3;i-H-)fbr(j=0;j<3;j-H-)if(arr[i]U]<m){m=arr[i]|j];row=i;col=j;!printf(tt%d,%d,%d\n,\m,row,col);}.以下程序統(tǒng)計從終端輸入的字母中每個大寫字母的個數(shù),中統(tǒng)計字母A的個數(shù),其它依次類推。用#號結(jié)束輸入,請?zhí)羁铡?include"stdio.h"#includc“ctypc.h"main(){intnum[26]={0};i;charc;while( !='#')if(isupper(c))num[_]+=1;fbr(i=0;i<26;i++)if(num[i])prindC%c:%d\nM,i+num[i]);}.以下程序段的輸出結(jié)果是oprintf(fc4%d\n,\strlen(4is\n\O16\0end”));8.一個數(shù)如果恰好等于它的因子之和,這個數(shù)就稱為“完數(shù)”。例如6的因子為1、2、3,而6=1+2+3,因此6是“完數(shù)”。以下程序是求17000之間的所有完數(shù),請?zhí)羁?,以完善程序功能?/p>

#defineM100main(){inta,b,x[M],sum,ent=0;fbr(a=1;a<=1000;a++)b=l;whilc(b<a)(if(a%b=0) /*b是a的一個因子?/sum+=b;b-H-;}if() /*a是完數(shù)?/x[cnt++]—a;}fbr(b=0;b<_;b++) /*輸出所有完數(shù)?/primfT%8d”,x[b]);printR%'');.給出以卜程序,其功能是將a矩陣和b矩陣合并成c矩陣,最后將c矩陣按格式輸出。請?zhí)羁?。r12314,i136<J#include<stdio.h>main(){inta[3][4]={{3,1,7,5},{1,2,4,3},{6,3,0,2});intb[3][4]={{2,3,1,4},{5,1,3,6},{1,5,2,3));inti,j,c[3][4];fbr(i=0;i<3;i++)fbr(j=0;j<4;j-H-)叫皿=;fbr(i=0;i<3;i-H-){for(j=0;j<4;j++)pritnfr%5d”,c[i][j]);:).以下程序的功能是從a數(shù)組中刪除其值為x的數(shù)據(jù),請?zhí)羁铡ain(){inta[10]={2,4,7,3,l,7,6,8,7,9},i,j,x=7;for(—;i<10;i-H-)if(a[i]!=x)a[j++]=a[i];fbr(i=0; ;i++)printf(4t%5d,\a[i]);printfT\n");}.以下程序的功能是將x字符串與y字符串連接并輸出,請?zhí)羁?。注:程序中不能使用字符串連接函數(shù)。#include<stdio.h>{charx[80],y[40];inta,h=0;printff'Pleaseinputxstring:**);gets(x);printf(lkPleaseinputystring:");gets(y);while(x[h]!=,\0,)while(y[a]!=,\0,)x[h++]=y[a++];printf^k4Outputxstring:4t);puts(x);J第八章函數(shù)一、單選題.以下語法中正確的是A)C語言程序總是從第?個定義的函數(shù)開始執(zhí)行B)在C語言程序中,要調(diào)用的函數(shù)必須在main函數(shù)中定義C語言程序總是從main開始執(zhí)行C語言程序中的main函數(shù)必須放在程序的開始部分.以下函數(shù)的類型是頒floatx)printf(4i%d\n,\x);JA)與參數(shù)x的類型相同B)void類型C)int類型D)無法確定.以下函數(shù)調(diào)用語句中,含有的實參個數(shù)是fiinc((expl,exp2),(exp3,exp4,exp5));A)1B)2C)4D)5.以下程序的輸出結(jié)果是func(inta,intb){intc;c=a+b;returnc;}main(){intx=6,y=7,z=8,r;r=ftinc((x-,y-H-,x+y),z-);printfT%d\n”,r);}A)11B)20C)21D)31.以下程序的輸出結(jié)果是main(){inti=2,p;p=f(i,i+l);printfl:””,p);}intf(inta,intb){intc;if(a>b)c=1;elseififa=b)c=0;elsec=-1;return(c);}A)-1B)0C)1D)2.以下程序的輸出結(jié)果是fun(inta,intb,intc){c=a*b;}main(){intc;fiin(2,3,c);printf(tt%d\nM,c);)A)0B)1C)6D)無定義.以下程序的輸出結(jié)果是doublef(intn){inti;doubles;s=1.0;fbr(i=1;i<=n;i++)s+=1.0/i;returns;)main(){inti,m=3;floata=0.0;fbr(i=0;i<m;i++)a+=Ri);IA)5.500000B)3.000000C)4.000000D)8.25.以下敘述正確的是A)C程序中各函數(shù)之間既允許直接遞歸調(diào)用也允許間接遞歸調(diào)用B)C程序中各函數(shù)之間不允許直接遞歸調(diào)用也不允許間接遞歸調(diào)用C)C程序中各函數(shù)之間允許直接遞歸調(diào)用不允許間接遞歸調(diào)用D)C程序中各函數(shù)之間不允許直接遞歸調(diào)用允許間接遞歸調(diào)用.以下程序的輸出結(jié)果是longfib(intn){i旗>2)return(fib(n-l)+fib(n-2));elsereturn(2);}main(){printf(4t%Id,\fib(6)):}A)8B)30C)16D)2.以下程序的輸出結(jié)果是main(){inti=l,j=3;printR"%d”,i++);{inti=0;i+=j*2;primfT%d,%d,”,ij);}pritnf(**%d,%d\n*\i,j);A)1,7,3,2,3B)2,7,3,2,301,6,3,2,3D)2,6,3,2,3.以下程序的輸出結(jié)果是main()intk=4,m=1,p;p=func(k,m);printfT'%d,”,p);p=func(k,m);printf(t4%d\n'\p);)func(inta,intb)staticintm,i=2;+=m+1;m=i+a+b;return(m);}A)8J7B)8,16C)8,20D)8,8.以下程序的輸出結(jié)果是intm=13;intfiin2(intx,inty)intm=3;return(x*y-m);)main()inta=7,b=5;printf("%d\n”,fun2(a,b)/m);A)1B)203D)4.有以卜程序floatfun(intx,inty)(return(x+y);}main(){inta=2,b=5,c=8;printf(M%3.0f\nM,fun((int)fun(a+c,b),a-c));程序運行后的輸出結(jié)果是A)編譯出錯B)9C)21D)9.05.下列程序的運行結(jié)果是voidfun(int*a,int*b)int*k;k=a;a=b;b=k;}main()inta=3,b=6,*x=&a,*y=&b;fun(x,y);printf(”%d%d",a,b);}A)63B)36C)編譯出錯D)00.以下正確的函數(shù)形式是doublefiin(intx,y){doublez;z=x+y;returnz;}doublefiin(intx,y){intz;z=x+y;return(double)z;}doubleftin(intx,inty){return(x+y);}doublefun(x,y){intx,y;doublez;z=x+y;returnz;}.對于建立函數(shù)的目的,正確的說法是A)提高程序的執(zhí)行效率B)提高程序的可讀性C)減少程序的篇幅D)減少程序文件所占的內(nèi)存.以下正確的說法是A)函數(shù)的定義可以嵌套,但函數(shù)的調(diào)用不可以嵌套B)函數(shù)的定義不可以嵌套,但函數(shù)的調(diào)用可以嵌套C)函數(shù)的定義和函數(shù)的調(diào)用均不可以嵌套D)函數(shù)的定義和函數(shù)的調(diào)用均可以嵌套.C語言關于實參和形參說法正確的是A)實參和與之對應的形參各占用獨立的存儲單元B)實參和與之對應的形參占用同一存儲單元C)只有當實參與形參同名時,才共占用同一存儲單元D)形參是虛擬的,不占用存儲單元.卜.列說法正確的是A)在利用返回值方式傳遞數(shù)據(jù)時,可以省略數(shù)據(jù)類型說明符B)在函數(shù)間通過全局變量的傳遞數(shù)據(jù),只能用外部變量,不能用內(nèi)部變量C)利用地址返回值方式傳遞數(shù)據(jù)時,返回值可以賦予普通變量D)利用全局變量傳遞數(shù)據(jù),可以簡化程序,提倡使用.以下正確的說法是A)定義函數(shù)時,形參的類型說明可以在函數(shù)體內(nèi)B)return后面的表達式不能是函數(shù)C)如果函數(shù)值的類型與返回值的類型不一致,以函數(shù)值類型為準D)如果形參與實參的類型不一致,以實參類型為準22.下列敘述中不正確的是A)C程序的main函數(shù)可以沒有參數(shù)B)C程序的main函數(shù)可以有參數(shù)C程序的main函數(shù)若有參數(shù)時,第一個參數(shù)的值最少是1main函數(shù)的第一個參數(shù)必須是整數(shù),K名字必須是argc;第:個參數(shù)可以定義成:char?argvf],名字必須是argv.23.以下程序的輸出結(jié)果是Hintb[],intn){inti,r=1;fbr(i=0;i<=n;i++)r=r*b[i];returnr;}main(){intx,a[]={2,3,4,5,6,7,8,9);x=f(a,3);primfT%d\n”,x);}A)720B)120C)24D)6二、填空題1.以下程序的輸出結(jié)果是一Ounsignedfun6(unsignednum){unsignedk=1;dok*=num%10;num/=10;}while(num);returnk;main()unsignedn=26;printff%d\n”,fun6(n));}.以下程序的輸出結(jié)果是。doublesub(doublex,doubley,doublez){y-=i.o;Z=Z+X;returnz;}main(){doublea=2.5,b=9.0;printfV'%f\n”,sub(b-a,a,b));}.以下程序的輸出結(jié)果是 ofiinl(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;print1“%d\n”,funl(x,y));}.下面pi函數(shù)的功能是,根據(jù)以下公式返回滿足精度eps要求的兀的值。請?zhí)羁铡oublepi(doubleeps){doubles=0.0,t=1.0;intn;fdr( ;t>eps);n-H-){s+=t;t=n*t/(2*n+1);}return(2.0* );}.以下函數(shù)用以求x的y次方。請?zhí)羁?。doublefiin(double,xdoubley){inti;doublez;fbr(i=1;i ;i-H-)z=一;returnz;}.以下程序的功能是計算,=盲上%空。longf(intn){inti;longs;s=一;fbr(i=1;i<=n;i++)s= ;returns;main(){longs;intk,n;scanR"%d”,&n);TOC\o"1-5"\h\zs= ;fbr(k=0;k<=n;k++)s=s+ ;printfC%d\n,\s);}.以下程序的輸出結(jié)果是 。fun(intx){intp;if(x==0||x==l)return(3);p=x-fun(x-2);returnp;}main(){priii氓"%d\n”,fon(9));).以下程序的輸出結(jié)果是 。main(){inta=3,b=2,c=1;c-=-H-b;b*=a+c;c/=b*2;a-=c;printfV4%d,%d,%d,”,a,b,c);a+=-c;)printf(U4%d,%d,%d\n,\a,b,c);).以下程序的輸出結(jié)果是。voidftin(){staticinta=0;a+=2;printft^d:a);}main(){inti;for(i=1;i<4;i++)fun();printfif"");}.下列程序的執(zhí)行結(jié)果是.intd=1;fiin(intp){intd=5;d+=p-H-;pritnfT%d:d);}tnain()ftin(a);d+=a-H-;printfT%d\n”,d);}.若輸入3個整數(shù)321,則以下程序的輸出結(jié)果是一.voidsub(intn,intuu[]){intt;t=uu[n-];t+=3*uu[n];n++;if(t>=10){uu[n-H-]=t/10;uu[n]=t%10;)elseuu[n]=t;}main(){inti,n,aa[10]={0};scanR"%d%d%d'',&n,&aa[0],&aa[l]);fbr(i=l;i<n;i++)sub(i,aa);fbr(i=0;i<=n;i-H-)printfr%d”,aa[i]);primfTW");}.以Ffindmax返回s中最大元素的卜標,數(shù)組中元素的個數(shù)由t傳入。請?zhí)羁铡intk,p;fbr(p=0,k=p;p<t;p++)if(s[p]>s[k])return ;|13.以下程序的輸出結(jié)果是o#includc“string.h"#includc“ctypc.h"voidfiin(charstr[]){inti,j;fbr(i=0,j=0;str[i];i++)if(isalpha(str[i]))str[j++]=str[i];str[j]=)main(){charss[80]="itis!”;fiin(ss);printf(M%s\nM,ss);)14.以下fUn函數(shù)的功能是將?個字符串的內(nèi)容逆置。請?zhí)羁铡?include“string.h"voidftin(charstr[]){inti,j,k;for(i=0J=_;i<j;i++,_){k=str[i];str[i]=str[j];str|j]=k;}}第九章編譯預處理一、單選題.以下對宏替換的敘述不正確的是A)宏替換只是字符的替換B)宏替換不占運行時間C)宏名無類型,其參數(shù)也無類型D)帶參的宏替換在替換時,先求出實參表達式的值,然后代入形參運算求值.宏定義#definePI3.14中的宏名PI代替A)一個單精度實數(shù))B)一個雙精度實數(shù)C)一個字符串 D)不確定類型的數(shù).有以下宏定義#definek2#defineX(k)((k+l)*k)當C程序中的語句y=2*(K+X(5));被執(zhí)行后,A)y中的值不確定B)y4>的值為65C)語句報錯 D)y中的值為34.以下程序的輸出結(jié)果是#dcfincMIN(x,y)(x)<(y)?(x):(y)main(){k;i=10;j=15;k=10*MIN(iJ);printfT%d\n”,k);A)15B)100C)10D)150.以下程序中的fbr循環(huán)執(zhí)行的次數(shù)是defineN2defineMN+1defineNUM(M+l)*M/2main()inti;fbr(i=1;i<=NUM;i-H-);primfT%d\n”,i);}A)5B)6C)8D)9.以下程序的輸出結(jié)果是#includc“stdio.h"#defineFUDGF(y)2.84+y#dcfincPR(a)printf(*t%d,\(int)(a))#definePRINT1(a)PR(a);putchar(€\n3main(){intx=2;PRINTF1(FUDGF(5)?X);A)11B)12C)13D)15.以下程序的輸出結(jié)果是//defineFMTmain()intb[][4]={l,3,5,7,9,11,13,15,17,19,21,23};printfi;FMT,*(*(b+l)+l));printfFMT,b[2][2]);A)L11,B)1,11C)IL21,D)13,21.若有宏定義如下:#defineMOD(x,y)x%y則執(zhí)行以卜.程序段的輸出為intz,a=15,b=100;z=MOD(b,a);printfl:"%d\n'',z++);A)11B)10C)6D)5二、填空題.有以下宏定義和賦值語句,宏置換后的賦值語句的形式是#dcfincA3+5p=A*A;.以下程序的輸出結(jié)果是o#definePR(ar)printff"ar=%dar)main(){intj,a[]={1,3,5,7,9,11,13,15},*p=a+5;fbr(j=3;switch(j){case1:PR(*p-H-);break;PR(*(-p));.以下程序的執(zhí)行結(jié)果是。SdefineDOUBLE(r)r*rmainO{intyl=1,y2=1,t;t=DOUBLE(yl+y2);printf(''%d\nw,t);).以下程序的執(zhí)行結(jié)果是。ttdefinePRINT(V)printf(''V=%d\tw,V)mainO{inta,b;a=1;b=2;PRINT(a);PRINT(b);)第十二章位運算一、單選題.以下程序中,c的二進制值是chara=3,b=6,c;c=aAb?2;A)00011011B)00010100C)00011100D)00011000.以下程序的輸出結(jié)果是main(){intx=35;charz='A';printfT%d\n”,(x&15)&&(zv'a'));}A)0B)1C)2D)3.以下程序的輸出結(jié)果是main(){inta=5,b=6,c=7,d=8,m=2,n=2;printf("%d\n”,(m=a>b)&(n=Od));}A)0B)1C)2D)3.設有定義語句charcl=92,c2=92;,則以卜.表達式中值為零的是A.clAc2B)cl&c2C.?c2 D.cl|c2二、填空題.設變量a的二進制數(shù)是00101101,若想通過運算kb使a的高4位取反,低4位不變,則b的二進制數(shù)應該是..a為任意整數(shù),能將變量a清零的表達式是。.a為任意整數(shù),能將變量a中的各二進制位均置1的表達式是o.能將兩字節(jié)變量x的高8位置全1,低字節(jié)保持不變的表達式是。.運用位運算,能將八進制數(shù)0125000除以4,然后賦給變量a的表達式是.C語言習題答案詳解寫在前面的話:這套題是徐胭飛老牌放售bb上面的,有一套笞案.但是考慮到大家如果只是看笞案,可麓有一暨東西不勰理修,所就出了一份這樣的詳解.這里要特別矮謝杜云婭和喬禹藺大力支持,我們才^有這個比較完整的詳解.由于時間倉傀,我們的水平也制有限,所蹴這里面藤免有一蜃疏漏之能,或者做得不到位的地方.篇望大家多多包矮,多多指正.而且,如果大家還有什么問題,其察可以互相之間多多溝通,咱們共同提高.各科的總結(jié)也都荏端陸續(xù)續(xù)地發(fā)下來,傲這么穿東西,不與別的,意心希望大家都畿在剩下的這半個月里,好好努力,在期末卷試中取得滿意的成績.一起加油吧?Ao?第一、二章一、1、B.P19.書上的定義是:有窮性、確定性、有零個或多個輸入、有一個或多個輸出、有效性。2、B.P7-8?源程序(高級語言)一【編譯】一機器語言一【連接】(連接到庫函數(shù))一【執(zhí)行】B.同上4、A,P26。三種基本結(jié)構(gòu):順序結(jié)構(gòu),選擇結(jié)構(gòu),循環(huán)結(jié)構(gòu)。基本結(jié)構(gòu)實際不止三種。作為基本結(jié)構(gòu)必須滿足的條件:只有一個入口;只有一個出口:結(jié)構(gòu)內(nèi)的每個部分都有機會被執(zhí)行到;結(jié)構(gòu)內(nèi)不存在“死循環(huán)”。5、B。P7。源程序:.C:經(jīng)過編譯得到目標程序:.obj;與庫函數(shù)等連接得到可執(zhí)行目標程序:.exe。二、1、順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。P26。2,自頂向下分而治之。P35(從倒數(shù)第五段兒開始)自頂向E:把程序模塊劃分為子模塊的過程。分而治之:模塊化設計的思想。3、函數(shù)一個main函數(shù)若干個其它函數(shù)。P6第(1)小點。4、主函數(shù)任何位置。P7第(3)小點。5、注釋增加程序可讀性.P7第(7)小點。6、自然語言、傳統(tǒng)流程圖、結(jié)構(gòu)化流程圖、偽代碼和PAD圖。P20.第三章一、1、B.A:a所對應的ASCH碼為97:B、D:一個'表示轉(zhuǎn)義字符,其后三位數(shù)字表示一個八進制數(shù):C:一個\x表示一個十六進制數(shù)的轉(zhuǎn)移字符,其后兩位數(shù)組表示一個十六進制數(shù)。2、C。解見上一?章:一、53、B.D.實型即浮點型。有兩種表示法:12345.6和12.345603。小數(shù)點兒前面不寫0是可以的。而B中好像小數(shù)點兒后多了一個空格。B.P45。實型的e后不可以帶小數(shù)。6、A.標識符只可以為字母、數(shù)字、下劃線。而且數(shù)字不可以作為開頭。7,C.8、A.%作為運算符號,表示取余數(shù)的意思。比如5%4的值為1。9、B.C和D中的錯誤見第6題。A是因為void為特定的組合表示“空”的意思。所以無法作為標識符。10、B.A:叫做“語句”,因為有分號。C:根本就沒有這樣的。D:實際上是把b+c的值賦給了常量7,這是不允許的。11、C.自增自減只能用于變量而不能用于常量和表達式.12、D.先算int,變成5+b/b:之后算b/b,變成5+1.000000(因為b為浮點型);最后算加法,變成6.000000.13、D.參見365頁運算符順序表。注意在邏輯運算中,,“0”即為T.14、B.A:實際上是進行了自動類型轉(zhuǎn)換,a還是實型。C:b的值不改變.D:b的值為5.15、C.?16、B.見40頁。(個人認為這種題比較沒意義)17、B.不能有“8”。18、A.因為它開頭的是字母。,而不是數(shù)字0。19、C.不是賦值語句。注意,自加自減也是賦值語句。20、C.沒有分號。21、D.注意B項,如果要做強制轉(zhuǎn)還的話,應該在int上加括號。22、C.23、B.24、D.見50頁。25、A.\172為轉(zhuǎn)義字符。其值為八進制數(shù)172所對的字符:z.26、D.27、B.字符串應用雙引號。28、D.29、A.見365頁。30、A.31、A.32、D.非0即為1。二、1.11>12<.k++,先計算表達式的值再自加。正好與—k相反。4.2,4.2。詳解見上.{,}.這個題很白癡.。。數(shù)據(jù)聲明,執(zhí)行語句。此處老師的答案似乎有些問題。見書P69圖或P6.int,float,double。沒什么可說的。flaotal=1.0,a2=1.0;注意分號必須寫.不可以寫連等式。存儲單元.P38F.個人認為填“特定屬性的存儲單元”更好一些。3.5,因為1/2為整形,其值為0。a/(b*c)、a/b/c、a/c/b.將10賦給變量s。不耍念成等丁一。這是個賦值語句。位,0和18,255.11111111,-128,10000000負數(shù)考慮補碼問題。P4065535、-32768、1111111111111111.非0,0o見P93。個人認為如果要較真兒的話,應該是1表示真,0表示假。而所給答案,只是在判斷一個兩是否為真的時候才適用。(其實也差不多。)!、*、/、+、〉、!=、&&、||o見P365.1,還是考察運算順序。a—b a<c,x<-4||x>4(或abs(x)>4)。注意判斷是否相等,要寫成==。(abs函數(shù)是取絕對值的意思。見P371表。)x<=0,1。考察對!的理解。16。a=8這個賦值表達式的的值即為a的值。所以第三行實際為兩句:a=8;a+=8;第四章順序結(jié)構(gòu)程序設計一、1.D.要有取地址符號。.B.因為語句中每個%d之間沒有逗號,所以不能加逗號..C.同上題,要注意對應。.C.m=(k+=i*=k);這一句翻譯:(i=2,k=2)-i*=k;-(k=2,i=4)—k+=I;--(i=4,k=6)--m=6;(即為括號表達式的值)所以最后:m=6,k=6,i=4..C.B.表達式i—的值為i的值(先求值,再自減);j++的值為j+1的值(先自加)D.(int)和(float)為強制類型轉(zhuǎn)還。只轉(zhuǎn)還與自己最貼近的變量。優(yōu)先級與邏輯非(!)相同。挺高的。A.因為是整型,所以只能取整數(shù)部分。B.c=(a-=a-5),(a=b,b+3);翻譯:a?5=5(a=O),a-=-5(a=5),c=表達式的值=5,后

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論