欧美精品一二区,性欧美一级,国产免费一区成人漫画,草久久久久,欧美性猛交ⅹxxx乱大交免费,欧美精品另类,香蕉视频免费播放

C語言習題答案[共45頁]

上傳人:1528****253 文檔編號:44074318 上傳時間:2021-12-05 格式:DOC 頁數(shù):45 大?。?30.31KB
收藏 版權(quán)申訴 舉報 下載
C語言習題答案[共45頁]_第1頁
第1頁 / 共45頁
C語言習題答案[共45頁]_第2頁
第2頁 / 共45頁
C語言習題答案[共45頁]_第3頁
第3頁 / 共45頁

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

12 積分

下載資源

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

資源描述:

《C語言習題答案[共45頁]》由會員分享,可在線閱讀,更多相關(guān)《C語言習題答案[共45頁](45頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、C語言章節(jié)習題 目錄 C語言章節(jié)習題 1 第一章 C語言概述 2 第三章 數(shù)據(jù)類型、運算符和表達式 3 第四章 順序結(jié)構(gòu)程序設計 4 第五章 選擇結(jié)構(gòu)程序設計 11 第六章 循環(huán)結(jié)構(gòu)程序設計 21 第7章 數(shù)組習題 33 第8章 函數(shù)習題 41 第九章 預處理 48 第十章 指針 49 第一章 C語言概述 一、選擇題: 1、一個C程序的執(zhí)行是從(A)。 A本程序的main函數(shù)開始,到main函數(shù)結(jié)束 B本程序文件的第一個函數(shù)開始,到本程序文件的最后一個函數(shù)結(jié)束 C本程序的main函數(shù)開始,到本程序文件的最后一個函

2、數(shù)結(jié)束 D本程序文件的第一個函數(shù)開始,到本程序main函數(shù)結(jié)束 2、 在 C 語言中,每個語句必須以(D)結(jié)束。 A.回車符B.冒號C.逗號D.分號 3、C 語言規(guī)定:在一個源程序中,main函數(shù)的位置(C)。 A. 必須在最開始 B. 必須在系統(tǒng)調(diào)用的庫函數(shù)的后面 C. 可以任意 D.必須在最后 4、一個C 語言程序是由(B)。 A. 一個主程序和若干子程序組成 B. 函數(shù)組成 C. 若干過程組成 D. 若干子程序組成 5、下列說法中錯誤的是(D)。 A.主函數(shù)可以分為兩個部分:主函數(shù)說明部分和主函數(shù)體 B.主函數(shù)可以調(diào)用任何非主函數(shù)的其他函數(shù) C

3、.任何非主函數(shù)可以調(diào)用其他任何非主函數(shù) D.程序可以從任何非主函數(shù)開始執(zhí)行 6、用 C 語言編寫的源文件經(jīng)過編譯,若沒有產(chǎn)生編譯錯誤,則系統(tǒng)將(B)。 A.生成可執(zhí)行目標文件B.生成目標文件 C.輸出運行結(jié)果D.自動保存源文件 二、填空題: 1、C 語言只有(37)個關(guān)鍵字和(9)種控制語句。 2、每個源程序有且只有一個(main)函數(shù),系統(tǒng)總是從該函數(shù)開始執(zhí)行C語言程序。 3、C 語言程序的注釋可以出現(xiàn)在程序中的任何地方,它總是以(\*)符號作為開始標記,以(*\)符號作為結(jié)束標記。 4、C 語言中,輸入操作是由庫函數(shù)(scanf)完成的,輸出操作是由庫函數(shù)(

4、printf)完成的。 5、系統(tǒng)默認的C 語言源程序文件的擴展名是(.c),經(jīng)過編譯后生成的目標文件的擴展名是(.obj),經(jīng)過連接后生成的可執(zhí)行文件的擴展名是(.exe ) 。 6、C 語言的標識符只能由字母、數(shù)字和(下劃線) 三種字符組成。 第三章 數(shù)據(jù)類型、運算符和表達式 一、選擇題: 1、以下選項中,不正確的 C 語言浮點型常量是(C)。 A. 160.B. 0.12C. 2e4.2 D.0.0 2、以下選項中,(D)是不正確的 C 語言字符型常量。 A. aB. \x41 C. \101 D. "a" 3、 在 C 語言中,字符型數(shù)據(jù)在計算機內(nèi)

5、存中,以字符的(C)形式存儲。 A.原碼 B.反碼C. ASCII 碼D. BCD碼 4、若x、i、j和k都是int型變量,則計算下面表達式后,x的值是(C)。 x=(i=4,j=16,k=32) A. 4 B. 16C.32D.52 5、算術(shù)運算符、賦值運算符和關(guān)系運算符的運算優(yōu)先級按從高到低依次為(B)。 A.算術(shù)運算、賦值運算、關(guān)系運算B.算術(shù)運算、關(guān)系運算、賦值運算 C.關(guān)系運算、賦值運算、算術(shù)運算D.關(guān)系運算、算術(shù)運算、賦值運算 6、表達式!x||a==b 等效于(D)。 A. !((x||a)==b)B. !(x||y)==bC. !(x||(a==b

6、))D. (!x)||(a==b) 7、設整型變量 m,n,a,b,c,d 均為1,執(zhí)行 (m=a>b)&&(n=c>d)后, m,n 的值是(B)。 A. 0,0B. 0,1C. 1,0D. 1,1 8、 設有語句 int a=3;,則執(zhí)行了語句 a+=a-=a*=a;后,變量 a 的值是(B)。 A. 3B. 0C. 9D. -12 9、在以下一組運算符中,優(yōu)先級最低的運算符是(D)。 A. *B. !=C. +D. = 10、設整型變量 i 值為2,表達式(++i)+(++i)+(++i)的結(jié)果是(B)。 A. 6B. 12C. 15D.表達式出錯 11

7、、若已定義 x 和 y為double 類型,則表達式 x=1,y=x+3/2 的值是(C)。 A. 1B. 2C. 2.0D. 2.5 12、設a=1,b=2,c=3,d=4,則表達式:a10 && a<15D. !(a<=10) && !(a>=15) 14、設 f是實型變量,下列

8、表達式中不是逗號表達式的是(D)。 A. f= 3.2, 1.0B. f>0, f<10C. f=2.0, f>0D. f=(3.2, 1.0) 15、 表達式18/4*sqrt(4.0)/8值的數(shù)據(jù)類型是(C)。 A. intB. floatC. doubleD. 不確定 16、已知字母A的ASCII碼為十進制數(shù)65,且c2為字符型,則執(zhí)行語句 C2=’A’+’6’-‘3’;后c2中的值是(A)。 A. DB. 68C. 不確定的值D. C 17、以下用戶標識符中,合法的是(B)。 A. intB. nitC. 123 D. a+b 18、C 語言中,要求運算

9、對象只能為整數(shù)的運算符是(A)。 A. %B. / C. > D. * 19、若有說明語句:char c=\72;則變量c在內(nèi)存占用的字節(jié)數(shù)是(A)。 A. 1B. 2C. 3D. 4 20、字符串"ABC"在內(nèi)存占用的字節(jié)數(shù)是(B)。 A. 3B. 4C. 6D. 8 21、要為字符型變量 a賦初值,下列語句中哪一個是正確的(B)。 A. char a="3"; B. char a=’3’;C. char a=%;D. char a=*; 22、下列不正確的轉(zhuǎn)義字符是(C)。 A. \\B. \C. 074D. \0 二、填空題: 1、C 語言中

10、的邏輯值“真”是用1表示的,邏輯值“假”是用0表示的。 2、若x和n都是int型變量,且x的初值為12,n的初值為5,則計算表達式x%=(n%=2)后x的值為0。 3、設 c=w,a=1,b=2,d=-5,則表達式 x+1>c, y!=c+2, -a-5*b<=d+1, b==a=2的值為1、0、1、1。 4、設 float x=2.5,y=4.7; int a=7;,表達式 x+a%3*(int)(x+y)%2/4的值為2.5。 5、判斷變量 a、b 的值均不為 0 的邏輯表達式為a!=0&&b!=0,值為1。 6、求解賦值表達式 a=(b=10)%(c=6),表達式值為4

11、 、a、b、c 的值依次為1,0,6。 7、求解逗號表達式 x=a=3,6*a 后,表達式值為18 、x、a 的值依次為3,3。 三、編程題: 1、 設長方形的高為 1.5,寬為 2.3,編程求該長方形的周長和面積。 2、 編寫一個程序,將大寫字母 A轉(zhuǎn)換為小寫字母 a。 1. main() {float x=1.5,y=2.3;printf(“area is %6.2f\n”,x*y);} 2. main() {char c=’A’;printf(“%d”,c+32);} 第四章 順序結(jié)構(gòu)程序設計 基礎(chǔ)練習(A) 一、填空題 1、C語句分為五種:控制語句

12、、函數(shù)調(diào)用語句、 表達式語句、空語句和 復合語句 。 2、一個基本語句的最后一個字符是 ; 。 3、復合語句又稱分程序,是用 { } 括起來的語句。 4、 使用C語言庫函數(shù)時,要用于預編譯命令 #include 將有關(guān)的“頭文件”包括到用戶源文件中。 5、 使用標準輸入輸出庫函數(shù)時,程序的開頭要有如下預處理命令: #include 。 6、{ a=3;c+=a-b; } 在語法上被認為是 1 條語句。 7、 getchar函數(shù)的作用是從終端輸入 1 個字符。 8、 如果從鍵盤輸入字符’a’并按

13、回車鍵,請寫出以下程序運行效果  a  。 #include main() { putchar(getchar()); }  9、以下程序的輸出結(jié)果為  i:dec=-4,oct=177774,hex=fffc,unsigned=65532 。 main() { short i; i=-4; printf(“\ni:dec=%d,oct=%o,hex=%x,unsigned=%u\n”,i,i,i,i); } 10、以下程序的輸出結(jié)果為 *3.140000,3.142* 。 main()

14、 { printf(“*%f,%4.3f*\n”,3.14,3.1415); } 11、以下程序的輸出結(jié)果為 c:dec=120,oct=170,hex=78,ASCII=x 。 main() { char c=‘x’; printf(“c:dec=%d,oct=%o,hex=%x,ASCII=%c\n”,c,c,c,c); } 12、已有定義int d=-2;執(zhí)行以下語句后的輸出結(jié)果是 *d(1)=-2*d(2)= -2*d(3)=-2 * *d(4)=177776*d(5)= 177776*d(6)=177776 *

15、 printf(“*d(1)=%d*d(2)=%3d*d(3)=%-3d*\n”,d,d,d); printf(“*d(4)=%o*d(5)=%7o*d(6)=%-7o*\n”,d,d,d); 13、以下程序的輸出結(jié)果為 x=1 y=2 *sum*=3 10 Squared is: 100 main() { int x=1,y=2; printf(“x=%d y=%d *sum*=%d\n”,x,y,x+y); printf(“10 Squared is:%d\n”,10*10); } 14、以下程序的輸出結(jié)果為 (1)

16、123.456000 (2) □□□□□□□123.457 (3) 123.4560 (4) 8765.456700 (5) □□□□□□8765.457 (6) 8765.4567 (7) 8765.4567  #include main() { float a=123.456; double b=8765.4567; printf(“(1) %f\n”,a); printf(“(2) %14.3f\n”,a); printf(“(3) %6.4f\n”,a); printf(“(4) %lf\n”,b)

17、; printf(“(5) %14.3lf\n”,b); printf(“(6) %8.4lf\n”,b); printf(“(7) %.4f\n”,b); } 二、判斷題 1、所謂函數(shù)體實際上就是一個復合語句。( 對) 2、C語言本身不提供輸入輸出語句,輸入和輸出操作是由函數(shù)來實現(xiàn)的。(對?。? 3、putchar函數(shù)可以向終端輸出一個整數(shù)數(shù)據(jù)。( 錯?。? 4、考慮到printf 和scanf函數(shù)使用頻繁,系統(tǒng)允許在使用這兩個函數(shù)時可不加#include命令。( 對 ) 5、任何表達式都可以加上分號而成為有意義的語句。(對?。? 三、選擇題 1、 以

18、下不屬于流程控制語句的是( A )。 A) 表達式語句 B) 選擇語句 C) 循環(huán)語句 D) 轉(zhuǎn)移語句 2、putchar函數(shù)可以向終端輸出一個( D )。 A)整型變量表達式值 B)實型變量值 C)字符串 D)字符或字符型變量值 3、getchar函數(shù)的參數(shù)個數(shù)是( B )。 A) 1 B) 0 C) 2 D)任意 4、以下程序的輸出結(jié)果是(D) 。 main() { printf(“\n*s1=%15s*”, “chinabeijing”);

19、 printf(“\n*s2=%-5s*”, “chi”); } A)*s1=chinabeijing * B)*s1=chinabeijing * *s2=**chi* *s2=chi * C)*s1=*chinabeijing* D)*s1= chinabeijing* *s2=chi* *s2=chi * 5、printf函數(shù)中用到格式符%5s,其中數(shù)字5表示輸出的字符串占用5列。如果字符串長度大于5,則輸出按方式( B )。;如果字符串長度小于5,則輸出按方式( C )。 A)從左起輸出該字串,右補空

