C語言基礎練習100題(含答案)_第1頁
C語言基礎練習100題(含答案)_第2頁
C語言基礎練習100題(含答案)_第3頁
C語言基礎練習100題(含答案)_第4頁
C語言基礎練習100題(含答案)_第5頁
已閱讀5頁,還剩6頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、C 語言基礎練習100題(含答案)雷柳青編排1 、下面程序的輸出是#includevoid main() int k=11;printf(k=%d,k=%o,k=%xn,k,k,k);A) k=11,k=12,k=11B) k=11,k=13,k=13C) k=11,k=013,k=0xbD) k=11,k=13,k=b2 、在下列選項中,不正確的賦值語句是.A) +t;B) n1=(n2=(n3=0);C) k=i=j; D) a=b+c=1;3 、下面合法的C 語言字符常量是.A) tB) AC) 65D) A4、字符(char)型數據在微機內存中的存儲形式是 A) 反碼 B) 補碼 C)

2、 EBCDIC 碼 D) ASCII 碼5、設int a=12,則執行完語句 a+=a-=a*a后,a的值是A) 552B) 264 C) 144D) -2646 、執行下面程序中的輸出語句后 ,輸出結果是#includevoid main()int a;printf(%dn,(a=3*5,a*4,a+5);A) 65B) 20C) 15D) 107 、下面程序的輸出是.#includevoid main()int x=023;printf(%dn,-x);A) 17B) 18C) 23 D) 248 、下面程序的輸出是.#includevoid main()char ch1,ch2;ch1=

3、A+5-3;ch2=A+6-3;printf(%d,%cn,ch1,ch2);A) 67,D B) B,C C) C,D D) 不確定的值9、以下程序的輸出結果是.#includevoid main() int x=10,y=10;printf(%d %dn,x-,-y);A) 10 10B) 9 9 C) 9 10 D) 10 910、若x和y都是int型變量,x=100,y=200,且有下面的 程序片段 :printf(%d,(x,y);上面程序片段的輸出結果是.A) 200B) 100C) 100 200 D) 輸出格式符不夠,輸出不確定的值11、閱讀下面的程序#includevoid

4、main()int i,j;i=010;j=9;printf(%d,%d,i-j,i+j);則程序的運行結果是.A) 1,19 B) -1,19 C) 1,17 D) -1,1712、閱讀下面的程序#includevoid main() int i,j,m,n;i=8;j=10;m=+i;n=j+;printf(%d,%d,%d,%d,i,j,m,n);程序的運行結果是.A) 8,10,8,10B) 9,11,8,10C) 9,11,9,10D) 9,10,9,1113、若已定義int a,則表達式a=10,a+10,a+的值是 A) 20B) 10C) 21D) 1114 、閱讀下面的程序#

5、includevoid main() int i,j;scanf(%3d%2d,&i,&j);printf(i=%d,j=%dn,i,j); 如果從鍵盤上輸入 1234567,則程序的運行結果 是.A) i=123,j=4567B) i=1234,j=567C) i=1,j=2D) i=123,j=4515 、下面程序的輸出結果是.#includevoid main() int a=-1, b=4, k;k=(+a=0)&(b-=0); printf(%d,%d,%dn,k,a,b);A) 1,1,2 B) 1,0,3 C) 0,1,2 D) 0,0,316 、下面程序的輸出結果是.#incl

6、ude void main() int a=5,b=3;float x=3.14, y=6.5;printf(%d,%dn,a+b!=a-b,x=(y-=6.1); A) 1,0B) 0,1 C) 1,1D) 0,017 、若有以下定義和語句 :int a=010, b=0x10, c=10;printf(%d,%d,%dn,a,b,c);則輸出結果是.A) 10,10,10 B) 8,16,10 C) 8,10,10 D) 8,8,10 18、已知有 double 型變量 x=2.5,y=4.7, 整型變量 a=7, 則表達式 x+a%3*(int)(x+y)%2/4 的值是 .A) 2.4

