ZAC語言試題及答案1029_第1頁
ZAC語言試題及答案1029_第2頁
ZAC語言試題及答案1029_第3頁
ZAC語言試題及答案1029_第4頁
ZAC語言試題及答案1029_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第1章C語言概述習題1.單項選擇題C語百是在_B.語言的基礎上產(chǎn)生的。A.回車符B.冒號C.逗號D.分號在C語言中,每個語句必須以D結束。A.回車符B.冒號C.逗號D.分號標識符和關鍵字間,要用CP仙。A.回車符B.冒號C.空格D.分號(4)用C語言編寫的源文件經(jīng)過編譯,若沒有產(chǎn)生編譯不對,則系統(tǒng)將(B)。A.生成可執(zhí)行目標文件B.生成目標文件C.輸由運行結果D.自動保存源文件(5)下列說法中正確的是(B)oA.由于C源程序是高級語言程序,因此一定要在TC軟件中輸入B.由C源程序是字符流組成,因此可以作為文本文件在任何文本編輯的軟件中輸入C.由于C程序是高級語言程序,因此輸入后即可執(zhí)行D.由于

2、C程序是高級語言程序,因此它由命令組成(6)下列說法中正確的是(A)oA.C語言程序由主函數(shù)和0個或多個函數(shù)組成B.C語言程序由主程序和子程序組成C.C語言程序由子程序組成D.C語言程序由過程組成(7)下列說法中不對的是(D)oA.主函數(shù)可以分為兩個部分:主函數(shù)說明部分和主函數(shù)體B.主函數(shù)可以調用任何非主函數(shù)的其他函數(shù)C.任何非主函數(shù)可以調用其他任何非主函數(shù)D.程序可以從任何非主函數(shù)開始執(zhí)行2.填空題(1) C語言只有37個關鍵字和9種控制語句。(2) C語言是一種“中級語言”,既具有高級語言的特點又具有低級語言的特點。既適合于開發(fā)系統(tǒng)軟件又適合于編寫應用程序。(3) 每個源程序有且只有一個主