20、格 B)按原字符長從左向右全部輸出 C)右對齊輸出該字串,左補空格 D)輸出錯誤信息 6、已有定義int a=-2;和輸出語句:printf(“%8lx”,a);以下正確的敘述是( D )。 A)整型變量的輸出格式符只有%d一種 B)%x是格式符的一種,它可以適用于任何一種類型的數(shù)據(jù) C)%x是格式符的一種,其變量的值按十六進制輸出,但%8lx是錯誤的 D)%8lx不是錯誤的格式符,其中數(shù)字8規(guī)定了輸出字段的寬度 7、以下C程序正確的運行結(jié)果是( C )。 main() { long y=-43456; printf(“y=%-8ld\n”,y);

21、 printf(“y=%-08ld\n”,y); printf(“y=%08ld\n”,y); printf(“y=%+8ld\n”,y); } A)y= -43456 B)y=-43456 y=- 43456 y=-43456 y=-0043456 y=-0043456 y=-43456 y=+-43456 C)y=-43456 D)y= -43456 y=-43456 y=-0043456 y=-0043456 y=00043456 y= -4345

22、6 y=+43456 8、以下C程序正確的運行結(jié)果是( D )。 main() { int y=2456; printf(“y=%3o\n”,y); printf(“y=%8o\n”,y); printf(“y=%#8o\n”,y); } A)y= 2456 B)y= 4630 y= 2456 y= 4630 y=########2456 y=########4630 C)y=2456 D)y=4630 y= 2456

23、 y= 4630 y= 02456 y= 04630 基礎(chǔ)練習(B) 一、填空題 1、printf函數(shù)的作用是向終端 輸出 若干個任意類型的數(shù)據(jù)。 2、printf函數(shù)中的“格式控制”,包括 格式說明 和 普通字符 兩種信息。 3、scanf函數(shù)中的“格式控制”后面應當是變量 地址 ,而不是變量名。 4、在用scanf函數(shù)中輸入數(shù)據(jù)時,如果在“格式控制”字符傳中除了格式說明以外還有其他字符,則應在對應位置輸入與這些字符相同的 字符 。 5、在用”%c”格式輸入字符時,空格字符和

24、“轉(zhuǎn)義字符”都作為有效字符 輸入 。 6、在輸入數(shù)據(jù)時,遇以下情況時該數(shù)據(jù)認為結(jié)束:遇 空格 、或按 “回車” 或 “跳格”鍵 ;按指定的寬度結(jié)束;遇非法輸入。 7、輸入數(shù)據(jù)時不能規(guī)定 精度 。 8、如果在%后有一個“*”附加說明符,表示 跳過它指定的列數(shù) 。 二、選擇題 1、若int a,b; scanf(“%d%d”,&a,&b); 不可以用( A  )作為輸入的分隔符。 A) , B) 空格 C) 回車 D) TAB鍵 2、若x,y均定義為int型,z定義為double型,以下不合法的scanf函數(shù)

