C程序試題資料_第1頁(yè)
C程序試題資料_第2頁(yè)
C程序試題資料_第3頁(yè)
C程序試題資料_第4頁(yè)
C程序試題資料_第5頁(yè)
已閱讀5頁(yè),還剩68頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、PAGE PAGE 73第一章 C語(yǔ)言基礎(chǔ)知識(shí)一、選擇題1C語(yǔ)言規(guī)定,必須用 C 作為主函數(shù)名。 A)Function B)include C)main D)stdio2一個(gè)C程序可以包含任意多個(gè)不同名的函數(shù),但有且僅有一個(gè) B ,一個(gè)C程序總是從 B 開(kāi)始執(zhí)行。 A)過(guò)程 B) 主函數(shù) C)函數(shù) D)include3 A 是C程序的基本構(gòu)成單位。 A)函數(shù) B) 函數(shù)和過(guò)程 C) 超文本過(guò)程 D) 子程序4下列說(shuō)法正確的是 C 。一個(gè)函數(shù)的函數(shù)體必須要有變量定義和執(zhí)行部分,二者缺一不可一個(gè)函數(shù)的函數(shù)體必須要有執(zhí)行部分,可以沒(méi)有變量定義一個(gè)函數(shù)的函數(shù)體可以沒(méi)有變量定義和執(zhí)行部分,函數(shù)可以是空函

2、數(shù)以上都不對(duì)5下列說(shuō)法正確的是 D 。main函數(shù)必須放在C程序的開(kāi)頭main函數(shù)必須放在C程序的最后main函數(shù)可以放在C程序的中間部分,但在執(zhí)行C程序時(shí)是從程序開(kāi)頭執(zhí)行的main函數(shù)可以放在C程序的中間部分,但在執(zhí)行C程序時(shí)是從main函數(shù)開(kāi)始的6下列說(shuō)法正確的是 C 。在執(zhí)行C程序時(shí)不是從mian函數(shù)開(kāi)始的C程序書(shū)寫(xiě)格式嚴(yán)格限制,一行內(nèi)必須寫(xiě)一個(gè)語(yǔ)句C程序書(shū)寫(xiě)格式自由,一個(gè)語(yǔ)句可以分寫(xiě)在多行上C程序書(shū)寫(xiě)格式嚴(yán)格限制,一行內(nèi)必須寫(xiě)一個(gè)語(yǔ)句,并要有行號(hào)7在C語(yǔ)言中,每個(gè)語(yǔ)句和數(shù)據(jù)定義是用 C 結(jié)束。 A)句號(hào) B)逗號(hào) C)分號(hào) D)括號(hào)8下列字符串是標(biāo)識(shí)符的是 A 。 A)_HJ B)9_

3、student C)long D)LINE 19以下說(shuō)法正確的是 C 。C語(yǔ)言程序總是從第一個(gè)定義的函數(shù)開(kāi)始執(zhí)行在C語(yǔ)言程序中,要調(diào)用的函數(shù)必須在main()函數(shù)中定義C語(yǔ)言程序總是從main()函數(shù)開(kāi)始執(zhí)行C語(yǔ)言程序中的main()函數(shù)必須放在程序的開(kāi)始部分10 B 不是C語(yǔ)言提供的合法關(guān)鍵字。 A)switch B)print C)case D)default11C語(yǔ)言提供的合法關(guān)鍵字是 A 。 A)breack B)print C)funiton D)end12C語(yǔ)言提供的合法關(guān)鍵字是 A 。 A)continue B)procedure C)begin D)append13. C語(yǔ)言規(guī)

4、定: 在一個(gè)源程序中, main函數(shù)的位置 C 。A) 必須在最開(kāi)始 B) 必須在系統(tǒng)調(diào)用的庫(kù)函數(shù)的后面C) 可以在任意位置 D) 必須在源文件的最后14. 一個(gè)C語(yǔ)言程序是由 B 。一個(gè)主程序和若干個(gè)子程序組成;函數(shù)組成, 并且每一個(gè)C程序必須且只能由一個(gè)主函數(shù);若干過(guò)程組成;若干子程序組成.二、填空題1一個(gè)C程序至少包含一個(gè) 主函數(shù) ,即 main函數(shù) 。2一個(gè)函數(shù)由兩部分組成,它們是 函數(shù)的說(shuō)明部分 和 函數(shù)體 。3函數(shù)體的范圍是 最外層的一對(duì)大括弧內(nèi)的部分 。4函數(shù)體一般包括 變量定義部分 和 執(zhí)行部分 。5C語(yǔ)言是通過(guò) 輸入和輸出函數(shù) 來(lái)進(jìn)行輸入輸出的。6在C語(yǔ)言中,凡在一個(gè)標(biāo)識(shí)符后

5、面緊跟著一對(duì)圓括弧,就表明它是一個(gè) 函數(shù) 。7主函數(shù)名后面的一對(duì)圓括號(hào)中間可以為空,但一對(duì)圓括號(hào)不能 省略 。第一章 答案選擇題15 C B A C D 610 C C A C B1114 A A C B填空題1.主函數(shù) main函數(shù)2.函數(shù)的說(shuō)明部分 函數(shù)體3.最外層的一對(duì)大括弧內(nèi)的部分4.變量定義部分 執(zhí)行部分5.輸入和輸出函數(shù)6.函數(shù)7.小寫(xiě)8.省略第二章 C語(yǔ)言程序設(shè)計(jì)的初步知識(shí)一、選擇題1在C 語(yǔ)言中,下列類(lèi)型屬于基本類(lèi)型的是 A 。 A)整型、實(shí)型、字符型 B)空類(lèi)型、枚舉型 C)結(jié)構(gòu)體類(lèi)型、實(shí)型 D)數(shù)組類(lèi)型、實(shí)型2下列字符串屬于標(biāo)識(shí)符的是 A 。 A)INT B)5_stude

