c語言復(fù)習(xí)題及參考答案

上傳人:無*** 文檔編號(hào):21698175 上傳時(shí)間:2021-05-07 格式:DOCX 頁數(shù):77 大?。?31.60KB
收藏 版權(quán)申訴 舉報(bào) 下載
c語言復(fù)習(xí)題及參考答案_第1頁
第1頁 / 共77頁
c語言復(fù)習(xí)題及參考答案_第2頁
第2頁 / 共77頁
c語言復(fù)習(xí)題及參考答案_第3頁
第3頁 / 共77頁

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《c語言復(fù)習(xí)題及參考答案》由會(huì)員分享,可在線閱讀,更多相關(guān)《c語言復(fù)習(xí)題及參考答案(77頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。

1、 《C 語言程序設(shè)計(jì)》復(fù)習(xí)題 第一、二章 一、單項(xiàng)選擇題 1、下列符號(hào)中,不可以作為變量名的是 _________ 。 A 、 _var B、 VAR10 C、 varx D 、 2def 2、運(yùn)算符 && 代表 。 A 、按位與 B、邏輯與 C、邏輯或 D、按位取反 3、下列字符串為標(biāo)識(shí)符的是 __ ___。 A 、_1_A B、 5_student C、long D、 !DF 4、下列屬于字符型常量的是 。 A 、’ AA’ B 、“ B” C、 ‘a(chǎn)’ D、 ’x93L ’ 5、表達(dá)式 18/4*sqr

2、t(4.0)/8 值的數(shù)據(jù)類型為 ____________. A 、 int B 、 double C 、 char D 、不確定 6、設(shè)有單精度變量 f ,其值為 13.4 執(zhí)行語句 “ n=((int)f%3; 后,”n 的值是 。 A 、1 B、 4 C、 4.333333 D 、 4.6 7、為表示關(guān)系 x≥ y≥z,正確的 C 語言表達(dá)式是 。 A 、( x>=y )&&(y>=z) B、 (x>=y) AND (y>=z) C、(x>=y>=z) D、(x>=z)&(y>=z) 8、運(yùn)算符 ||代表 。 A 、按位或 B、邏輯或 C、按位

3、異或 D 、按位取反 9、若 k 為 int 型變量且賦值 11,則 k++ 表達(dá)式的值為 。 A 、 10 B、 11 C、12 D、 13 10、下列四組選項(xiàng)中,均是合法轉(zhuǎn)義符的選項(xiàng)是 。 A 、‘”’‘’ ‘n’ B、‘’ ‘017 ’ ‘”’ C、‘018 ’ ‘f ’ ‘ xab ’D 、‘0’ ‘101 ’ ‘ xlf ’ 11、下列不正確的字符常量是 。 A 、 “ C” B 、‘”’ C、 ‘’ D 、 ‘ K’ 12、用 C 語言編寫的源文件經(jīng)過編譯,若沒有產(chǎn)生編譯錯(cuò)誤,則系統(tǒng)將 。 A 、生成可執(zhí)行目標(biāo)文件 B 、生成目標(biāo)文件

4、 C、輸出運(yùn)行結(jié)果 D 、自動(dòng)保存源文件 13、下列說法中錯(cuò)誤的是 。 A 、主函數(shù)可以分為兩個(gè)部分:主函數(shù)說明部分和主函數(shù)體 B 、主函數(shù)可以調(diào)用任何非主函數(shù)的其他函數(shù) C、任何非主函數(shù)可以調(diào)用其他任何非主函數(shù) D 、程序可以從任何非主函數(shù)開始執(zhí)行 14、算術(shù)運(yùn)算符、賦值運(yùn)算符和關(guān)系運(yùn)算符的運(yùn)算優(yōu)先級按從高到低依次為 。 A 、算術(shù)運(yùn)算、賦值運(yùn)算、關(guān)系運(yùn)算 B 、算術(shù)運(yùn)算、關(guān)系運(yùn)算、賦值運(yùn)算 C、關(guān)系運(yùn)算、賦值運(yùn)算、算術(shù)運(yùn)算 D 、關(guān)系運(yùn)算、算術(shù)運(yùn)算、賦值運(yùn)算 15、已知字母 A 的 ASCII 碼為十進(jìn)制數(shù) 65,且 c2 為字符型,則

5、執(zhí)行語句 c2= ’ A’ +-’‘ 63后’; c2 中的值是 。 A 、C B 、 D C、 68 D 、不確定的值 16、字符串 "ABC" 在內(nèi)存占用的字節(jié)數(shù)是 。 - 1 - A 、3 B、 4 C、 6 D 、 8 17、設(shè) a=1,b=2 , c=3,d=4 ,則表達(dá)式: a

6、(x)) C、C 語言函數(shù)不可以單獨(dú)編譯 D 、C 語言中除了 main 函數(shù),其他函數(shù)不可作為單獨(dú)文件形式存在 19、以下敘述不正確的是 。 A 、在 C 程序中,逗號(hào)運(yùn)算符的優(yōu)先級最低 B 、在 C 程序中, MAX 和 max 是兩個(gè)不同的變量 C、若 a 和 b 類型相同,在計(jì)算了賦值表達(dá)式 a=b 后, b 中的值不變 D 、當(dāng)從鍵盤輸入數(shù)據(jù)時(shí),對于整型變量只能輸入整型數(shù)值,對于實(shí)型變量只能輸入實(shí)型數(shù)值 20、整型常量不能使用的形式是 。 A 、二進(jìn)制 B、八進(jìn)制 C、十進(jìn)制 D 、十六進(jìn)制 21、 C 語言源程序的擴(kuò)展名

7、為 ,連接后生成文件的擴(kuò)展名為 。 A 、.C B 、.EXE C、 .OBJ D、 .COM 二、填空題 1、C 語言程序是由 組成,其中主函數(shù)的名字必須用 。 2、C語言程序總是從 開始執(zhí)行。 3、一個(gè)函數(shù)包含 和 兩大部分,包含在 中的內(nèi)容稱為函數(shù)體。 4、C 語言程序的上機(jī)步驟分為 、 、 和 四步。 5、注釋部分以 開始,以 結(jié)束。 6、在 32 位系統(tǒng)中, C 語言的 int 型數(shù)據(jù)占個(gè) 字節(jié), float 型數(shù)據(jù)占 個(gè) 字節(jié), double 型數(shù)據(jù)占 字節(jié), char 型數(shù)據(jù)

8、占個(gè) 字節(jié)。 7、將 x 定義為整型變量的語句是 。 8、將 lg 定義為長整型變量的語句是 。 9、將 cg 定義為字符型變量的語句是 。 10、 與 x3+3x 3y+3xy 2 +y3 對應(yīng)的 C 語言表達(dá)式是 ___________________ 。 11、表達(dá)式 3.5+1/2 的計(jì)算結(jié)果是 。 12、 C 語言的基本數(shù)據(jù)類型有 ___ ___、 ____ __和 ___ __。 13、表達(dá)式 x=x+1 表示成增量表達(dá)式為 。 第三章

9、 一、單項(xiàng)選擇題 1、 putchar 函數(shù)可以向終端輸出一個(gè) 。 A 、整型變量表達(dá)式 B、實(shí)型變量值 C、字符串 D、字符或字符型變量值 2、printf 函數(shù)中用到格式符 %5s。如果字符串長度大于 5,則輸出按方式 ;如果字 符串長度小于 5,則輸出按方式 。 - 2 - A 、從左起輸出該字符串,右補(bǔ)空格 B 、按原字符長從左向右全部輸出 C、右對齊輸出該字符串,左補(bǔ)空格 D、輸出錯(cuò)誤信息 3、 閱讀以下程序,當(dāng)輸入數(shù)據(jù)的形式為: 25,13,10<

10、CR> (注: 表示回車),則正確的 輸出結(jié)果為 。 void main( ) { int x,y,z; scanf( “ %d%d%d” ,&x,&y,&z); printf( “ x+y+z=%dn” ,x+y+z); } A 、 x+y+z=48 B 、x+y+z=35 C、48 D、不確定值 4、根據(jù)下面的程序及數(shù)據(jù)的輸入和輸出形式, 程序中輸入語句的正確形式應(yīng)該為 。 void main( ) { char ch1,ch2,ch3; 輸入語句 printf( “ %c % %c” ,ch1,ch2,ch3

11、); } 輸入形式: ABC 輸出形式: ABC A 、scanf( “ %c%c%c” ,&ch1,&ch2,&ch3); B、 scanf( “ %c,%c,%c” ,&ch1,&ch2,&ch3); C、 scanf( “ %c%c %c” ,&ch1,&ch2,&ch3); D、 scanf( “ %c%c” ,&ch1,&ch2,&ch3); 5、已知 ch 是字符型變量,下面不正確的賦值語句是 。 A 、 ch= ‘ a’ +’ b’;B、 ch= ‘0’; C、 ch= ‘ 7’ +‘ 9D’;、ch=” aa; ” 6、以下關(guān)于結(jié)構(gòu)

12、化程序設(shè)計(jì)的敘述正確的是 。 A 、一個(gè)結(jié)構(gòu)化程序必須同時(shí)由順序、分支、循環(huán)三種結(jié)構(gòu)組成 B 、結(jié)構(gòu)化程序使用 goto 語句會(huì)很便捷 C、在 C 語言中,程序的模塊化是利用函數(shù)實(shí)現(xiàn)的 D 、由三種基本結(jié)構(gòu)構(gòu)成的程序只能解決小規(guī)模的問題 7、有以下程序 #include void main( ) {int a1,a2; char c1,c2; scanf( “ %d%c%d%c” ,&a1,&c1,&a2,&c2); printf( “ %d,%c,%d,%c ” ,a1,c1,a2,c2); }

13、若想通過鍵盤輸入, 使得 a1 的值為 12,a2 的值為 34,c1 的值為字符 a,c2 的值為字符 b, 程序輸出結(jié)果是: 12,a,34,b,則正確的輸入格式是 。(以下 _代表空格, 代表回 車) A 、12a34b B 、 12_a_34_b C、 12,a,34,b D 、 12_a34_b 8、有以下程序,程序運(yùn)行后的輸出結(jié)果是 。 #include void main( ) { int x=011; - 3 - printf("%d

14、\n",++x); } A 、2 B、 4 C、10 D、 11 9、執(zhí)行以下語句后,顯示結(jié)果為 。 x=19; printf( “ %x” ,x); A 、 13 B、 19 C、 23 D 、執(zhí)行錯(cuò)誤 10、執(zhí)行以下語句:顯示結(jié)果為 。 x=97; printf( “ %c” ,x); A 、97 B、 a C、 A D、執(zhí)行錯(cuò)誤 二、程序填空題 1、從鍵盤上輸入一個(gè)字符,如果是大寫字母,則將其轉(zhuǎn)換成小寫字母后輸出。 #include void main( ) {char ch;

15、scanf( “ %c”, ); ch=( )?ch+32:ch; printf( “ char=%cn” ,ch); } 2、從鍵盤分別為變量 x 和 y 輸入整數(shù),交換它們的值后輸出。 #include void main( ) { int x,y; ; scanf( “ %d%d” ,&x,&y); z=x; ; y=z; printf( “ x=%d,y=%d ” ,x,y); } 三、程序改錯(cuò)題,下面程序片段可能只有一個(gè)錯(cuò),也可能有一個(gè)以上的錯(cuò)。 1、 void mai