3、函數(shù),系統(tǒng)總是從該函數(shù)開始執(zhí)行C語言程序。(4) 在C語言程序中允許由現(xiàn)的字符集是ASCII碼字符集。(5) C語言的程序中有特殊含義的英語單詞稱為保留字。(6) C語言標識符的長度是前8位有效。(7)C語言中,標識符的定義規(guī)則是以字母或下劃線為開頭。(8)C語言程序的注釋可以由現(xiàn)在程序中的任何地方,它總是以/*符號作為開始標記,以/符號作為結束標記。第2章數(shù)據(jù)類型運算符和表達式習題1 .單項選擇題(1) 以下選項中,正確的C語言整型常量是D。A.32LB.510000C.-1.00D.567(2) 以下選項中,D是不正確的C語言字符型常量。A.'a'B.'x4TC.&

4、#39;'101'D."a"(3) 在C語言中,字符型數(shù)據(jù)在計算機內存中,以字符的C形式存儲。A.原碼B.反碼C.ASCII碼D.BCD碼(4)字符串的結束標志是C。A.0B.'O'C.'0'D."0"(5) 算術運算符、賦值運算符和關系運算符的運算優(yōu)先級按從高到低依次為BoA.算術運算、賦值運算、關系運算B.算術運算、關系運算、賦值運算C.關系運算、賦值運算、算術運算D.關系運算、算術運算、賦值運算(6)邏輯運算符中,運算優(yōu)先級按從高到低依次為D。A.&&,!,|B.|,&&

5、;,!C.&&,|,!D.!,&&,|表達式!x|a=b等效于D。A.!(x|a)=b)B.!(x|y)=bC.!(x|(a=b)D.(!x)|(a=b)(8)設整型變量m,n,a,b,c,d均為1,執(zhí)行(m=a>b)&&(n=c>d)后,m,n的值是出。A.0,0B.0,1C.1,0D.1,1(9) intb=0,x=1。執(zhí)行語句if(x+)b=x+1;后,x,b的值依次為AoA.2,3B.2,0C.3,0D.3,2(10)設有語句inta=3。,則執(zhí)行了語句a+=a-=a*=a;后,變量a的值是BoA.3B.0C.9D.-12(1

6、1)在以下一組運算符中,優(yōu)先級最低的運算符是doA.*B.!=C.+D.=(12) 設整型變量i值為2,表達式(+i)+(+i)+(+i)的結果是B。A.6B.12C.15D.表達式由錯(13)若已定義x和y為double類型,則表達式x=1,y=x+3/2的值是Co(都為整型)A.1B.2C.2.0D.2.5(14) sizeof(double)的結果值是A。(表是長度)字節(jié)A.8B.4C.2D.出錯(15)設a=1,b=2,c=3,d=4,則表達式:a<b?a:c<d?a:d的結果為D。A.4B.3C.2D.1(16)設a為整型變量,不能正確表達數(shù)學關系:10<a<

7、15的C語言表達式是)。A.10<a<15B.a=11|a=12|a=13|a=14C.a>10&&a<15D.!(a<=10)&&!(a>=15)(17)設f是實型變量,下列表達式中不是逗號表達式的是_D。A.f=3.2,1.0B.f>0,f<10C.f=2.0,f>0D.f=(3.2,1.0)(18)設ch是char型變量,其值為'A',則下面表達式的值是B。ch=(ch>='A'&&ch<='Z')?(ch+32):chA.AB

8、.aC.ZD.Z(19)以下運算符中,結合性與其他運算符不同的是A。A.+B.%C./D.+(20)以下用戶標識符中,合法的是BoA.intB.nitC.123D.a+b(21) C語言中,要求運算對象只能為整數(shù)的運算符是邙oA.%B./C.>D.*(22) PC機中,'n'在內存占用的字節(jié)數(shù)是AoA.1B.2C.3D.4(23) 字符串"ABC"在內存占用的字節(jié)數(shù)是B。A.3B.4C.6D.8(24)要為字符型變量a賦初值,下列語句中哪一個是正確的B。A.chara="3"B.chara='3'C.chara=%;

9、D.chara=*;(25)下列不正確的轉義字符是CoA.B.'C.074D.02.填空題(1) C語言中的邏輯值“真”是用!0表示的,邏輯值“假”是用0表示的。(2) 符號常量的定義方法是#defineN10。(3) 無符號基本整型的數(shù)據(jù)類型符為unsignedint、雙精度實型數(shù)據(jù)類型符為double,字符型數(shù)據(jù)類型符為char。(4) 設c='w',a=1,b=2,d=-5,則表達式'x'+1>c,'y'!=c+2,-a-5*b<=d+1,b=a=2的值分另I為J、0、J、表達式不對。(5)設floatx=2.5,y=4

10、.7;inta=7;,表達式x+a%3*(int)(x+y)%2/4的值為2.5。(6) 判斷變量a、b的值均不為。的邏輯表達式為(a!=0)&&(b!=0)。(7) 求解賦值表達式a=(b=10)%(c=6),表達式值、a、b、c的值依次為4,4,10,6。(8) 求解逗號表達式x=a=3,6*a后,表達式值、x、a的值依次為18,3,3。(9) 數(shù)學式a/(b*c)的C語言表達式a/(b*c)。第3章順序結構程序設計習題1.選擇題(1) printf("f=%3.2f%3.478);的輸生結果是A。A.f=3.48%B.f=3.5%C.f=3.48%D.f=347

11、.8%(2) printf("%c,%d",'a','a')。的輸生結果是A。A.a,97B.a97C.97,aD.97a(3) scanf("%c",&a)。若要給變量輸入大寫字母A,則以下正確的輸入是B。A.'A'<CR>B.A<CR>C."A"<CR>D.以上都不對若一個int類型的數(shù)據(jù)占2字節(jié),則程序段:intx=-1;printf("%u,%d",x,x);的輸生結果是A。A.65535,-1B.-1,65535C

12、.32767,32768D.32768,32767(5) 在TC中,getchar、putchar、printf、scanf四個函數(shù),均包含在頭文件B中。A.math.hB.stdio.hC.stbio.hD.stdlib.h(6)復合語句是用C括起來的語句組。A.()B.C.D.<>(7) 下列格式符中,哪一個可以用于以八進制形式輸由整數(shù)C。A.%dB.%8dC.%oD.%ld(8) 下列格式符中,哪一個可以用于以十六進制形式輸由整數(shù)B。A.%16dB.%8xC.%d16D.%d(9) a是int類型變量,c是字符變量,下列輸入語句中哪一個是不對的B。A.scanf("

13、%d,%c",&a,&c);B.scanf("%d%c",a,c);C.scanf("%d%c",&a,&c);D.scanf("d=%d,c=%c",&a,&c);(10)要使doublex;longa;的數(shù)據(jù)能正確的輸由,輸由語句應是D。A.printf("%d,%f",a,x);B.printf("%d,%1f",a,x);C.scanf("%1d,%1f',&a,&x);D.printf(&quo

14、t;%1d,%lf',a,x);2.程序改錯題(以下各個程序段均有5個不對,請先找由不對的位置,然后再改正)(1) 以下程序的功能是,從鍵盤輸入一個字符并鳴笛輸由O#include"stdio.h"mian()main()charc/charc;getchar(c);/c=getchar();putchar('007');/*鳴笛*/c=putchar();/putchar(c);/(2) 以下程序的功能是,輸入長方形的兩邊長(邊長可以取整數(shù)和實數(shù)),輸出它的面積和周長。main/main()inta,b,s,l;/doublea,b,s,l;sca

