二級(jí)C語(yǔ)言100道經(jīng)典選擇題與答案_第1頁(yè)
二級(jí)C語(yǔ)言100道經(jīng)典選擇題與答案_第2頁(yè)
二級(jí)C語(yǔ)言100道經(jīng)典選擇題與答案_第3頁(yè)
二級(jí)C語(yǔ)言100道經(jīng)典選擇題與答案_第4頁(yè)
二級(jí)C語(yǔ)言100道經(jīng)典選擇題與答案_第5頁(yè)
已閱讀5頁(yè),還剩39頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、以下不正確的C語(yǔ)言標(biāo)識(shí)符是一OA) intB) a L2C) ablexeD) _x(1以下是正確的c語(yǔ)言標(biāo)識(shí)符是一。A) #defineB) 123C) %dD) n【】下列四組字符串中都可以用作C語(yǔ)言程序標(biāo)識(shí)符的一組是。A) print B) iam C) Pxq D) str 1_3d one_half My->book Cpp oodbs tart$it line#pow aBc 3paiwhile【】下面各選項(xiàng)組中,均是c語(yǔ)言關(guān)鍵字的組是。A) auto, enum, includeB) switch, typedef, continueC) signed, union, sc

2、anfD) if> struct, type【】下列不屬于C語(yǔ)言關(guān)鍵字的是°A) defaultB) registerC) enumD) external【】C語(yǔ)言程序從main。函數(shù)開(kāi)始執(zhí)行,所以這個(gè)函數(shù)要寫(xiě)在一。A)程序文件的開(kāi)始B)程序文件的最后0 它所調(diào)用的函數(shù)的前面D)程序文件的任何位置(1下列關(guān)于C語(yǔ)言的敘述錯(cuò)誤的是一A)大寫(xiě)字母和小寫(xiě)字母的意義相同B)不同類型的變量可以在一個(gè)表達(dá)式中0 在賦值表達(dá)式中等號(hào)(二)左邊的變量和右邊的值可以是不同類型D)同一個(gè)運(yùn)算符號(hào)在不同的場(chǎng)合可以有不同的含義【】在C語(yǔ)言中,錯(cuò)誤的int類型的常數(shù)是。A) 32768B) 0C) 03

3、7D) OxAF【】執(zhí)行語(yǔ)句printf(Rx",-1);屏幕顯示一。A) -1B) 10 -ffffD) ffff已知long i=32768;執(zhí)行語(yǔ)句printf (飛d", i);屏幕顯示A) -1B) -327680 1D) 32768已知long i=65539;執(zhí)行語(yǔ)句printf (飛d", i);屏幕顯示A) 65539B) -3C) 3D)程序不能執(zhí)行【】在C語(yǔ)言中,整數(shù)-8在內(nèi)存中的存儲(chǔ)形式是0A) 1111111111111000B) 100000000000100000000000000001000D)1111111111110111【】C

4、語(yǔ)言中字符型(char)數(shù)據(jù)在內(nèi)存中的存儲(chǔ)形式是一。A)原碼B)補(bǔ)碼0反碼D) ASCII 碼【】將字符g賦給字符變量C,正確的表達(dá)式是。A) c=147B) c="147wC) c=' 147'D) c=' 0147'【】下列轉(zhuǎn)義字符中錯(cuò)誤的一個(gè)是OA) ''000'B) '0014'C) 'xlirD) '2'【】將空格符賦給字符變量c,正確的賦值語(yǔ)句是A) c=' 0'B) c=NULLC) c=0D) c=32【】已知:char a=' 70';則變

5、量a中。A)包含1個(gè)字符B)包含2個(gè)字符0 包含3個(gè)字符D)說(shuō)明非法字符串""E0Fn=-61""的長(zhǎng)度是 。A) 8B) 90 14D)非法字符串【】字符串"”的長(zhǎng)度是 。A) 0B) 10 2D)非法字符串【】已知:char a; int b; float c; double d;執(zhí)行語(yǔ)句"c=a+b+c+d; ”后,變量 c 的數(shù)據(jù)類型是。A) intB) charC) floatD) double【】溫度華氏和攝氏的關(guān)系是:C=5/9* (F-32) o已知:float C.F;由華氏求攝氏的正確 的賦值表達(dá)式是。A) C=5