16、n() {float a1=123.456; printf( “ %d” ,a1); } ( )改為:( ) 2、 printf( 請“輸入三個(gè)數(shù) x1,x2,x3: ” ); scanf( “ %f%f%f” ,x1,x2,x3); ( )改為:( ) 3、 k=-8567; printf( “ %6Dn” ,k); - 4 - ( )改為:( ) 四、編程題。 1、從鍵盤輸入一個(gè)四位數(shù),把該整數(shù)顛倒過來輸出(例如 1234 變成 4321)。 2、寫一個(gè)程序,從鍵盤輸入兩

17、個(gè)整數(shù),然后輸出這兩個(gè)數(shù)的和、差、積、商。 3、將 “ China譯”成密碼。加密規(guī)則是:用原來的字母后面的第 4 個(gè)字母代替原來的字母(提 示:設(shè) 5 個(gè)字符型變量,存放 5 個(gè)字符,經(jīng)運(yùn)算使各 ASCII 碼增 4,再輸出) 。 第四章 一、 單項(xiàng)選擇題。 1、邏輯運(yùn)算符兩側(cè)運(yùn)算對象的數(shù)據(jù)類型 。 A 、只能是 0和 1 B 、只能是 0或非 0正數(shù) C、只能是整型或字符型數(shù)據(jù) D 、可以是任何類型的數(shù)據(jù) 2、判斷 char 型變量 ch 是否為大寫字母的正確表達(dá)式是 。 A 、‘ A’ <=ch<= ‘ Z’ B、 (ch>

18、= ‘ A’ )&(ch<= ‘ Z’) C、 (ch>= ‘ A’ )&&(ch<= ‘ Z’) D 、 ( ‘ A’ <= ch)AND( ‘ Z’ >= ch) 3、若希望當(dāng) A 的值為奇數(shù)時(shí),表達(dá)式的值為 “真 ”, A 的值為偶數(shù)時(shí),表達(dá)式的值為 “假 ”。 則以下不能滿足要求的表達(dá)式是 。 A 、 A%2==1 B、 !(A%2==0) C、!(A%2) D、 A%2 4、設(shè)有: int a=1,b=2,c=3,d=4,m=2,n=2; 執(zhí)行 (m=a>b)&&(n=c>d) 后 n 的值為 。 A 、1 B、 2 C、 0 D、 4