6、nt C)2ong D)!DF3C語(yǔ)言中不能用來(lái)表示整常數(shù)的進(jìn)制是 D 。 A)十進(jìn)制 B)十六進(jìn)制 C)八進(jìn)制 D)二進(jìn)制4在C語(yǔ)言中,回車(chē)換行符是 A 。 A)n B)t C)v D)b5在ASCII碼表中可以看到每個(gè)小寫(xiě)字母的ASCII碼比它相應(yīng)的大寫(xiě)字母的ASCII碼 A 。 A)大32 B)大64C)小32 D)小646設(shè)d為字符變量,下列表達(dá)式不正確的是 C 。 A)d=97B)d=a C)d=”a”D)d=g710+a+1.5-567.345/b的結(jié)果是 B 型數(shù)據(jù)。 A)longB)doubleC)intD)unsigned float8語(yǔ)句int i=3;k=(i+)+(i+

7、)+(i+);執(zhí)行過(guò)后k的值為 A ,i的值為 A 。 A)9,6B)12,5C)18,6D)15,59如果int i=3,則printf(“%d”,-i+)的結(jié)果為 A ,i的值為 A 。 A)-3,4 B)-4,4 C)-4,3 D)-3,310已知在ASCII字符集中,數(shù)字0的序號(hào)為48,下面程序的輸出結(jié)果為 B 。main() char x,y; x=0;y=9; printf(“%d,%dn”,x,y); A)因輸出格式不合法,輸出錯(cuò)誤信息 B)48,57 C)0,9 D)48,5811已知在ASCII集中,字母A的序號(hào)為65,下面程序的輸出結(jié)果為 B 。main() char c1

8、=B,c2=Y; printf(“%d,%dn”,+c1,-c2); A)輸出格式不合法,輸出錯(cuò)誤信息 B)67,88 C)66,89 D)C,X12C語(yǔ)言中,運(yùn)算對(duì)象必須是整型數(shù)的運(yùn)算符是 A 。 A)% B) C)% 和 D)*13下列常數(shù)中,合法的C 常量是 A 。 A)n B)e-310 C)DEF D)123414下列符號(hào)中,可以作為變量名的是 C 。 A)+a B)12345e C)a3B D)5e+015下面程序的輸出結(jié)果是 B 。 mian() int x=2,y=0,z; x*=3+2; printf(“%d”,x); x*=y=z=4; printf(“%d”,x); A)

9、8 40 B)10 40 C)10,4 D)8,416若已定義X和Y為double類(lèi)型,則表達(dá)式:x=1,y=x+3/2的值為 C 。A)1 B)2 C)2.0 D)2.517表達(dá)式(int)2.1416的值為 A 。A)2 B)2.1 C)0 D)318. 以下說(shuō)法正確的是 。A)在C程序中, 每行只能寫(xiě)一條語(yǔ)句.B)在C程序中, 無(wú)論是整數(shù)還是實(shí)數(shù), 其存放形式都一致.C)在C程序中, %是只能用于整數(shù)運(yùn)算的運(yùn)算符.D)在C程序中, 變量可以不必先定義就可使用.19. 若有以下定義, 則正確的賦值語(yǔ)句為 B 。int a, b ;float x; A)a=1, b=2, B)b+;C)a=

10、b=5 D)b= int (x) ;20. C語(yǔ)言規(guī)定標(biāo)識(shí)符由 A 等字符組成.)字母數(shù)字下劃線 )中劃線字母數(shù)字)字母數(shù)字逗號(hào) )字母 下劃線 中劃線21. 若有如下定義:int a=2,b=3; float x=3.5,y=2.5; 則表達(dá)式:(float)(a+b)/2+(int)x%(int)y的值是 B 。A)2.500000 B)3.500000 C)4.500000 D)5.00000022. 已知字母A的ASCII碼為十進(jìn)制65,下面程序段的運(yùn)行結(jié)果為: A 。char ch1,ch2;ch1= A+5-3; ch2= A+6-3;printf(“%d, %cn”, ch1,c

11、h2);A)67, D B)B, C C)C, D D)不確定值24. 設(shè)x、y均為float型變量,則以下不合法的賦值語(yǔ)句是 B 。A) + + x; B)y = ( x%2 ) / 10; C)x * = y + 8; D)x = y = 0;25. 設(shè)有以下定義,則能使值為3的表達(dá)式是: D 。 int k=7, x=12; A)x%=(k%=5) B)x%=(k-k%5)C)x%=k D)(x%=k)-(k%=5)二、填空題1C語(yǔ)言的數(shù)據(jù)類(lèi)型有四大類(lèi),分別是 基本類(lèi)型 、 構(gòu)造類(lèi)型 、 指針類(lèi)型 、 空類(lèi)型 。2C語(yǔ)言基本數(shù)據(jù)類(lèi)型包括 整型 、 字符型 、 實(shí)行 、 枚舉類(lèi)型 。3在C

12、語(yǔ)言中,程序運(yùn)行期間,其值不能被改變的量叫 常量 。4在C語(yǔ)言中,常量有不同的類(lèi)型,包括 整型常量 、 實(shí)型常量 、 字符常量 和 字符串常量 等。5在C語(yǔ)言中,在習(xí)慣上符號(hào)常量名用 大寫(xiě) ,變量用 小寫(xiě) 。(大寫(xiě)或小寫(xiě))6在C語(yǔ)言中,用來(lái)標(biāo)識(shí)變量名,符號(hào)常量名,函數(shù)名,數(shù)組名,類(lèi)型名,文件名的有效字符序列稱(chēng)為 標(biāo)識(shí)符 。7在C語(yǔ)言中,標(biāo)識(shí)符只能由 下劃線 、 字母 和 數(shù)字 三種字符組成,且第一個(gè)字符必須 下劃線 或 字母 。8在 C語(yǔ)言中,要求對(duì)所有甬道的變量,遵循先定義后 使用 的原則。9可以用來(lái)表示C的整常數(shù)的進(jìn)制是 十進(jìn)制 、 八進(jìn)制 、 十六進(jìn)制 。10實(shí)型變量分為 單精度 和 雙