6、/9(F-32)B) C=5*(F-32)/9C) C=5/9*(F-32)D)三個(gè)表達(dá)式都正確【】逗號(hào)表達(dá)式”(a=3*5,a*4),a+15"的值是。A) 15B) 20 30D)不確定【】如果int a=l,b=2rc=3,d=4;則條件表達(dá)式”a<ba:cA) 1B) 20 3D) 4【】為求出s=10!的值,則變量s的類型應(yīng)當(dāng)為。A) intB) unsigedC) longD)以上三種類型均可【】已知int i=10;表達(dá)式-2(H)<=i<=9"的值是 。A) 0B) 10 19D) 20已知int x=l,y;執(zhí)行下述語(yǔ)句后變量x的值是 。

7、y=+x>5&&+x<10;C) 3D) 4【】為判斷字符變量c的值不是數(shù)字也不是字母時(shí),應(yīng)采用下述表達(dá)式A) c<=48|c>=57&&c<=65|c>=90&&c<=97| c>=122B) !(c<=48|c>=57&&c<=65|c>=90&&c<=97 c>=122)0 c>=48&&c<=57|c>=65&&c<=90 c>=97&&c<

8、=122D) !(c>=48&&c<=57|c>=65&&c<=90|c>=97&&c<=122)J 已知 int a3 2=3,2,1);則表達(dá)式”a00/a0l/a02/的值是。A)B) 1C) 0D)錯(cuò)誤的表達(dá)式已知 int x=l,y=l,z=l;表達(dá)式"x+y+z+"的值是 0A) 3B) 4C) 5D)表達(dá)式錯(cuò)誤用十進(jìn)制表示表達(dá)式”121012”的值是一。A) 1D)操作數(shù)乘以160 12D) 14已知以下程序段:int a=3, b=4;a=a"b; 00110100

9、0111b=bZ; 0100001101110100a=a*b;則執(zhí)行以上語(yǔ)句后a和b的值分別是一。A) a=3,b=4B) a=4,b=3C) a=4,b=4D) a=3,b=3【】在位運(yùn)算中,操作數(shù)每右移一位,其結(jié)果相當(dāng)于A)操作數(shù)乘以2B)操作數(shù)除以2已知char a=222;執(zhí)行語(yǔ)句"a&052;后,變量a的值是 。A) 222B) 100 244D) 254【】已知二進(jìn)制數(shù)a是00101101,如果想通過(guò)整型變量b與a做異或運(yùn)算,使變量a的高4 位取反,低4位不變,則二進(jìn)制數(shù)b的值應(yīng)是一。A)B) 000011110D) 000000001已知int a=15,執(zhí)行

10、語(yǔ)句a=a<<2以后,變量a的值是。A) 20B) 400 60D) 80已知int x=5,y=5,z=5;執(zhí)行語(yǔ)句姍=y+z;后,x的值是.。A) 0B) 1【】使用語(yǔ)句scanf ("x二%f,y趣;輸入變量x、y的值(口代表空格),正確的輸 入是一OA),B) C) x=ty=D) x=Qy=下列循環(huán)語(yǔ)句中有語(yǔ)法錯(cuò)誤的是一。A) while(x=y) 5;B) whi le(O);C) do 2; while(x=b);D) do x+ while(x=10);。已知int x=(l,2,3,4);變量x的值是 。A) 1B) 20 3D) 4表達(dá)式 sizeof

11、 (double)是 0A)函數(shù)調(diào)用B) double型表達(dá)式0 int型表達(dá)式D)非法表達(dá)式執(zhí)行語(yǔ)句 printf ("2:%d. ", printf (" 1 :%d,", scanf (飛 d, " ,&x);以后的輸出結(jié)果是 OA) 2:1 J:l,B) 1:1,2:1,0 2:4J:1D) 1:1,2:4,已知:int x, y; double z;則以下語(yǔ)句中錯(cuò)誤的函數(shù)調(diào)用是。A) scanf (,%dt%lx,%le",&x,&yt&z);B) scanf'&x,&

12、y,&z);C) scanf (n%x%*d%o'&x,&y);D) scanf (飛.&x,&y.&z);與條件表達(dá)式Y(jié)n) (c+): (c)"中的表達(dá)式(n)等價(jià)的表達(dá)式是oA) (n=0)B) (n=l)0(n!=0)D) (n!=l)已知int i=l,j=0;執(zhí)行下面語(yǔ)句后j的值是 。while(i)switch (i)( case 1: i+=l; j+; break; case 2: i+=2; j+; break;case j3: i+=3; +; break;default:i-; j+; break;)A)

13、 1B) 2C) 3D)死循環(huán)【】求取滿足式12+22+32+n2 W1000的n,正確的語(yǔ)句是A) for(i=l,s=0; (s=s+i*i)<=1000; n=i+);B) for(i=l,s=0; (s=s+i*i)<=1000; n=+i);C) for(i=l,s=0; (s=s+i*+i)<=1000; n=i);D) for(i=l,s=0; (s=s+i*i+)<=1000; n=i);【】下面的for語(yǔ)句。for(x=0ty=10; (y>0)&&(x<4) ; x+,y );A)是無(wú)限循環(huán)B)循環(huán)次數(shù)不定0 循環(huán)執(zhí)行4次

