下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、C語(yǔ)言程序設(shè)計(jì)精品課件試題目錄(按住CTRL鍵點(diǎn)擊超鏈)單項(xiàng)選擇題第002頁(yè)閱讀程序題第018頁(yè)程序填空題第039頁(yè)編寫(xiě)程序題第070頁(yè)C語(yǔ)言程序設(shè)計(jì)精品課件制作小組2006年4月一、單項(xiàng)選擇題導(dǎo)讀:?jiǎn)雾?xiàng)選擇題要求從給出的四個(gè)備選答案中,選出一個(gè)最符合題意的答案。本 類(lèi)習(xí)題主要檢查對(duì)C語(yǔ)言基本概念的掌握情況,讀者可根據(jù)學(xué)習(xí)進(jìn)度選做部分習(xí)題。 在完成習(xí)題的過(guò)程中,不但要選出正確的答案,而且要清楚不正確的選項(xiàng)錯(cuò)在何處, 以加深對(duì)概念的理解。對(duì)于掌握不準(zhǔn)的問(wèn)題,應(yīng)該通過(guò)上機(jī)實(shí)驗(yàn)來(lái)檢驗(yàn)?!?.1】以下不正確的C語(yǔ)言標(biāo)識(shí)符是。A) int B) a_1_2 C) ablexe D) _x【1.2】以下是
2、正確的C語(yǔ)言承識(shí)符是。A) #define B) _123 C) %d D) n【1.3】下列四組字符串中都可以用作C語(yǔ)言程序標(biāo)識(shí)符的一組是。? A) printB) iamC) PxqD) str_l? _3done_halfMy->bookCpp? oodbstart$itline#pow? aBc3paiHis.agewhile【1.4】下面各選項(xiàng)組中,均是 C語(yǔ)言關(guān)鍵字的組是。A) auto , enum, include B) switch , typedef, continueC) signed, union , scanf D) if, struct , type【1.5】
3、下列不屬于C語(yǔ)言關(guān)鍵字的是 。A) default B) register C) enum D) external【1.6】C語(yǔ)言程序從main()函數(shù)開(kāi)始執(zhí)行,所以這個(gè)函數(shù)要寫(xiě)在 。A)程序文件的開(kāi)始B)程序文件的最后C)它所調(diào)用的函數(shù)的前面D)程序文件的任何位置【1.7】下列關(guān)于C語(yǔ)言的敘述錯(cuò)誤的是 A)大寫(xiě)字母和小寫(xiě)字母的意義相同B)不同類(lèi)型的變量可以在一個(gè)表達(dá)式中C)在賦值表達(dá)式中等號(hào)(二)左邊的變量和右邊的值可以是不同類(lèi)型D)同一個(gè)運(yùn)算符號(hào)在不同的場(chǎng)合可以有不同的含義 【1.8在C語(yǔ)言中,錯(cuò)誤的int類(lèi)型的常數(shù)是。A) 32768 B) 0 C) 037 D) 0xAF1.9執(zhí)行語(yǔ)句
4、printf("%x",-1);屏幕顯示A) -1 B) 1 C) -ffff D) ffff【 1.10】已知long i=32768 ;執(zhí)行語(yǔ)句 printf("%d",i) ;屏幕顯示。A) -1 B) -32768 C) 1 D) 32768【 1.11】已知 long i=65539 ;執(zhí)行語(yǔ)句 printf("%d",i) ;屏幕顯示。A) 65539 B) -3 C) 3 D) 程序不能執(zhí)行【1.12在C語(yǔ)言中,整數(shù)-8在內(nèi)存中的存儲(chǔ)形式是。A) 1111 1111 1111 1000 B) 1000 0000 0000
5、 1000C) 0000 0000 0000 1000 D) 1111 1111 1111 0111【1.13C語(yǔ)言中字符型(char)數(shù)據(jù)在內(nèi)存中的存儲(chǔ)形式是 。A) 原碼 B) 補(bǔ)碼 C) 反碼 D) ASCII 碼【1.14】將字符g賦給字符變量c,正確的表達(dá)式是。A) c=147 B) c="147" C) c='147' D) c='0147'【 1.15】下列轉(zhuǎn)義字符中錯(cuò)誤的一個(gè)是。A) '000' B) '0014' C) 'x111' D) '2'【1.16】將空
6、格符賦給字符變量c,正確的賦值語(yǔ)句是 。A) c='0' B) c=NULL C) c=0 D) c=32【 1.17】已知:char a='70' ;則變量 a 中 。A) 包含 1 個(gè)字符 B) 包含 2 個(gè)字符 C) 包含 3 個(gè)字符 D) 說(shuō)明非法【1.18】字符串""EOFn=-61"" 的長(zhǎng)度是 。A) 8 B) 9 C) 14 D) 非法字符串【 1.19】字符串"" 的長(zhǎng)度是 。A) 0 B) 1 C) 2 D) 非法字符串【1.20】已知:char a ; int b ; float
7、c ; double d ;執(zhí)行語(yǔ)句 "c=a+b+c+d ; " 后,變量 c 的數(shù)據(jù)類(lèi)型是。A) int B) char C) float D) double【1.21】溫度華氏和攝氏的關(guān)系是: C=-(F-32) 。已知: float C,F ;由華氏求攝氏的正確的賦值表達(dá)式是。A) C=5/9(F-32) B) C=5*(F-32)/9C) C=5/9*(F-32) D) 三個(gè)表達(dá)式都正確【1.22】逗號(hào)表達(dá)式"(a=3*5,a*4),a+15" 的值是 。A) 15 B) 60 C) 30 D) 不確定【1.23】如果int a=1,b=2,c
8、=3,d=4 ;則條件表達(dá)式"a<b?a:c<d?c:d" 的值是 。A) 1 B) 2 C) 3 D) 4【1.24為求出s=10!的值,則變量s的類(lèi)型應(yīng)當(dāng)為。A) int B) unsiged C) long D) 以上三種類(lèi)型均可【1.25】已知int i=10 ;表達(dá)式 "20-0<=i<=9" 的值是 。A) 0 B) 1 C) 19 D) 20【1.26】已知int x=1,y ;執(zhí)行下述語(yǔ)句后變量x 的值是 。y=+x>5&&+x<10 ; A) 1 B) 2 C) 3 D) 4【 1.2
9、7】為判斷字符變量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)C) c>=48&&c<=57|c>=65&&c<=90|c>=97&&c<=122D) !(c>=48&&c<=5
10、7|c>=65&&c<=90|c>=97&&c<=122)【1.28】已知int a32=3,2,1 ;則表達(dá)式 "a00/a01/a02" 的值是 。A) 0. B) 1 C) 0 D) 錯(cuò)誤的表達(dá)式【1.29】已知int x=1,y=1,z=1 ;表達(dá)式 "x+y+z+" 的值是 。A) 3 B) 4 C) 5 D) 表達(dá)式錯(cuò)誤【1.30】用十進(jìn)制表示表達(dá)式"12|012" 的值是 。A) 1 B) 0 C) 12 D) 14【 1.31】已知以下程序段:int a=3 ,
11、b=4 ;a=aAb; 001101000111b=bAa ; 0100001101110100a=aAb ;則執(zhí)行以上語(yǔ)句后 a 和 b 的值分別是。A) a=3,b=4 B) a=4,b=3 C) a=4,b=4 D) a=3,b=3【 1.32】在位運(yùn)算中,操作數(shù)每右移一位,其結(jié)果相當(dāng)于 。A) 操作數(shù)乘以 2 B) 操作數(shù)除以 2 C) 操作數(shù)除以 16 D) 操作數(shù)乘以 16【1.33】已知char a=222;執(zhí)行語(yǔ)句a=a&052 ;后,變量a的值是。A) 222 B) 10 C) 244 D) 254【 1.34】已知二進(jìn)制數(shù)a 是,如果想通過(guò)整型變量b與a做異或運(yùn)算,
12、使變量a的高4位取反,低4位不變,則二進(jìn)制數(shù)b 的值應(yīng)是 。A) B) C) D)【1.35】已知int a=15 ,執(zhí)行語(yǔ)句a=a<<2以后,變量a的值是。A) 20 B) 40 C) 60 D) 80【 1.36】已知int x=5,y=5,z=5 ;執(zhí)行語(yǔ)句 x%=y+z ;后, x 的值是 。A) 0 B) 1 C) 5 D) 6【 1.37】使用語(yǔ)句scanf("x=%f,y=%f",&x,&y);輸入變量x、y的值(口代表空格),正確的輸入是 oA) 1.25,2.4 B) 1.25D 2.4 C) x=1.25,y=2.4 D) x
13、=1.25 y=2.4【 1.38】下列循環(huán)語(yǔ)句中有語(yǔ)法錯(cuò)誤的是 。A) while(x=y) 5 ; B) while(0) ;C) do 2 ; while(x=b) ; D) do x+ while(x=10) ;【1.39】已知 int x=(1,2,3,4) ;變量 x 的值是 。A) 1 B) 2 C) 3 D) 4【 1.40】表達(dá)式sizeof(double) 是 。A) 函數(shù)調(diào)用 B) double 型表達(dá)式 C) int 型表達(dá)式 D) 非法表達(dá)式【1.41】執(zhí)行語(yǔ)句 printf("2:%d,",printf("1:%d,",sca
14、nf("%d",&x) ;以后的輸出結(jié)星旦果是 。A) 2:1,1:1, B) 1:1,2:1, C) 2:4,1:1 D) 1:1,2:4, 【1.42】已知:int x , y; double z ;則以下語(yǔ)句中錯(cuò)誤的函數(shù)調(diào)用是 。A) scanf ("%d,%lx,%le",&x,&y,&z);B) scanf ("%2d*%d%lf",&x,&y,&z);C) scanf ("%x%*d%o",&x,&y);D) scanf (&quo
15、t;%x%o%6.2f",&x,&y,&z);【 1.43】與條件表達(dá)式"(n)?(c+):(c-)" 中的表達(dá)式(n )等價(jià)的表達(dá)式是A) (n=0) B) (n=1) C) (n!=0) D) (n!=1)【1.44】已知int i=1,j=0 ;執(zhí)行下面語(yǔ)句后 j 的值是 。while(i)switch(i) case 1: i+=1 ; j+ ; break ;case 2: i+=2; j+ ; break ;case j3: i+=3; + ; break ;default: i- ; j+ ; break ;A) 1 B) 2
16、 C) 3 D) 死循環(huán)【1.45求取?f足式12+22+32+n2 W 1000的n,正確的語(yǔ)句是 。A) for(i=1,s=0 ; (s=s+i*i)<=1000 ; n=i+) ;B) for(i=1,s=0 ; (s=s+i*i)<=1000 ; n=+i) ;C) for(i=1,s=0 ; (s=s+i*+i)<=1000 ; n=i) ;D) for(i=1,s=0 ; (s=s+i*i+)<=1000 ; n=i) ;【 1.46】下面的for 語(yǔ)句。for(x=0,y=10 ; (y>0)&&(x<4) ; x+,y- )
17、 ;A) 是無(wú)限循環(huán)B) 循環(huán)次數(shù)不定C) 循環(huán)執(zhí)行 4 次 D) 循環(huán)執(zhí)行 3 次【 1.47】已知int i=1 ; 執(zhí)行語(yǔ)句 while (i+<4) ;后,變量 i 的值為 。A) 3 B) 4 C) 5 D) 6【1.48】已知int x=12,y=3 ;執(zhí)行下述程序后,變量 x 的值是 。do x/=y- ;while(x>y) ;A) 1 B) 2 C) 3 D) 程序運(yùn)行有錯(cuò)誤【 1.49】已知char a20="Beijing","shanghai","tianjin","chongqing&q
18、uot; ;語(yǔ)句 printf("%c",a30) ;的輸出是。A) <空格 > B) n C) 不定 D) 數(shù)組定義有誤【 1.50】若用數(shù)組名作為函數(shù)調(diào)用時(shí)的實(shí)參,則實(shí)際上傳遞給形參的是A) 數(shù)組首地址B) 數(shù)組的第一個(gè)元素值C) 數(shù)組中全部元素的值D) 數(shù)組元素的個(gè)數(shù)【 1.51】對(duì)二維數(shù)組的正確說(shuō)明是 。A) int a=1,2,3,4,5,6 ; B) int a2=1,2,3,4,5,6 ;C) int a3=1,2,3,4,5,6 ; D) int a2,3=1,2,3,4,5,6 ;【 1.52】對(duì)字符數(shù)組s 賦值 ,不合法的一個(gè)是。A) cha
19、r s="Beijing" ;B) char s20="beijing" ;C) char s20 ; s="Beijing" ;D) char s20='B','e','i','j','i','n','g';【 1.53】對(duì)字符數(shù)組str 賦初值,str 不能作為字符串使用的一個(gè)是。A) char str="shanghai" ;B) char str="shanghai" ;C)
20、char str9='s','h','a','n','g','h','a','i';D) char str8= 's','h','a','n','g','h','a','i';【 1.54】對(duì)函數(shù)形參的說(shuō)明有錯(cuò)誤的是。A) int a(float x,int n) B) int a(float *x,int n)C) int a(float
21、x10,int n) D) int a(float x,int n)【 1.55】如果一個(gè)變量在整個(gè)程序運(yùn)行期間都存在,但是僅在說(shuō)明它的函數(shù)內(nèi)是可見(jiàn)的,這個(gè)變量的存儲(chǔ)類(lèi)型應(yīng)該被說(shuō)明為 。A) 靜態(tài)變量 B) 動(dòng)態(tài)變量 C) 外部變量 D) 內(nèi)部變量【 1.56】在一個(gè)C 源程序文件中,?若要定義一個(gè)只允許在該源文件中所有函數(shù)使用的變量,則該變量需要使用的存儲(chǔ)類(lèi)別是 。A) extern B) register C) auto D) static【 1.57】在C 語(yǔ)言中,函數(shù)的數(shù)據(jù)類(lèi)型是指。A) 函數(shù)返回值的數(shù)據(jù)類(lèi)型B) 函數(shù)形參的數(shù)據(jù)類(lèi)型C) 調(diào)用該函數(shù)時(shí)的實(shí)參的數(shù)據(jù)類(lèi)型D) 任意指定的數(shù)據(jù)
22、類(lèi)型【 1.58】已知如下定義的函數(shù):fun1(a) printf("n%d",a) ;則該函數(shù)的數(shù)據(jù)類(lèi)型是 。A) 與參數(shù) a 的類(lèi)型相同 B) void 型C) 沒(méi)有返回值D) 無(wú)法確定【 1.59】定義一個(gè)函數(shù)實(shí)現(xiàn)交換x 和 y 的值,并將結(jié)果正確返回。能夠?qū)崿F(xiàn)此功能的是 。A) swapa(int x,int y) B) swapb(int *x,int *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(i
23、nt *x,int *y) int temp ; int *temp ;temp=*x ; *x=*y ; *y=temp ; temp=x ; x=y ; y=temp ; 【 1.60】求一個(gè)角的正弦函數(shù)值的平方。能夠?qū)崿F(xiàn)此功能的函數(shù)是A) sqofsina(x)float x ; return(sin(x)*sin(x) ;B) double sqofsinb(x)float x ; return(sin(double)x)*sin(double)x) ;C) double sqofsinc(x) return(sin(x)*sin(x) ;D) sqofsind(x)float x ;
24、 return(double(sin(x)*sin(x) ;【 1.61】一個(gè)函數(shù)內(nèi)有數(shù)據(jù)類(lèi)型說(shuō)明語(yǔ)句如下:double x,y,z(10) ;關(guān)于此語(yǔ)句的解釋?zhuān)旅嬲f(shuō)法正確的是 。A) z 是一個(gè)數(shù)組,它有10 個(gè)元素。B) z 是一個(gè)函數(shù),小括號(hào)內(nèi)的10 是它的實(shí)參的值。C) z 是一個(gè)變量,小括號(hào)內(nèi)的10 是它的初值。D) 語(yǔ)句中有錯(cuò)誤?!?1.62】已知函數(shù)定義如下:float fun1(int x,int y) float z ;z=(float)x/y ;return(z) ;主調(diào)函數(shù)中有int a=1,b=0 ;可以正確調(diào)用此函數(shù)的語(yǔ)句是 A) printf("%f&q
25、uot;,fun1(a,b) ; B) printf("%f",fun1(&a,&b) ;C) printf("%f",fun1(*a,*b) ; D) 調(diào)用時(shí)發(fā)生錯(cuò)誤【 1.63】下面函數(shù)的功能是。a(s1,s2)char s1,s2 ; while(s2+=s1+) ;A) 字符串比較B) 字符串復(fù)制 C) 字符串連接D) 字符串反向【 1.64】在下列結(jié)論中,只有一個(gè)是錯(cuò)誤的,它是。A) C語(yǔ)言允許函數(shù)的遞歸調(diào)用B) C語(yǔ)言中的continue語(yǔ)句,可以通過(guò)改變程序的結(jié)構(gòu)而省略C) 有些遞歸程序是不能用非遞歸算法實(shí)現(xiàn)的D) C 語(yǔ)言
26、中不允許在函數(shù)中再定義函數(shù)【 1.65】已知:int a, *y=&a ;則下列函數(shù)調(diào)用中錯(cuò)誤的是。A) scanf("%d", &a) ; B) scanf("%d", y) ;C) printf("%d", a) ; D) printf("%d", y) ;【 1.66】說(shuō)明語(yǔ)句"int (*p)( ) ; " 的含義是 。A) p 是一個(gè)指向一維數(shù)組的指針變量B) p 是指針變量,指向一個(gè)整型數(shù)據(jù)C) p 是一個(gè)指向函數(shù)的指針,該函數(shù)的返回值是一個(gè)整型D) 以上都不對(duì)【 1
27、.67】設(shè)有說(shuō)明int (*p)4 ;其中的標(biāo)識(shí)符p 是 。A) 4 個(gè)指向整型變量的指針變量B) 指向 4 個(gè)整型變量的函數(shù)指針C) 一個(gè)指向具有4 個(gè)整型元素的一維數(shù)組的指針D) 具有 4 個(gè)指向整型變量的指針元素的一維指針數(shù)組【 1.68】已知:char s10, *p=s ,則在下列語(yǔ)句中,錯(cuò)誤的語(yǔ)句是。A) p=s+5 ; B) s=p+s; C) s2=p4 ; D) *p=s0 ;【1.69】已知:char s100; int i ;則引用數(shù)組元素的錯(cuò)誤的形式是 。A) si+10 B) *(s+i) C) *(i+s) D) *(s+)+i)【1.70】已知:char s6,
28、*ps=s ;則正確的賦值語(yǔ)句是。A) s="12345" ; B) *s="12345" ; C) ps="12345" ; D) *ps="12345" ;【1.71】已知: char a310="BeiJing","ShangHai","TianJin", *pa=a ;不能正確顯示字符串 "ShangHai" 的語(yǔ)句是 。A) printf("%s",a+1) ; B) printf("%s&quo
29、t;,*(a+1);C) printf("%s",*a+1); D) printf("%s",&a10);【1.72】已知:int a43=1,2,3,4,5,6,7,8,9,10,11,12 ;int (*ptr)3=a,*p=a0 ;則以下能夠正確表示數(shù)組元素 a12 的表達(dá)式是。A) *(*(a+1)+2) B) *(*(p+5) C) (*ptr+1)+2 D) *(ptr+1)2)【1.73】已知:int a =1,2,3,4,5,6,7,8,9,10,11,12, *p=a ;則值為 3的表達(dá)式是。A) p+=2,*(p+) B) p
30、+=2,*+p C) p+=2,*p+ D) p+=2,+*p【1.74】已知:int a=1,2,3,4, y, *p=a ;則執(zhí)行語(yǔ)句 y = (*+p)- ;之后 , 數(shù)組 a 各元素的值變?yōu)?。A) 0,1,3,4 B) 1,1,3,4 C) 1,2,2,4 D) 1,2,3,3變量 y 的值是 。A) 1 B) 2 C) 3 D) 4【1.75】已知:int a =1,3,5,7, y *p= a ;為使變量y 的值為3,下列語(yǔ)句正確的是。A) y=+*p+ ; B) y=+(*p+) ; C) y=(+*p)+ ; D) y=(*+p)+ ;【1.76】 已知:int x = 1,
31、3,5,7,9,11 , *ptr=x ; 則能夠正確引用數(shù)組元素的語(yǔ)句是。A) x B) *(ptr-) C) x6 D) *(-ptr)【 1.77】函數(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=*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
32、+*y ; *y=*x-*y ; *x=*x-*y ; 【 1.78】有定義如下:struct sk int a ;float b ;data ,*p ;如果 p=&data ;則對(duì)于結(jié)構(gòu)變量data 的成員 a 的正確引用是A) ( * ) .data.a B) (*p).a C) p->data.a D) p.data.a【 1.79】已知:struct st int n ;struct st *next ;static struct st a3=1,&a1,3,&a2,5,&a0,*p;如果下述語(yǔ)句的顯示是2,則對(duì)p 的賦值是 。printf(&qu
33、ot;%d",+(p->next->n);A) p=&a0 ; B) p=&a1 ; C) p=&a2 ; D) p=&a3 ;【 1.80】已知:struct person char name10 ;int age ;class10="LiMing",29,"ZhangHong",21,"WangFang",22 ;下述表達(dá)式中,值為 72 的一個(gè)是 。A) class0->age + class1->age+ class2->ageB)
34、5C) 5D) clase->name5【 1.81】已知:struct int i ;char c ;float a ;test;貝U sizeof(test)的值是。A) 4 B) 5 C) 6 D) 7【 1.82】已知:union int i ;char c ;float a ;test;貝U sizeof(test)的值是。A) 4 B) 5 C) 6 D) 7【 1.83】已知:union u_type int i ;char ch ;float a ;temp ;現(xiàn)在執(zhí)行"temp.i=266 ; printf("%d"
35、,temp.ch)" 的結(jié)果是。A) 266 B) 256 C) 10 D) 1【1.84】若有以下程序段:struct dent int n ;int *m ;int a=1,b=2,c=3 ;struct dent s3 = 101,&a,102,&b,103,&c;struct dent *p=s ;則以下表達(dá)式中值為2的是。A) (p+)->m B) *(p+)->m C) (*p).m D) *(+p)->m【1.85】若有以下說(shuō)明語(yǔ)句,則對(duì)結(jié)構(gòu)變量pup中sex域的正確引用是。struct pupil char name20;in
36、t sex;pup,*p ;p=&pup ;【1.86】以下對(duì)2構(gòu)變量stul中成員age的非法引用是。struct student int age;int num ;stu1,*p ;p=&stu1 ;A) stu1.age B) student.age C) p->age D) (*p).age【1.87】若有以下定義和語(yǔ)句:union data int i ;char c;float f ;a;int n ;則以下語(yǔ)句正確的是 。A) a=5; B) a=2,'a',1.2 ; C) printf("%dn",a);D)n=a;【
37、1.88已知:struct sk int a ;int age;date,*p ;如果要使指針p指向data中的成員a,正確的賦值語(yǔ)句是 。A) p = (struct sk *)&data.a ; B) p = (struct sk *)data.a ;C) p = &data.a ; D) *p = data.a ;【1.89】已知 enum week sun,mon,tue,wed,thu,fri,satday ;則正確的賦值語(yǔ)句是A) sun=0 ; C) san=day ; D) sun=mon ; D) day=sun ;【 1.90】已知enum color re
38、d,yellow=2,blue,white,blackren ;執(zhí)行下述語(yǔ)句的輸出舛里旦 結(jié)果是 。printf("%d",ren=white) ;A) 0 B) 1 C) 3 D) 4【 1.91】 已知 enum namezhao=1,qian,sun,liman ; 執(zhí)行下述程序段后的輸出是。man=0;switch(man) case 0: printf("Peoplen") ;case 1: printf("Mann") ;case 2: printf("Womann") ;default: printf
39、("Errorn") ;A) People B) Man C) Woman D)Error【 1.92】下述關(guān)于枚舉類(lèi)型名的定義中,正確的是。A) enem a= one,two,three ; B) enem a one=9,two=-1,three ;C) enem a="one","two","three" ; D) enem a "one","two","three" ;【1.93C語(yǔ)言中標(biāo)準(zhǔn)輸入文件stdin是指。A) 鍵盤(pán) B) 顯示器 C)
40、鼠標(biāo) D) 硬盤(pán)【1.94】要打開(kāi)一個(gè)已存在的非空文件 file”用于修改,選擇正確的語(yǔ)句。A)fp=fopen("file", "r"); B)fp=fopen("file", "a+");C)fp=fopen("file", "w"); D)fp=fopen('file", "r+");【 1.95】當(dāng)順利執(zhí)行了文件關(guān)閉操作時(shí),fclose 函數(shù)的返回值是。A) -1 B) TRUE C) 0 D) 1【 1.96】 fscanf 函
41、數(shù)的正確調(diào)用形式是。A)fscanf ( 文件指針 , 格式字符串 , 輸出列表 );B)fscanf (格式字符串 , 輸出列表 , 文件指針 );C)fscanf (格式字符串 , 文件指針 , 輸出列表 );D)fscanf (文件指針 , 格式字符串 , 輸入列表 );【 1.97】使用fgetc 函數(shù),則打開(kāi)文件的方式必須是。A) 只寫(xiě) B) 追加 C) 讀或讀/寫(xiě) D) 參考答案 B 和 C 都正確【 1.98】已知宏定義#define N 3#define Y(n) (N+1)*n)執(zhí)行語(yǔ)句 z=2*(N+Y(5+1) ;后,變量z 的值是 。A) 42 B) 48 C) 52
42、D) 出錯(cuò)【1.99】已知宏定義#define SQ(x) x*x, 執(zhí)行語(yǔ)句 printf("%d",10/SQ(3) ;后的輸出結(jié)果是 。A) 1 B) 3 C) 9 D) 10【 1.100】已知宏定義如下:#define PR printf#define NL "n"#define D "%d"#define D1 DNL若程序中的語(yǔ)句是 PR(D1,a) ;經(jīng)預(yù)處理后展開(kāi)為A) printf(%dn,a) ; B) printf("%dn",a) ;C) printf("%d"&quo
43、t;n" , a); D) 原語(yǔ)句錯(cuò)誤【單項(xiàng)選擇題參考答案】【 1.1】答案: A注釋?zhuān)?int 是 C 語(yǔ)言的關(guān)鍵字【 1.2】答案: B【 1.3】答案:A【 1.4】答案:B注釋?zhuān)篿nclude是預(yù)處理命令;scanf是函數(shù)名;type不是C語(yǔ)言的關(guān)鍵字?!?1.5】答案:D【 1.6】答案:D【 1.7】答案:A【 1.8】答案:A注釋?zhuān)篿nt型表示整數(shù)的范圍是-3276832767?!?1.9】答案:D注釋?zhuān)赫统A?-1 在計(jì)算機(jī)中表示為補(bǔ)碼1111 1111 1111 1111,用十六進(jìn)制顯示這個(gè)數(shù)時(shí),最左邊的 1 不會(huì)被解釋為符號(hào)位,而是與右邊其它位共同轉(zhuǎn)換為十六進(jìn)制
44、數(shù)。【 1.10】答案:B注釋?zhuān)洪L(zhǎng)整型數(shù)32768在計(jì)算機(jī)內(nèi)的表示是1000000000000000,以一般整型進(jìn)行輸出時(shí),此數(shù)恰是-32768的補(bǔ)碼?!?1.11】答案:C注釋?zhuān)洪L(zhǎng)整型數(shù)65539在計(jì)算機(jī)內(nèi)的表示是0001000000000000 0011,以一般整型進(jìn)行輸出時(shí),僅將右側(cè) 16 位二進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)?!?1.12】答案:A注釋?zhuān)?C 語(yǔ)言中, int 型的負(fù)數(shù)是采用補(bǔ)碼表示的?!?1.13】答案:D【 1.14】答案:C注釋?zhuān)鹤兞縞 是字符型,可用字符常量為它賦值。字符常量必須用單引號(hào)括起來(lái),所以 B 是錯(cuò)誤的;在單引號(hào)或雙引號(hào)內(nèi)的反斜線'' 用于表示轉(zhuǎn)義
45、字符, 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ò)誤的?!?1.15】答案:C【 1.16】答案:D注釋?zhuān)嚎兆址涂崭穹遣煌膬蓚€(gè)字符,空格符的 ASCII 碼值是32,空字符的ASCII 值是 0?!?1.17】答案:A【 1.18】答案:B【 1.19】答案:A【 1.20】答案:C【 1.21】答案:B注釋?zhuān)簡(jiǎn)渭儚腃 語(yǔ)言語(yǔ)法來(lái)說(shuō),選項(xiàng)B 、 C 都是正確的,但是選項(xiàng)C 中第一個(gè)運(yùn)算的兩個(gè)對(duì)象都是整型常數(shù),其結(jié)果也是整型數(shù)0,最后的運(yùn)算結(jié)果也就是0 了?!?1.
46、22】答案:C【 1.23】答案:A注釋?zhuān)簩l件表達(dá)式增加一個(gè)括號(hào),此式變?yōu)?a<b?a:(c<d?c:d) ,它的運(yùn)算順序就清楚了。由于條件運(yùn)算符的結(jié)合性是從右向左,所以括號(hào)可以省略。它的運(yùn)算順序是先算出右邊的條件表達(dá)式"c<d?c:d" 的值,然后求條件表達(dá)式 a<b?a:3 的值?!?1.24】答案:C【 1.25】答案:B【 1.26】答案:B注釋?zhuān)?當(dāng)通過(guò)一個(gè)運(yùn)算對(duì)象即可決定邏輯運(yùn)算&& 的結(jié)果時(shí), 則對(duì)另一個(gè)運(yùn)算對(duì)象不做處理?!?1.27】答案:D【 1.28】答案:B注釋?zhuān)簲?shù)組元素在內(nèi)存中按行排列,此數(shù)組的前 3 個(gè)元素
47、的值分別是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è)元素?!?1.29】答案: A【 1.30】答案:D【 1.31】答案:B【 1.32】答案:B【 1.33】答案:B【 1.34】答案:A【 1.35】答案:C【 1.36】答案:C【 1.37】答案:C【 1.38】答案:D【 1.39】答案:D【 1.40】答案:C1.41】答案:D注釋?zhuān)?scanf 函數(shù)返回值是輸入數(shù)據(jù)的個(gè)數(shù), printf 函數(shù)的返回值是輸出的字符
48、個(gè)數(shù)?!?1.42】答案:D【 1.43】答案:C注釋?zhuān)涸?C 語(yǔ)言中, 經(jīng)常用一個(gè)變量來(lái)作為邏輯表達(dá)式,其含義就是:當(dāng)變量的值不為 0 時(shí)關(guān)系成立。【 1.44】答案:D注釋?zhuān)?break 語(yǔ)句僅可跳出 switch 語(yǔ)句,不會(huì)跳出 while 循環(huán),這是一個(gè)死循環(huán)?!?1.45】答案:A【 1.46】答案:C【 1.47】答案:C【 1.48】答案:D注釋?zhuān)寒?dāng)除數(shù)y 為 0 時(shí),程序發(fā)生溢出錯(cuò)誤。【 1.49】答案:C【 1.50】答案:A【 1.51】答案:C【 1.52】答案:C注釋?zhuān)捍鸢窩 的賦值號(hào)左側(cè)是數(shù)組s 的首地址,是一個(gè)常量,賦值號(hào)右側(cè)是一個(gè)字符串常量,不可能將一個(gè)字符串常量
49、賦給一個(gè)地址常量?!?1.53】答案:D注釋?zhuān)?D 選項(xiàng)缺少字符串結(jié)束標(biāo)志?!?1.54】答案:C注釋?zhuān)捍颂幒瘮?shù)形參是一個(gè)指針變量,接受實(shí)參的地址,而不是一個(gè)數(shù)組。【 1.55】答案:A【 1.56】答案:D注釋?zhuān)哼@里首先要明確一些基本概念。在C 語(yǔ)言中,程序與文件是不同的概念,一個(gè)程序可以由一個(gè)文件組成,也可以由多個(gè)文件組成;一個(gè)文件中又可以包含多個(gè)函數(shù);函數(shù)是構(gòu)成C 程序的基本單位。變量的作用域因變量的存儲(chǔ)類(lèi)型不同而不同。 auto 和 register 類(lèi)型的變量的作用域是說(shuō)明變量的當(dāng)前函數(shù);外部變量的作用域是整個(gè)程序,即外部變量的作用域可以跨越多個(gè)文件;內(nèi)部靜態(tài)變量(定義在一個(gè)函數(shù)內(nèi)部
50、的 static 型的變量)的作用域是當(dāng)前函數(shù),外部靜態(tài)變量(定義在函數(shù)外面的 static 型的變量)的作用域是當(dāng)前文件,即可以跨越同一文件中的不同函數(shù)。【 1.57】答案:A【 1.58】答案:A注釋?zhuān)核蛥?shù)a 一樣,數(shù)據(jù)類(lèi)型說(shuō)明被省略,按照 C 語(yǔ)言的規(guī)定,在這種情況下,表示它們是int 型?!?1.59】答案:C注釋?zhuān)汉瘮?shù)swapa 是值傳遞,函數(shù)的執(zhí)行結(jié)果不能返回;函數(shù)swapb 中變量 temp不是指針變量,所以它不能接受地址量,用指針變量x 為它賦值是不對(duì)的; 函數(shù) swap中雖然指針變量交換了地址,即它們的指向的目標(biāo)變量進(jìn)行了交換,但是目標(biāo)變量并沒(méi)有行值的交換?!?1.60】
51、答案:B【 1.61】答案:D【 1.62】答案:D注釋?zhuān)褐髡{(diào)函數(shù)中b=0 ,在執(zhí)行fun1 函數(shù)里的除法時(shí)發(fā)生溢出錯(cuò)誤?!?1.63】答案:B【 1.64】答案:C【 1.65】答案:D注釋?zhuān)涸诖鸢窪 中,正確的函數(shù)調(diào)用應(yīng)當(dāng)是: printf("%d", *y)?!?1.66】答案:C注釋?zhuān)阂⒁馀c說(shuō)明語(yǔ)句 "int (*p) ; " 的區(qū)別。說(shuō)明語(yǔ)句 "int (*p) ; "說(shuō)明的是一 個(gè)指向數(shù)組的指針?!?1.67】答案:C注釋?zhuān)侯}干中由于* 和 p 被小括號(hào)括起,所以 p 應(yīng)被解釋為一個(gè)指針,而后的下標(biāo)運(yùn)算符 說(shuō)明所指向的對(duì)
52、象是一個(gè)有4 個(gè) int 型元素的一維數(shù)組; 如果是 int (*p)(), 則是指向函數(shù)的指針。對(duì)于int *p4,則根據(jù)運(yùn)算符的優(yōu)先級(jí),先考慮 p和口運(yùn)算符的關(guān) 系,所以它就是一個(gè)指針數(shù)組了?!?1.68】答案:B注釋?zhuān)哼x項(xiàng)B 有兩處錯(cuò)誤,一是數(shù)組名是常量,不能出現(xiàn)的賦值好的左側(cè),二是指針變量只能和整數(shù)做加,不能和作為地址常量的數(shù)組名相加?!?1.69】答案:D注釋?zhuān)簊作為數(shù)組名是地址常量,而 $+是$=$+1, C語(yǔ)言不允許對(duì)常量進(jìn)行賦值。【 1.70】答案:C【 1.71】答案:C注釋?zhuān)?a 是二維數(shù)組名, a+1 中的 1 不是 1 個(gè)字節(jié),而是數(shù)組的 " 一行 "
53、; ,即 10 個(gè)字節(jié),所以 a+1 是第二個(gè)字符串的首地址, A 選項(xiàng)正確。在C 編譯系統(tǒng)中對(duì)二維數(shù)組名可這樣理解(注意,這里僅是理解):a指向一個(gè)一維數(shù)組,故(a+1)是指向a1的,*(a+1)就是取a1的值,它保存第二個(gè)字符串"ShangHai”的首地址,所以選項(xiàng)B也正確。 *a 是第一個(gè)字符串的首地址,加 1 是第一個(gè)字符串中第二個(gè)字符的地址,選項(xiàng) C 的輸出是 "beiJing" 。選項(xiàng) D 中的 &a10 是對(duì)第二個(gè)字符串的第一個(gè)字符做取地址運(yùn)算, 得到該地址就是字符串 "ShangHai" 的首地址。 注意, 對(duì)于二維數(shù)組
54、來(lái)說(shuō),做一次 *或 運(yùn)算的結(jié)果仍是地址量,做兩次才是取數(shù)值。【 1.72】答案:A注釋?zhuān)?p 是一個(gè)一級(jí)指針,選項(xiàng) B 中對(duì)它進(jìn)行了兩次*運(yùn)算是錯(cuò)誤的。 ptr 是一個(gè)指向一維數(shù)組的指針,它所指向的數(shù)組有三個(gè)元素,對(duì)于這樣一個(gè)指針,對(duì)它進(jìn)行兩次* 運(yùn)算才能取出地址單元中所存的數(shù)據(jù), C 選項(xiàng)中 *ptr 表示數(shù)組第一行的首地址,該地址是一維數(shù)組的地址, +3 表示加上三個(gè)它所指向的數(shù)據(jù)類(lèi)型的長(zhǎng)度,所以(*ptr+1)+2 是數(shù)組中數(shù)值4 的地址。根據(jù)以上分析,選項(xiàng)D 對(duì) ptr 進(jìn)行了兩次地址操作(*和 ),所以結(jié)果應(yīng)是數(shù)據(jù),但是它加 1 后指向數(shù)組第二行,根據(jù)后面 中 2它的地址增加兩個(gè)一維
55、數(shù)組的長(zhǎng)度,就指向數(shù)組的最后一行,再做*運(yùn)算就是數(shù)10,即 a30 ?!?1.73】答案:A【 1.74】答案:B B【 1.75】答案:D【 1.76】答案:B【 1.77】答案:D注釋?zhuān)捍鸢窪 是另一種交換兩個(gè)變量值的算法?!?1.78】答案:B【 1.79】答案:C注釋?zhuān)菏褂?C 對(duì) p 進(jìn)行賦值,則 p->next 是 a0 的地址,引用其成員n 再做前增 1運(yùn)算,結(jié)果就是2?!?1.80】答案:B【 1.81】答案:D【 1.82】答案:A【 1.83】答案:C注釋?zhuān)郝?lián)合變量temp 的成員是占用同一存儲(chǔ)單元,它的長(zhǎng)度是4 個(gè)字節(jié)。 266 的二進(jìn)制表示是,存放在存儲(chǔ)單元的低端
56、兩個(gè)字節(jié),如下圖:高字節(jié)0 0 0 0 0 0 0 1低字節(jié) 0 0 0 0 1 0 1 0引用 temp.ch 進(jìn)行輸出,只取最低的第一個(gè)字節(jié)?!?1.84】答案:D注釋?zhuān)河捎诮Y(jié)構(gòu)指針指向了結(jié)構(gòu)數(shù)組的 0 號(hào)元素,所以表達(dá)式 (p+)->m 的含義是先取出m (變量a的地址),然后指針p加1。表達(dá)式*(p+)->m的含義是先取出m的內(nèi)容(變量a的值),然后指針p再加1。表達(dá)式(*p).m的含義是取出m (變量a 的地址) 。 表達(dá)式 *(+p)->m 的含義是先將指針 p 加 1, 然后再取 m 的內(nèi)容 (變量 b 的值)。【 1.85】答案:D【 1.86】答案:B【 1
57、.87】答案:C【 1.88】答案:A【 1.89】答案:D【 1.90】答案:D【 1.91】答案:A【 1.92】答案:B【 1.93】答案:A【 1.94】答案:D注釋?zhuān)?函數(shù) fopen 中的第二參數(shù)是打開(kāi)模式, "r" 模式是只讀方式, 不能寫(xiě)文件; "a+"模式是讀/追加方式,允許從文件中讀出數(shù)據(jù),但所有寫(xiě)入的數(shù)據(jù)均自動(dòng)加在文件的末尾; "w" 模式是寫(xiě)方式,允許按照用戶的要求將數(shù)據(jù)寫(xiě)入文件的指定位置,但打開(kāi)文件后,首先要將文件的內(nèi)容清空。 "r+" 模式是讀/寫(xiě)方式,不但允許讀文件,而且允許按照用戶的
58、要求將數(shù)據(jù)寫(xiě)入文件的指定位置,且在打開(kāi)文件后,不會(huì)將文件的內(nèi)容清空。本題的要求是" 修改 " 文件的內(nèi)容,因此只能選擇答案D?!?1.95】答案:C【 1.96】答案:D【 1.97】答案:C【 1.98】答案:B注釋?zhuān)赫Z(yǔ)句 z=2*(N+Y(5+1) 引用了兩個(gè)宏定義。 C 語(yǔ)言是區(qū)分字母大小的,第二個(gè)宏定義中的N直接用3替換,用5+1替換n,則有z=2*(3+(3+1)*5+1);結(jié)果是48。注意對(duì)于帶參數(shù)的宏亦是直接的文本替換,此例中 n 用 5+1 去替換,結(jié)果是( N+1)*5+1 ,而不是 (N+1)*(5+1) ?!?1.99】答案:C注釋?zhuān)汉晏鎿Q后的結(jié)果是printf("%d",10/3*3)?!?1.100】答案:C二、 閱讀程序題導(dǎo)讀:學(xué)會(huì)閱讀程序?qū)τ诔鯇W(xué)者來(lái)說(shuō)很重要,一方面可以鞏固所學(xué)的語(yǔ)法知識(shí),另一方面通過(guò)閱讀別人寫(xiě)好的程序來(lái)打開(kāi)自己的思路,就所謂見(jiàn)多識(shí)廣。讀者通過(guò)閱讀理解程序,從給出的四個(gè)備選參考答案中,選擇程序的正確輸出。如果選擇有誤,就要認(rèn)真分析原因,是概念方面
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 平版印刷員崗前保密意識(shí)考核試卷含答案
- 臨床試劑工安全知識(shí)評(píng)優(yōu)考核試卷含答案
- 鐘表部件組件裝配工風(fēng)險(xiǎn)評(píng)估與管理能力考核試卷含答案
- 機(jī)制地毯擋車(chē)工安全理論測(cè)試考核試卷含答案
- 梳理縫編非織造布制作工安全知識(shí)強(qiáng)化考核試卷含答案
- 移栽機(jī)操作工崗前常識(shí)考核試卷含答案
- 2024年甘肅政法大學(xué)輔導(dǎo)員考試筆試真題匯編附答案
- 2024年隆化縣幼兒園教師招教考試備考題庫(kù)附答案
- 2025年三亞輔警協(xié)警招聘考試真題附答案
- 2025年電信網(wǎng)絡(luò)運(yùn)行維護(hù)操作手冊(cè)
- 散文系列《補(bǔ)鞋子的人》精-品解讀
- 2025國(guó)開(kāi)本科《公共部門(mén)人力資源管理》期末歷年真題(含答案)
- 養(yǎng)老院對(duì)護(hù)工規(guī)范管理制度
- 農(nóng)行內(nèi)控制度匯編
- 2025年企業(yè)黨支部書(shū)記年度述職報(bào)告
- 2026年孝昌縣供水有限公司公開(kāi)招聘正式員工備考題庫(kù)及參考答案詳解1套
- 絕經(jīng)后宮頸上皮內(nèi)病變處理要點(diǎn)2026
- 2025年校長(zhǎng)個(gè)人述職報(bào)告:凝心聚力抓落實(shí) 立德樹(shù)人開(kāi)新局
- 瀝青混凝土面板全庫(kù)盆防滲施工質(zhì)量通病防治手冊(cè)
- 光伏電站故障處理培訓(xùn)大綱
- 設(shè)備維保三級(jí)管理制度
評(píng)論
0/150
提交評(píng)論