c語言經(jīng)典選擇填空題.doc_第1頁
c語言經(jīng)典選擇填空題.doc_第2頁
c語言經(jīng)典選擇填空題.doc_第3頁
c語言經(jīng)典選擇填空題.doc_第4頁
c語言經(jīng)典選擇填空題.doc_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

.選擇題(30分)(第一部分分10分,第二部分12分,第三部分8分)第一部分:簡單類題目( 50個(gè)題目,從中選擇10,每題1分)1、若num、a、b和c都是int型變量,則執(zhí)行表達(dá)式num=(a=4,b=16,c=32)后num的值為(C) A4 B16 C32 D5222.以下程序的輸出結(jié)果(B) 。 main( ) int x1=3, x2=0, x3=0; if (x1=x2+x3) printf(* * * *); else printf(# # # #); A輸出:* * * * B輸出:# # # #C存在語法錯(cuò)誤 D無輸出結(jié)果3.下面四個(gè)選項(xiàng)中,均是合法轉(zhuǎn)義字符的選項(xiàng)是(A)。A n B 017 C018 f xab D0 101 xlf4若有說明:int a=1,b=2,c=3,d=4;則表達(dá)式ab?a:cd?c:d的值是(D) 。A、4 B、3 C、2 D、15設(shè)i、j、和k是int型變量,且i=3,j=4,k=5,則以下值為0的表達(dá)式是 (D)。A i&j Bi=jCi|j+k&j-k D!(ij)&!k|1)6若希望當(dāng)num的值為奇數(shù)時(shí),表達(dá)式的值為“真”,num的值為偶數(shù)時(shí),表達(dá)式的值為“假”。則以下不能滿足要求的表達(dá)式是(C) 。Anum%2= =1 B. !(num%2= =0) C!(num%2) Dnum%27有以下程序main() int m=3,n=4,x; x=-m+; x=x+8/+n;printf(“%dn”,x);程序運(yùn)行后的輸出結(jié)果是 ( D ) 。A3 B5 C-1 D-28若有變量說明:int a=0,b=0,c=0;,以下符合C語言語法的賦值表達(dá)式是 ( C ) 。Aa=9+b+c=a+9 Ba=9+b;c=a+9;Ca=(9+b,b+) Da=9+b+=a+79若有以下定義,若int m=7,n=12,則能得到值為3的表達(dá)式是 ( D ) 。An%=(m%=5) Bn%=(m-m%5)Cn%=m-m%5 D(n%=m)-(m%=5)10以下能正確定義整型變量x、y和z并為其賦初值5的語句是 ( C ) 。Aint x=y=z=5; Bint x,y,z=5;Cint x=5,y=5,z=5; Dx=5,y=5,z=5; 11若x和y代表整型數(shù),以下表達(dá)式中不能正確表示數(shù)學(xué)關(guān)系|x-y|10的是 ( C ) 。Aabs(x-y)-10&x-y10C(x-y)10 D(x-y)*(x-y)10012. 設(shè) int a=12,則執(zhí)行完語句 a+=a-=a*a后,a的值是 ( D ) 。A 552 B 264 C 144 D -26413 以下敘述不正確的是 ( D )A)一個(gè)C源程序可由一個(gè)或多個(gè)函數(shù)組成B)一個(gè)C源程序必須包含一個(gè)main函數(shù)C)C程序的基本組成單位是函數(shù)D)在C程序中,注釋說明只能位于一條語句的后面14 下關(guān)于運(yùn)算符優(yōu)先順序的描述中正確的是 ( C )。A)關(guān)系運(yùn)算符 算術(shù)運(yùn)算符 賦值運(yùn)算符 邏輯與運(yùn)算符B)邏輯 運(yùn)算符 關(guān)系運(yùn)算符 算術(shù)運(yùn)算符 賦值運(yùn)算符C)賦值運(yùn)算符 邏輯與運(yùn)算符 關(guān)系運(yùn)算符 算術(shù)運(yùn)算符D)算術(shù)運(yùn)算符 關(guān)系運(yùn)算符 賦值運(yùn)算符=1) & (x=200) & (x=1) | (x=200) | (x=1) & (x=200) & (x=1) | (x=200) | (x=210)24設(shè)整型變量n=10,i=4,則賦值運(yùn)算n%=i+1執(zhí)行后,n的值是 () A. 0 B. 1 C. 2 D. 325在if(x)語句中的x與下面條件表達(dá)式等價(jià)的是:()A) x!=0 B) x=1 C) x!=1 D) x=026、已知字母A的ASCII碼為(65)10,變量ch1為字符型,則執(zhí)行語句ch1=A+6-3;后,ch1中的值為() A、D B、E C、一個(gè)不確定的值 D、C 27. 已知x=3、y=2,則表達(dá)式 x*=y+8的值為 ( C )A)3 B)2 C)30 D)1028. 設(shè)x為int型變量,則執(zhí)行以下語句后,x的值為 ( B )。x=10;x+=x- =x-x;A)10 B)20 C)40 D)3029 若有以下類型說明語句:char a; int b; float c; double d; 則表達(dá)式a*b+d-c的結(jié)果類型為 ( D ) Afloat Bchar Cint Ddouble30 若二維數(shù)組a有m列,則在aij前的元素個(gè)數(shù)為( B )A)j*m+i B)i*m+j C)i*m+j-1 D)i*m+j+131 對(duì)for(表達(dá)式1;表達(dá)式3)可理解為( B ) A)for(表達(dá)式1;0;表達(dá)式3) B)for(表達(dá)式1;1;表達(dá)式3)C)for(表達(dá)式1;表達(dá)式1;表達(dá)式3)D)for(表達(dá)式1;表達(dá)式3;表達(dá)式3)32 以下描述不正確的是 ( C )。A使用while和do-while循環(huán)時(shí),循環(huán)變量初始化的操作應(yīng)在循環(huán)體語句之前完成Bwhile循環(huán)是先判斷表達(dá)式,后執(zhí)行循環(huán)語句Cdo-while 和for循環(huán)均是先執(zhí)行循環(huán)語句,后判斷表達(dá)式Dfor、while 和do-while循環(huán)中的循環(huán)體均可以由空語句構(gòu)成33.下列程序段的運(yùn)行結(jié)果是 ( C )。int n=0; while(n+c&b=c B)a|b+c&b-c C)!(ab)&!c|1 D)!(a+b)+c-1&b+c/235. 有以下程序:#include void main ( ) int a=1,b=2,m=0,n=0,k;k=(n=ba)|(m=ab);printf (%d,%dn,k,m);程序運(yùn)行后的輸出結(jié)果是 ( C )。A)0,0 B)0,1 C)1,0 D)1,136、以下能正確進(jìn)行字符串賦值操作的是 ( D ) A、char s5=ABCDE; B、char s5=A, B, C, D, E; C、char *s; *s=ABCDE; D、char *s=ABCDE; 37 下面程序的運(yùn)行結(jié)果是 () #include #include main() char *s1=AbDeG; char *s2=AbdEg; s1+=2;s2+=2; printf(%d,strcmp(s1,s2); A) 正數(shù) B) 負(fù)數(shù) C) 零 D) 不確定的值3 若有定義:int a23,則對(duì)a數(shù)組的第i行j列元素地址的正確引用為 (A ) A) *(ai+j) B) (a+i) C) *(a+j) D) ai+j 以下能對(duì)二維數(shù)組y進(jìn)行初始化的語句是()A、static int y2 =1,0,1, 5,2,3;B、static int y 3=1,2,3, 4,5,6;C、static int y24=1,2,3, 4,5 , 6;D、static int y 3=1,0,1,0, , 1,1;40 以下printf語句的輸出結(jié)果是() printf(%dn, strlen(school); A、7 B、6 C、存在語法錯(cuò)誤 D、不定值41 不能把字符串:Hello!賦給數(shù)組b的語句是( B)。A. char b10=H,e,l,l,o,!; B. char b10; b=Hello!;C. char b10; strcpy(b,Hello!); D. char b10=Hello!;42 .設(shè)有定義:int a10,*p=a+6,*q=a;,則下列運(yùn)算哪種是錯(cuò)誤的 ( C ) A p-q B p+3 C p+q D pq43. 下列描述中不正確的是()A)字符型數(shù)組中可以存放字符串 B)可以對(duì)字符型數(shù)組進(jìn)行整體輸入、輸出 C)可以對(duì)整型數(shù)組進(jìn)行整體輸入、輸出 D)不能在賦值語句中通過賦值運(yùn)算符“=”對(duì)字符型數(shù)組進(jìn)行整體賦值44 以下對(duì)指針變量的操作中,不正確的是(D) A、int a, *p, *q; p=q=&a; B、int a=6, *p, *q=&a; p=q; C、int a=b=6, *p; p=&a; b=*p; D、int a, *p, *q; q=&a; p=*q;45. 給出以下定義char x =abcdefg;char y =a,b,c,d,e,f,g;則正確的敘述為 ( C ) 。A)數(shù)組x和數(shù)組y等價(jià)B)數(shù)組x和數(shù)組y的長度相同C)數(shù)組x的長度大于數(shù)組y的長度D)數(shù)組x的長度小于數(shù)組y的長度46、設(shè)變量y為float類型,x為int類型,則以下能實(shí)現(xiàn)將y中的數(shù)值保留小數(shù)點(diǎn)后兩位,第三位進(jìn)行四舍五入運(yùn)算的表達(dá)式是 ( B )A、y=(y*100+0.5)/100.0 B、x=y*100+0.5,y=x/100.0C、y=y*100+0.5/100.0 D、y=(y/100+0.5)*100.047 判斷char型變量c1是否為大寫字母的正確表達(dá)式是 ( C )A、A=c1=A)&(c1=A)&(c1=Z) D、(A=c1)48若a為已知整型變量,則對(duì)指針變量p的正確說明和初始化為 ( B ) 。Aint *p=a; Bint *p=&a; Cint *p=*a; Dint &p=&a;49 下列條件語句中,功能與其它語句不同的是 ( D ) 。Aif(a) printf(“%dn”,x);else printf(“%dn”,y);Bif(a= =0) printf(“%dn”,y);else printf(“%dn”,x);Cif(a!=0) printf(“%dn”,x);else printf(“%dn”,y);Dif(a=0) printf(“%dn”,x);else printf(“%dn”,y);50. 若有語句:char *line5;,以下敘述中正確的是 ( A )。 A)定義line是一個(gè)指針數(shù)組,每個(gè)數(shù)組元素是一個(gè)基類型為char的指針變量 B)定義line是一個(gè)指針變量,該變量可以指向一個(gè)長度為5的字符型數(shù)組 C)定義line是一個(gè)指針數(shù)組,語句中的*號(hào)稱為間址運(yùn)算符 D)定義line是一個(gè)指向字符型函數(shù)的指針 第二部分:中等難度題目(24個(gè)題目,從中選擇8個(gè),每題1.5分 共 12分)1 設(shè)有聲明語句:int a=1,b=0;則執(zhí)行以下語句后輸出 : (B)switch (a) case 1: switch (b) case 0: printf(*0*);break; case 1: printf(*1*);break; case 2: printf(*2*);break;A)*0* B)*0*2* C)*0*1*2* D)有語法錯(cuò)誤2 若有如下程序段,其中s,a,b,c均已定義為整型變量,且a、c均已賦值s=a; for(b=1;b=c;b+) s=s+1;則與上述程序段功能等價(jià)的賦值語句是 ( B )。As=a+b; Bs=a+c; Cs=s+c; Ds=b+c; 3 . 若有程序段:for (m=1;m=100;m+) scanf(%d,&y); if(y0) continue; printf(%3d,m);正確的描述是( D )。A 當(dāng)y=0時(shí)什么也不輸出C printf函數(shù)永遠(yuǎn)也不執(zhí)行 D 最多允許輸出100個(gè)非負(fù)整數(shù) 4. 若有程序段如下:a=b=c=0;x=35;if(!a)x-;else if(b);if(c)x=3;else x=4; 執(zhí)行后,變量x的值是 ( B )A34 B4 C35 D3 5. 有以下程序:#include void main( ) int i=0,s=0;for(; ;) if(i=3|i=5)continue;if(i=6) break;i+; s+=i;printf(%dn,s);程序運(yùn)行后的輸出結(jié)果是( D )。A)10 B)13 C)21 D)程序進(jìn)入死循環(huán) 6 下面程序段是輸出兩個(gè)字符串中對(duì)應(yīng)位置相等的字符,橫線處應(yīng)該是( A )char x=”programming”;char y=”Fortran”;int i=0;while(xi!=0 & yi!=0)if(xi=yi) printf(“%c”, );else i+;A) xi+ B) y+i C) xi D) yi7. 閱讀以下程序:#include void main() int x;scanf (%d,&x);if (x-5) printf(%d,x);else printf(%d,x+);程序執(zhí)行后,如果從鍵盤上輸入5,則輸出結(jié)果是 ( B )A)3 B)4 C)5 D)6 8 int fun(char *a,char *b) while(*a!=0)&(*b!=0)&(*a=*b) a+;b+; return(*a-*b);該函數(shù)的功能是_D_。A)計(jì)算a和b所指字符串的長度之差B)將b所指字符串連接到a所指字符串中C)將b所指字符串連接到a所指字符串后面D)比較a和b所指字符串的大小9. 有如下程序段:char str14=I am ;strcat(str, sad !);scanf(%s, str);printf(%s, str);當(dāng)輸入為happy!時(shí),輸出的結(jié)果是( B)。(A)I am sad! (B)happy! (C)I am happy! (D)happy!ad!10. 以下程序的輸出結(jié)果是 ( C )。#include #include void main( )char b30;strcpy (&b0,CH);strcpy (&b1,DEF);strcpy (&b2,ABC);printf (%sn,b); A)CHDEF B)DEFABC C)CDABC D)CHABC 11. 下面程序的輸出結(jié)果為( A )。#include void main( ) int a3,i,j,k=2;for(i=0;i3;i+)ai=0;for(i=0;ik;i+)for(j=0;jk;j+)aj=i*j;printf(%dn,a2);A)0 B)1 C)2 D)312. 以下程序:#include void main( ) int aa33=2,4,6, i,*p=&aa00;for(i=0;i2;i+) if(i =0) aaii+1=*p+1;else +p;printf(%d,* p);printf(n);其輸出結(jié)果是 ( A )A)23 B)26 C)33 D)3613. 下面程序的輸出結(jié)果是( B )。#include void main( ) int i,j,k;char str5;for(i=0;i5;i+)stri=A;k=4;for(i=0;ik;i+)for(j=0;jk;j+)strj=stri+32;printf(%cn,strk);A)a B)A C)B D)不確定的值 14. 下列程序的輸出結(jié)果為 ( B ) 。#include void main() int k=0,i,s =1,-9,7,2,-10,3;for (i=0;isk) k=i;printf(n%dn,k);(A)4 (B)2 (C)3 (D)1 15. 以下程序的輸出結(jié)果是 ( C )。#include void main( )char a10=1,2,3,4,5,6,7,8,9,0,*p;int i; i=8;p=a+i;printf (%sn,p-3);A)6 B)6 C)6789 D)78916有以下程序#includevoid main() int a10=1,2,3,4,5,6,7,8,9,10, *p=&a3, *q=p+2;printf(%dn, *p + *q);程序運(yùn)行后的輸出結(jié)果是 ( B )。 A)16 B)10 C)8 D)617有以下程序#includevoid main() int a33,*p,i;p=&a00;for(i=0;i9;i+) pi=i;for(i=0;i3;i+) printf(%d,a1i);程序運(yùn)行后的輸出結(jié)果是 ( D )A)012 B)123 C)234 D)345 18. 有以下程序#includevoid main() int p8=11,12,13,14,15,16,17,18,i=0,j=0;while(i+=0;i-) sum(&aai);printf(%dn,aa0); 執(zhí)行后的輸出結(jié)果是 ( A )A. 4B. 3C. 2 D. 120. 以下程序運(yùn)行后,輸出結(jié)果是 ( A ) 。#include int d=1;void fun (int p)int d=5;d+=p+;printf(%d,d);void main( ) int a=3;fun(a);d+=a+;printf(%dn,d);A 84 B)99 C)95 D)44第三部分:較難題目(5 個(gè)題目,從中選擇4個(gè),每題2分)1. 有以下程序#include void main()int i,test ,p17,head;for(i=0;i16;i+)pi=i+1;p16=0;test=0;while(test!=ptest)for(i=1;i3;i+)head=test;test=ptest;phead=ptest;test=phead;printf(n%5d,test);程序執(zhí)行后的輸出結(jié)果是_C_。A)1,2,3B)2,3,4C)10D)42有以下程序#include void main()char ch25=693,825,*p2;int i,k,j,s=0;for(i=0;i2;i+)pi=chi;for(i=0;i=0&pij=9;j+=2)s=10*s+pij-0;printf(%dn,s);程序執(zhí)行后的輸出結(jié)果是_A_。A)6385 B)22 C)33 D)693825 3.有以下程序#include void f (int *x,int *y) int t;t=*x;*x=*y;*y=t;void main( ) int a8=1,2,3,4,5,6,7,8,i,*p,*q;p=a;q=&a7;while(pq) f (p,q); p+;q-;for (i=0;i8;i+)printf(%d,ai);程序運(yùn)行后的輸出結(jié)果是 D 。(A)8,2,3,4,5,6,7,1, (B)5,6,7,8,1,2,3,4, (C)1,2,3,4,5,6,7,8 (D)8,7,6,5,4,3,2,1,4. 以下程序的輸出結(jié)果是 。#include int x=3;void incre( ) static int x=1;x*=x+1;printf(%d ,x);void main( ) int i;for (i=1;ix;i+)incre( );A)3 3 B)2 2 C)2 6 D)2 55以下程序#include #include void f(char *s, char *t) char k;k=*s; *s=*t; *t=k;s+; t-;if (*s) f(s, t);void main() char str10=abcdefg, *p;p=str+strlen(str)/2+1;f(p, p-2)

溫馨提示

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

評(píng)論

0/150

提交評(píng)論