14、D)循環(huán)執(zhí)行3次【】已知int i=l; 執(zhí)行語(yǔ)句while (i+<4);后,變量i的值為A) 3B) 40 5D) 6已知int x=12,y=3;執(zhí)行下述程序后,變量x的值是一0do(x/=y;while(x>y);A) 1B) 2C) 3D)程序運(yùn)行有錯(cuò)誤(已知char a20=HBeijing,"shanghai","tianjin"."chongqing語(yǔ)句printf (飛c",a30);的輸出是»A) <空格)B) n0不定D)數(shù)組定義有誤【】若用數(shù)組名作為函數(shù)調(diào)用時(shí)的實(shí)參,則實(shí)際上傳遞給形

15、參的是。A)數(shù)組首地址B)數(shù)組的第一個(gè)元素值0 數(shù)組中全部元素的值D)數(shù)組元素的個(gè)數(shù)對(duì)二維數(shù)組的正確說(shuō)明是0A) int a = 1,2,3,4,5,6;B) int a2 = 1,2,3,4,5,6);0 int a3=l,2,3,4,5,6);D) int a2,3=l,2,3,4,5,6;【】對(duì)字符數(shù)組s武值,不合法的一個(gè)是。A) char s =,'Bei jingM;B) char s20 =bei jing";C) char s20; s="Beijing";D) char s20 = f B' ,* e' ,' i&#

16、39; , ' j' , ' i' , ' n' , ' g' ;(1對(duì)字符數(shù)組str賦初值,str不能作為字符串使用的一個(gè)是一。A) char str =* shanghai11 ;B) char str = ("shanghai ;C) char str9=, s' ,' h' a' ,' n' ,' g' ,' h' a' i' ;D) char str8 = ' s' h' a' n&#

17、39; g' , ' h' , ' a' i' ;選項(xiàng)缺少 字符串結(jié)束標(biāo)志。對(duì)函數(shù)形參的說(shuō)明有錯(cuò)誤的是一。A) int a(float x口,int n)B) int a(float *xf int n)C) int a(float x10,int n)D) int a(float x,int n)此處函數(shù)形參是一個(gè)指針變量,接受實(shí)參的地址,而不是一個(gè)數(shù)組。【】如果一個(gè)變量在整個(gè)程序運(yùn)行期間都存在,但是僅在說(shuō)明它的函數(shù)內(nèi)是可見(jiàn)的,這個(gè)變 量的存儲(chǔ)類型應(yīng)該被說(shuō)明為一。A)靜態(tài)變量B)動(dòng)態(tài)變量0外部變量D)內(nèi)部變量I在一個(gè)c源程序文件中,口若要定義一

