


版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、大學C語言考試題庫第1章c語言概述習題1. 單項選擇題(1) C 語言是在B語言的基礎上產生的。A. A B. B C. D D. E(2)在C語言中,每個語句必須以A. 回車符B.冒號(3) 標識符和關鍵字間,要用A. 回車符B.冒號D結束。C.逗號D.分號C隔開。C.空格D.分號(4) 用C語言編寫的源文件經過編譯,若沒有產生編譯錯誤,則系統將(B )A.生成可執行目標文件B. 生成目標文件 C. 輸出運行結果 D.自動保存源文件(5) 下列說法中正確的是(B )A. 由于C源程序是高級語言程序,因此一定要在TC軟件中輸入B. 由C源程序是字符流組成,因此可以作為文本文件在任何文本編輯的軟
2、件中輸入C. 由于C程序是高級語言程序,因此輸入后即可執行D. 由于C程序是高級語言程序,因此它由命令組成下列說法中正確的是(A)。A. C語言程序由主函數和 0個或多個函數組成B. C 語言程序由主程序和子程序組成C. C語言程序由子程序組成D. C語言程序由過程組成下列說法中錯誤的是(D)。A. 主函數可以分為兩個部分:主函數說明部分和主函數體B. 主函數可以調用任何非主函數的其他函數C. 任何非主函數可以調用其他任何非主函數D. 程序可以從任何非主函數開始執行2. 填空題(1) C 語言只有衛2個關鍵字和_9種控制語句。C 語言是一種“中級語言”,既具有 高級語言 的特點又具有 低級語言
3、的特點:既適合于開發系統軟件又適合于編寫應用程序。(3) 每個源程序有且只有一個仝_函數,系統總是從該函數開始執行C語言程序。(4) 在C語言程序中允許出現的字符集是ASCII碼字符集。(5) C語言的程序中有特殊含義的英語單詞稱為保留字 。(6) C語言標識符的長度是前8 位有效。*/ 符號作(7) C 語言中,標識符的定義規則是以字母或下劃線為開頭。(8) C 語言程序的注釋可以出現在程序中的任何地方,它總是以/_符號作為開始標記,以為結束標記。第2章數據類型運算符和表達式習題1. 單項選擇題(1) 以下選項中,正確的 C語言整型常量是 _D。A. 32L B. 510000 C. -1.
4、00 D. 567(2) 以下選項中,_D是不正確的C語言字符型常量。A. 'a' B. 'x41' C. '101' D. "a"(3) 在C語言中,字符型數據在計算機內存中,以字符的_C 形式存儲。A. 原碼 B. 反碼 C. ASCII 碼 D. BCD 碼(4) 字符串的結束標志是 _C。A. 0 B. '0' C. '0' D. "0"(5) 算術運算符、賦值運算符和關系運算符的運算優先級按從高到低依次為_BA.算術運算、賦值運算、關系運算C.關系運算、賦值運算、算
5、術運算B. 算術運算、關系運算、賦值運算D.關系運算、算術運算、賦值運算(6) 邏輯運算符中,運算優先級按從高到低依次為_DA. && , ! B. |,&&, ! C. &&,II,! D. !,&& |(7) 表達式!x|a=b 等效于A. !(x|a)=b) B. !(x|y)=bC. !(x|(a=b)D. (!x)|(a=b)(8)設整型變量m,n,a,b,c,d均為1,執行(m=a>b)&&(n=c>d)后,m,n 的值是 _AA. 0,0 B. 0,1 C.1,0 D. 1,1(9) in
6、t b=0,x=1 ;執行語句if(x+) b=x+1;后,x,b的值依次為_AA. 2 , 3 B. 2, 0 C. 3, 0 D. 3, 2(10) 設有語句int a=3;,則執行了語句 a+=a-=a*=a; 后,變量a的值是 B 。A. 3 B. 0 C. 9 D. -12(11) 在以下一組運算符中,優先級最低的運算符是_D_。A. *B. !=C. + D.=(12) 設整型變量i值為2,表達式(+i)+(+i)+(+i)的結果是_B。A. 6B. 12 C. 15 D.表達式出錯(13) 若已定義x和y為double類型,則表達式 x=1,y=x+3/2的值是_C。A. 1 B
7、. 2 C. 2.0 D. 2.5(14) sizeof (double)的結果值是A 。A. 8B. 4 C. 2D.出錯(15) 設 a=1, b=2, c=3,d=4,則表達式:a<b? a : c<d? a : d 的結果為 D 。A. 4B. 3 C. 2D. 1(16) 設a為整型變量,不能正確表達數學關系:10<a<15的C語言表達式是 AA. 10<a<15B. a= =11| a= =12 | a= =13 | a= =14C. a>10 && a<15D. !(a<=10) && !(a&
8、gt;=15)(17) 設f是實型變量,下列表達式中不是逗號表達式的是_D。A. f= 3.2, 1.0 B. f>0, f<10 C. f=2.0, f>0 D. f=(3.2, 1.0)(18) 設ch是char型變量,其值為A',則下面表達式的值是_B_。ch=(ch>='A'&& ch<='Z')? (ch+32):chA. A B. a C. Z D. Z(19) 以下運算符中,結合性與其他運算符不同的是_A。A. + B. % C. / D. +(20) 以下用戶標識符中,合法的是_B。A. i
9、nt B. nit C. 123 D. a+b(21) C語言中,要求運算對象只能為整數的運算符是%。A. % B. / C. > D. *(22) PC 機中,'n'在內存占用的字節數是_A。A. 1 B. 2 C. 3 D. 4(23) 字符串"ABC"在內存占用的字節數是 _B。A. 3 B. 4 C. 6 D. 8(24) 要為字符型變量 a賦初值,下列語句中哪一個是正確的_B。A. char a="3" B. char a= ' 3' ; C. char a=%; D. char a=*;(25) 下列不正
10、確的轉義字符是_C。A. B. ' C. 074 D. 02. 填空題(1) C語言中的邏輯值“真”是用非0表示的,邏輯值“假”是用_0_表示的。(2) 符號常量的定義方法是#defi ne N 10。(3) 無符號基本整型的數據類型符為un sig ned int,雙精度實型數據類型符為double,字符型數據類型符為char 。(4) 設 c='w',a=1,b=2,d=-5,則表達式x'+1>c,'y'!=c+2,-a-5*b<=d+1,b=a=2 的值分別為 J、_0、_J、 表達式錯誤 。(5) 設 float x=2.5,
11、y=4.7; int a=7;,表達式 x+a%3*(int)(x+y)%2/4 的值為 2.5。(6) 判斷變量a、b的值均不為0的邏輯表達式為(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) 數學式a/(b*c)的C語言表達式a/(b*c)。順序結構程序設計習題1. 選擇題(1) printf("f=%3.2f%",3.478);的輸出結果是 _A。A. f=3.48% B. f=
12、3.5% C. f=3.48% % D. f=347.8% printf("%c,%d",'a', 'a');的輸出結果是 _A。A. a,97 B. a 97 C. 97,a D. 97 ascanf("%c",&a);若要給變量輸入大寫字母A,則以下正確的輸入是 _B_。A. 'A' <CR> B. A <CR> C. "A" <CR> D.以上都不對若一個int 類型的數據占2字節,則程序段:int x=-1;printf("%
13、u,%d",x,x);的輸出結果是 AA. 65535, -1 B. -1,65535C. 32767, 32768 D. 32768,32767(5) 在TC中,getchar、putchar、printf 、scanf四個函數,均包含在頭文件B中。A. math.hB. stdio.h C. stbio.h D. stdlib.h(6) 復合語句是用_C括起來的語句組。A. ( ) B. C. D. < >(7) 下列格式符中,哪一個可以用于以八進制形式輸出整數_CA. %d B. %8d C. %o D. %ld(8) 下列格式符中,哪一個可以用于以十六進制形式輸出
14、整數BA. %16d B. %8x C. %d16 D. %d(9) a 是int類型變量,c是字符變量,下列輸入語句中哪一個是錯誤的A. scan f("%d,%c",&a, &c);B. sca nf("%d%c",a,c);C. scan f("%d%c",&a, &c);D. sca nf("d=%d,c=%c",&a,&c);(10) 要使double x; long a;的數據能正確的輸出,輸出語句應是A. prin tf("%d, %f'
15、;,a, x);B. prin tf("%d, %1f",a, x);C. scan f("%1d, %1f",&a, &x);D. prin tf("%1d, %lf",a, x);然后再改正),輸出它的面積和周長。2. 程序改錯題(以下各個程序段均有5個錯誤,請先找出錯誤的位置,(1) 以下程序的功能是,從鍵盤輸入一個字符并鳴笛輸出。#i nclude "stdio.h"mian() mai n() char c /char c;getchar(c);/c = getchar();putchar
16、('007') ; /*鳴笛 */c=putchar(); /putchar(c);(2) 以下程序的功能是,輸入長方形的兩邊長(邊長可以取整數和實數mai n mai n()int a,b,s,l; /double a,b,s,l;scan f("%d,%d", &a,& b); /scan f("%lf,%lf",&a,&b);s=a*b;I=a+b; l=(a+b)*2;l=%lf,s=%lfn ",l,s);prin tf("l=%f,s=%fn",l); /print
17、f(”3. 寫出程序運行結果(1)main ()int a,b;sca nf("%2d%*2s%2d",&a,& b);prin tf("%dn",a+b);運行時輸入:12345678 /輸出:68main ()int a=3,b=5,x,y;x=a+1, b+6;y=(a+1, b+6);prin tf("x=%dny=%dn",x,y);輸出:x=4y=11第4章選擇結構程序設計習題1. 單項選擇題選擇其中一個分支執行x的值是 B 。(1) 選擇結構程序設計的特點是B。A.自上向下逐個執行B.根據判斷條件,C.反
18、復執行某些程序代碼D.以上都是(2) 假定所有變量均已正確定義,下列程序段運行后a=b=c=0, x=35;if(!a) x-; else if(b); if(c) x=3; else x=4;A. 34 B. 4 C. 35 D. 3(3) 下面的程序片段所表示的數學函數關系是_jAif(x<0) y= -1;else if(x>0) y=1;else y=0;-1 (j < 0)A ¥ = 7=1(JT>0)0C y = * -1 (x = 0)I QO)1(x<0)B. y= - (x = 0)0(x>0)I x<0)I) V = J
19、1 (JT = () I*,0 (x>0) 下列各語句序列中,能夠且僅輸出整型變量a、b中最大值的是(C )A. if(a>b) printf("%dn",a); printf("%dn",b);B. prin tf("%dn",b); if(a>b) pri ntf("%dn",a);C. if(a>b) printf("%dn",a); else printf("%dn",b);D. if(a<b) printf("%dn"
20、;,a); printf("%dn",b);(5)以下程序段的輸出結果是_Aint x=5;if(x>0) y=1;else if(x=0) y=0;else y= 1;prin tf("%d",y);A. 1B. 5C. 0D. 2程序段int x=5,y=8,max; max=(x>y)?x:y; prin tf("%d",max);的輸岀結果是 BA. 5B. 8C. 3D. 13程序段int x=3,a=1;switch(x) case 4: a+;case 3: a+;case 2:a+;case 1: a+;
21、printf("%d",a);的輸出結果是_DA. 1 B. 2 C. 3 D. 4(8)下列語句應將小寫字母轉換為大寫字母,其中正確的是(B )A.if(ch>='a'&ch<='z') ch=ch-32;B. if(ch>='a'&&ch<='z')ch=ch-32;C.ch=(ch>='a'&&ch<='z')?ch- 32:2. 閱讀程序,寫出運行結果(1)void main ()int a=10
22、, b=4, c=3;if(a<b) a=b ;if(a<c) a=c ;printf("%d, %d, %dn", a, b, c) ;輸出: 10,4, 3(2)(3)int k,a=1,b=2;k=(a+=b) ? 2:3;printf("%d",k);輸出: 3(4)void main()int s=1,k=0;switch (s)case 1: k+=1;case 2: k+=2; default: k+=3;D. ch=(ch>'a'&&ch<'z')?ch-32:ch;
23、void main ( )int x=100, a=10, b=20, ok1=5, ok2=0;if(a<b) if(b!=15) if(!ok1) x=1;else if(ok2) x=10;else x=-1;printf("%dn", x);輸出: -1 ; 輸出: 6(5)void main()int s=1,k=0;switch (s)case 1: k+=1;break;case 2: k+=2;break; default: k+=3;printf( “ %d”,k);輸出: 1printf( “ %d” ,k);第5章循環結構程序設計習題1.單項選擇
24、題(1) for(i=1;i<9;i+=1);該循環共執行了 _B_次。A. 7 B. 8 C. 9 D. 10int a=2;while(a=0) a-;該循環共執行了A 次。A. 0 B. 1 C. 2 D. 3 執行完循環for(i=1;i<100;i+); 后,i的值為_B_A. 99 B. 100 C. 101 D. 102以下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) C語句,在循環條件初次判斷
25、為假,還會執行一次循環體。A. for B. while C. do-while D.(6)循環結構的特點是_C。A.從上至下,逐個執行B.C.滿足條件時反復執行循環體D.i以上都不是根據判斷條件,執行其中一個分支以上都對、j已定義為int類型,則以下程序段中內循環體的執行次數是A for(i=5;i;i-)for(j=0;j<4;j+)A. 20 B. 24 C. 25 D. 30(8) C 語言while語句中,用于條件的表達式是_D。A.關系表達式B.邏輯表達式C.算術表達式D.任意表達式(9) int a=1, x=1;循環語句 while(a<10) x+; a+;的循環
26、執行DA.無限次 B. 不確定次 C. 10 次 D. 9 次(10) 下列程序段執行后s的值為_A。int i=1, s=0; while(i+) if(!(i%3) break ; else s+=i;A. 2 B. 3 C. 6 D.以上均不是2. 填空題(1) 三種循環語句是等價 價的。(2) 當循環體中的 switch語句內有break語句,則只跳出 swicth 語句。同樣,當 switch語句中有循環語句,內有break 語句,則只跳出循環 語句。(3) 循環體執行遇到 continue語句時跳過本次循環進入下次循環。(4) 下列程序的功能是輸入一個正整數,判斷是否是素數,若為素
27、數輸出1,否則輸出0 ,請為程序填空。void mai n()int i, x, y=1;sca nf("%d", &x);for(i=2; i<=x/2; i+)if ( x%i=0 ) y=0; break; prin tf("%dn",y);(5) 輸入N個實數,輸出其中的最大值、最小值。#i nclude <stdio.h>void mai n()int n,i;float n o1, nmax ,nmin;sca nf("%d",&n); scan f("%f",&
28、;n o1);nmax=n o1;nmin=no1 ;for(i=2;i<=n ;i+)sca nf("%f", &no1 上if(n o1> nm ax) nmax=n o1;if(n o1< nmin) nmin=n o1;prin tf("MAX=%f MIN=%fn",nm ax, nmin);(6) 輸入若干個字符,分別統計數字字符的個數、英文字母的個數,當輸入換行符時輸出統計結果,運行結束。#in elude <stdio.h> void mai n()char ch;int s1=0,s2=0 ;whi
29、le( ch=getchar() )!='n')if(ch>='0'&&ch<='9') s1+;if(ch>='a'&&ch<='z' |ch>=' A' |ch<= ' Z') s2+;3. 閱讀下列程序,寫出程序運行的輸出結果(1)void mai n() int y=9;for( ;y>0; y-)if(y%3=0)while(k+<=n)m*=2;prin tf("%dn",
30、m);輸出:1024con ti nu e;(3)void mai n ()輸出:852 int i=5;(2)mai n()doswitch (i%2)int k,n ,m;case 4: i-; break;prin tf("%d",-y);n=10;m=1;k=1;case 6: i-; con ti nue;case 'E': k=k*10; break;i- ; i- ; printf("i=%d ", i); while(i>0);輸出: i=3 i=1 i=-1(4) #include <stdio.h>v
31、oid main( )int k=0; char c='A'doswitch(c+)case 'A': k+; break;case 'B': k-;case 'C': k+=2; break;case 'D': k=k%2; break;default: k=k/3;k+;while(c<'G'); printf("k=%dn", k);輸出: 8(5) 輸入數據: 2,4#include <stdio.h>void main( )int s=1,t=1,a,
32、n;int i ;scanf("%d , %d",&a,&n); for(i=1;i<n;i+) t=t*10+1; s=s+t;s*=a; printf("SUM=%dn",s);輸出: 24684. 程序改錯(1) 以下程序是顯示 200 , 300 所有能被 7 整除的數,每行顯示 5 個數,此程序有 5 處錯。 main()int i,n=0; /*n用來記錄每行已打印數的個數 */while(i<300) /while(i <= 300)&&(i >= 200)if(i%7=0) if(i
33、%7!=0)break; /con ti nue;prin tf("%5d",i);n=n+1;if(n=5)/*滿 5 個換行 */ /if(n = 5)prin tf("n ”);n=0;(2) 以下程序是求1!+2!+3!+4!+5!+6!+7!的值,其中有3處錯誤。main ()int i,s,t=0; /long s = 0,t = 1;/int i;for(i=1;i<=7;i+)s=0; / 去掉該語句t=t*i;s=s+t;"sum=%ld' ,s);printf("sum=dn",s); /printf
34、(第6章函數習題1. 單項選擇題(1) C語言總是從_A函數開始執行。A. ma inB.處于最前的C.處于最后的D. 隨機選一個 函數在定義時,省略函數類型說明符,則該函數值的類型為A. i ntB. float C. Io ngD. double 以下_B函數,真正地沒有返回值。B. void b()pri ntf("c");D.以上都是A. int a()int a=2;return (a);C. int a() int a=2;retur n a;在C語言中,有關函數的說法,以下正確的是C函數可嵌套定義,但不可嵌套調用函數不可嵌套定義,也不可嵌套調用B 。A.函數可
35、嵌套定義,也可嵌套調用B.C.函數不可嵌套定義,但可嵌套調用D.(4)以下函數調用語句中,含有實參的個數為fun (2,3),(4,5+6,7);A. 1 B. 2 C. 5 D. 6(5)函數調用可以在_DA.函數表達式中B.函數語句中C.函數參數中D.以上都是(6) 被調函數返回給主調函數的值稱為CA.形參 B. 實參 C. 返回值(7) _D,可以不進行函數類型說明。A.被調函數的返回值是整型或字符型時D. 參數B.被調函數的定義在主調函數定義之前時C.在所有函數定義前,已在函數外預先說明了被調函數類型D.以上都是(8)被調函數通過 _D語句,將值返回給主調函數。A. if B. for
36、 C. while D. return(9) 被調函數調用結束后,返回到_B。A. 主調函數中該被調函數調用語句處B. 主函數中該被調函數調用語句處C. 主調函數中該被調函數調用語句的前一語句D. 主調函數中該被調函數調用語句的后一語句(10) 以下對C語言函數的有關描述中,正確的是_A。A. 在C中,調用函數時,只能把實參的值傳送給形參,形參的值不能傳送給實參B. C函數既可以嵌套定義又可遞歸調用C. 函數必須有返回值,否則不能使用函數D. C程序中有調用關系的所有函數必須放在同一個源程序文件中(11) C語言中函數的隱含存儲類型是_A。A. auto B. static C. extern
37、 D.無存儲類型(12) 能把函數處理結果的兩個數據返回給主調函數,在下面的方法中不正確的是A. return這兩個數B.形參用兩個元素的數組C.形參用兩個這種數據類型的指針D.用兩個全局變量2. 填空題(1) 變量的作用域主要取決于變量定義的位子,變量的生存期既取決于變量存儲類型,又取決于變量存儲方式。(2) 說明變量時,若省略存儲類型符,系統默認其為整形 存儲類別,該存儲類別的類型符為:_int_ 。(3) 靜態型局部變量的作用域是靜態局部變量定義的復合語句或函數體內,生存期是整個程序運行期內。函數中的形參和調用時的實參都是數組名時,傳遞方式為地址傳遞,都是變量時,傳遞方式為值傳遞。函數的
38、形式參數的作用域為整個函數體內,全局的外部變量和函數體內定義的局部變量重名時,函數體內定義的局部變量優先。(6) 若自定義函數要求返回一個值,則應在該函數體中有一條return語句,若自定義函數要求不返回一個值,則應在該函數說明時加一個類型說明符void 。若函數的形式參數是指針類型,則實參可以是數組名 、地址或 指針變量 。(8) 函數的參數為char *類型時,形參與實參結合的傳遞方式為地址傳遞。(9) 函數的實參為常量時,形參與實參結合的傳遞方式為值傳遞。(10) 對數組按值從大到小的順序排序后輸出,請填空。#i nclude <stdio.h>void mai n()flo
39、at a7=2,6,3,8,3,12,9;int i ;void sort(float*,i nt);sort (a,7 );for(i=0;i<7;i+) pri ntf("%f ",ai);prin tf("n"); void sort( float *p, int n )int i,j,k; float t;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=*(p+i); *(p+i)=*(p+k); *(p+k)=t; (11) 下列函
40、數在n個元素的一維數組中,找出最大值、最小值并傳送到調用函數,請填空。#in elude <stdio.h> void find(float *p, float *max, float *min, int n)int k;float t;*max=*p; *min = *p;for(k=1;k< n; k+)t=*(p+k);if( t>*max ) *max=t;if(t<*min) *min=t;3.寫出下列程序運行結果:(1)prin tf("%dn" ,p);mai n()int fun (i nt a,i nt b)int i=1,p
41、;int f;p=fu n(i,i+1);if(a>b)f=-1;f=1;return f;else if(a=b)f=0;else輸出: -1(2) 鍵盤輸入 abcdef<CR>#include <stdio.h> void fun( )char c ; if(c=getchar( )!='n') fun( ) ;putchar(c);void main( ) fun( ); 輸出: fedcba(3)#include <stdio.h>#define C 5int x=1,y=C; void main( )int x;x=y+;
42、printf("%d %dn", x,y); if(x>4) int x ; x=+y; printf("%d %dn",x,y) ; x+=y-;(4)#include <stdio.h>int c , a=4 ;func(int a , int b) c=a*b ; a=b-1 ; b+ ; return (a+b+1) ; void main( )int b=2 , p=0 ; c=1 ;p=func(b , a) ;printf("%d,%d,%d,%dn", a,b,c,p) ;輸出: 4,2,8,9(5)
43、unsigned fun6(unsigned num)unsigned k=1;do k*=num%10; num/=10; while(num);return k;void main( )unsigned n=26;printf("%d %dn",x,y);printf("%dn", fun6(n);輸出: 12輸出: 5 67 712 6第 7 章 數組習題1. 單項選擇題(1) int a4=5,3,8,9; 其中 a3 的值為 ( D ) 。A. 5B. 3C. 8D. 9(2) 以下 4 個字符串函數中, ( A ) 所在的頭文件與其他 3 個
44、不同。A. gets B. strcpy C. strlen D. strcmp(3) 以下 4 個數組定義中, ( D ) 是錯誤的。A. int a7; B. #define N 5 long bN; C. char c5; D. int n,dn;(4) 對字符數組進行初始化, ( B ) 形式是錯誤。A. char c1 ='1', '2', '3'B. char c2 =123;C. char c3 = '1', '2', '3', '0'D. char c4 ="
45、;123"(5) 在數組中,數組名表示 ( A ) 。A. 數組第 1 個元素的首地址 B. 數組第 2 個元素的首地址C. 數組所有元素的首地址 D. 數組最后 1 個元素的首地址(6) 若有以下數組說明,則數值最小的和最大的元素下標分別是 ( B ) int a12 = 1,2,3,4,5,6,7,8,9,10,11,12;A. 1,12 B. 0,11 C. 1,11 D. 0,12(7) 若有以下說明,則數值為 4 的表達式是 ( D ) 。int a12 =1,2,3,4,5,6,7,8,9,10,11,12; char c=' a' , d, g ;A.
46、ag-c B. a4 C. a'd'-'c' D. a'd'-cA. char a = "string"B. int a5 =0,1,2,3,4,5;(8)設有定義:char s12 ="string" ;則 printf( "%dn",strlen(s);的輸出是 ( A )A. 6B. 7 C. 11D. 12(9)設有定義:char s12 ="string"則 printf("%dn ", sizeof(s);的輸出是 ( B )A. 6B
47、. 7 C. 11D. 12(10) 合法的數組定義是 ( A )C. char a="stri ng " D. char a =0,1,2,3,4,5;(11) 合法的數組定義是(B )。A. int a3 =0,1,2,3,4,5; B. int a 3 =0,1,2,3,4;C. int a23=0,1,2,3,4,5,6; D. int a23=0,1,2,3,4,5,;(12) 下列語句中,正確的是 (D )。A. char a3 ='abc', '1' B. char a 3 ='abc', '1'
48、C. char a3 ='a', "1" D. char a 3 = "a", "1"(13) 下列定義的字符數組中,輸出printf("%sn", str2);的輸出是(C )。static str320 = "basic", "foxpro", "windows"A. basic B. foxpro C. wi ndows D.輸出語句出錯(14) 下列各語句定義了數組,其中哪一個是不正確的(C )。A. char a310="
49、;Chi na","America n","Asia"B. i nt x22=1,2,3,4;C. float x2 =1,2,4,6,8,10;D. i nt m3=1,2,3,4,5,6;(15) 數組定義為int a32=1,2,3,4,5,6,值為6的數組元素是(B )。A. a32 B. a21C. a12 D. a232. 填空題(1) C 語言中,數組的各元素必須具有相同的類型 ,元素的下標下限為 0 ,下標必須是正整數、0、或者 常量。但在程序執行過程中,不檢查元素下標是否越界 。(2) C 語言中,數組在內存中占一片連續 的存
50、儲區,由 數組名代表它的首地址。數組名是一個常量,不能對它進行賦值運算。(3) 執行 static int b5, a 3 =1,2,3,4,5,6;后,b4 = 0,a12 =6。(4) 設有定義語句static int a34=1,2,3; 則 a10 值為_2_,a11值為_0,a21的值為 0 。(5) 如定義語句為 char a = "windows",b = "2000",語句 printf("%s",strcat(a,b);的輸出結果為 windows2000。 輸入20個數,輸出它們的平均值,輸出與平均值之差的絕對值為
51、最小的數組元素。請填空。#include <stdio.h>for(i=0; i < 20; i+) seanf( “ f” ,&ai);#in clude <math.h>for(i=0;i<20;i+) pjz+=ai;void mai n( )pjz/=20;s=fabs(a0-pjz); float a20,pjz=0,s,t; int i,k;for(i=1;i<20;i+),pjz, t);if(fabs(ai-pjz)<s)printf(“ f,%f s=fabs(ai-pjz); t=ai;(7) 以下程序以每行10個數據
52、的形式輸出 a數組,請填空。void mai n()int a50,i;printf("輸入50個整數:");for(i=0; i<50; i+) scan f( "%d", & ai );for(i=1; i<=50; i+) if( i%10=0 )prin tf( "%3dn" , ai-1 ) ;else prin tf( "%3d",ai-1);(8) 下面程序的功能是輸出數組s中最大元素的下標,請填空。void mai n()int k, p;int s = 1,-9, 7, 2,
53、-10, 3;for(p=0,k=p; p<6; p+) if(sp > sk) k = p ;prin tf("%dn" ,k);char s80;int i ;for(i=0; i<80; i+) si=getchar();3閱讀程序,分析程序的功能。(1)#i nclude <stdio.h>#in clude <stri ng.h>void mai n()if(si='n') break;(3)if(strcmp(aj,ak)<0)#include <stdio.h>k=j;#include
54、 <string.h>if(k!=i)void main( )strcpy(c,ai) ;char a1080, c80;strcpy(ai, ak);int i, j, k;strcpy(ak,c);for(i=0; i<10; i+) / 字符串交換gets(ai);for(i=0; i<9; i+)for(i=0; i<10; i+)puts(ai);k=i;for(j=i+1; j<10; j+)分析:輸入 10 個字符串,用選擇排序算法將 10si='0' i=0;while(si) putchar(si+);putchar( n&
55、#39; ); 分析:輸入一個字符串,以回車結束,并將其原樣 輸出。(2)#include <stdio.h>#include <string.h>void main( )char str1080, c80;int i;for(i=0; i<10; i+) gets(stri);strcpy(c, str0);for(i=1; i<10; i+) if(strlen(c)<strlen(stri) strcpy(c,stri); printf( "%sn", c);printf( "%dn", strlen (c
56、);分析:輸入 10 個字符串,輸出 10 個字符串中最長 的字符串和它的長度。個字符串按從小到大順序排列并輸出。printf("%sn",a);(4) 閱讀程序,寫出運行結果。#include <stdio.h>void main( )分析:將字符串的最后的3 個元素移到字符串首位。輸出: efgabcdint a6=12,4,17,25,27,16 int b6=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
57、",ai);printf("n");分析:按數組a 中元素順序輸出與數組 b 中元素相同的數。輸出: 4,25,27,16(5) 閱讀程序,寫出運行結果。#include <stdio.h> void main( )char a8,temp; int j,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; 閱讀下列程序,寫出程序運行的輸出結果。#in elude <stdio.h> #in elude <stri ng.h> void mai n()cAc o-l-rd r ! '»*'for(i nt i=0;i<4;i+)prin tf("%sn ”,str1);str1i=''str1strle n(str1)-1='0:lU .*char astr=&q
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025合同解除與違約責任
- 2025全新版的房屋買賣合同示例
- 2025aa國際勞務合同
- 2025貸款抵押合同模板
- 《應對突發事件案例分析》課件
- 《魯迅作品解析》課件
- 《分裂過程的區》課件
- 《女媧造人神話》課件
- 《肺癌診治進展》課件
- 2025年恩施b2貨運資格證全題
- 了不起的我課件完整版
- 油藏工程重點知識點
- 金屬波紋管的焊接技術
- GB/T 22235-2008液體黏度的測定
- CAD輸入文字時提示“找不到主詞典無法啟動拼寫檢查程序”怎么辦
- -活出心花怒放的生命 課件 心理健康
- 給水泵檢修方案
- 設備出入庫管理辦法
- KEGG代謝通路中文翻譯
- GB∕T 17832-2021 銀合金首飾 銀含量的測定 溴化鉀容量法(電位滴定法)
- 低成本自動化的開展與案例77頁PPT課件
評論
0/150
提交評論