13、精度 ,即float和double型。11C的字符常量是用 單引號(hào) 括起來(lái)的一個(gè)字符。12在一個(gè)變量定義語(yǔ)句中可以同時(shí)定義多個(gè)變量,變量之間用 逗號(hào) 隔開(kāi)。13下面的程序mian()printf(abctderfgn);/*空白處分別為兩個(gè)和一個(gè)空格*/printf(htibbjk); /*空白處為三個(gè)空格*/運(yùn)行結(jié)果是 fgab c de hi k 。14int型的取值范圍是-32768+32767 。15下面的程序main()char c1,c2;c1=a;c2=b;c1=c1-32;c2=c2-32;printf(%c %c,c1,c2);運(yùn)行結(jié)果為 A B 。16在C 語(yǔ)言中,系統(tǒng)在每

14、一個(gè)字符串的結(jié)尾自動(dòng)加一個(gè)“字符串結(jié)束標(biāo)志符”即o ,以便系統(tǒng)據(jù)此數(shù)據(jù)判斷字符串是否結(jié)束。17表達(dá)式10+a+1.5-0.5*b的結(jié)果 59.5。18表達(dá)式10+a+1.5-567.345/b的結(jié)果是 double 型數(shù)據(jù)。19表達(dá)式x=(a=3,6*3)和表達(dá)式x=a=3,6*a分別是 賦值 表達(dá)式和 逗號(hào) 表達(dá)式,兩個(gè)表達(dá)式執(zhí)行完的結(jié)果是 18 和 18 .執(zhí)行后X的值分別是 18 , 3 .20main()int i,j,m,n; i=8;j=10;m=+i;n=j+;printf(%d,%d,%d,%d,i,j,m,n);運(yùn)行后i,j,m,n的值是 9,11,9,10 .21.在C語(yǔ)言

15、中,可以利用 強(qiáng)制類(lèi)型轉(zhuǎn)換 ,將一個(gè)表達(dá)式的值轉(zhuǎn)換成指定的類(lèi)型。第二章 答案一、選擇題15A A D A A 610 C B A A B 11-15B A A C B 1620C A C B A 2124B A B D 二、填空題1.基本類(lèi)型 構(gòu)造類(lèi)型 指針類(lèi)型 空類(lèi)型2.整型 字符型 實(shí)型 枚舉類(lèi)型3.常量4.整型常量 實(shí)型常量 字符常量 字符串常量5.大寫(xiě) 小寫(xiě)6.標(biāo)識(shí)符7.字母 數(shù)字 下劃線 字母 下劃線8.使用9.十進(jìn)制 十六進(jìn)制 八進(jìn)制10.單精度 雙精度11.單引號(hào)12.逗號(hào)13.fgab c de hj k 注:第一行空白處分別為一個(gè)、三個(gè)空格 第二行空白處分別為六個(gè)、三個(gè)空格1

16、4.-32768+3276715.A B16.017.75.518.double19.賦值 逗號(hào) 18 18 18 320. 9,11,9,1021.強(qiáng)制類(lèi)型轉(zhuǎn)換第三章 順序結(jié)構(gòu)程序設(shè)計(jì)一、選擇題1.下列說(shuō)法正確的是 。A)輸入項(xiàng)可以是一個(gè)實(shí)型常量,如scanf(%f,4.8); B)只有格式控制,沒(méi)有輸入項(xiàng)也能進(jìn)行正確輸入,如scanf(a=%d,b=%d);C)當(dāng)輸入一個(gè)實(shí)型數(shù)據(jù)時(shí),格式控制部分應(yīng)規(guī)定小數(shù)點(diǎn)后的位數(shù),如scanf(%5.3f,&f); D)當(dāng)輸入數(shù)據(jù)時(shí),必須指明變量的地址,如scanf(%f,&f);2.根據(jù)題目中已給出的數(shù)據(jù)的輸入和輸出形式,程序中輸入/輸出語(yǔ)句的正確是

17、。main()int a;float x;printf(input a,x:);輸入語(yǔ)句輸出語(yǔ)句輸入形式 input a,x:3 2.1輸出形式a+x=5.10A)scanf(%d,%f,&a,&x);B)scanf(%d %f,&a.&x); printf(na+x=%4.2f,a+x); printf(na+x=%4.2f,a+x);C)scanf(%d %f,&a,&x);D)scanf(%d %3.1f,&a,&x);printf(na+x=%6.1f,a+x); printf(na+x=%4.2f,a+x);3.以下程序的輸出結(jié)果是 。main()int i=010,j=10,k=0

18、 x10;printf(%d,%d,%dn,i,j,k);A)8,10,16 B)8,10,10 C)10,10,10 D)10,10,164.以下程序的輸出結(jié)果是 。#includemain()printf(%dn,NULL);A)不確定的值(因變量無(wú)定義) B)0C)-1 D)15.以下程序的輸出結(jié)果是 。main()char c1=6,c2=0;printf(%c,%c,%d,%dn,c1,c2,c1-c2,c1+c2);A) 因輸出格式不合法,輸出出錯(cuò)信息 B) 6,0,6,102C) 6,0,7,6 D) 6,0,5,76.設(shè)有如下定義int x=10,y=3,z;則語(yǔ)句printf

19、(%dn,z=(x%y,x/y);的輸出結(jié)果是 。A)3 B)0 C)4 D)17.設(shè)有如下定義int x=10,y=5,z;則語(yǔ)句printf(%dn,z=(x+=y,x/y);的輸出結(jié)果是 。A)1 B)0 C)4 D)38.以下程序的輸出結(jié)果是 。main()int x=10,y=10;printf(%d %dn,x-,-y);A)10 10 B)9 9 C)9 10 D)10 99.若已知a=10,b=20,則表達(dá)式!ab的值為 。A)10 B)20 C)1 D)010.printf函數(shù)中用到格式符%4s,其中數(shù)字4表示輸出的字符串站用4列。如果字符串長(zhǎng)度大于4,則按原字符長(zhǎng)從左向右全