18、個(gè)只允許在該源文件中所有函數(shù)使用的變量,則 該變量需要使用的存儲(chǔ)類別是。A) externB) registerC) autoD) static【】在C語(yǔ)言中,函數(shù)的數(shù)據(jù)類型是指一。A)函數(shù)返回值的數(shù)據(jù)類型B)函數(shù)形參的數(shù)據(jù)類型0 調(diào)用該函數(shù)時(shí)的實(shí)參的數(shù)據(jù)類型D)任意指定的數(shù)據(jù)類型已知如下定義的函數(shù):funl (a)則該函數(shù)的數(shù)據(jù)類型是A)與參數(shù)a的類型相同B) void 型0 沒(méi)有返回值D)無(wú)法確定【】定義一個(gè)函數(shù)實(shí)現(xiàn)交換x和y的值,并將結(jié)果正確返回。能夠?qū)崿F(xiàn)此功能的是A) swapa(int x, int y)函數(shù)swapa是值傳遞,函數(shù)的執(zhí)行結(jié)果不能返回B) swapb(int *x,i

19、nt *y)( int temp; ( int temp; temp=x; x=y; y=temp; temp=x; x=y; y=temp; C) swapc(int *x,int *y)D) swapd(int *x,int *y)(int temp; ( int *temp; temp=*x; *x=*y; *y=temp; temp=x; x=y; y=temp; 【】求一個(gè)角的正弦函數(shù)值的平方。能夠?qū)崿F(xiàn)此功能的函數(shù)是A) sqofsina(x) float x; return(sin(x)*sin(x);B) double sqofsinb(x)float x; ( return(s

20、in(double)x)*sin(double)x);)C) double sqofsinc(x)( return(s i n(x)*s i n(x);)D) sqofsind(x)float x;( return(double(si n(x)*sin(x);【】一個(gè)函數(shù)內(nèi)有數(shù)據(jù)類型說(shuō)明語(yǔ)句如下:double x,y,z(10);關(guān)于此語(yǔ)句的解釋,下面說(shuō)法正確的是一。A) z是一個(gè)數(shù)組,它有10個(gè)元素。B) z是一個(gè)函數(shù),小括號(hào)內(nèi)的10是它的實(shí)參的值。0 z是一個(gè)變量,小括號(hào)內(nèi)的10是它的初值。D)語(yǔ)句中有錯(cuò)誤。(1已知函數(shù)定義如下:float funl(int x,int y)( float

21、 z;z=(float)x/y;return(z);主調(diào)函數(shù)中有int a=l,b=O;可以正確調(diào)用此函數(shù)的語(yǔ)句是一。A) printf("%f",funl(a,b);B) printf("%f",funl(&aF&b);(y不能為0)C) printf ("%£", funl (*a, *b) ; D)調(diào)用時(shí)發(fā)生錯(cuò)誤下面函數(shù)的功能是一Oa(sl,s2)char si , s2;t while(s2+=sl+);)A)字符串比較B)字符串復(fù)制0 字符串連接D)字符串反向【】在下列結(jié)論中,只有一個(gè)是錯(cuò)誤的,它是

22、。A) C語(yǔ)言允許函數(shù)的遞歸調(diào)用B) C語(yǔ)言中的continue語(yǔ)句,可以通過(guò)改變程序的結(jié)構(gòu)而省略0有些遞歸程序是不能用非遞歸算法實(shí)現(xiàn)的D) C語(yǔ)言中不允許在函數(shù)中再定義函數(shù).【】已知:int a, *y=&a;則下列函數(shù)調(diào)用中錯(cuò)誤的是。A) scanf(5d", &a);B) scanf(5d", y);C) printf (,%d", a);D) printf("%d", y);【】說(shuō)明語(yǔ)句"int (*p)();"的含義是。A) p是一個(gè)指向一維數(shù)組的指針變量B) p是指針變量,指向一個(gè)整型數(shù)據(jù)0 p是

23、一個(gè)指向函數(shù)的指針,該函數(shù)的返回值是一個(gè)整型D)以上都不對(duì)。設(shè)有說(shuō)明int (*p)4;其中的標(biāo)識(shí)符p是。A) 4個(gè)指向整型變量的指針變量B)指向4個(gè)整型變量的函數(shù)指針0 一個(gè)指向具有4個(gè)整型元素的一維數(shù)組的指針D)具有4個(gè)指向整型變量的指針元素的一維指針數(shù)組【】已知:char s10, *p=s,則在下列語(yǔ)句中,錯(cuò)誤的語(yǔ)句是。A) p=s+5;B) s=p+s;C) s2=p4;D) *p=s0;(1已知:char s100; int i;則引用數(shù)組元素的錯(cuò)誤的形式是。A) si+10B) *(s+i)C) *(i+s)D) *(s+)+i)1已知:char s6, *ps=s;則正確的賦值

24、語(yǔ)句是。A) s=M12345n;B) *s=n12345M;0 ps; “2345”;D) *ps=-12345M;已知:char a3 10 = ,fBeiJing11, nShangHaiH, "TianJinM 字符串"ShangHai"的語(yǔ)句是。A) printf (rr%s,'ta+l);B) printf (飛s”,*(a+l);C) printf (rr%sn, *a+l);D) printf (rT%s&al 0);已知:int a43 = l,2,3t4t5,6,7t8,9,10,11,12;int (*ptr)3=a.*p=a

25、O;則以下能夠正確表示數(shù)組元素的表達(dá)式是。A) *(*(a+l)+2)B) *(*(p+5)C) (*ptr+l)+2D) *(ptr+l) 2)1已知:int a 卜1,2,3,4,5,6,7,8,9,10,11,12, *p=a;A) p+=2,*(p+)*pa=a;不能正確顯示則值為3的表達(dá)式是oB) p+=2,*+pC) p+=2.*p+D) p+=2.+*p【】已知:int a = l,2,3,4), y, *p=a;則執(zhí)行語(yǔ)句y = (*+p) ;之后,數(shù)組a 各元素的值變?yōu)?。A) 0,1,3,4B) 1,1,3,40 1,224D) 123,3變量y的值是一oA) 1B) 20