7、B) 2.5C) 2.75 D) 019 、 設 有以 下 語句 :int x=10;x+=3+x%3, 則 x 的值 是.A) 14B) 15C) 11D) 1220、若d 為 double 型變量 ,則表達式 d=1,d+5,d+ 的值是.A) 1B) 6.0C) 2.0D) 1.021、若有定義 int a=12,n=5,則表達式 a%=(n%2)運算 后 ,a 的值 .A) 0B) 1C) 12D) 622、若有定義 int x=3,y=2 和 float a=2.5,b=3.5,則表達 式 :(x+y)%2+(int)a/(int)b 的值是 .A) 0B) 2C) 1.5D) 12

8、3、在C 語言中 ,以下敘述不正確的是.A) 在 C 程序中,無論是整數還是實數,都能被準確無誤的表示B) 在 C 程序中,變量名代表存儲器中的一個位置C) 靜態變量的生存期與整個程序的生存期相同D) C 語言中變量必須先定義后引用24、設a 為整型變量,不能正確表達數學關系10a15的 C 語言表達式是.A) 10a10&a15D) !(a=15)25、如果 c 為字符型變量,判斷c 是否為空格不能使用.(假設已知空格 ASCII 碼為 32)A) if(c=32)B) if(c=32)C) if(c=40)D) if(c=)26、執行下面程序時,若從鍵盤輸入2 ,則程序的運行結果是.#in

9、clude void main( ) int k; char cp;cp=getchar( );if (cp=0 & cp=a & cp=f)k=cp-a+10;else k=cp-A+10;printf(%dn,k);A) 2B) 4C) 1D) 1027、執行下面程序后,運行結果是.#include void main( ) int x=41,y=1;if (x%3=0 & x%7=0) y+=x;printf(y=%dn,y);elsey=x;printf(y=%d,y);A) y=41 B) y=43 C) y=42 D) y=128、運行下面程序時,從鍵盤輸入 12,34,9 ,則輸

10、出結果是.#include void main( ) int x,y,z;scanf(%d,%d,%d,&x,&y,&z);if (xy)if (yz)printf(%dn,z);else printf(%dn,y);else if (xz)printf(%dn,z);else printf(%dn,x);A) 34B) 12C) 9 D) 不確定的值29 、運行下面程序時,從鍵盤輸入字母H ,則輸出結果是 .#include void main( ) char ch;ch=getchar( );switch(ch) case H:printf(Hello!n);case G:printf(G

11、ood morning!n);default:printf(Bye_Bye!n);A) Hello!B) Hello!Good Morning!C) Hello!D) Hello!Good morning!Bye_Bye!Bye_Bye!30 、執行下列程序段后的輸出結果是.int x=1,y=1,z=1;x+=y+=z;printf(%dn,x=A& ch=Z)?ch+32:ch 的值是 .A) ZB) aC) zD) A32 、下面程序的輸出結果是.#include void main( ) int x=8,y=-7,z=9;if (xy)if (y0) z=0;else z-=1;pri

12、ntf(%dn,z);A) 8B) 1C) 9D) 033、運行下面程序時,若從鍵盤輸入3 , 4 ,則程序的輸出結果是.#include void main( ) int a,b,s;scanf(%d,%d,&a,&b);s=a;if (sb) s=b;s=s*s;printf(%dn,s) ;A) 14 B) 16C) 18D) 2034、下列程序的執行結果是.#include void main( ) int x=0,y=1,z=0;if (x=z=y)x=3;printf(%d,%dn,x,z);A) 3,0B) 0,0C) 0,1D) 3,135、能夠完成如下函數計算的程序段是.廠-

13、1x0A) y=1;B) if (x=0)if(x!=0)if(x0) y=1;if(x0) y=1;else y=0;else y=0;else y=-1;C) y=0;D) y=-1;if (x=0)if (x0) y=1;if (x0) y=1;else y=0;else y=-1;36、以下程序的執行結果是#include void main( ) int x=1,y=0;switch (x)case 1:switch (y)case 0:printf(firstn);break;case 1:printf(secondn);break;case 2:printf(thirdn);A)