20、部輸出;如果字符串長(zhǎng)度小于4,則輸出方式為 。A)從左起輸出該字符串,右補(bǔ)空格 B)按原字符長(zhǎng)從左向右全部輸出C)右對(duì)齊輸出該字符,左補(bǔ)空格 D)輸出錯(cuò)誤信息11. 根據(jù)定義和數(shù)據(jù)的輸入方式,輸入語(yǔ)句的正確形式為: 。已有定義:float a1, a2;數(shù)據(jù)的輸入方式: 4.523 3.52A)scanf(“%f %f ”, &a1,&a2);B)scanf(“%f ,%f ”, a1, a2);C)scanf(“%4.3f ,%3.2f ”, &a1,&a2);D)scanf(“%4.3f %3.2f ”, a1,a2);12. 以下程序的輸出結(jié)果是:(注:表示空格) 。main( ) pr

21、intf(“n*s1=%8s*”, “china”);printf(“n*s2=%-5s*”, “chi”) ; A)*s1=china * B)*s1=china * *s2=chi* *s2=chi *C)*s1= china* D)*s1= china* *s2= chi * *s2=chi *二、填空題1.putchar函數(shù)的作用是 。2.printf函數(shù)的“格式控制”包括兩部分,他們是 和 。3.對(duì)不同類(lèi)型的語(yǔ)句有不同的格式字符。例如: 格式字符是用來(lái)輸出十進(jìn)制整數(shù), 格式字符是用來(lái)輸出一個(gè)字符, 格式字符是用來(lái)輸出一個(gè)字符串。4.%-ms表示如果串長(zhǎng) m,則在m列范圍內(nèi),字符串向

22、靠, 補(bǔ)空格。5.getchar函數(shù)的作用是 。6.符號(hào)“&”是 運(yùn)算符,&a是指 。7.復(fù)合語(yǔ)句是由一對(duì) 括起來(lái)的若干語(yǔ)句組成。8.分析下面程序:#includemain()int x=2,y,z;x*=3+2;printf(%dn,x);x*=y=z=4;printf(%dn,x);x=y=z;printf(%dn,x);x=(y=z);printf(%dn,x);程序的輸出結(jié)果為 。9.編制程序?qū)?shí)數(shù)a與b進(jìn)行加,減,乘,除計(jì)算,要求顯示如下結(jié)果。jia=70.000000jian=30.000000cheng=1000.000000chu=2.5000000程序:#includevoi

23、d main( ) (1) a=50.0;b=20.0;printf(jia=%fn, (2) );printf(jian=%fn (3) );printf(cheng=%fn, (4) );printf(chu=%fn, (5) );將缺少的部分填在空白處。10.下列程序的輸出結(jié)果是 。#includemain()char a;a=A;printf(%d%c,a,a);11.分析下面程序main()int x=2,y,z;x*=3+2;printf(%dn,x);x*=y=z=4;printf(%dn,x);x=y=1;z=x+-1;printf(%d,%dn,x,z);z+=-x+ +(+

24、y);printf(%d,%d,x,z);程序的輸出結(jié)果是 。12.以下程序的輸出結(jié)果為:_。include main( ) char c1,c2;c1=a;c2=n;printf(“%c%c”,c1,c2); 三、編程題1.從鍵盤(pán)上輸入一個(gè)大寫(xiě)字母,要求改用小寫(xiě)字母輸出。2.請(qǐng)編寫(xiě)一個(gè)程序,能顯示出以下兩行文字。I am a student.I love China.第三章 答案一、選擇題1-5DBABB6-10ADDCC11-12 AD二、填空題1.向終端輸出一個(gè)字符2.格式說(shuō)明 普通字符3.d,c,s4.小于,左,右5.從終端輸入一個(gè)字符6.地址 a在內(nèi)存中的地址7.花括弧8.10404

25、4(表示回車(chē)換行符)9.double a,b;a+b a-b a*b a/b10.65 A11.10402,03,0(表示回車(chē)換行符)12.a三、編程題1.#include void main( ) char c1,c2; c1=getchar( ); printf(“%c,%dn”,c1,c1); c2=c1+A-a; printf(“%c,%dn”,c2,c2); 2. #include void main( ) printf(“I am a student.n”); printf(“I love China.n”); 第四章 選擇結(jié)構(gòu)程序設(shè)計(jì)一、選擇題1以下關(guān)于運(yùn)算符優(yōu)先級(jí)的描述中,正確

26、的是 a 。 A)!(邏輯非)算術(shù)運(yùn)算關(guān)系運(yùn)算&(邏輯與)|(邏輯或)賦值運(yùn)算B)&(邏輯與)算術(shù)運(yùn)算關(guān)系運(yùn)算賦值運(yùn)算C)關(guān)系運(yùn)算算術(shù)運(yùn)算&(邏輯與)|(邏輯或)賦值運(yùn)算D)賦值運(yùn)算算術(shù)運(yùn)算關(guān)系運(yùn)算&(邏輯與)|(邏輯或)2邏輯運(yùn)算符的運(yùn)算對(duì)象的數(shù)據(jù)類(lèi)型 d 。A)只能是0或1 B)只能是.T.或.F.C)只能是整型或字符型 D)任何類(lèi)型的數(shù)據(jù)3能正確表示x的取值范圍在0,100和-10,-5內(nèi)的表達(dá)式是 b 。A)(x=-5)&(x=100)B)(x=-10)&(x=0)&(x=-10)&(x=0)&(x=100)D)(x=-5)&(x=100)4以下程序的運(yùn)行結(jié)果是 b 。main( )