26、3D) 41已知:int a = 1,3,5.7, y *p= a;為使變量y的值為3,下列語(yǔ)句正確的是 A) y=+*p+;B) y=+(*p+);C) y=(+*p)+;D) y=(*+p)+;【】已知:int x = ( 1,3,5,7,9,11 , *ptr=x;則能夠正確引用數(shù)組元素的語(yǔ)句是。A) xB) * (ptr-)D) *(ptr)【】函數(shù)的功能是交換變量X和y中的值,且通過(guò)正確調(diào)用返回交換的結(jié)果。能正確執(zhí)行此 功能的函數(shù)是。A) funa (int *x, int *y) B) funb (int x, int y) int *p; int t;p=x; *x=*y; *y

27、=*p; t=x; x=y; y=t; C) func (int *x, int *y) D) func (int *x, int *y)x=*y; *y=*x; *x=*x+*y; *y=*x-*y; *x=*x-*y; 有定義如下:struct sk int a;float b;;data ,*p;如果p=&data;則對(duì)于結(jié)構(gòu)變量data的成員a的正確引用是 一。A) (*).B) (*p).a0 p->D)已知: struct st(int n;struct st *next;);static struct st a3=l,&al,3,&a2,5,&

28、;a0,*p;如果下述語(yǔ)句的顯示是2,則對(duì)p的賦值是一oprintf (,%drT, + (p->next->n);A) p=&aO;B) p=&al;C) p=&a2;D) p=&a3;已知:struct person( char name10;int age;class10 = "LiMi29,"ZhangHong",21," WangFang",22;下述表達(dá)式中,值為72的一個(gè)是。A) class0->age + classl->age+ class2->ageB) clas

29、sl. name5C) person1. name5D) clase->name5已知:struct int char c;float a;test;則 sizeof (test)的值是。A) 4B) 5C) 6D) 7已知: union(int i;char c;float a;test;則 sizeof (test)的值是。A) 4B) 5C) 6D) 7已知:union u_type int i;char ch;float a;temp;現(xiàn)在執(zhí)行=266; printf(飛d","的結(jié)果是。A) 266B) 2560 10D) 1若有以下程序段:struct d

30、ent int n;int *m;);int a=l,b=2tc=3;struct dent s3 = 101t&a,102t&b,103,&c ;struct dent *pz:s;則以下表達(dá)式中值為2的是。A) (p+)->mB) *(p+)->mC) (*p).mD) *(+p)->m【】若有以下說(shuō)明語(yǔ)句,則對(duì)結(jié)構(gòu)變量pup中sex域的正確引用是。struct pupil char name20;int sex;pup,*p;p=&pup;A)B) p->C) (*p).D) (*p). sex【】以下對(duì)結(jié)構(gòu)變量Stu中成員age的

31、非法引用是。struct student(int age;int num;stul,*p;p=&stul;A)B)C) p->ageD)(*p). age若有以下定義和語(yǔ)句:union data (int i;char c;float f;a;int n;則以下語(yǔ)句正確的是oA) a=5;B) a=2/ a' ,);C) printf (飛dn",a);D) n=a;已知:struct sk(int a;int age;date,*p;如果要使指針p指向data中的成員a,正確的猿值語(yǔ)句是A) p=(structsk)&;B) p=(structsk);

32、C) p=&D)已知 enum week sun,mon, tue,wed, thu, fri, satday;則正確的膜值語(yǔ)句是。A) sun二0;C) san=day;D) sun二mon;E) day=sun;已知 enum color (red, ye 1102,blue, white, black ren;執(zhí)行下述語(yǔ)句的輸出結(jié) 果是Oprintf(H%d”,ren=white);A) 0B) 1C) 3D) 4已知enum namezhao= 1,qian. sun, 1 iman;執(zhí)行下述程序段后的輸出是。man=0;switch(man)( case 0: printf(

33、HPeoplenn);case 1: printf("Man'n");case 2: printf (飛oman'n");default: pi'intf ("ErrorXn);)A) PeopleB) ManC) WomanD)Error【】下述關(guān)于枚舉類型名的定義中,正確的是一。A) enem a= one,two,three );B) enem a one=9,two=-1,three ;C) enem a=“one","two","three”;D) enem a "one

34、","two","three";【】C語(yǔ)言中標(biāo)準(zhǔn)輸入文件stdin是指。A)鍵盤B)顯示器0 鼠標(biāo)D)硬盤【】要打開(kāi)一個(gè)已存在的非空文件"file用于修改,選擇正確的語(yǔ)句A) fp=fopen(,file,r, nr");B) fp=fopen(,filerf,"a+");C) fp=fopen(,file,r, "w");D) fp=fopen(, file", "r+");【】當(dāng)順利執(zhí)行了文件關(guān)閉操作時(shí),fclose函數(shù)的返回值是。A) -1B) TR