19、5 、以下程序的運(yùn)行結(jié)果是 。 void main( ) {int a,b,d=241; a=d/100%9; b=(-1)&&(-1); printf( “ %d,%d” ,a,b); } A 、 2,0 B 、 2,1 C、 6,0 D、 6,1 6 、已知 int x=10,y=20,z=30; 以下語句執(zhí)行后 x,y,z 的值是 。 if(x>y) z=x; x=y; y=z; A 、x=10, y=20, z=30 B 、x=20, y=30, z=30 C、x=20, y=30, z=10 D 、x=20, y=30,

20、z=20 7、以下程序的運(yùn)行結(jié)果是 。 void main( ) {int m=5; if(m++>5) printf( “n%d” ,m); else; printf( “n%d”,m--);} A 、 4 B、 5 C、 6 D、 7 8 、若運(yùn)行時(shí)給變量 x 輸入 12,則以下程序的運(yùn)行結(jié)果是 。 - 5 - void main( ) {int x,y; scanf( “ %d” ,&x); y=x>12 ? x+10 : x-12; printf( “n%d”,y);

21、} A 、 0 B、 2 C、3 D、 4 9、 if 語句的基本形式是: if( 表達(dá)式 ) 語句,以下關(guān)于 “表達(dá)式 ”值的敘述正確的是 。 A 、必須是邏輯值 B、必須是整數(shù)值 C、必須是正數(shù) D、可以是任意合法的數(shù)值 10、有以下程序 #include void main( ) {int a=1,b=0; if(!a) b++; else if(a==0) if(a) b+=2; else b+=3; printf( “n%d” ,b); } 程序運(yùn)行后的輸出結(jié)果是