25、調(diào)用語句是  ( B  )。 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(“%x%o%6.2f”,&x,&y,&z); 3、已有如下定義和輸入語句,若要求a1,a2,c1,c2的值分別為10,20,A和B,當從第一列開始輸入數(shù)據(jù)時,正確的數(shù)據(jù)輸入方式是( D )。 int a1,a2; char c1,c2; scanf(“%d%d”,&a1,&a2); scanf(“%c%c”,&c1,&c2); A)1020AB<

26、CR> B)10 20 AB C)10 20 AB D)10 20AB 4、閱讀以下程序,當輸入數(shù)據(jù)的形式為 25,13,10 正確的輸出結(jié)果為( D )。 main() { int x,y,z; scanf(“%d%d%d”,&x,&y,&z); printf(“x+y+z=%d\n”,x+y+z); } A)x+y+z=48 B)x+y+z=35 C)x+z=35 D)不確定值 5、已有程序段和輸入數(shù)據(jù)的形式如下,程序中輸入語句的正確形式應當為( D )。 m

27、ain() { int a; float f; printf(“\nInput number:”); 輸入語句 printf(“\nf=%f,a=%d\n”,f,a); } Input number:4.5 2 A)scanf(“%d,%f”,&a,&f); B)scanf(“%f,%d”,&f,&a); C)scanf(“%d%f”,&a,&f); D)scanf(“%f%d”,&f,&a); 6、根據(jù)定義和數(shù)據(jù)的輸入方式,輸入語句的正確形式為( B )。 已有定義:float f1,f2; 數(shù)據(jù)的輸入方式:4.52