35、UEC) 0D) 1【】fscanf函數(shù)的正確調(diào)用形式是。A) fscanf (文件指針,格式字符串,輸出列表);B) fscanf (格式字符串,輸出列表,文件指針);0 fscanf (格式字符串,文件指針,輸出列表);D) fscanf (文件指針,格式字符串,輸入列表);【】使用fgetc函數(shù),則打開(kāi)文件的方式必須是。A)只寫(xiě)B(tài))追加0讀或讀/寫(xiě)D)參考答案B和C都正確【】已知宏定義Jtdefine N 3Jtdefine Y (n) (N+l)*n)執(zhí)行語(yǔ)句z=2*(N+Y(5+l);后,變量z的值是一。A) 42B) 48C) 52D)出錯(cuò)【】已知宏定義define SQ(x) x

36、*x,執(zhí)行語(yǔ)句printf (飛d", 10/SQ(3);后的輸出結(jié)果 是一。A) 18) 30 9D) 10【】已知宏定義如下:#define PR printfJtdefine NL "n"define D fd”define DI DNL若程序中的語(yǔ)句是PR (DI. a);經(jīng)預(yù)處理后展開(kāi)為A) printf(%dnta);B) printf (飛dn",a);C) printf (飛d”"na);D)原語(yǔ)句錯(cuò)誤【參考答案】答案:A注釋:int是C語(yǔ)言的關(guān)鍵字【】答案:B答案:A答案:B注釋:include是預(yù)處理命令;scanf是函數(shù)名

37、;type不是C語(yǔ)言的關(guān)鍵字。答案:D答案:D答案:A答案:A注釋:int型表示整數(shù)的范圍是-3276832767?!尽看鸢福篋注釋:整型常量T在計(jì)算機(jī)中表示為補(bǔ)碼1111 1111 1111 1111,用十六進(jìn)制顯 示這個(gè)數(shù)時(shí),最左邊的1不會(huì)被解釋為符號(hào)位,而是與右邊其它位共同轉(zhuǎn)換為十 六進(jìn)制數(shù)。答案:B注釋:長(zhǎng)整型數(shù)32768在計(jì)算機(jī)內(nèi)的表示是1000 0000 0000 0000,以一般整型 進(jìn)行輸出時(shí),此數(shù)恰是-32768的補(bǔ)碼。答案:C注釋:長(zhǎng)整型數(shù)65539在計(jì)算機(jī)內(nèi)的表示是0001 0000 0000 0000 001L以一 般整型進(jìn)行輸出時(shí),僅將右側(cè)16位二進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)

38、。答案:A注釋:C語(yǔ)言中,int型的負(fù)數(shù)是采用補(bǔ)碼表示的?!尽看鸢福篋答案:C注釋:變量c是字符型,可用字符常量為它賦值。字符常量必須用單引號(hào)括起來(lái), 所以B是錯(cuò)誤的;在單引號(hào)或雙引號(hào)內(nèi)的反斜線'用于表示轉(zhuǎn)義字符,A選項(xiàng) 在無(wú)引號(hào)時(shí)使用反斜線是錯(cuò)誤的;C選項(xiàng)單引號(hào)內(nèi)出現(xiàn)反斜線表示它與后面的數(shù) 字組成一個(gè)轉(zhuǎn)義字符;單引號(hào)只允許括起一個(gè)字符,D選項(xiàng)在單引號(hào)內(nèi)出現(xiàn)4個(gè) 字符,是錯(cuò)誤的。答案:C答案:D注釋:空字符和空格符是不同的兩個(gè)字符,空格符的ASCII碼值是32,空字符 的ASCII值是0。答案:A答案:B答案:A答案:C答案:B注釋:?jiǎn)渭儚腃語(yǔ)言語(yǔ)法來(lái)說(shuō),選項(xiàng)B、C都是正確的,但是選項(xiàng)