22、 。 A 、0 B、 1 C、 2 D、 3 11、有以下程序,程序運(yùn)行后的輸出結(jié)果是 。 #include void main( ) {int c=0,k; for(k=1;k<3;k++) switch(k) {default:c+=k; case 2:c++;break; case 4:c+=2;break; } printf( “n%d” ,c) } A 、3 B、 5 C、 7 D、 9 12、有如下程序, 該程序的輸出結(jié)果是 _______。 void main( )

23、 { int x=1,a=0,b=0; switch ( x) { case 0: b++; - 6 - case 1: a++; case 2: a++;b++; } printf ( "a=%d,b=%d \ n",a,b); } A 、a=2,b=1 B、 a=1,b=1 C、 a=1,b=0 D、 a=2,b=2 13、 若運(yùn)行時(shí)給變量 x 輸入 12,則以下程序的運(yùn)行結(jié)果是 _____。 void main () {int x,y; scanf(" % d",&x); y=

24、x>12?x+10:x-12; printf ( "%d\n",y ) ;} A 、 0 B、 10 C、 12 D、 22 14、若變量已正確定義,要將 a 和 b 中的數(shù)進(jìn)行交換,下面不正確的語句組是 _____。 A 、 a=a+b,b=a-b,a=a-b; B 、 t=a,a=b,b=t; C、 a=t; t=b; b=a; D、 t=b;b=a;a=t; 15、下面程序的運(yùn)行結(jié)果是。 void main( ) {int x=4,y=5; if ((x>y)&&(++x>0)) printf( “ %d” ,x+y); printf

25、( “ %d” ,x); } A 、 9 4 B 、 4 C、 5 D、 10 5 16、以下程序執(zhí)行后的顯示結(jié)果為 。 { int n=3 , m=6 ; if (n > 4 && m ++ < 10) m++; printf( “ m = n%d” ,m); } A 、6 B、 7 C、 8 D 、 9 二、填空題。 1、執(zhí)行 if(x||!x) printf ( ” ABC”) ;else printf (” XYZ”) ;屏幕上顯示的是 ______________ 。 2、執(zhí)行下列語句后,顯示結(jié)果為

26、。 x=0; if(x=0) printf( “ yes ” ); else printf( “ no” ); 3、 switch 語句中,使用 break 語句,作用是 。 三、程序填空題 - 7 - 1、下面程序判斷輸入一個(gè)整數(shù)是否能被 3 或 7 整除,若能整除輸出 “ YES”,若不能整除,輸出 “NO”。 void main( ) {int k; printf( 請“輸入一個(gè)整數(shù): ” ); scanf( “ %d” ,&k); if printf( “

27、YESn” ); else printf( “nNO” ); } 2、下列程序根據(jù)菜單選擇完成相關(guān)操作。 void main() {int x,y,n; printf( 請“輸入第一個(gè)整數(shù): ” );scanf( “ %d” ,&x); printf( 請“輸入第二個(gè)整數(shù): ” );scanf( “ %d” ,&y); printf( 請“輸入你的選擇 1-加法、 2-減法、 3-乘法、 4-除法 ” ); scanf( “ %d”, ); switch(n) { case 1:printf( 和為“: n” ,x+y);

28、break; case 2:printf( 差為“: n” ,x-y);break; case 3:printf( 積為“: n” ,x*y);break; case 4:printf( 商為“: n” ,x/y);break; :printf( 選擇“有誤! n” ); } } 四、程序改錯(cuò)題 1、輸入一個(gè)整數(shù),判斷其奇偶性。 #include void main( ) { int x; printf( 請“輸入一個(gè)整數(shù): ” ); scanf( “ %f” ,x); if(x%2=0)

29、 printf( 是“一個(gè)偶數(shù)! n” ); else printf( 是“一個(gè)奇數(shù)! n” ); } ( )改為:( ) ( )改為:( ) - 8 - 2、輸入一個(gè)整數(shù),判斷其是否能被 3 整除。 #include void main( ) { int x,y; printf( 請“輸入一個(gè)整數(shù): ” ); scanf( “ %f” ,x); y=x%3; switch(y) { case 0:printf( 能被 “3整除! n”); case