28、        3.5 A)scanf(“%f,%f”,&f1,&f2); B)scanf(“%f%f”,&f1,&f2); C)scanf(“%3.2f %2.1f”,&f1,&f2); D)scanf(“%3.2f%2.1f”,&f1,&f2); 7、閱讀以下程序,若運行結(jié)果為如下形式,輸入輸出語句的正確內(nèi)容是( B )。 main() { int x; float y; printf(“enter x,y:”); 輸入語句 輸出語句 } 輸入形式 enter x,y:2 3.4 輸出形式 x+y=5.40 A)scanf

29、(“%d,%f”,&x,&y); printf(“\nx+y=%4.2f”,x+y); B)scanf(“%d%f”,&x,&y); printf(“\nx+y=%4.2f”,x+y); C)scanf(“%d%f”,&x,&y); printf(“\nx+y=%6.1f”,x+y); D)scanf(“%d%3.1f”,&x,&y); printf(“\nx+y=%4.2f”,x+y); 8、以下說法正確的是( D )。 A)輸入項可以為一實型常量,如scanf(“%f”,3.5); B)只有格式控制,沒有輸入項,也能進行正確輸入,如scanf(“a=%d,b=%d”);

30、 C)當輸入一個實型數(shù)據(jù)時,格式控制部分應規(guī)定小數(shù)點后的位數(shù),如scanf(“%4.2f”,&f); D)當輸入數(shù)據(jù)時,必須指明變量的地址,如scanf(“%f”,&f); 9、有輸入語句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);為使變量a的值為1,b為3,c為2,從鍵盤輸入數(shù)據(jù)的正確形式應當是( D  )。 A)132<回車> B)1,3,2<回車> C)a=1 b=3 c=2<回車> D)a=1,b=3,c=2<回車> } 10、已有如下定義和輸入語句,若要求a1,a2,c1,c2的值分別為10,20,A和B,當從第一列開始輸入數(shù)據(jù)時,正確的數(shù)