39、C中第一個(gè)運(yùn) 算的兩個(gè)對(duì)象都是整型常數(shù),其結(jié)果也是整型數(shù)0,最后的運(yùn)算結(jié)果也就是0 了。 答案:c答案:A注釋:將條件表達(dá)式增加一個(gè)括號(hào),此式變?yōu)閍。<ba: (c<dc:d),它的運(yùn)算順序就清楚了。由于條件運(yùn)算符的結(jié)合性是從右向左, 所以括號(hào)可以省略。它的運(yùn)算順序是先算出右邊的條件表達(dá)式”cdc:d"的值,然 后求條件表達(dá)式a<ba : 3的值。答案:C答案:B答案:B注釋:當(dāng)通過(guò)一個(gè)運(yùn)算對(duì)象即可決定邏輯運(yùn)算&&的結(jié)果時(shí),則對(duì)另一個(gè)運(yùn)算對(duì)象 不做處理。答案:D 0=48中的48是字符對(duì)應(yīng)的ASCII碼,數(shù)字的ASCII碼從48到57,大寫(xiě)字 母為6

40、5到90,小寫(xiě)字母為97到122,在以上范圍內(nèi)表示是數(shù)字或字母,對(duì)它取非表示既不 是數(shù)字也不是字母,所以選D。答案:B注釋:數(shù)組元素在內(nèi)存中按行排列,此數(shù)組的前3個(gè)元素的值分別是3、2、1, 表達(dá)式中雖然數(shù)組下標(biāo)的寫(xiě)法似乎每行有3個(gè)元素,和定義時(shí)的3行2列不一致, 但是C語(yǔ)言引用數(shù)組元素時(shí)是根據(jù)數(shù)組的首地址和給出的下標(biāo)進(jìn)行運(yùn)算決定元 素的地址。題中表達(dá)式引用了數(shù)組前3個(gè)元素。答案:A【】答案:D 整數(shù)12最低8位二進(jìn)位是00001100,整數(shù)012是八進(jìn)制數(shù),它的最低8 位二進(jìn)位是00001010.這兩個(gè)二進(jìn)位位串信息按位或運(yùn)算,得到結(jié)果是00001110,對(duì)應(yīng)十進(jìn) 制數(shù)14,八進(jìn)制數(shù)是016

41、.按位與運(yùn)算符是雙目運(yùn)算符。其功能是參與運(yùn)算的兩數(shù)各對(duì)應(yīng)的二進(jìn)位相與。 只有對(duì)應(yīng)的兩個(gè)二進(jìn)位均為1時(shí),結(jié)果位才為1 ,否則為0。按位或運(yùn)算符“I”是雙目運(yùn)算符。其功能是參與運(yùn)算的兩數(shù)各對(duì)應(yīng)的二進(jìn)位相 或。只要對(duì)應(yīng)的二個(gè)二進(jìn)位有一個(gè)為1時(shí),結(jié)果位就為U參與運(yùn)算的兩個(gè)數(shù)均 以補(bǔ)碼出現(xiàn)。按位異或運(yùn)算符是雙目運(yùn)算符。其功能是參與運(yùn)算的兩數(shù)各對(duì)應(yīng)的二進(jìn)位 相異或,當(dāng)兩對(duì)應(yīng)的二進(jìn)位相異時(shí),結(jié)果為1。參與運(yùn)算數(shù)仍以補(bǔ)碼出現(xiàn)。求反運(yùn)算符為單目運(yùn)算符,具有右結(jié)合性。其功能是對(duì)參與運(yùn)算的數(shù)的各二 進(jìn)位按位求反。左移運(yùn)算符是雙目運(yùn)算符。其功能把”左邊的運(yùn)算數(shù)的各二進(jìn)位全 部左移若干位,由右邊的數(shù)指定移動(dòng)的位數(shù),高位

42、丟棄,低位補(bǔ)0。其 值相當(dāng)于乘2。B BB A C C右移運(yùn)算符“>>”是雙目運(yùn)算符。其功能是把“>> ”左邊的運(yùn)算數(shù)的各二進(jìn)位 全部右移若干位,“>>”右邊的數(shù)指定移動(dòng)的位數(shù)。其值相當(dāng)于除2。答案:答案:答案:答案:答案:答案:答案:c答案:D【】答案:D【】答案:Csizeof是求長(zhǎng)度的函數(shù),其結(jié)果類型就是無(wú)符號(hào)整形表達(dá)式。sizeof (double)是指求double類型數(shù)據(jù)的數(shù)據(jù)長(zhǎng)度答案:D注釋:scanf函數(shù)返回值是輸入數(shù)據(jù)的個(gè)數(shù),printf函數(shù)的返回值是輸出的字符 個(gè)數(shù)。答案:D答案:C注釋:在C語(yǔ)言中,經(jīng)常用一個(gè)變量來(lái)作為邏輯表達(dá)式,其含義