30、1,2:printf( 不能被“ 3 整除! n”); } } ( )改為:( ) ( )改為:( ) ( )改為:( ) 五、編程題 1、編程:輸入整數(shù) x,計(jì)算并輸出下列分段函數(shù) f(x) 的值。 x (x<1) y= 2x-1 (1<=x<10) 3x-11 (x>=10) 2、編程:輸入兩個(gè)整數(shù),再輸入兩個(gè)數(shù)相加的和,由程序判斷輸入的和是否正確。 3、編程:把百分制成績轉(zhuǎn)換成 5 級記分制,要求用 switch 語句。 90 分以上(包括 90): A 80 至 90 分(包括 80

31、):B 70 至 80 分(包括 70):C 60 至 70 分(包括 60):D 60 分以下: E 如: Input Score: 86 86 的等級為 B 4、用 switch 語句編程,輸入 2005 年的任一個(gè)月,輸出這個(gè)月的天數(shù)。 如: Input month of 2005: 10 2005 年 10 月有 31 天 5 、給出一個(gè)不多于 5 位的正整數(shù),要求: ( 1)求出它是幾位數(shù); ( 2)分別輸出每一位數(shù)字; ( 3)按逆序輸出各位數(shù)字,例如原數(shù)為321,應(yīng)輸出 123 第五

32、章 一、單項(xiàng)選擇題 - 9 - 1、有如下程序,該程序的輸出結(jié)果是 _______ 。 void main( ) {int n=9; while ( n>6) {n--; printf ( "%d",n ) ;} } A、 876 B 、 987 C、 8765 D、 9876 2、 continue 語句的正確的用法是 。 A 、跳過該循環(huán)體中剩余的語句而強(qiáng)行開始下一次循環(huán)。 B 、在多重循環(huán)中,只能退出最靠近的那一層循環(huán)語句。 C、跳出多重循環(huán)。

33、D 、無論在任何情況下,都中斷程序的執(zhí)行,退出到系統(tǒng)下一層。 3、有以下程序段,則下面的描述正確的是 。 int k=0; while(k=0) k=k-1; A 、 while 循環(huán)執(zhí)行 10 次 B 、循環(huán)是無限循環(huán) C、循環(huán)體語句一次也不執(zhí)行 D、循環(huán)體語句執(zhí)行一次 4、 C 語言中 whi1e 和 do-while 循環(huán)的主要區(qū)別是 ___ __。 A 、do-while 的循環(huán)體至少無條件執(zhí)行一次 B 、 while 的循環(huán)控制條件比 do-while 的循環(huán)控制條件嚴(yán)格 C、 do-while 允許從外部轉(zhuǎn)到循環(huán)體內(nèi) D

34、 、do-while 的循環(huán)體不能是復(fù)合語句 5、有以下程序,則以下敘述正確的是 _______ 。 int t=0 ; while (t=1) {...} A 、循環(huán)控制表達(dá)式的值為 0 B 、循環(huán)控制表達(dá)式的值為 1 C、循環(huán)控制表達(dá)式不合法 D、以上說法都不對 6、語句 while(!E); 中的表達(dá)式 !E 等價(jià)于 ________。 A 、E==0 B 、E!=1 C、 E!=0 D、 E==1 7、下面程序段的運(yùn)行結(jié)果是 _,循環(huán)次數(shù)為 。 int n=0; while(n++<=2); printf("%d

35、",n); A 、2 B、 3 C、 4 D、有語法錯(cuò) 8、下面程序的運(yùn)行結(jié)果是 。 #include viod main( ) { int num=0; while(num<=2) { num++; printf("%d\n",num); - 10 - } } A 、 1 B、 1 C、 1 D 、 1 2 2 2 3 3 4

36、 9、以下程序段 ________。 x=-1; do{x=x*x; } while(!x); A 、是死循環(huán) B、循環(huán)執(zhí)行二次 C、循環(huán)執(zhí)行一次 D、 有語法錯(cuò)誤 10、有如下程序段,則程序段 _ _____。 int x=3; do{printf("%d\n",x-=2);} while(!(--x)); A 、輸出的是 1 B、輸出的是 1 和 -2 C、輸出的是 3 和 0 D、是死循環(huán) 11、下面程序的運(yùn)行結(jié)果是 _ ___

37、。 #include void main( ) { int y=10; do{y--;} while(--y); printf("%d\n",y--) ; } A 、 -1 B、 0 C、 1 D 、 8 12、若 i 為整型變量,則以下循環(huán)執(zhí)行次數(shù)是 _____。 for(i=2;i==0;) printf("%d",i--); A 、無限次 B 、 0 次 C、 1 次 D 、 2 次 13、執(zhí)行語句 for(i=1;i++<4; ); 后變量 i 的值是 ______。 A 、 3 B、 4 C

38、、 5 D、 不定 14、以下正確的描述是 _______. A 、 continue 語句的作用是結(jié)束整個(gè)循環(huán)的執(zhí)行 B、只能在循環(huán)體內(nèi)和 switch 語句體內(nèi)使用 break 語句 C、在循環(huán)體內(nèi)使用 break 語句或 continue 語句的作用相同 D 、從多層循環(huán)嵌套中退出時(shí),只能使用 goto 語句 15、有以下程序,程序運(yùn)行后的輸出結(jié)果是 ______。 void main() { char b,c; int i; b=a; c=A; for(i=0;i<6;i++) { if(i%2) putchar(i+b

39、); else putchar(i+c); } printf("\n"); } - 11 - A 、 ABCDEF B 、AbCdEf C、aBcDeF D 、 abcdef 二、程序填空題: 1、以下程序的功能是: 從鍵盤上輸入若干個(gè)學(xué)生的成績, 統(tǒng)計(jì)并輸出最高成績和最低成績,當(dāng)輸入負(fù)數(shù)時(shí)結(jié)束輸入。請?zhí)羁铡? void main( ) { float x,amax,amin; scanf( “ %f” ,&x); amax=x;amin=x; while ( ) { if(x

40、>amax) amax=x; if( ) amin=x; scanf( “ %f” ,&x); } printf( “ n” ,amax,amin); } 2、下列程序打印如下形式的圖形。 * * * * * * * * * * void main( ) { for(int i=1;i<=4;i++) { for(int j=1; ;j++) printf( ); printf( ); } } 3、下列程序求 100 之內(nèi)的自然數(shù)中偶數(shù)之和。 #include