14、 firstB) firstsecondthirdC) firstD) secondthird37 、以下程序的執行結果是.#include void main( ) int a,b,c,d,x;a=c=0;b=1;d=20;if (a) d=d-10;else if(!b)if (!c) x=15;else x=25;printf(d=%dn,d);A) d=20 B) d=10 C) d=15 D) 2538 、下列程序執行后的輸出結果是.#include void main( ) int x,y=1,z;if (z=y)0)x=4;else if (y=0) x=5;else x=6;p

15、rintf(%d,%dn,x,y);A) 4,1B) 6,1 C) 5,0 D) 出錯信息39、有如下程序#include void main( ) int x=1,a=0,b=0;switch(x)case 0: b+;case 1: a+;case 2: a+;b+;printf(a=%d,b=%dn,a,b);該程序的輸出結果是.A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=240、下面程序的輸出結果是.#include void main( ) int a=-1,b=1,k;if (+a0) & (b-=0)printf(%d %dn,a,b);e

16、lseprintf(%d %dn,b,a);A) -1 1B) 0 1 C) 1 0 D) 0 041、假定w、 x、 y、 z、 m 均為 int 型變量,有如下程序段:w=1;x=2;y=3;z=4;m=(wx)?w:x;m=(my)?m:y;m=(m100) printf(%dn,a100);else printf(%dn,a=100);A) a=100 B) 100 C) 0D) 143、若執行下面的程序從鍵盤上輸入 9,則輸出結果是.#include void main( )int n;scanf(%d,&n);if (n+10) printf(%dn,n);else printf(

17、%dn,n-);A) 11B) 10C) 9D) 844、以下程序段運行結果是.int x=1,y=1,z=-1;x+=y+=z;printf(%dn,xy?y:x);A) 1B) 2 C) 4 D) 不確定的值45、有以下程序#include void main( ) int a,b,c=246;a=c/100%9;b=(-1)&(-1);printf(%d,%dn,a,b);輸出結果是.A) 2,1B) 3,2C) 4,3 D) 2,-146 、運行下面程序時,若從鍵盤輸入數據為 123 ,則輸出結果是.#include stdio.hvoid main() int num,i,j,k,p

18、lace;scanf(%d,&num);if (num99)place=3;else if(num9)place=2;elseplace=1;i=num/100;j=(num-i*100)/10;k=(num-i*100-j*10);switch (place) case 3: printf(%d%d%dn,k,j,i);break;case 2: printf(%d%dn,k,j);break;case 1: printf(%dn,k);A) 123B) 1,2,3 C) 321 D) 3,2,147 、執行下列程序后的輸出結果是.#include void main( ) int k=4,

19、a=3,b=2,c=1;printf(%dn,ka?k:cb?c:a);A) 4B) 3C) 2D) 148 、以下條件表達式中能完全等價于條件表達式 if(x) 中的 x 的是 .A) (x=0) B) (x!=0) C) (x=1) D) (x!=1)49、若運行下面程序時,給變量a 輸入 15,則輸出結果是.#include void main( ) int a,b;scanf(%d,&a);b=a15?a+10:a-10;printf(%dn,b) ;A) 5B) 25C) 15 D) 1050、執行下面程序的輸出結果是.#include void main( ) int a=5,b=