27、int c,x,y; x=1; y=1; c=0; c=x+|y+; printf(“n%d%d%dn”,x,y,c); A)110 B)211 C)011 D)0015判斷字符型變量ch為大寫(xiě)字母的表達(dá)式是 c 。A)A=ch=A)&(ch=A)&(ch=A)AND(ch0) printf(”%f”,x); x=x+1; printf(”%f”,x); else printf(”%f”,-x); else printf(”%f”,-x);C)if(x0); D)if(x0) x=x+1; printf(”%f”,x); x=x+1; printf(”%f”,x) else printf(”%

28、f”,-x); else printf(”%f”,-x);7分析以下程序:main( ) int x=5,a=0,b=0; if(x=a+b) printf(“* *n”); else printf(“# #n”);以上程序 。A)有語(yǔ)法錯(cuò),不能通過(guò)編譯 B)通過(guò)編譯,但不能連接C)輸出* * D)輸出# #8寫(xiě)出下面程序的執(zhí)行結(jié)果 。main( )int x,y=1; if(y!=0) x=5; printf(“%dt”,x); if(y= =0) x=3;else x=5;printf(“%dtn”,x);A)1 3 B)1 5 C)5 3 D)5 59假定所有變量均已正確說(shuō)明,下列程序段

29、運(yùn)行后x的值是 。a=b=c=0;x=35;if(!a) x=-1;else if(b);if(c) x=3;else x=4;A)34 B)4 C)35 D)310若有以下函數(shù)關(guān)系x0 y=xx=0 y=x+1下面程序段能正確表示以上關(guān)系的是 。A)y=2x; B)y=2x;if(x!=0) if(x0)y=x; if(x= =0) y=x+1;else y=x+1; else y=x;C)if(x=0) (D)y=x+1;if(x0) y=x; if(x=0)else y=x+1; if(x y & x != y ) ;B)if ( x = = y ) x + = y ;C)if ( x

30、!= y ) scanf ( “%d”, &x) else scanf ( “%d”, &y);D)if ( x y ) x+; y+;13. 當(dāng) a = 1, b = 3 , c = 5, d = 4 時(shí), 執(zhí)行完下面程序段后 x 的值為 。if ( a b ) if ( c d ) x = 1 ; else if ( a c ) if ( b d ) x =2 ; else x = 3 ; else x = 6 ;else x = 7 ; A)1 B)2 C)3 D)614. 設(shè)有如下定義:char ch=z,則執(zhí)行下面語(yǔ)句后變量ch是值為: 。ch=(A=ch&chy|xz) z=x;

31、x=y; y=z;A)x=50, y=80, z=80 B)x=50, y=30, z=30C)x=30, y=50, z=80 D)x=80, y=30, z=5016. C語(yǔ)言中,要求運(yùn)算對(duì)象必須是整型的運(yùn)算符是: 。A) B)+ C)% D)!=17.在C語(yǔ)言中,多分支選擇結(jié)構(gòu)語(yǔ)句為:switch(c) case 常量表達(dá)式1:語(yǔ)句1; case 常量表達(dá)式n-1:語(yǔ)句n-1; default 語(yǔ)句n;其中括號(hào)內(nèi)表達(dá)式c的類(lèi)型: 。A)可以是任意類(lèi)型 B)只能為整型C)可以是整型或字符型 D)可以為整型或?qū)嵭投?、填空題1在C語(yǔ)言中,對(duì)于if語(yǔ)句,else子句與if子句的配對(duì)約定是 。2以

32、下兩條if語(yǔ)句可合并成一條if語(yǔ)句為 。if(ab) printf(* * * * y=%dn,y);else printf(# # # # x=%dn,x);3設(shè)有程序片段如下:switch(class)case A:printf(GREAT!n);case B:printf(GOOD!n);case C:printf(OK! n);case D:printf(NO!n);default:printf(ERROR!n);若class的值為C,則輸出結(jié)果是 。4根據(jù)以下if語(yǔ)句寫(xiě)出與其功能相同的switch語(yǔ)句(x的值在0100之間)。if語(yǔ)句:if(x60) m=1;else if(x70)

33、 m=2; else if(x80) m=3; else if(x90) m=4; else if(x100) m=5;switch語(yǔ)句:switch( (1) ) (2) m=1;break;case 6:m=2;break; case 7:m=3;break;case 8:m=4;break; (3) m=5;5. 輸入3個(gè)實(shí)數(shù) a, b, c要求按從大到小的順序輸出三數(shù)。main( ) float a,b,c,t; scanf(“%f,%f,%f”,&a,&b,&c); if (ab) t=a; _(1)_ b=t; if(_(2)_) t=a; a=c; c=t; if(b=a&ch=

34、z) (_(2)_);printf(”%cn”,ch); 7在C語(yǔ)言中提供的條件運(yùn)算符?:的功能是 .8用C語(yǔ)言描述下列命題(1)a小于b或小于c ,(2)a和b都大于c (3)a或b中有一個(gè)小于c (4)a是奇數(shù) 。三、編程題1編寫(xiě)一個(gè)程序,要求有鍵盤(pán)輸入三個(gè)數(shù),計(jì)算以這三個(gè)數(shù)為邊長(zhǎng)的三角形的面積。2輸入圓的的半徑r和一個(gè)整型數(shù)k,當(dāng)k=1時(shí),計(jì)算圓的面積;但k=2時(shí),計(jì)算圓的周長(zhǎng),當(dāng)k=3時(shí),既要求求圓的周長(zhǎng)也要求出圓的面積。編程實(shí)現(xiàn)以上功能。3. 有一函數(shù),其函數(shù)關(guān)系如下,試編程求對(duì)應(yīng)于每一自變量的函數(shù)值。 x2 (x0) y = -0.5x+10 (0 x10) x- (x10)4.

35、編一程序,對(duì)于給定的一個(gè)百分制成績(jī),輸出相應(yīng)的五分制成績(jī)。設(shè):90分以上為A;8089分為 B;7079分為C;6069分為D;60分以下為 E。第四章 答案選擇題A D B B C B D D B C D C B D A C C二、填空題1.else與它前面最近的一個(gè)if配對(duì)2.if(a=b) x=1; printf(“ * * * * y=%dn”,y); else y=2; printf(“ # # # # x=%dn”,x); 3.OK! NO! ERROR!4.(1)x/10 (2)case 0: case 1: case 2: case 3: case 4: case 5: (3)

36、case 9:5.a=b a=A& c=Z ch=ch-327.根據(jù)條件判定值,從兩種選擇對(duì)象中,選取一個(gè)作為整個(gè)運(yùn)算的結(jié)果8.(1)ab|ac&bc (3)fmod(a,2)= =1三、編程題1.#include #include main( ) float a,b,c,s,s1; printf(“Please enter 3 reals:n”); scanf(“%f%f%f”,&a,&b,&c); if(a+b)c&(a+c)b&(b+c)a)s=(a+b+c)*0.5; s1=s*(s-a)*(s-b)*(s-c); s=sqrt(s1); printf(“nArea of the tr

37、iangle is %fn”,s);else printf(“It is not triangle!n”);2.#include #define pi 3.14159 main( )int k; float r,c,a; printf(“input r,kn”); scanf(“%f%d”,&r,&k); switch(k) case 1: a=pi*r*r; printf(“area=%fn”,a);break; case 2: c=2*pi*r;printf(“circle=%fn”,c);break; cese 3: a=pi*r*r;c=2*pi*r;printf(“area=%f c

38、ircle=%fn”,a,c);break;3.#include main() float x,y; scanf(“%f”,&x); if(x=0&x=90) printf(“A”); else if(score=80) printf(“B”); else if(score=70) printf(“C”); else if(score=60) printf(“D”); else printf(“E”); 第五章 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)一、選擇題1for語(yǔ)句中的表達(dá)式可以部分或全部省略,但兩個(gè) 不可省略。但當(dāng)三個(gè)表達(dá)式均省略后,因缺少條件判斷,循環(huán)會(huì)無(wú)限制地執(zhí)行下去,形成死循環(huán)。A)0 B)1 C);