41、 void main( ) { int i=1,s; ; while (i<100) {if (i%2==0) ; ; } printf( “ s=%dn” ,s ); } 4、下面程序的功能是:輸出 100 以內(nèi)(不包含 100)能被 3 整除且個(gè)位數(shù)為 6 的所有整 數(shù),請?zhí)羁铡? - 12 - # include < stdio. h> void main () { int i, j; for(i=1; ; i++) if ( ) printf("%d",i

42、) ; } 5、下列程序打印如下形式的圖形 * * * * * * * * * * void main( ) { for(int i=1;i<=4;i++) { for(int j=1; ;j++) printf( ); printf( ); } } 6、 下面程序段是從鍵盤輸入的字符中統(tǒng)計(jì)數(shù)字字符的個(gè)數(shù), 用換行符結(jié)束循環(huán)。 int n=0,c; c=getchar( ); while( ) { if( ) n++; c=getchar(); } 7、

43、下面程序的功能是用 "輾轉(zhuǎn)相除法 " 求兩個(gè)正整數(shù)的最大公約數(shù)。 #include void main( ) {int r,m,n; scanf("%d%d",&m,&n); if(m

44、stdio.h> void main( ) {int n; scanf( “ %dn);” , int m,y; y=0; if(n<0) m=n; else m=-n; while (m==0) { y=y*10+m/10; m=m%10; } if(n>=0) y= –y; printf( “的%d逆向是n” ,n,y); } ( )改為:( ) ( )改為:( ) ( )改為:( ) ( )改為:( ) ( )改為

45、:( ) 2、輸入正整數(shù)的個(gè)數(shù) n,再輸入 n 個(gè)正整數(shù),判斷它們是否為素?cái)?shù)。素?cái)?shù)就是只能被 1 和 自身整除的正整數(shù), 1 不是素?cái)?shù), 2 是素?cái)?shù)。 #include #include void main( ) { int i,j,k,m,n; printf( 輸“入正整數(shù)的個(gè)數(shù) n: ” ); scanf( “ %d” ,&n); printf( 輸“入 %d 個(gè)正整數(shù) n”, n); for(j=0;j

46、or(i=1;in) printf( “是%d一個(gè)素?cái)?shù) n” ,m); else printf( “不%d是一個(gè)素?cái)?shù) n” ,m); - 14 - } } ( )改 :( ) ( )改 :( ) ( )改 :( ) 四、 程 1、 程: 入一批非零整數(shù),先 出其中的偶數(shù)和及奇數(shù)和,然后 出偶數(shù)和與奇數(shù)和的差。 如: 入一批整數(shù),以零 束: 10 11 20 33 0 偶數(shù)和 : 30 奇數(shù)和 :

47、44 偶數(shù)和與奇數(shù)和的差 : -14 2、 程, 入1個(gè)正 數(shù) eps, 算并 出下式的 ,直到最后一 的 小于 eps。 s 1 1 1 1 1 1 ... 5 9 13 17 21 如: Input eps: 0.00001 S = 0.866978 3、 程, 入 1 個(gè) 數(shù) x, 算并 出下式的 ,直到最后一 小于 10-5 。在 math.h 中定 的 準(zhǔn)函數(shù) pow(x,y) ,可以求 x 的 y 次方。 s 1 x2 x4