15、nf("%d,%d",&a,&b);/scanf("%lf,%lf",&a,&b);s=a*b;l=a+b;/l=(a+b)*2;printf("l=%f,s=%fn",l);/printf("l=%lf,s=%lfn",l,s);(3) 寫出程序運行結果(1)main()inta,b;scanf("%2d%*2s%2d",&a,&b);printf("%dn",a+b);運行時輸入:12345678/輸出:68main()in

16、ta=3,b=5,x,y;x=a+1,b+6;y=(a+1,b+6);printf("x=%dny=%dn",x,y);輸由:x=4y=11第4章選擇結構程序設計習題1 .單項選擇題選擇結構程序設計的特點是BoA.自上向下逐個執(zhí)行B.根據(jù)判斷條件,選擇其中一個分支執(zhí)行C.反復執(zhí)行某些程序代碼D.以上都是(2)假定所有變量均已正確定義,下列程序段運行后x的值是B。a=b=c=0,x=35;if(!a)x-;elseif(b);if(c)x=3;elsex=4;A. 34B.4C.35D.3(3)下面的程序片段所表示的數(shù)學函數(shù)關系是_Uoif(x<0)y=-1;elsei

17、f(x>0)y=1;elsey=0;-1(x<0)A.y=<0(1=0)J(工>0)0C尸=*-1(h=0)1(j>0)(4) 下列各語句序列中,I(x<0)8. ,=w-1(1=0)0(工>0)-I(x<0)Dy=lCx=0)0(a>0)能夠且僅輸由整型變量a、b中最大值的是(C)A.if(a>b)printf("%d'n",a);printf("%d'n",b);B. printf("%d'n",b);if(a>b)printf("

18、%d'n",a);C.if(a>b)printf("%d'n",a);elseprintf("%d'n",b);D.if(a<b)printf("%d'n",a);printf("%d'n",b);(5) 以下程序段的輸由結果是Aintx=5;if(x>0)y=1;elseif(x=0)y=0;elsey=1;D.2printf("%d",y);A.1B.5C.0(6) 程序段intx=5,y=8,max;max=(x>y

19、)?x:y;printf("%d",max);的輸由結果是B。A.5B.8C.3D.13(7) 程序段intx=3,a=1;switch(x)case4:a+;case3:a+;case2:a+;case1:a+;printf("%d",a);的輸生結果是D。A.1B.2C.3D.4(8)下列語句應將小寫字母轉換為大寫字母,其中正確的是(B)oA.if(ch>='a'&ch<='z')ch=ch-32;B.if(ch>='a'&&chv='z')ch