39、 D),2程序段如下int k=-20;while(k=0) k=k+1;則以下說(shuō)法中正確的是 。A)while循環(huán)執(zhí)行20次 B)循環(huán)是無(wú)限循環(huán) C)循環(huán)體語(yǔ)句一次也不執(zhí)行 D)循環(huán)體語(yǔ)句執(zhí)行一次3以下for循環(huán)是 。for(a=0,b=0;(b!=123)&(a=4);a+);A)無(wú)限循環(huán) B)循環(huán)次數(shù)不定 C)執(zhí)行4次 D)執(zhí)行5次4在下列程序中,while循環(huán)的循環(huán)次數(shù)是 。main( ) int i=0; while(i10) if(i1) continue; if(i= =5) break; i+; A)1 B)10 C)6 D)死循環(huán)、不能確定次數(shù)5程序段如下int k=0; w

40、hile(k+=2) printf(%dn,k);則執(zhí)行結(jié)果是 。A)1 B)2 C)0 D)無(wú)結(jié)果2 3 13 4 26執(zhí)行下面的程序后,a的值為 。main()int a,b;for(a=1,b=1;a=20)break;if(b%3=1) b+=3; continue; b-=5;A)7 B)8 C)9 D)107以下程序的輸出結(jié)果 。main()int x=3;doprintf(%3d,x-=2);while(-x);A)1 B)30 3 C)1 -2 D)死循環(huán)8定義如下變量:int n=10;則下列循環(huán)的輸出結(jié)果是 。while(n7)n-;printf(%dn,n);A)10 B

41、)9 C)10 D)9 9 8 9 8 8 7 8 7 7 69以下程序的輸出結(jié)果是 。main()int i;for(i=1;i=5;i+)if(i%2)printf(#);else continue;printf(*);printf($n);A)*#*#*#$ B)#*#*#*$ C)*#*#$ D)#*#*$10當(dāng)輸入為quert?時(shí),下面程序的執(zhí)行結(jié)果是 。#includemain()char c;c=getchar();while(c!=?)putchar(c);c=getchar();A)quert B)Rvfsu C)quert? D)rvfsu?11在C語(yǔ)言的循環(huán)語(yǔ)句for,w

42、hile,do-while中,用于直接中斷最內(nèi)層循環(huán)的語(yǔ)句是 。A)swich B)continue C)break D)if12若i,j已定義為int型,則以下程序段中循環(huán)體的總的執(zhí)行次數(shù)是 。for(i=5;i;i-) for(j=0;j4;j+) A)20 B)24 C)25 D)3013以下程序的功能是:按順序讀入10名學(xué)生的4門(mén)課程的成績(jī),計(jì)算出每位學(xué)生的平均分并輸出,程序如下:main()int n,k;float score,sum,ave;sum=0.0;for(n=1;n=10;n+)for(k=1;k=4;k+)scanf(%f,&score);sum+=score;ave

43、=sum/4.0;printf(NO%d:%fn,n,ave);上述程序有一條語(yǔ)句出現(xiàn)在程序的位置不正確。這條語(yǔ)句是 。A)sum=0.0; B)sum+=score;C)ave=sum/4.0; D)printf(NO%d:%fn,n,ave);14. 循環(huán)語(yǔ)句中的for語(yǔ)句,其一般形式如下:for(表達(dá)式1;表達(dá)式2;表達(dá)式3) 語(yǔ)句其中表示循環(huán)條件的是 。A)表達(dá)式1 B)表達(dá)式2 C)表達(dá)式3 D)語(yǔ)句15. 下面有關(guān)for循環(huán)的正確描述是 。A)for循環(huán)只能用于循環(huán)次數(shù)已經(jīng)確定的情況B)for循環(huán)是先執(zhí)行循環(huán)體語(yǔ)句,后判斷表達(dá)式C)在for循環(huán)中,不能用break語(yǔ)句跳出循環(huán)體D)

44、for循環(huán)的循環(huán)體語(yǔ)句中,可以包含多條語(yǔ)句,但必須用花括號(hào)括起來(lái)16. 以下能正確計(jì)算12310的程序段是 。A)do i=1;s=1; s=s*i; i+; while(i=10);B)do i=1;s=0; s=s*i; i+; while(i=10);C)i=1;s=1; do s=s*i; i+; while(i=10);D)i=1;s=0; do s=s*i; i+; while(i=10);17. 以下程序段 。x=-1; do x=x * x; while(!x);A)是死循環(huán) B)循環(huán)執(zhí)行二次 C)循環(huán)執(zhí)行一次 D)有語(yǔ)法錯(cuò)誤18. 設(shè)有以下程序段,則執(zhí)行該程序后為: 。int