43、就是:當(dāng)變量 的值不為0時(shí)關(guān)系成立。答案:D注釋:break語(yǔ)句僅可跳出switch語(yǔ)句,不會(huì)跳出while循環(huán),這是一個(gè)死循 環(huán)。答案:A答案:C答案:C答案:D注釋:當(dāng)除數(shù)y為。時(shí),程序發(fā)生溢出錯(cuò)誤。答案:C答案:A答案:C答案:C注釋:答案C的賦值號(hào)左側(cè)是數(shù)組S的首地址,是一個(gè)常量,賦值號(hào)右側(cè)是一個(gè) 字符串常量,不可能將一個(gè)字符串常量賦給一個(gè)地址常量。答案:D注釋:D選項(xiàng)缺少字符串結(jié)束標(biāo)志。答案:C注釋:此處函數(shù)形參是一個(gè)指針變量,接受實(shí)參的地址,而不是一個(gè)數(shù)組。答案:A答案:D注釋:這里首先要明確一些基本概念。在C語(yǔ)言中,程序與文件是不同的概念, 一個(gè)程序可以由一個(gè)文件組成,也可以由多

44、個(gè)文件組成;一個(gè)文件中又可以包含 多個(gè)函數(shù);函數(shù)是構(gòu)成C程序的基本單位。變量的作用域因變量的存儲(chǔ)類型不同而不同。auto和register類型的變量的作 用域是說(shuō)明變量的當(dāng)前函數(shù);外部變量的作用域是整個(gè)程序,即外部變量的作用 域可以跨越多個(gè)文件;內(nèi)部靜態(tài)變量(定義在一個(gè)函數(shù)內(nèi)部的static型的變量) 的作用域是當(dāng)前函數(shù),外部靜態(tài)變量(定義在函數(shù)外面的static型的變量)的 作用域是當(dāng)前文件,即可以跨越同一文件中的不同函數(shù)。答案:A答案:A注釋:它和參數(shù)a一樣,數(shù)據(jù)類型說(shuō)明被省略,按照C語(yǔ)言的規(guī)定,在這種情況 下,表示它們是int型。答案:C注釋:函數(shù)swapa是值傳遞,函數(shù)的執(zhí)行結(jié)果不能返

45、回;函數(shù)swapb中變量temp 不是指針變量,所以它不能接受地址量,用指針變量x為它賦值是不對(duì)的;函數(shù) swap中雖然指針變量交換了地址,即它們的指向的目標(biāo)變量進(jìn)行了交換,但是 目標(biāo)變量并沒(méi)有行值的交換。答案:B答案:D答案:D注釋:主調(diào)函數(shù)中b=0,在執(zhí)行funl函數(shù)里的除法時(shí)發(fā)生溢出錯(cuò)誤。答案:B答案:C【】答案:D注釋:在答案D中,正確的函數(shù)調(diào)用應(yīng)當(dāng)是:printf(',%d *y)。答案:C注釋:要注意與說(shuō)明語(yǔ)句"int (*p);"的區(qū)別。說(shuō)明語(yǔ)句"int (*p);" 說(shuō)明的是一個(gè)指向數(shù)組的指針。答案:C注釋:題干中由于*和p被小括

46、號(hào)括起,所以p應(yīng)被解釋為一個(gè)指針,而后的下 標(biāo)運(yùn)算符口說(shuō)明所指向的對(duì)象是一個(gè)有4個(gè)int型元素的一維數(shù)組;如果是int (*p)(),則是指向函數(shù)的指針。對(duì)于int *p4,則根據(jù)運(yùn)算符的優(yōu)先級(jí),先考慮 P和運(yùn)算符的關(guān)系,所以它就是一個(gè)指針數(shù)組了。答案:B注釋:選項(xiàng)B有兩處錯(cuò)誤,一是數(shù)組名是常量,不能出現(xiàn)的賦值好的左側(cè),二是 指針變量只能和整數(shù)做加,不能和作為地址常量的數(shù)組名相加。答案:D注釋:S作為數(shù)組名是地址常量,而s+是s=s+l, C語(yǔ)言不允許對(duì)常量進(jìn)行賦值。 答案:C答案:c注釋:a是二維數(shù)組名,a+1中的1不是1個(gè)字節(jié),而是數(shù)組的"一行",即10 個(gè)字節(jié),所以a+1是第二個(gè)字符串的首地址,A選項(xiàng)正確。在C編譯系統(tǒng)中對(duì)二 維數(shù)組名可這樣理解(注意,這里僅是理解):a指向一個(gè)一維數(shù)組,故(a+1)是 指向al的,*(

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論