20、=ch-32;C.ch=(ch>='a'&&ch<='z')?ch-32:D.ch=(ch>'a'&&ch<'z')?ch-32:ch;2.閱讀程序,寫出運行結果(1)voidmain()inta=10,b=4,c=3;if(a<b)a=b;if(a<c)a=c;printf("%d,%d,%dn",c);輸出:10,4,3(2)a,b,voidmain()intx=100,a=10ok2=0;if(a<b)if(!ok1)x=1;els

21、eif(ok2)x=10;elsex=-1;printf("%dn",x);輸出:-1。b=20,ok1=5,if(b!=15)(3)intk,a=1,b=2;k=(a+=b)?2:3;printf("%d",k);輸出:3(4)voidmain()ints=1,k=0;switch(s)case 1: k+=1;case 2: k+=2;default:k+=3;printf(“%d”,k);輸出:6(5)voidmain()ints=1,k=0;switch(s)case 1: k+=1;break;case 2: k+=2;break;defaul

22、t:k+=3;printf("d,k);輸由:1第5章循環(huán)結構程序設計習題1 .單項選擇題for(i=1;i<9;i+=1);該循環(huán)共執(zhí)行了B次。A.7B.8C.9D.10inta=2;while(a=0)a-;該循環(huán)共執(zhí)行了A次。A.0B.1C.2D.3(3)執(zhí)行完循環(huán)for(i=1;i<100;i+);后,i的值為B。A.99B.100C.101D.102(4)以下for語句中,書寫不對的是D。A.for(i=1;i<5;i+);B.i=1;for(;i<5;i+);C.for(i=1;i<5;)i+;D.for(i=1,i<5,i+);(5)

23、 C語句,在循環(huán)條件初次判斷為假,還會執(zhí)行一次循環(huán)體。A.forB.whileC.do-whileD.以上都不是(6)循環(huán)結構的特點是_C。A.從上至下,逐個執(zhí)行B.根據(jù)判斷條件,執(zhí)行其中一個分支C.滿足條件時反復執(zhí)行循環(huán)體D.以上都對i、j已定義為int類型,則以下程序段中內循環(huán)體的執(zhí)行次數(shù)是A。for(i=5;i;i-)for(j=0;j<4;j+)A.20B.24C.25D.30(8) C語言while語句中,用于條件的表達式是D。A.關系表達式B.邏輯表達式C.算術表達式D.任意表達式(9) inta=1,x=1;循環(huán)語句while(a<10)x+;a+;的循環(huán)執(zhí)行DoA.

24、無限次B.不確定次C.10次D.9次(10)下列程序段執(zhí)行后s的值為4。inti=1,s=0;while(i+)if(!(i%3)break;elses+=i;A.2B.3C.6D.以上均不是2 .填空題(1)三種循環(huán)語句是等價價的。(2)當循環(huán)體中的switch語句內有break語句,則只跳由swicth語句。同樣,當switch語句中有循環(huán)語句,內有break語句,則只跳由循環(huán)語句。循環(huán)體執(zhí)行遇到continue語句時跳過本次循環(huán)進入下次循環(huán)。(4)下列程序的功能是輸入一個正整數(shù),判斷是否是素數(shù),若為素數(shù)輸由1,否則輸由0,請為程序填空。voidmain()inti,x,y=1;scanf

25、("%d",&x);for(i=2;i<=x/2;i+)if(x%i=0)y=0;break;printf("%d'n",y);(5)輸入N個實數(shù),輸由其中的最大值、最小值#include<stdio.h>voidmain()intn,i;floatno1,nmax,nmin;scanf("%d",&n);scanf("%f",&no1);nmax=no1;nmin=no1;for(i=2;i<=n;i+)scanf("%f",&n

26、o11if(no1>nmax)nmax=no1;if(no1<nmin)nmin=no1;printf("MAX=%fMIN=%fn",nmax,nmin);當輸入(6)輸入若干個字符,分別統(tǒng)計數(shù)字字符的個數(shù)、英文字母的個數(shù),換行符時輸由統(tǒng)計結果,運行結束。#include<stdio.h>voidmain()charch;ints1=0,s2=0;while(ch=getchar()!='n')if(ch>='0'&&ch<='9')s1+;if(ch>='a

27、'&&ch<='z'|ch>='A11ch<='Z,)s2+;3 .閱讀下列程序,寫由程序運行的輸生結果輸由:852-y);voidmain()inty=9;for(;y>0;y-)if(y%3=0)printf("%d",continue;(2)main()intk,n,m;n=10;m=1;k=1;while(k+<=n)m*=2;printf("%d'n",m);輸出:1024(3)voidmain()inti=5;doswitch(i%2)case4:i

28、-;break;case6:i-;continue;i-;i-;printf("i=%di);while(i>0);輸出:i=3i=1i=-1(4)#include<stdio.h>voidmain()intk=0;charc='A'doswitch(c+)case'A':k+;break;case'B':k-;case'C':k+=2;break;case'D':k=k%2;break;case'E':k=k*10;break;default:k=k/3;k+;whil

29、e(c<'G');printf("k=%dn",k);輸出:8(5)輸入數(shù)據(jù):2,4#include<stdio.h>voidmain()s*=a;printf("SUM=%dn",s);輸由:2468ints=1,t=1,a,n;intioscanf("%d,%d",&a,&n);for(i=1;i<n;i+)t=t*10+1;s=s+t;§序改錯以下程序是顯示200,300所有能被7整除的數(shù),每行顯示5個數(shù),此程序有5處錯main()inti,n=0;/*n用來記錄

30、每行已打印數(shù)的個數(shù)*/while(i<300)/while(i<=300)&&(i>=200)/i+;if(i%7=0)/if(i%7!=0)break;/continue;printf("%5d",i);n=n+1;if(n=5)/*滿5個換行*/if(n=5)printf("n");n=0;(2)以下程序是求1!+2!+3!+4!+5!+6!+7!的值,其中有3處不對。main()inti,s,t=0;/longs=0,t=1;/inti;for(i=1;i<=7;i+)s=0;/去掉該語句t=t*i;s=s+

31、t;printf("sum=dn",s);printf("sum=%lcT,s);第6章函數(shù)習題1 .單項選擇題(1)C語言總是從A函數(shù)開始執(zhí)行。A.mainB.處于最前的C.處于最后的D.隨機選一個(2)函數(shù)在定義時,省略函數(shù)類型說明符,則該函數(shù)值的類型為AA.intB.floatC.longD.double(2)以下B函數(shù),真正地沒有返回值。A.inta()inta=2;return(a);B.voidb()printf("c");C.inta()inta=2;returna;D.以上都是(3)在C語言中,有關函數(shù)的說法,以下正確的是A.函

32、數(shù)可嵌套定義,也可嵌套調用B.函數(shù)可嵌套定義,但不可嵌套調用C.函數(shù)不可嵌套定義,但可嵌套調用D.函數(shù)不可嵌套定義,也不可嵌套調用(4)以下函數(shù)調用語句中,含有實參的個數(shù)為Bo7fun(2,3),(4,5+6,7);A.1B.2C.5D.6(5)函數(shù)調用可以在D。A.函數(shù)表達式中B.函數(shù)語句中C.函數(shù)參數(shù)中D.以上都是(6)被調函數(shù)返回給主調函數(shù)的值稱為C。A.形參B.實參C.返回值D.參數(shù)(7)D,可以不進行函數(shù)類型說明。A.被調函數(shù)的返回值是整型或字符型時B.被調函數(shù)的定義在主調函數(shù)定義之前時C.在所有函數(shù)定義前,已在函數(shù)外預先說明了被調函數(shù)類型D.以上都是(8)被調函數(shù)通過_D語句,將值

33、返回給主調函數(shù)。A. ifB.forC.whileD.return(9)被調函數(shù)調用結束后,返回到_BoA.主調函數(shù)中該被調函數(shù)調用語句處B.主函數(shù)中該被調函數(shù)調用語句處C.主調函數(shù)中該被調函數(shù)調用語句的前一語句D.主調函數(shù)中該被調函數(shù)調用語句的后一語句(10)以下對C語言函數(shù)的有關描述中,正確的是A。A.在C中,調用函數(shù)時,只能把實參的值傳送給形參,形參的值不能傳送給實參B. C函數(shù)既可以嵌套定義又可遞歸調用C.函數(shù)必須有返回值,否則不能使用函數(shù)D.|C程序中有調用關系的所有函數(shù)必須放在同一個源程序文件中(11)C語言中函數(shù)的隱含存儲類型是A。A.autoB.staticC.externD.

34、無存儲類型(12)能把函數(shù)處理結果的兩個數(shù)據(jù)返回給主調函數(shù),在下面的方法中不正確的是AoA.return這兩個數(shù)B.形參用兩個元素的數(shù)組C.形參用兩個這種數(shù)據(jù)類型的指針D.用兩個全局變量2.填空題(1) 變量的作用域主要取決于變量定義的位子,變量的生存期既取決于變量存儲類型,又取決于變量存儲方式。(2) 說明變量時,若省略存儲類型符,系統(tǒng)默認其為整形存儲類別,該存儲類別的類型符為:Jnto(3)靜態(tài)型局部變量的作用域是靜態(tài)局部變吊定義的復合語句或函數(shù)體區(qū),生存期是整個程序運行期內。(4) 函數(shù)中的形參和調用時的實參都是數(shù)組名時,傳遞方式為地址傳遞,都是變量時,傳遞方式為值傳遞。(5) 函數(shù)的形

35、式參數(shù)的作用域為整個函數(shù)體內,全局的外部變量和函數(shù)體內定義的局部變量重名時,函數(shù)體內定義的局部變量優(yōu)先。(6)若自定義函數(shù)要求返回一個值,則應在該函數(shù)體中有一條return語句,若自定義函數(shù)要求不返回一個值,則應在該函數(shù)說明時加一個類型說明符void。(7) 若函數(shù)的形式參數(shù)是指針類型,則實參可以是數(shù)組名、地址或指針變量。(8) 函數(shù)的參數(shù)為char*類型時,形參與實參結合的傳遞方式為地址色遞。(9) 函數(shù)的實參為常量時,形參與實參結合的傳遞方式為值傳出(10)取寸數(shù)組按值從大到小的順序排序后輸由,請?zhí)羁铡?include<stdio.h>voidmain()floata7=2,6

36、,3,8,3,12,9;inti;voidsort(float*,int);sort(a,7);for(i=0;i<7;i+)printf("%f",ai);printf("n");voidsort(float*p,intn)inti,j,k;floatt;for(i=0;i<n-1;i+)k=i;for(j=i+1;j<n;j+)if(pk<pj)k=j;if(k!=i)t=max=*p;*min=*p;for(k=1;k<n;k+)t=*(p+k);if(t>*max)*max=t;if(t<*min)*mi

37、n=t;(p+i);*(p+i)=*(p+k);*(p+k)寸(11)下列函數(shù)在n個元素的一維數(shù)組中,我由最大值、最小值并傳送到調用函數(shù),請?zhí)羁铡?include<stdio.h>voidfind(float*p,float*max,float*min,intn)intk;floatt;3.寫出下列程序運行結果:(1)main()inti=1,p;p=fun(i,i+1);printf("%dn",p);intfun(inta,intb)intf;(2) 鍵盤輸入abcdef<CR>#include<stdio.h>voidfun()ch

38、arc;if(c=getchar()!='n')fun();putchar(c);voidmain()if(a>b)f=1;elseif(a=b)f=0;elsef=-1;returnf;輸出:-1fun();輸出:fedcba(3)#include<stdio.h>#defineC5intx=1,y=C;voidmain()intx;x=y+;printf("%d%dnx,y);if(x>4)intx;x=+y;printf("%d%dn",x,y);x+=y-;printf("%d%dn",x,y);

39、(4)#include<stdio.h>intc,a=4;func(inta,intb)c=a*b;a=b-1;b+;return(a+b+1);voidmain()intb=2,p=0;c=1;p=func(b,a);printf("%d,%d,%d,%dn",輸出:56a,b,c,p);輸出:4,2,8,9(5)unsignedfun6(unsignednum)unsignedk=1;dok*=num%10;num/=10;while(num);returnk;voidmain()unsignedn=26;printf("%dn",fun

40、6(n);輸出:1277126第7章數(shù)組習題1 .單項選擇題(1) inta4=5,3,8,9;其中a3的值為(D)。A.5B.3C.8D.9(2)|以下4個字符串函數(shù)中,(A)所在的頭文件與其他3個不同。A.getsB.strcpyC.strlenD.strcmp(3) 以下4個數(shù)組定義中,(D)是不對的。A.inta7;B.#defineN5longbN;C.charc5;D.intn,dn;(4) 對字符數(shù)組進行初始化,(B)形式是不對。A.charc1='1','2','3'B.charc2=123;C.charc3='1'

41、;,'2','3',''0'D.charc4尸"123”;(5) 在數(shù)組中,數(shù)組名表示(A)。A.數(shù)組第1個元素的首地址B.數(shù)組第2個元素的首地址C.數(shù)組所有元素的首地址D.數(shù)組最后1個元素的首地址(6) 若有以下數(shù)組說明,則數(shù)值最小的和最大的元素下標分別是(B)。inta12=1,2,3,4,5,6,7,8,9,10,11,12;A.1,12B.0,11C.1,11D.0,12(7) 若有以下說明,則數(shù)值為4的表達式是(D)ointa12=1,2,3,4,5,6,7,8,9,10,11,12;charc='a'

42、,d,g;A.ag-cB.a4C.a'd'-'c'D.a'd'-c(8) 設有定義:chars12="string"則printf("%dn",strlen(s);的輸由是(A)oA.6B.7C.11D.12(9) 設有定義:chars12="string"則printf("%dn",sizeof(s);的輸由是(B)oA.6B.7C.11D.12(10)合法的數(shù)組定義是(A)。A.chara="string"B.inta5=0,1,2,3,4,5

43、;C.chara="string"D.chara=0,1,2,3,4,5;(11)|合法的數(shù)組定義是(B)oA.inta3=0,1,2,3,4,5;B.inta3=0,1,2,3,4;C.inta23=0,1,2,3,4,5,6;D.inta23=0,1,2,3,4,5,;(12)下列語句中,正確的是(D)oA.chara3='abc','1'B.chara3='abc','1'C.chara3='a',"1"D.chara3="a","1&qu

44、ot;(13)下列定義的字符數(shù)組中,輸由printf("%sn",str2);的輸由是(C)。staticstr320="basic","foxpro","windows"A. basicB.foxproC.windowsD.輸由語句由錯(14)下列各語句定義了數(shù)組,其中哪一個是不正確的(C)。A.chara310="China","American","Asia"B.intx22=1,2,3,4;C.floatx2尸1,2,4,6,8,10;D.intm

45、口3=1,2,3,4,5,6;(15)數(shù)組定義為inta32=1,2,3,4,5,6,值為6的數(shù)組元素是(B)。A.a322.填空題B. a21C.a12D.a23(1) C語言中,數(shù)組的各元素必須具有相同的類亂元素的下標下限為0,下標必須是正整數(shù)、0、或者世正但在程序執(zhí)行過程中,不檢查元素下標是否越界。(2) C語言中,數(shù)組在內存中占一片遙綾的存儲區(qū),由數(shù)組名代表它的首地址。數(shù)組名是一個字符常量,不能對它進行賦值運算。執(zhí)行staticintb5,a3=1,2,3,4,5,6;后,b4=0,a12=6o(4)設有定義語句staticinta34=1,2,3;則a10值為N,a11值為0,a21

46、的值為0。(5)如定義語句為chara="windows",b="2000",語句printf("%s",strcat(a,b);的輸出結果為windows2000。(6) 輸入20個數(shù),輸由它們的平均值,輸由與平均值之差的絕對值為最小的數(shù)組元素。請?zhí)羁铡?include<stdio.h>#include<math.h>voidmain()floata20,pjz=0,s,t;inti,k;for(i=0;i<20;i+)for(i=0;i<20;i+)pjz+=ai;pjz/=20;s=fabs(

47、a0-pjz);for(i=1;i<20;i+)if(fabs(ai-pjz)<s)s=fabs(ai-pjz);scanf("f”,&ai);27/37t=ai;printf("f,%f",pjz,t);(7) 以下程序以每行10個數(shù)據(jù)的形式輸由a數(shù)組,請?zhí)羁?。voidmain()inta50,i;printf("輸入50個整數(shù):");for(i=0;i<50;i+)scanf("%d”,&ai);for(i=1;i<=50;i+)if(i%10=0)printf("%3d'

48、n",ai-1);elseprintf("%3d”,ai-1);(8) 下面程序的功能是輸由數(shù)組s中最大元素的下標,請?zhí)羁?。voidmain()intk,p;ints口=1,-9,7,2,-10,3;for(p=0,k=p;p<6;p+)if(sp>sk)k=p;printf("%d'n",k);(3) 讀程序,分析程序的功能#include<stdio.h>#include<string.h>voidmain()chars80;inti;for(i=0;i<80;i+)si=getchar();if(s

49、i='n')break;si='0'i=0;while(si)putchar(si+);putchar('n');分析:輸入一個字符串,以回車結束,并將其原樣輸由。(2)#include<stdio.h>#include<string.h>voidmain()#include<stdio.h>#include<string.h>voidmain()charstr1080,c80;inti;for(i=0;i<10;i+)gets(stri);strcpy(c,str0);for(i=1;i&l

50、t;10;i+)if(strlen(c)<strlen(stri)strcpy(c,stri);printf("%s'n",c);printf("%dn",strlen(c);分析:輸入10個字符串,輸由10個字符串中最長的字符串和它的長度。chara1080,c80;inti,j,k;for(i=0;i<10;i+)gets(ai);for(i=0;i<9;i+)k=i;for(j=i+1;j<10;j+)if(strcmp(aj,ak)<0)k=j;if(k!=i)strcpy(c,ai);(4) 閱讀程序,寫生

51、運行結果#include<stdio.h>voidmain()inta6=12,4,17,25,27,16intb6=27,13,4,25,23,16,i,j;for(i=0;i<6;i+)for(j=0;j<6;j+)if(ai=bj)break;if(j<6)printf("%d",ai);strcpy(ai,ak);strcpy(ak,c);/字符串交換for(i=0;i<10;i+)puts(ai);分析:輸入10個字符串,用選擇排序算法將10個字符串按從小到大順序排列并輸由。printf("n");分析:按數(shù)

52、組a中元素順序輸由與數(shù)組b中元素相同的數(shù)。輸由:4,25,27,16(5) 閱讀程序,寫生運行結果。#include<stdio.h>voidmain()chara8,temp;intj,k;for(j=0;j<7;j+)aj='a'+j;a7='0'for(j=0;j<3;j+)temp=a6;for(k=6;k>0;k-)ak=ak-1;a0=temp;printf("%sn",a);分析:將字符串的最后的3個元素移到字符串首位。輸出:efgabcd寫出程序運行的輸出結果#include<stdio.h

53、>#include<string.h>voidmain()charstri="*";for(inti=0;i<4;i+)printf("%sn",str1);str1i=''str1strlen(str1)-1='0'輸由:第8章指針習題1.單項選擇題指針pstr所指字符串的長度為D。char*pstr="t"1234abcd'n"A.15B.14C.13D.12(2) 對于char*pstr。,以下正確的是B。A.*pstr="Hi"B.p

54、str="Hi"C.*pstr="Hi"D.*pstr="Hi"(3) 以下程序段的輸由結果為B。charastr5="1234"char*pstr=astr;printf("%c",pstr1-'0');A.1B.2C.ASCII碼值為1的字符D.ASCII碼值為2的字符charastr尸"abcde"char*pstr=&astr5;while(-pstr>=astr)putchar(*pstr);putchar('n');A.abcB.cbaC.abcdeD.edcba若有定義inta=1,*b,c;,以下不正確的是AA.b=aB.b=&aC.b=&a,c=*bD.c=a(6) 以下程序段的運行

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論