45、 x = 0, s = 0 ;while ( !x != 0 ) s += + x ;printf ( “ %d ”, s ) ;A)運(yùn)行程序段后輸出0B)運(yùn)行程序段后輸出1C)程序段中的控制表達(dá)式是非法的D)程序段執(zhí)行無(wú)限次19. 下面程序的運(yùn)行結(jié)果是: 。#include main( ) int I ; for ( I = 1; I amax) amax=x;if (2) amin=x;scanf(%f,&x);printf(namax=%fnamin=%fn,amax,amin);2.下面程序可求出11000的自然數(shù)中所有的完數(shù)(因子和等于該數(shù)本身的數(shù))請(qǐng)?zhí)羁铡ain( ) int m

46、, n, s;for(m=2;m1000;m+) _(1)_for(n=1;n=m/2;n+)if(_(2)_) s+=n;if(_(3)_) printf(“%dn”, m); 四、讀程序?qū)懡Y(jié)果題1下面程序的輸出結(jié)果是 。main()int n=0;while(n+=1);printf(%d,n);printf(%dn,n);2下面程序的輸出結(jié)果是 。 main()int s,i;for(s=0,i=1;i2);printf(%dn,j);4.下面程序運(yùn)行結(jié)果是: 。main( ) int x, i ; for( i=1,x=1; i=10) break;if(x%2=1) x+=5;con

47、tinue;x - = 3;printf(“%dn”, i ); 5.下面程序運(yùn)行結(jié)果是: 。include main( ) int i,j;for(i=4;i=1;i-) printf(“*”); for(j=1;j=0(2)xn) temp=m;m=n;n=temp;r=m%n;while(r!=0)m=n; n=r; r=m%n;printf(“The MAX Factor is %dn”,n);2.#include #include main( ) int k,l,m,n=0;printf(“Please Input n:n);for(m=101;m=200;m+=2) if(n%10

48、= =0) printf(“n”); k=sqrt(m); for(l=2;l=k+1) printf(“%d”,m); n+; 3. #include main( ) int j,k; printf(“n”); for(j=1;j10;j+) for(k=1;k=j;k+) printf(“%d*%d=%-4d”,k,j,j*k); printf(“n”); 4. #include mian( ) int k,sum=0,sign=1; for(k=1;k=101;k+=2) sum+=k*sign; sign*=-1; printf(“nsum=%d”,sum); 第六章 數(shù)組一、選擇題1

49、.在C語(yǔ)言中,引用數(shù)組元素時(shí),其數(shù)組下標(biāo)的數(shù)據(jù)類(lèi)型允許是 。A)整型常量 B)整型常量或整型表達(dá)式 C)整型表達(dá)式 D)任何類(lèi)型的表達(dá)式2.以下對(duì)一維整型數(shù)組a的正確說(shuō)明是 。A)int a(10); B)int n=10,an;C)int n; scanf(“%d”,&n); int an;D ) #define SIZE 10 int aSIZE;3、3以下能對(duì)一維數(shù)組a進(jìn)行正確初始化的語(yǔ)句是 。A)int a10=(0,0,0,0,0); B)int a10= ;C)int a =0; D)int a10=10*1;4.不是給數(shù)組的第一個(gè)元素賦值的語(yǔ)句是 。A)int a2=1; B)

50、int a2=1*2; C) int a2;scanf (“%d”,a); D)a1=1;5下面程序的運(yùn)行結(jié)果是 。main()int a6,i;for(i=1;i3)%5;printf(%2d,ai); A)-4 0 4 0 4 B)-4 0 4 0 3 C)-4 0 4 4 3 D)-4 0 4 4 06下列定義正確的是 。 A) static int a=1,2,3,4,5 B) int b1=2,5 C) int a(10) D) int 4e47若有說(shuō)明int a4=0,0;則下列敘述不正確的是 。 A) 數(shù)組a的每個(gè)元素都可以得到初值0 B) 二維數(shù)組a的第一維的大小為1C) 因?yàn)?/p>

51、對(duì)二維數(shù)組a的第二維大小的值除以初值個(gè)數(shù)的商為1,故數(shù)組a的行數(shù)為1 D) 只有元素a00和a01可得到初值0,其余元素均得不到初值8設(shè)有char str10,下列語(yǔ)句正確的是 。 A) scanf(%s,&str); B) printf(%c,str); C) printf(%s,str0); D) printf(%s,str);9下列說(shuō)法正確的是 。 A) 在C語(yǔ)言中,可以使用動(dòng)態(tài)內(nèi)存分配技術(shù)定義元素個(gè)數(shù)可變的數(shù)組 B) 在C語(yǔ)言中,數(shù)組元素的個(gè)數(shù)可以不確定,允許隨機(jī)變動(dòng) C) 在C語(yǔ)言中,數(shù)組元素的數(shù)據(jù)類(lèi)型可以不一致 D) 在C語(yǔ)言中,定義了一個(gè)數(shù)組后,就確定了它所容納的具有相同數(shù)據(jù)類(lèi)型

52、元素的個(gè)數(shù)10假設(shè)array是一個(gè)有10個(gè)元素的整型數(shù)組,則下列寫(xiě)法中正確的是 。 A) array0=10 B) array=0 C) array10=0 D) array-1=011執(zhí)行以下程序段后,a的值是 。 static int a=5,3,7,2,1,5,4,10; int a=0;k; for(k=0;k8;k+=2) a+=*(a+k);A) 17 B) 27 C) 13 D) 有語(yǔ)法錯(cuò)誤,無(wú)法確定12分析下列程序main()int n3,i,j,k;for(i=0;i3;i+) ni=0;k=2;for(i=0;ik;i+) for(j=0;jk;j+) nj=ni+1;pr

53、intf(%dn,n1);上述程序運(yùn)行后,輸出的結(jié)果是 。A)2 B)1 C)0 D)313. 若有以下定義: int a5= 5, 4, 3, 2, 1 ; char b= a, c, d, e;則下面表達(dá)式中數(shù)值為2的是 。 A)a 3 B)a e c C)a d-b D)a e-b 14.下面幾個(gè)字符串處理表達(dá)式中能用來(lái)把字符串str2連接到字符串str1后的一個(gè)是: 。A)strcat(str1,str2) ; B)strcat(str2,str1);C)strcpy(str1,str2) ; D)strcmp(str1,str2);15.設(shè)有兩字符串“Beijing”、“China”