31、據(jù)輸入方式是( A )。 int a1,a2; char c1,c2; scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2); A)10A 20B B)10 A 20 B C)10A20B D)10A20 B 11、已有定義int x; float y;且執(zhí)行scanf(“%3d%f”,&x,&y);語句,若從第一列開始輸入數(shù)據(jù)12345 678<回車>,則x的值為( B ) ,y的值為( B )。 (1) A)12345 B)123 C)45 D)345 (2) A)無定值 B)45.000000

32、C)678.000000 D)123.000000 三、編程: 1、 編寫程序,從鍵盤上輸入三個數(shù)分別給變量a、b、c,求它們的平均值。并按如下形式輸出: average of **、** and ** is **.** 。其中,三個**依次表示a、b、c的值,**.**表示a,b,c的平均值。 2、輸入9時23分并把它化成分鐘后輸出。(從零點整開始計算)。 1、參考答案 main ( ) { float a, b, c, t; printf(“please input a,b,c:\n”); scanf ("%f, %f, %f", &a, &b, &c);

33、t=(a+b+c)/3; printf ("average of %6.2f、%6.2f and %6.2f is %6.2f\n”,a,b,c,t); } 2、參考答案 main ( ) { int h,m,s; printf(“please input h,m:\n”); scanf ("%d,%d", &h, &m); s=h*60+m; printf ("total %d minute\n”,s); } 第五章 選擇結(jié)構(gòu)程序設計 基礎(chǔ)練習(A) 一、填空題 1、關(guān)系表達式的運算結(jié)果是 邏輯 值。C語言沒有邏輯型數(shù)據(jù),以

34、1 代表“真”,以 0代表“假”。 2、邏輯運算符!是 單目 運算符,其結(jié)合性是由 右結(jié)合性 。 3、C語言提供的三種邏輯運算符是 && 、 || 、 ! 。其中優(yōu)先級最高的為 ! ,優(yōu)先級最低的為 | | 。 4、邏輯運算符兩側(cè)的運算對象不但可以是0和1,或者是0和非0的整數(shù),也可以是任何類型的數(shù)據(jù)。系統(tǒng)最終以 0 和 非0 來判定它們屬于“真”或“假”。 5、設y為int型變量,請寫出描述“y是偶數(shù)”的表達式 (y%2==0)  。 6、設x,y,z均為int型變量,請寫出描述“x或y中有一

35、個小于z”的表達式 x2&&x<3 。 8、判斷char型變量ch是否為大寫字母的正確表達式是 (ch>=‘A’)&&(ch<=‘Z’) 。 9、當a=3,b=2,c=1時,表達式f=a>b>c的值是 0 。 10、當a=5,b=4,c=2時,表達式a>b!=c的值是 1 。 11、已知A=7.5,B=2,C=3.6,表達式A>B&&C>A||AB的值是 0 。 12、若a=6,b=4,c=2,則表達式!(a-b)+c-