20、0,c=0;if (a=a+b) printf(*n);else printf(#n);A) 有語法錯誤不能編譯B) 能通過編譯,但不能通過連接C) 輸出*D) 輸出#51、為了避免嵌套的 if-else 語句的二義性, C 語言規定 else 總是與 組成配對關系 .A) 縮排位置相同的 ifB) 在其之前未配對的 ifC) 在其之前尚未配對的最近的 ifD) 同一行上的 if52、以下程序段.x=-1;do x=x*x; while (!x);A)是死循環B)循環執行兩次C)循環執行一次D)有語法錯誤53、對下面程序段描述正確的是.int x=0,s=0;while (!x!=0) s+=

21、+x;printf(%d,s);A) 運行程序段后輸出0B) 運行程序段后輸出1C) 程序段中的控制表達式是非法的D) 程序段循環無數次54、下面程序段的輸出結果是.x=3;do y=x-;if (!y) printf(*);continue; printf(#); while(x=2);A) # B) #* C)死循環D)輸出錯誤信息55 、下面程序的運行結果是.#includevoid main( ) int a=1,b=10;do b-=a;a+; while(b-0);printf(%d,%dn,a,b);A) 3,11B) 2,8 C) 1,-1D) 4,956 、下面程序段的運行結

22、果是.int n=0;while (n+=2) printf(%d,n);A) 012B) 123C) 234D) 錯誤信息57、下面程序段的運行結果是.int x=0,y=0;while (x15) y+,x+=+y;printf(%d,%d,y,x);A) 20,7B) 6,1258、下面程序的運行結果是C) 20,8.D)8,20#includevoid main() int s=0,i=1;while (s3;x-) if(x%3) x-;-x; -x;printf(%d ,x);A) 6 3B) 7 4C) 6 2D) 7 3C) 26D) 25C) 15 D) 無限循環60、下面程

23、序的運行結果是#include void main( ) int a,b;a=-1;b=0; do +a;+a;b+=a; while(a9); printf(%dn,b);A) 34B) 2461、下面程序段的運行結果是for(i=1;i=5;) printf(%d,i);i+;A) 12345 B) 123462、下面程序的輸出結果是#includevoid main( ) int n=4;while (n-) printf(%d ,n-);A) 2 0 B) 3 1C) 3 2 1 D) 2 1 063、以下程序運行后的輸出結果是.#includevoid main() int i=10

24、,j=0; do j=j+1;i-;while(i2); printf(%dn,j);A) 50B) 52C) 51D) 864、有如下程序#includevoid main() int x=23; do printf(%d,x-);while(!x);該程序的執行結果是A) 321B) 23C) 不輸出任何內容D) 陷入死循環65 、以下程序段的執行結果是.int i,j,m=0;for(i=1;i=15;i+=4)for(j=3;j=19;j+=4)m+;printf(%dn,m);A) 12 B) 15C) 20 D) 2566 、下面程序的輸出結果是.#includevoid main

25、( ) int i;for(i=1;i6;i+) if (i%2!=0) printf(#);continue; printf(*);printf(n);A) #*#*#B) # C) * D) *#*#*67 、下面程序的輸出結果是.#includevoid main( ) int x=10,y=10,i;for(i=0;x8;y=+i)printf(%d%d ,x-,y);A) 10 1 9 2B) 9 8 7 6C) 10 9 9 0D) 10 10 9 168 、執行以下程序后,輸出的結果是.#includevoid main( ) int y=10;do y-;while (-y);

26、printf(%dn,y-);A) -1B) 1C) 8D) 069、有如下程序#includevoid main( ) int n=9;while(n6) n-;printf(%d,n);該程序段的輸出結果是.A) 987 B) 876C) 8765 D) 987670、有如下程序#includevoid main( ) int i,sum=0;for(i=1;i=3;sum+) sum+=i; printf(%dn,sum);該程序的執行結果是.A) 6 B) 3 C) 死循環D) 071、以下循環體的執行次數是#includevoid main( ) int i,j;for(i=0,j=

27、1; i=j+1; i+=2, j-) printf(%d n,i);A) 3B) 2C) 1D) 072、 在執行以下程序時, 如果從鍵盤上輸入: ABCdef ,則輸出為.#include void main( ) char ch;while (ch=getchar( )!=n) if (ch=A & ch=a & chz) ch=ch-32; printf(%c,ch);printf(n);A) ABCdef B) abcDEF C) abc D) DEF73、下面程序的輸出結果是.main( )int i,k=0, a=0, b=0;for(i=1;i=4;i+)k+;if (k%2=