48、 x 6 ... 2! 4! 6! 如: X=2 S=3.762195 4、 程, 入一個(gè)整數(shù),求它的各位數(shù)字之和及位數(shù)。例如 123 的各位數(shù)字之和是 6,位數(shù) 是 3。 如: 入一個(gè)整數(shù):- 12345 -12345 有 5 位數(shù),各位數(shù)字之和是 15 5、打印出所有的 “水仙花數(shù) ”,所 “水仙花數(shù) ”是指一個(gè)三位數(shù),其各位數(shù)字立方和等于 數(shù)本身。如 153 是一個(gè)水仙花數(shù),因 153=1 3 3 3 。 +5 +

49、3 6、 程, 出 101- 115 之 不能被 3 整除的數(shù),每行 出 5 個(gè)。要求使用 continue 句。 如: 101 103 104 106 107 109 110 112 113 115 7、 程,找出 200 以內(nèi)的所有完數(shù),所 完數(shù)是指 個(gè)數(shù)如恰好等于它的因子之和,如 6 是完數(shù),因 6= 1+2+3。 8、有一個(gè)分?jǐn)?shù)序列, 2/1, 3/2, 5/3,

50、8/5, 13/8, 21/13 ??求出 個(gè)數(shù)列的前 20 之和。 9、 出以下 案 - 15 - * ** *** **** ***** 第六章 一、 1、在下面的一 數(shù) 定 中, _______有 法 。 A 、int a[ ]={1,2,3}; B、 int a[10]={0}; C、 int a[]; D、 int a[5]; 2、 用函數(shù) strlen( “ abcdng”)的返回 是 。 A 、4

51、B、 6 C、 7 D、 9 3、 有數(shù) 定 : char array[] ="China"; , 數(shù) array所占的空 個(gè)字 。 A 、 4 B、 5 節(jié) C、 6 D、 7 4、要使字符串 量 str 具有初 "ABCDEFGH", 正確的定 句是 __ _。 A 、 char str[8]={A,B,C,D,E,F,G,H}; B、char str[8]="ABCDEFGH"; C、char str[]={A,B,C,D,E,F,G,H}; D、 char str[]="ABCDEFGH"; 5、 有數(shù) 定 : char

52、array[]= ” good, ”數(shù); 所占的空 是 ________個(gè)字 。 A 、 4 B 、5 C、 6 D 、 7 6、以下能正確 行字符串 的是 。 A 、 char s[5]= { ‘ a’ , ’ e’ , ’ I ’ , ’ o’ , B’、u’char}; s[5];s= ” good ”; C、char s[5]= ” abcd ” ; D 、 char s[5];s[]= ” good ”; 7、下列 句中, 是合法的數(shù) 定 。 A 、int a[]={ “ string B”、};int a[5]={0,1,2,3,4,5};

53、 C、 char a={ “ string ”D 、};char a[]={0,1,2,3,4,5} 8、有以下程序: void main( ) {char p[]={ ‘ a’ , ’ b’ , ’ c’ },q[]= ” abc ”; printf( “ %d %d” ,sizeof(p),sizeof(q)); } 程序運(yùn)行后的 出 果是( )。 A 、 3 3 B、 3 4 C、4 3 D 、 4 4 9、下列 法正確的是 。 A 、在 2000 ,2001, 2002 ? 2007 幾個(gè) 的地址 元中可存放 8 個(gè)數(shù)據(jù)。 B

54、 、在 2000 , 2001, 2002? 2007 幾個(gè) 的地址 元中可存放 8 個(gè)字符。 C、在 2000 , 2001, 2002 ? 2007 幾個(gè) 的地址 元中可存放字符串 ” ABCDEFGH”。 D 、在 2000 ,2001, 2002 ? 2007 幾個(gè) 的地址 元中可存放 8 個(gè)整數(shù)。 10、有定 : char ch,s[30]; int a,b; ,下列 入 句正確的是 _______。 - 16 - A 、 scanf( “ %d%f” ,&a,&b); B 、 scanf( “ %s%c”

55、,&s,&ch); C、scanf( “ %c%s” ,&ch,s); D 、scanf( “ %d%c,a,ch);” 11、以下為一維整型數(shù)組 a 的正確定義是 _________.。 A 、int a(10); B 、 int n=10,a[n]; C、 int n; D、 #define SIZE 10 scanf("%d",&n); int a[SIZE]; int a[n]; 12、以下對二維數(shù)組 a 的正確定義是 ________。 A、 int a[3][]; B、 float a(3,4); C、 double a[1][4]

56、 D 、 float a(3)(4); 13、若二維數(shù)組 a 有 m 列,則計(jì)算任一元素 a[i][j] 在數(shù)組中位置的公式為 。(假 設(shè) a[0][0] 位于數(shù)組的第一個(gè)位置上。 ) A 、 i*m+j B、 j*m+i C、 i*m+j-1 D 、 i*m+j+1 14、若二維數(shù)組 a 有 m 列,則在 a[i][j] 前的元素個(gè)數(shù)為 ________。 A 、 j*m+i B、 i*m+j C、 i*m+j-1 D 、 i*m+j+1 15、有兩個(gè)字符數(shù)組 a、 b,則以下正確的輸入語句是 _______。 A 、 gets(a,b); B、