36、1&&b+c/2的值是 1 。 13、有int x,y,z;且x=3,y=-4,z=5,則表達式(x&&y)==(x||z)的值為 1 。 14、有int x,y,z;且x=3,y=-4,z=5,則以下表達式的值為 1 。 !(x>y)+(y!=z)||(x+y)&&(y-z) 15、有int a=3,b=4,c=5,x,y;,則以下表達式的值為 0 。 !(x=a)&&(y=b)&&0 16、if (!k) a=3;語句中的!k可以改寫為 k= =0 ,使其功能不變。 二、選擇題 1、邏輯運算符兩側(cè)運算對象的數(shù)據(jù)類型( 

37、D?。? A)只能是0或1 B)只能是0或非0正數(shù) C)只能是整型或字符型數(shù)據(jù) D)可以是任何類型的數(shù)據(jù) 2、以下關(guān)于運算符優(yōu)先順序的描述中正確的是( C?。?。 A)關(guān)系運算符<算術(shù)運算符<賦值運算符<邏輯與運算符 B)邏輯與運算符<關(guān)系運算符<算術(shù)運算符<賦值運算符 C)賦值運算符<邏輯與運算符<關(guān)系運算符<算術(shù)運算符 D)算術(shù)運算符<關(guān)系運算符<賦值運算符<邏輯與運算符 3、下列運算符中優(yōu)先級最高的是( B?。? A)< B)+ C)&& D)!= 4、為判斷字符變量c的值不是數(shù)字也不是字母時,應采用下述表達式( D )。 A)c<=48||c>=57&&c

38、<=65||c>=90&&c<=97||c>=122 B)!(c<=48||c>=57&&c<=65||c>=90&&c<=97||c>=122) C)c>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122 D)!(c>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122) 5、能正確表示“當x的取值在[1,100]和[200,300]范圍內(nèi)為真,否則為假”的表達式是( C ?。? A) (x>=1)&&(x<=100)&&(x>=200)&&(x<=300) B) (x>=1)||(x<=100)||(x>=200)||(x<

39、=300) C) (x>=1)&&(x<=100)||(x>=200)&&(x<=300) D) (x>=1)||(x<=100)&&(x>=200)||(x<=300) 6、設x、y和z是int型變量,且x=3,y=4,z=5,則下面表達式中值為0的是( D )。 A)‘x’&&‘y’ B) x<=y C) x||y+z&&y-z D) !((x=y&&ch<‘B’&&!y)的值是( C )。 A)0 B)語法錯 C)1 D)“假” 8、設有:int a=1,b=2,c=3,d=

40、4,m=2,n=2; 執(zhí)行(m=a>b)&&(n=c>d)后n的值為( B )。 A)1 B)2 C)3 D)4 9、以下不正確的if語句形式是( C?。?。 A) if(x>y&&x!=y); B) if(x==y) x+=y; C) if(x!=y) scanf(“%d”,&x) else scanf(“%d”,&y); D) if(xy) z=x; x=y; y=z; A)x=10,y=20,z=30 B)x=20

41、,y=30,z=30 C)x=20,y=30,z=10 D)x=20,y=30,z=20 11、以下if語句語法正確的是( B?。?。 A) if(x>0) printf(“%f”,x) else printf(“%f”,-x); B) B) if(x>0) { x=x+y; printf(“%f”,x); } else printf(“%f”,-x); C) C) if(x>0) { x=x+y; printf(“%f”,x); }; else printf(“%f”,-x); D) D) if(x>0) { x=x+y; printf(“%f”,x) } el

42、se printf(“%f”,-x); 12、請閱讀以下程序: main() { int a=5,b=5,c=0; if(a==b+c) printf(“***\n”); else printf(“$$$\n”); } 以下程序( C?。? A)有語法錯不能通過編譯 B)可以通過編譯但不能通過連接 C)輸出*** D)輸出$$$ 三、寫出下列程序的運行結(jié)果 1、若運行時輸入:2<回車>,則以下程序的運行結(jié)果是 2nd class postage is 14p   。 #include void m

43、ain(void) { char Class; printf(“Enter 1 for 1st class post or 2 for 2nd post”); scanf(“%c”,&Class); if(Class==‘1’) printf(“1st class postage is 19p”); else printf(“2nd class postage is 14p”); } 2、若運行時輸入:4.4<回車>,則以下程序的運行結(jié)果是 Selling Price(0.30)$5.72  。 #include <

44、stdio.h> void main(void) { float CostPrice,SellingPrice; printf(“Enter Cost Price $:”); scanf(“%f”,&CostPrice); if(CostPrice>=5) { SellingPrice=CostPrice+CostPrice*0.25; printf(“Selling Price(0.25)$%6.2f”,SellingPrice); } else { SellingPrice=CostPri

45、ce+CostPrice*0.30; printf(“Selling Price(0.30)$%6.2f”,SellingPrice); } } 3、以下程序的運行結(jié)果是 F 。 main() { if(2*2==5<2*2==4) print(“T”); else printf(“F”); } 能力提高(B) 一、選擇題 1、若希望當A的值為奇數(shù)時,表達式的值為“真”,A的值為偶數(shù)時,表達式的值為“假”,則以下不能滿足要求的表達式是( D )。 A)A%2==1 B)!(A%2==0) C)!(A%2) D)A%