28、0) a=a+k; continue; b=b+k;a=a+k;printf(k=%d a=%d b=%dn,k,a,b);A) k=5 a=10 b=4B) k=3 a=6 b=4C) k=4 a=10 b=3D) k=4 a=10 b=474、執行下面程序段后,k 的值是 .int i,j,k;for(i=0,j=10;ij;i+,j-)k=i+j;A) 9B) 11C) 8D) 1075 、 以下程序的功能是: 從鍵盤上輸入若干個學生的成績 , 統計并輸出最高成績和最低成績, 當輸入負數時結束輸入。請填空。 #includevoid main( ) float x,amax,amin;s

29、canf(%f,&x);amax=x;amin=x;while () if (xamax) amax=x;if () amin=x;scanf(%f,&x);printf(namax=%fnamin=%fn,amax,amin);A) x0C) x0D) x=0xaminxaminxamin76 、閱讀以下程序,程序運行后的輸出結果是#includevoid main( ) int x; for(x=5;x0;x-)if (x-5) printf(%d,x); else printf(%d,x+);A) 4,3,2 B) 4,3,1, C) 5,4,2 D) 5,3,1,77 、以下程序段的輸

30、出結果是.int k,n,m;n=10;m=1;k=1;while (k100) break;C) int k=1000;D) int s=36;do +k; while (k=1000);while (s) -s;81、下面程序的輸出結果是.#includevoid main( ) int i;for(i=1;i=0);A) 4B) 5C) 3D) 283、 若 i 為整型變量,則以下循環語句的循環次數是_for(i=2;i= =0;)printf(%d,i-);A) 無限次B) 0 次 C) 1 次 D) 2 次84、對于for(表達式1;表達式3)可理解為 A) for(表達式1;0;表

31、達式3)B) for(表達式1;1;表達式3)C) for(表達式1;表達式1;表達式3)D) for(表達式1;表達式3;表達式3)85、合法的數組定義是.A) int a6=string; B) int a5=0,1,2,3,4,5;C) char a=string;D) char a=0,1,2,3,4,5;86、給出以下定義:char x =abcdefg;char y =a,b,c,d,e,f,g;則正確的敘述為 .A)數組x和數組y等價B)數組x和數組y的長度相同C) 數組 x 的長度大于數組 y 的長度D)數組x的長度小于數組y的長度87 、定義如下變量和數組:int i;int

32、 x44=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16;則下面語句的輸出結果是.for(i=0;i4;i+) printf(%3d,xi3-i);A) 15 9 13B) 1 6 11 16C) 4 7 10 13D) 4 8 12 1688 、下面程序輸出的結果是.#include void main( ) int i,j,x=0;static int a6=1,2,3,4,5,6;for(i=0,j=1;i5;+i,j+)x+=ai*aj;printf(%dn,x);A) 數組a 中首尾的對應元素的乘積B) 數組a 中首尾的對應元素的乘積之和C) 數組a 中

33、相鄰各元素的乘積D) 數組a 中相鄰各元素的乘積之和89、若有以下說明:char s1 =tree,s2=flower; ,則以下對數組元素或數組的輸出語句中,正確的是A) printf(%s%s,s15,s27);B) printf(%c%c,s1,s2);C) puts(s1);puts(s2); D) puts(s1,s2);90 、運行下面程序段的輸出結果是.char s110=S,e,t,0,u,p,0;printf(%s,s1);A) Set B) Setup C) Set up D) Set91 、以下程序段的輸出結果是.char s =an apple;printf(%dn,strlen(s);A) 7B) 8C) 9D) 1092、若有說明:char c10=E,a,s,t,0; ,則下述說法中正確的是 .A) c7 不可引用B)c6可引用,但值不確定C) c4 不可引用D)c4可引用,其值為空字符93、若有說明char c7=s,t,r,i,n,g; 則對元素的非法引用是.A) c0 B) c9-6C) c4*2 D) c2*394、如有說明:char s15,s27; , 要給數組 s1 和 s2 整體賦值,下列語句中正確的是.A) s1=getchar(); s2=getchar();B) scanf(%s%s,s1,s2);C) scanf(%c%c

溫馨提示

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

評論

0/150

提交評論