54、分別存放在字符數(shù)組str110,str210中,下面語(yǔ)句中能把“China”連接到“Beijing”之后的為: 。A)strcpy(str1,str2); B)strcpy(str1, “China”);C)strcat(str1,“China”); D)strcat(“Beijing”,str2);16.若有二維數(shù)組amn,則數(shù)組中aIj之前的元素的個(gè)數(shù)為 。A) j*m+I B)I*n+j C) I*m+j+1 D)I*n+j+117.若有如下定義: int a33=1,2,3,4,5,6,7,8,9,i ; 則下列語(yǔ)句的輸出結(jié)果是: 。for (i=0;i=2;i+) printf(“%

55、d”,ai2-i);A)3 5 7 B)3 6 9C)1 5 9 D)1 4 718.下列字符串賦值語(yǔ)句中,不能正確把字符串C program賦給數(shù)組的語(yǔ)句是: 。A)char a=C, ,p,r,o,g,r,a,m;B)char a10; strcpy(a2, “C program”);C)char a10; a= “C program”;D)char a10= “C program”;19. 以下不能對(duì)二維數(shù)組a 進(jìn)行正確初始化的語(yǔ)句是 。A)int a2 3 = 0; B)int a 3=1,2,0;C)int a23=1,2,3,4,5,6; D)int a 3=1,2,3,4,5,6

56、;20. 下面程序的運(yùn)行結(jié)果是 。char c5=a,b,0,c,0; printf(“%s”,c); A)ab B)ab0c0 C)ab c D)ab21. 判斷字符串a(chǎn)和b是否相等,應(yīng)當(dāng)使用 。A)if (a= =b) B)if (a=b) C)if (strcpy(a,b) D)if(strcmp(a,b)22. 有字符數(shù)組a80和b80,則正確的輸出語(yǔ)句是 。A)puts (a,b); B)printf(“%s,%s”,a,b);C)putchar(a,b); D)puts(a),puts(b);23. 若有如下定義和語(yǔ)句: char s12= “a book!”; printf(“%

57、d”,strlen(s) );則輸出結(jié)果是: 。A)12 B)10 C)7 D)624. 以下能對(duì)二維數(shù)組a進(jìn)行正確說(shuō)明和初始化的語(yǔ)句是: 。A)int a( )(3)= ( 1, 0, 1 ), ( 2, 4, 5 ) ;B)int a2= 3, 2, 1 , 5, 6, 7 ;C)int a3= 3, 2, 1 , 5, 6, 7 ;D)int a(2)( )= ( 1, 0, 1 ), ( 2, 4, 5 ) ;25.若有說(shuō)明:int a34 = 0;則下面正確的敘述是: 。A)只有元素a00可以得到初值0B)此說(shuō)明語(yǔ)句不正確C)數(shù)組a中每個(gè)元素均可得到初值01.標(biāo)識(shí)符2.常量 符號(hào)常量

58、 變量3.逐個(gè)引用 整個(gè)數(shù)組4.static5.靜態(tài)(static)6.靜態(tài)、外部7.可以指定8.按行存放,即在內(nèi)存中先存放第一行的元素,再存放第二行的元素9.m-1,n-110.字符數(shù)組11.數(shù)組的名D)數(shù)組a每個(gè)元素均可得到初值,但值不一定為0二、填空題1數(shù)組名定名規(guī)則和變量名相同,遵循 定名規(guī)則。2對(duì)于一維數(shù)組的定義“類(lèi)型說(shuō)明符 數(shù)組名常量表達(dá)式”,其中常量表達(dá)式可以包括 和 ,不能包含 。3在C語(yǔ)言中,引用數(shù)組只能通過(guò) 數(shù)組元素來(lái)實(shí)現(xiàn),而不能通過(guò)整體引用 來(lái)實(shí)現(xiàn)。4在定義數(shù)組時(shí)對(duì)數(shù)組元素賦以初值,需要在數(shù)組的類(lèi)型說(shuō)明符前加關(guān)鍵字 。5如果要使一個(gè)內(nèi)部數(shù)組在定義時(shí)每個(gè)元素初始化值為0,但

59、 其說(shuō)明成 存儲(chǔ)類(lèi)型即可。6C語(yǔ)言規(guī)定,只有定義為 存儲(chǔ)類(lèi)型和 存儲(chǔ)類(lèi)型的數(shù)組才能初始化。7定義變量時(shí),如果對(duì)數(shù)組元素全部賦初值,則數(shù)組長(zhǎng)度 。8在C語(yǔ)言中,二維數(shù)組中元素排列的順序是 。9對(duì)與數(shù)組amn來(lái)說(shuō),使用數(shù)組的某個(gè)元素時(shí),行下標(biāo)的最大值是 ,列下標(biāo)的最大值是 。10在C語(yǔ)言中,將字符串作為 處理。11在C語(yǔ)言中,數(shù)組的首地址是 。三、程序填空題1.以下程序可求出所有水仙花數(shù)(指3位正整數(shù)中各位數(shù)字立方和等于該數(shù)本身,如153=13+53+33),請(qǐng)?zhí)羁?。main( ) int x, y ,z, a10, m, i=0;printf(“shui xian huan shu :n”);f

60、or(_(1)_;m1000;m+) x=m/100; y=_(2)_; z=m%10;if(m=x*x*x+y*y*y*y+z*z*z)_(3)_; i +; for( x=0;xi ; x+)printf(“%6d”,ax ) ; 2. 打印以下楊輝三角形.(要求打印出10行) main( ) int a1010,i, j ; 1 for( i=0;i10;i+) 1 1_(1)_ _(2)_ 1 2 1for( i=2; i10; i+ ) 1 3 3 1 for(j=1; ji ; j+ ) 1 4 6 4 1 aij =_(3)_; for(i=0; i10; i+) for( j=

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論