46、2 2、下列運算符中優(yōu)先級最低的( A ),優(yōu)先級最高的是( C )。 A)?: B)&& C)+ D)!= 3、請閱讀以下程序: main() { int a=5,b=0,c=0; if(a=b+c) printf(“***\n”); else printf(“$$$\n”); } 以下程序( D )。 A)有語法錯不能通過編譯 B)可以通過編譯但不能通過連接 C)輸出*** D)輸出$$$ 4、以下程序的運行結(jié)果是( C?。? main() { int m=5; if(m++>5) printf

47、(“%d\n”,m); else printf(“%d\n”,m--); } A)4 B)5 C)6 D)7 二、根據(jù)程序的功能,將以下程序補充完整 1、以下程序?qū)斎氲乃膫€整數(shù),按從小到大的順序輸出。請在    內(nèi)填入正確內(nèi)容。 main() { int t,a,b,c,d; printf(“input a,b,c,d:”) scanf(“%d,%d,%d,%d”, &a,&b,&c,&d  ); if(a>b) {   t=a;a=b;b=t;   } if ( a>c ) {t=a;a=c;c=t;} if (

48、a>d) {t=a;a=d;d=t;} if ( b>c ) {t=b;b=c;c=t;} if (b>d) {t=b;b=d;d=t;} if (c>d) {t=c;c=d;d=t;} printf(“%d,%d,%d,%d”,a,b,c,d); } 三、編程: 1、試編程判斷輸入的正整數(shù)是否既是5又是7的整倍數(shù)。若是,則輸出yes;否則輸出no。 2、編制程序要求輸入整數(shù)x、y和z,若x2+y2+z2大于1000,則輸出x2+y2+z2千位以上的數(shù)字,否則輸出三數(shù)之和。 3、編寫程序,輸入三角型的三條邊長,求其面積。注意:對于不合理的邊長輸入要

49、輸出數(shù)據(jù)錯誤的提示信息。 1、參考答案 main() { int x; if (x%5==0 && x%7==0) printf(“yes”); else printf(“no”); } 2、參考答案 main() { int x,y,z,a,b; scanf(“%d %d %d”,&x,&y,&z); a=x*x+y*y*z*z; if (a>1000) {b=a/1000;printf(“%d”,b);} else printf(“%d”,x+y+z); } 3、參考答案 #include main() { float

50、a,b,c,s,area; scanf(“%f,%f,%f”,&a,&b,&c); if (a+b>c && b+c>a && a+c>b) { s=1.0/2*(a+b+c); area=sqrt(s*(s-a)*(s-b)*(s-c)); printf(“area=%7.2f\n”,area);} else printf(“bu neng zhucheng san jiao xing \n”); } 第2講 基礎(chǔ)練習(A) 一、填空題 1、在if語句中又包含一個或多個if語句稱為 if語句的嵌套 。 2、為了避免在嵌套的條件語句if-els

51、e中產(chǎn)生二義性,C語言規(guī)定:else子句總是與其之前最近的未配對的if 配對。如果if 與else數(shù)目不一樣,為實現(xiàn)設計者的企圖,可以加 花括號 關(guān)系。 3、條件運算符是C語言中唯一的一個 三 目運算符,其結(jié)合性為 從右至左 。 4、假設條件表達式的格式為:表達式1?表達式2:表達式 若表達式2和表達式3的類型不同,此時條件表達式的值的類型為二者中較 高 的類型 5、在switch語句中,switch后面括弧內(nèi)的“表達式”,可以為 任何 類型。 6、若a=1,b=2,則表達式a>b?a:b+1的值是 3 。 7、若w=1、x=2、y=

52、3、z=4,則條件表達式w

53、、在switch語句中,各個case和default的出現(xiàn)次序影響執(zhí)行結(jié)果。( 對) 3、在switch語句中,多個case可以共用一組執(zhí)行語句。(對 ) 4、 條件表達式能取代一般if的語句。( 錯 ) 5、 case后的常量表達式類型一定與表達式類型匹配。( 對 ) 三、寫出以下程序的運行結(jié)果 1、 main() -1 { int a=2,b=3,c; c=a; if(a>b) c=1; else if(a==b) c=0; else c=-1; printf(“%d\n”,

54、c); } 2、 main() 2 0 0 { int a,b,c; int s,w,t; s=w=t=0; a=-1; b=3; c=3; if(c>0) s=a+b; if(a<=0) { if(b>0) if(c<=0) w=a-b; } else if(c>0) w=a-b; else t=c; printf(“%d %d %d”,s,w,t); } 3、 switch(grade) {

55、case ‘A’: printf(“85-100\n”); case ‘B’: printf(“70-84\n”); case ‘C’: printf(“60-69\n”); case ‘D’: printf(“<60\n”); default: printf(“error!\n”); } 若grade的值為 ’C’,則輸出結(jié)果是 60-69 〈60 error! 能力提高(B) 一、寫出下列程序的運行結(jié)果 1、 #include 5 5 1 void main(vo