57、 scanf("%s%s",a,b) ; C、 scanf("%s%s",&a,&b) ; D、 gets("a"),gets("b"); 16、下面程序段的運(yùn)行結(jié)果是 _________ 。 char a[7]="abcdef"; char b[4]="ABC"; strcpy(a,b) ; printf("%c",a[5]); A 、空格 B、 \0 C、e D 、 f 17、判斷字符串 s1 是否大于字符串 s2,應(yīng)當(dāng)使用 _______。 A 、if(s1>s2) B、 if(strcmp(s1,s2)) C 、if(strcm

58、p(s2,s1)>0) D、 if(strcmp(s1,s2)>0) 18、下面程序的功能是從鍵盤輸入一行字符,統(tǒng)計(jì)其中有多少個(gè)單詞,單詞之間用空格分隔,請選擇填空。 #include void main( ) {char s[80],c1,c2= ; int i=0,num=0; gets(s); while(s[i]!=\0) {c1=s[i]; if(i==0) c2= ; else c2=s[i-1]; if(_ _) num++; i++; - 17 - }

59、 printf("There are %d words.\n",num); } A 、c1== &&c2== B、c1!= &&c2== C、c1== &&c2!= D 、c1!= &&c2!= 19、下面程序的運(yùn)行結(jié)果是 _______。 #include void main( ) {char str[]="SSSWLIA",c; int k; for(k=2;(c=str[k])!=\0;k++) {switch (c) {case I:++k;break; case L:continue;

60、 default:putchar(c);continue; } putchar(*); } } A 、 SSW* B、 SW* C、 SW*A D 、 SW 20、設(shè) char str[100];int i=5; ,則引用數(shù)組元素的錯(cuò)誤形式是 。 A 、 str[i + 10] B、 (str + i) C、(str + i - 1) D 、 ((str + + ) + i) 二、填空題 1、已知數(shù)組 b 定義為 int b[]={9,6,3}; , 則數(shù)組 b 的最小下標(biāo)是 ___, 最大下標(biāo)是 ___。 2、已

61、知數(shù)組 e 定義為 int e[][4]={{1,2,3,4},{5,6,7,8}}; ,則 e 是一個(gè) 行 列的二維 數(shù)組,總共有 個(gè)元素,最大行下標(biāo)是 ,最大列下標(biāo)是 。 3、 C 語言中,數(shù)組名是一個(gè) 常量,不能對它進(jìn)行賦值運(yùn)算。 4、二維數(shù)組的元素在內(nèi)存中按 存放。 5、 C 語言中,數(shù)組元素的下標(biāo)下限為 。 6、設(shè) char string[] =“ This_is_a_book! ;,則”數(shù)組的長度應(yīng)是 ________________ 。 三、程序填空題 1、輸入一個(gè)字符串,將其中所有的小寫字符變成 “ *字”符。 #in

62、clude void main( ) { char str[80]; int i; printf( 請“輸入一個(gè)字符串: ” ); scanf( “ %s”, ); for (i=0;str[i];i++) - 18 - if( ) str[i]= ’ * ’; printf( 變“換后的字符串為 n”, ); } 2、下面程序以每行 4 個(gè)數(shù)據(jù)的形式輸出 a 數(shù)組,請?zhí)羁铡? #define N 20 void main( ) {int a[N],i;

63、 for(i=0;i

64、um+_ _; printf("sum=%d\n",sum); } 四、程序改錯(cuò)題 1、輸入一個(gè)正整數(shù) n(0 void main( ) { int i,j,n,x,a[n]; printf( 輸“入數(shù)據(jù)的個(gè)數(shù) n: ” ); scanf( “ %d” ,&n); printf( 輸“入 %d 個(gè)整數(shù): ” ,n); for(i=0;i

65、) scanf( “ %d” ,a[i]); printf( 輸“入要插入的整數(shù): ” ); scanf( “ %d” ,&x); - 19 - for(i=0;ia[i]) continue; j=n-1; while(j>=i) { a[j]=a[j+1]; j++; } a[i]=x; break; } if(i==n) a[n]=x; for(i=0;i

66、‘’ ); } ( )改為:( ) ( )改為:( ) ( )改為:( ) ( )改為:( ) 2、輸入一個(gè)以回車結(jié)束的字符串 (少于 80 個(gè)字符),將它的內(nèi)容顛倒過來再輸出。 如 ” ABCD” 顛倒為 ”DCBA”。 #include void main( ) { int i,k,tmp; char str[]; printf( “ input a string: ” ); i=0; while((str[i]=getchar())= =’n’) i++; str[i]= 0’; k=i; for(i=0;i

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

最新文檔

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!