56、id) { int x,y=1,z; if(y!=0) x=5; printf(“\t%d\n”,x); if(y==0) x=4; else x=5; printf(“\t%d\n”,x); x=1; if(y<0) if(y>0) x=4; else x=5; printf(“\t%d\n”,x); } 2、 #include 4 -2 4 0

57、 4 -2 void main(void) { int x,y=-2,z; if((z=y)<0) x=4; else if(y==0) x=5; else x=6; printf(”\t%d\t%d\n”,x,z); if(z=(y==0)) x=5; x=4; printf(“\t%d\t%d\n”,x,z); if(x=z=y) x=4; printf(“\t%d\t%d\n”,x,z); } 3、 #inclu

58、de a=2,b=1 main() { int x=1,y=0,a=0,b=0; switch(x) { case 1: switch(y) { case 0: a++; break; case 1: b++; break; } case 2: a++; b++; break; } printf(“a=%d,b=%d”,a,b); } 二、根據(jù)程序的功能,將以下程序補充完整 以下程序計算某年某月有幾天。其

59、中判別閏年的條件是:能被4整除但不能被100整除的年是閏年,能被400整除的年也是閏年。請在    內(nèi)填入正確內(nèi)容。 main() { int yy,mm,len; printf(“year,month=”); scanf(“%d %d”,&yy,&mm); switch(mm) { case 1: case 3: case 5: case 7: case 8: case 10: case 12:   len=31   ; break; case 4:

60、case 6: case 9: case 11: len=30; break; case 2: if(yy%4==0&&yy%100!=0||yy%400==0)   len=29 ; else   len=28  ; break; default: printf(“input error”); break; } printf(“the length of %d %d is %d\n”,yy,mm,len); 第六章 循環(huán)

61、結(jié)構(gòu)程序設計 基礎(chǔ)練習(A) 一、選擇題 1、C語言中while和do-while循環(huán)的主要區(qū)別是(A)。 A) do-while的循環(huán)體至少無條件執(zhí)行一次 B) while的循環(huán)控制條件比do-while的循環(huán)控制條件嚴格 C) C) do-while允許從外部轉(zhuǎn)到循環(huán)體內(nèi) D) do-while的循環(huán)體不能是復合語句 2、以下描述中正確的是(C)。 A) 由于do-while循環(huán)中循環(huán)體語句只能是一條可執(zhí)行語句,所以循環(huán)體內(nèi)不能使用復合語句 B) do-while循環(huán)由do開始,用while結(jié)束,在while(表達式)后面不能寫分號 C) 在do-while循環(huán)體中

62、,一定要有能使while后面表達式的值變?yōu)榱悖ā凹佟保┑牟僮? D) do-while循環(huán)中,根據(jù)情況可以省略while 3、設有程序段 int k=10; while(k) k=k-1; 則下面描述中正確的是( A?。?。 A)while循環(huán)執(zhí)行10次 B)循環(huán)是無限循環(huán) C)循環(huán)體語句一次也不執(zhí)行 D)循環(huán)體語句執(zhí)行一次 4、下列循環(huán)語句中有語法錯誤的是( D )。 A) while(x=y) 5; B) while(0) ; C) do 2;while(x==b); D) do x++ while(x==10);

63、 5、已知int i=1; 執(zhí)行語句while (i++<4) ;后,變量i的值為( C )。 A) 3 B) 4 C) 5 D) 6 6、語句while(!E);中的表達式!E等價于( A?。?。 A)E==0 B)E!=1 C)E!=0 D) E==1 7、下面程序段的運行結(jié)果是( A?。? a=1; b=2; c=2; while(a

64、 C)1,2,1 D)2,1,1 8、下面程序的運行結(jié)果是( C?。?。 #include main() { int num=0; while(num<=2) { num++; printf(“%d\n”,num); } } A)1 B)1 C)1 D)1 2 2 2 3 3 9、以下能正確計算123…10的程序段是( C ?。?。 A)do{i=1; s=1; B)do{i=1; s=0;

65、    s=s*i; s=s*i; i++; i++; }while(i<=10); }while(i<=10); C)i=1; s=1; D)i=1; s=0; do{s=s*i; do{s=s*i; i++; i++; }while(i<=10); }while(i<=10); 10、下面程序的運行結(jié)果是( D )。 #include main() { int y=10; do{ y--; }w

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

相關(guān)資源

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

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

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


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