C語言習(xí)題_答案_第1頁
C語言習(xí)題_答案_第2頁
C語言習(xí)題_答案_第3頁
已閱讀5頁,還剩69頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、-WORD格式-可編輯-C語言章節(jié)習(xí)題目錄C語言章節(jié)習(xí)題 1第一章C語言概述 1第三章數(shù)據(jù)類型、運(yùn)算符和表達(dá)式 3第四章順序結(jié)構(gòu)程序設(shè)計 6第五章選擇結(jié)構(gòu)程序設(shè)計 14第六章循環(huán)結(jié)構(gòu)程序設(shè)計 27第7章數(shù)組習(xí)題 40第8章函數(shù)習(xí)題 52第九章預(yù)處理 61第十章指針 63第一章C語言概述一、選擇題:1、一個C程序的執(zhí)行是從(A)。A本程序的main函數(shù)開始,至U main函數(shù)結(jié)束B本程序文件的第一個函數(shù)開始,到本程序文件的最后一個函數(shù) 結(jié)束C本程序的main函數(shù)開始,到本程序文件的最后一個函數(shù)結(jié)束D本程序文件的第一個函數(shù)開始,到本程序 在C語言中,每個語句必須以( 回車符B.號D.2、A.mai

2、n函數(shù)結(jié)束 D)結(jié)束。C. 逗3、C語言規(guī)定:在一個源程序中,A.必須在最開始冒號分號 main函數(shù)的位置(C)。必須在系統(tǒng)調(diào)用的庫函B.數(shù)的后面C.可以任意4、一個C語言程序是由A. 一個主程序和若干子程序組成C.若干過程組成D.B)。B.D.必須在最后函數(shù)組成若干子程序組成5、下列說法中錯誤的是(D)。A. 主函數(shù)可以分為兩個部分:主函數(shù)說明部分和主函數(shù)體B. 主函數(shù)可以調(diào)用任何非主函數(shù)的其他函數(shù)C. 任何非主函數(shù)可以調(diào)用其他任何非主函數(shù)D. 程序可以從任何非主函數(shù)開始執(zhí)行6、用C語言編寫的源文件經(jīng)過編譯,若沒有產(chǎn)生編譯錯誤,則系統(tǒng)將(B)。生成目標(biāo)文件自動保存源文件A.生成可執(zhí)行目標(biāo)文件

3、B.C.輸出運(yùn)行結(jié)果D.二、填空題:1、C語言只有(37)個關(guān)鍵字和(9)種控制語句。2、每個源程序有且只有一個 (main)函數(shù),系統(tǒng)總是從該函數(shù)開 始執(zhí)行C語言程序。3、C語言程序的注釋可以出現(xiàn)在程序中的任何地方,它總是以 (* )符號作為開始標(biāo)記,以()符號作為結(jié)束標(biāo)記。4、 C語言中,輸入操作是由庫函數(shù)(scanf)完成的,輸出操作是由庫函數(shù)(printf ) 完成的。5、 系統(tǒng)默認(rèn)的C語言源程序文件的擴(kuò)展名是 (.c ),經(jīng)過編譯后 生成的目標(biāo)文件的擴(kuò)展名是 (.obj ),經(jīng)過連接后生成的可執(zhí)行文件的擴(kuò)展名是(.exe )。6、 C語言的標(biāo)識符只能由字母、數(shù)字和(下劃線)三種字符組

4、成。第三章數(shù)據(jù)類型、運(yùn)算符和表達(dá)式一、選擇題:1、以下選項(xiàng)中,不正確的 C語言浮點(diǎn)型常量是(C)。A. 160.B. 0.12C. 2e4.2D. 0.02、 以下選項(xiàng)中,(D)是不正確的C語言字符型常量。A. aB. x41C. 101D.a3、 在C語言中,字符型數(shù)據(jù)在計算機(jī)內(nèi)存中,以字符的(C)形式存儲。A. 原碼B. 反碼C. ASCII碼D. BCD碼4、 若x、i、j和k都是int型變量,則計算下面表達(dá)式后,x的值是(C)。x=( i=4,j=16,k=32)A. 4B. 16C.32D.525、算術(shù)運(yùn)算符、賦值運(yùn)算符和關(guān)系運(yùn)算符的運(yùn)算優(yōu)先級按從高到低依次為(B)。A.算術(shù)運(yùn)算、賦

5、值運(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)算6、表達(dá)式!x|a=b 等效于(D)。A. !(x|a)=b)B.=b)7、設(shè)整型變量 m,n,a,b,c,d后,m,nA. 0,0B. 0,1!(x|y)=bC. !(x|(a=D. (!x)|(a=b)均為 1,執(zhí)行(m=ab)&(n=cd)的值是(B)。C. 1,0D. 1,1& 設(shè)有語句int a=3;,則執(zhí)行了語句a+=a-=a*=a;后,變量a的值是(B)。A. 3B. 0C. 9D. -129、在以下一組運(yùn)算符中,優(yōu)先級最低的運(yùn)算符是(D)。A. *B. !=C. +D.=

6、10、設(shè)整型變量i值為2,表達(dá)式(+i)+(+i)+(+i) 的結(jié)果是(B)。A. 6B. 12C. 15D. 表達(dá)式出錯11、若已定義x和y為double類型,則表達(dá)式 x=1,y=x+3/2A. 1的值是(C)。D. 2.5B. 2C. 2.012、設(shè) a=1, b=2,c=3,d=4,則表達(dá)式: 的結(jié)果為(D)。ab? a:cd? a:dA. 4B.3C. 2D. 113、 設(shè)a為整型變量,不能正確表達(dá)數(shù)學(xué)關(guān)系:10a15的C語言表達(dá)式是(A)。A. 10a10 & a15D. !(a=15)14、 設(shè)f是實(shí)型變量,下列表達(dá)式中不是逗號表達(dá)式的是(D)。A. f= 3.2, 1.0B.

7、f0, f0D. f=(3.2, 1.0)15、表達(dá)式18/4*sqrt(4.0)/8值的數(shù)據(jù)類型是(C)。A. intB. floatC. doubleD.不確定16、已知字母 A的ASCII碼為十進(jìn)制數(shù)65,且c2為字符型,則執(zhí)行語句C2= A + 6 - 3;后 c2 中的值是(A)。A. DB. 68C.不確定的值D. C17、以下用戶標(biāo)識符中,合法的是( B)。A. intB. nitC. 123D. a+b18、C語言中,要求運(yùn)算對象只能為整數(shù)的運(yùn)算符是(A)。A. %B. /C. D. *19、若有說明語句:char c=72;則變量c在內(nèi)存占用的字節(jié)數(shù)是(A)oA. 1B. 2

8、C. 3D. 420、字符串ABC在內(nèi)存占用的字節(jié)數(shù)是(B)。A. 3B. 4C. 6D. 821、要為字符型變量a賦初值,下列語句中哪一個是正確的(B)A. char a=3;B. char a= 3;C. chara=%;D. char a=*;22、下列不正確的轉(zhuǎn)義字符是(C)。A. B. C. 074D. 0二、填空題:1、C語言中的邏輯值“真”是用1表示的,邏輯值“假”是用 0 表示的。2、若x和n都是int型變量,且x的初值為12,n的初值為5,則計算表達(dá)式x%=(n%=2后x的值為0。3、 設(shè) c=w,a=1,b=2,d=-5,則表達(dá)式x+1c, y!=c+2,-a-5*b=d+

9、1, b=a=2 的值為 1、0、1、1。4、設(shè) float x=2.5,y=4.7; int a=7;,表達(dá)式x+a%3*(int)(x+y)%2/4 的值為 2.5。5、 判斷變量a、b的值均不為0的邏輯表達(dá)式為 a!=0&b!=0,值為1。6、求解賦值表達(dá)式 a=(b=10)%(c=6),表達(dá)式值為4、a、b、c的值依次為1,0, 6。7、 求解逗號表達(dá)式x=a=3,6*a后,表達(dá)式值為18、x、a的值依次為3,3。三、編程題:1、設(shè)長方形的高為1.5,寬為2.3,編程求該長方形的周長和 面積。2、編寫一個程序,將大寫字母A轉(zhuǎn)換為小寫字母a。1.main()float x=1.5,y=2

10、.3;printf(“area is %6.2fn” ,x*y);2.main()char c= A ;printf( “%d ,c+32);第四章順序結(jié)構(gòu)程序設(shè)計基礎(chǔ)練習(xí)(A)一、填空題1、C語句分為五種:控制語句_、函數(shù)調(diào)用語句、表達(dá)式語句、 空語句和復(fù)合語句。2、一個基本語句的最后一個字符是_j_。3、復(fù)合語句又稱分程序,是用_ _括起來的語句。4、 使用C語言庫函數(shù)時,要用于預(yù)編譯命令 #include 將有關(guān)的“頭文件”包括到用戶源文件5、使用標(biāo)準(zhǔn)輸入輸出庫函數(shù)時,程序的開頭要有如下預(yù)處理命令: #include 。6、 a=3;c+=a-b; 在語法上被認(rèn)為是 1 條語句。7、ge

11、tchar函數(shù)的作用是從終端輸入 1_個字符。&如果從鍵盤輸入字符a并按回車鍵,請寫出以下程序運(yùn)行效果 a 。#includemain()putchar(getchar();9、以下程序的輸出結(jié)果為_i:dec=-4,oct=177774,hex=fffc,unsigned=65532。main()short i;i=-4;printf(n ,i,i,i,i);10、以下程序的輸出結(jié)果為 *3.140000,3.142* 。main()printf( “*%f,%4.3f*n” ,3.14,3.1415);11、以下程序的輸出結(jié)果為_c:dec=120,oct=170,hex=78,ASCII

12、=x 。main() char c= x;printf( “c:dec=%d,oct=%o,hex=%x,ASCII=%c n” ,c,c,c,c)J12、已有定義int d=-2;執(zhí)行以下語句后的輸出結(jié)果是_*d(1)=-2*d(2)= -2*d(3)=-2 * *d(4)=177776*d(5)= 177776*d (6)=177776 *printf( “*d(1)=%d*d(2)=%3d*d(3)=%n” ,d,d,d);printf( “*d(4)=%o*d(5)=%7o*d(6)=%n” ,d,d,d);13、以下程序的輸出結(jié)果為 x=1 y=2 *sum*=310 Squared

13、 is: 100main()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) 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(“ %fn” ,a);printf( “(2) %14.3f

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

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

16、=*chi*C) *s仁*chinabeijing*D) *s1= chinabeijing*s2=chi*s2=chi *5、 printf函數(shù)中用到格式符 5s,其中數(shù)字5表示輸出的字符 串占用5列。如果字符串長度大于5,則輸出按方式(B )。如果字符串長度小于5,則輸出按方式(C )。A)從左起輸出該字串,右補(bǔ)空格B)按原字符長從左向右全部輸出C)右對齊輸出該字串,左補(bǔ)空格D)輸出錯誤信息6、 已有定義int a=-2; 和輸出語句:printf(“8lx” ,a);以下正確的敘述是(D )。A)整型變量的輸出格式符只有d 一種B)%x是格式符的一種,它可以適用于任何一種類型的數(shù)據(jù)C)%

17、 x是格式符的一種,其變量的值按十六進(jìn)制輸出,但 8lx是錯誤的D)% 8lx不是錯誤的格式符,其中數(shù)字度8規(guī)定了輸出字段的寬printf( printf( printf( printf(A) y= -43456y=- 43456y=-0043456y=-43456C) y=-43456y=-434567、以下C程序正確的運(yùn)行結(jié)果是(C )main()long y=-43456;“y=%n” ,y);“y=%n” ,y);“y=%08ld n” ,y); “y=%+8ld n” ,y);B) y=-43456 y=-43456 y=-0043456 y=+-43456D) y= -43456

18、y=-0043456y二0043456y=00043456y= -43456y=+434568、以下C程序正確的運(yùn)行結(jié)果是(D )main()int y=2456;printf(printf( printf(A) y= 2456 y= 2456 y=#2456C) y=2456y= 2456y= 02456“y=%3o n” ,y);“y=%8o n” ,y);“y=%#8o n” ,y);B ) y= 4630 y= 4630 y=#4630D) y=4630 y= 4630 y= 04630基礎(chǔ)練習(xí)(B)一、填空題1、printf 函數(shù)的作用是向終端 _輸出若干個任意類型的數(shù)據(jù)。2、 pr

19、intf 函數(shù)中的“格式控制”,包括_格式說明 和 _普通字符兩種信息。3、 scanf函數(shù)中的“格式控制”后面應(yīng)當(dāng)是變量_地址,而不是變量名。4、在用scanf函數(shù)中輸入數(shù)據(jù)時,如果在“格式控制”字符傳 中除了格式說明以外還有其他字符,則應(yīng)在對應(yīng)位置輸入與這些字符相同的字符。5、在用” %c格式輸入字符時,空格字符和“轉(zhuǎn)義字符”都作為有效字符輸入。6、在輸入數(shù)據(jù)時,遇以下情況時該數(shù)據(jù)認(rèn)為結(jié)束:遇_空格、或按“回車”或“跳格”鍵;按指定的 寬度結(jié)束;遇非法輸入。7、輸入數(shù)據(jù)時不能規(guī)定 精度。&如果在后有一個“*”附加說明符,表示 跳過它指定的列數(shù)。二、選擇題1、若 int a,b; scanf

20、(“d%”,&a,&b);不可以用(A )作為輸入的分隔符。A) , B) 空格 C ) 回車 D )TAB鍵2、若x,y均定義為int型,z定義為double型,以下不合法的scanf函數(shù)調(diào)用語句是 ( B )。A) scanf( “d%lx,%le”,&x,&y,&z);B) scanf( “2d*%d%l”,&x,&y,&z);C) scanf( “ x%*d%”,&x,& y);D) scanf( “x%o%6.2”,&x,&y,&z);3、已有如下定義和輸入語句,若要求 a1,a2,c1,c2的值分別為10,20,A和B,當(dāng)從第一列開始輸入數(shù)據(jù)時,正確的數(shù)據(jù)輸入方式是(D )。int

21、 a1,a2; char c1,c2;scanf( “%d%d,&a1,&a2);scanf( “%c%c,&c1,&c2);A) 1020ABB)10 20ABC)10 20 ABD)10 20AB4、 閱讀以下程序,當(dāng)輸入數(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=48B) x+y+z=35C) x+z=35D)不確定值5、已有程序段和輸入數(shù)據(jù)的形式如下,程序中輸入語句的正確形式應(yīng)當(dāng)為(D)。main()int a;

22、float f;printf( “ nlnput number: ” );輸入語句printf( “n” ,f,a);In put number:4.5 2A) scanf( “d,%”,&a,&f);B) scanf( “f,%d,&f,&a);C) scanf( “d%”,&a,&f);D) scanf( “%f%d,&f,&a);6、 根據(jù)定義和數(shù)據(jù)的輸入方式,輸入語句的正確形式為(B )已有定義:float f1,f2;數(shù)據(jù)的輸入方式:4.523.5A) scanf( “f,%f”,&f1,&f2);B) scanf( “%f%f,&f1,&f2);C) scanf( “%3.2f %

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

24、 nx+y=%6.1f” ,x+y);D) scanf( “d%3.1”,&x,&y);printf(“ nx+y=%4.2f” ,x+y);&以下說法正確的是(D )。A) 輸入項(xiàng)可以為一實(shí)型常量,如scanf( “f” ,3.5);B) 只有格式控制,沒有輸入項(xiàng),也能進(jìn)行正確輸入,如scanf( “a=%d,b=%d );C) 當(dāng)輸入一個實(shí)型數(shù)據(jù)時,格式控制部分應(yīng)規(guī)定小數(shù)點(diǎn)后的位數(shù),如 scanf( “4.2f”,&f);D) 當(dāng)輸入數(shù)據(jù)時,必須指明變量的地址,如scanf( “f” ,&f);9、 有輸入語句:scanf( “a=%d,b=%d,c=%”,&a,&b,&c);為使變量a的

25、值為1,b為3,c為2,從鍵盤輸入數(shù)據(jù)的正確形式 應(yīng)當(dāng)是(D )。A) 132B) 1,3,2C) a=1 b=3 c=2D) a=1,b=3,c=210、已有如下定義和輸入語句,若要求 a1,a2,c1,c2的值分別為10,20, A和B,當(dāng)從第一列開始輸入數(shù)據(jù)時,正確的數(shù)據(jù)輸入方式是(A )。int a1,a2; char c1,c2;scanf( “ d%c%d%(?&a1, &c1,&a2,&c2);A) 10A 20BB)10 A 20 BC) 10A20BD)10A20 B11、已有定義 int x; float y;且執(zhí)行 scanf( “3d%”,&x,&y);語句,若從第一列

26、開始輸入數(shù)據(jù)12345 678,則x的值為(B ),y的值為( B )。(1) A )12345B)123C)45D)345(2) A )無定值B)45.000000 C)678.000000 D)123.000000三、編程:1、編寫程序,從鍵盤上輸入三個數(shù)分別給變量a、b、c,求它們的平均值。并按如下形式輸出:average of *、* and *is *.* 。其中,三個*依次表示 a、b、c的值,*.* 表示a,b,c的平均值。(從零點(diǎn)整開始計算)n”);2、輸入9時23分并把它化成分鐘后輸出。1、參考答案 main () float a, b, c, t; printf( “ pl

27、ease input a,b,c:scanf (%f, %f, %f, &a, &b, &c);t=(a+b+c)/3;printf (average of %6.2f、%6.2f and %6.2fn” ,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;n ,s);第五章選擇結(jié)構(gòu)程序設(shè)計基礎(chǔ)練習(xí)(A)一、填空題1、關(guān)系表達(dá)式的運(yùn)算結(jié)果是 邏輯值。C語言沒有邏輯型數(shù)據(jù),以丄代表“真”,以 0代表“假”。2、 邏輯運(yùn)算符!是 _單目_運(yùn)算符,其結(jié)合性是由

28、右結(jié)合性_。3、C語言提供的三種邏輯運(yùn)算符是 _& _、_| _、_! 。其中優(yōu)先級最高的為_!_,優(yōu)先級最低的為 I I 。4、邏輯運(yùn)算符兩側(cè)的運(yùn)算對象不但可以是0和1,或者是0和非0的整數(shù),也可以是任何類型的數(shù)據(jù)。系統(tǒng)最終以_0 _和_非0來判定它們屬于“真”或“假”。5、設(shè)y為int型變量,請寫出描述“ y是偶數(shù)”的表達(dá)式 _ (y%2=0)。6、設(shè)x,y,z均為int型變量,請寫出描述“ x或y中有一個小于 z”的表達(dá)式xz|yvz 。7、條件“ 2x3或x-10 ”的C語言表達(dá)式是 x2&x= A )&(chv= Z)。9、 當(dāng) a=3,b=2,c=1 時,表達(dá)式 f=abc 的值是

29、 _0。10、當(dāng) a=5,b=4,c=2 時,表達(dá)式 ab!=c 的值是1 。11、已知 A=7.5,B=2,C=3.6,表達(dá)式 AB&CA|AB勺值 是 0。12、若 a=6,b=4,c=2,則表達(dá)式!(a-b)+c-1&b+c/2的值是 _1。13、有 int x,y,z; 且 x=3,y=-4,z=5,則表達(dá)式(x&y)=(x|z) 的值為 1。14、有int x,y,z; 且x=3,y=-4,z=5 ,則以下表達(dá)式的值為 _ 1。!(xy)+(y!=z)|(x+y)&(y-z)15、 有int a=3,b=4,c=5,x,y;,則以下表達(dá)式的值為 _0_ 。!(x=a)&(y=b)&0

30、16、 if (!k) a=3;語句中的!k可以改寫為 _ k= =0 _,使其功能不變。二、選擇題1、邏輯運(yùn)算符兩側(cè)運(yùn)算對象的數(shù)據(jù)類型(D )。A)只能是0或1B) 只能是0或非0正數(shù)C) 只能是整型或字符型數(shù)據(jù)D) 可以是任何類型的數(shù)據(jù)2、以下關(guān)于運(yùn)算符優(yōu)先順序的描述中正確的是(C )。A) 關(guān)系運(yùn)算符 算術(shù)運(yùn)算符 賦值運(yùn)算符 邏輯與運(yùn)算符B) 邏輯與運(yùn)算符 關(guān)系運(yùn)算符 算術(shù)運(yùn)算符 賦值運(yùn)算符C) 賦值運(yùn)算符 邏輯與運(yùn)算符 關(guān)系運(yùn)算符 算術(shù)運(yùn)算符D) 算術(shù)運(yùn)算符 關(guān)系運(yùn)算符 賦值運(yùn)算符 邏輯與運(yùn)算符3、下列運(yùn)算符中優(yōu)先級最咼的是(B )。A B) +C) &D) !=4、為判斷字符變量 c

31、的值不是數(shù)字也不是字母時,應(yīng)采用下述表達(dá)式(D )。A) c=57&c=90&c=122B) !(c=57&c=90&c=122)C) c=48&c=65&c=97&c=48&c=65&c=97&c=1)&(x=200)&(x=1)|(xv=100)|(x=200)|(xv=300)C) (x=1)&( xv=100)|(x=200)&(x=1)|(x=200)|(x=300)6、設(shè)x、y和z是int型變量,且x=3,y=4,z=5,則下面表達(dá)式中值為0的是(D )。A) x & yB) x=yC) x|y+z&y-zD) !(x=y&chb)&(n=cd)后 n 的值為( B )。A) 1B

32、) 2C) 3D) 49、以下不正確的if語句形式是(C )oA) if(xy& x!=y);B) if(x=y) x+=y;10、已知 int x=10,y=20,z=30;(C) if(x!=y) scanf( “%d,&x) else scanf(“%d,&y);D) if(xy)z=x; x=y; y=z;B) x=20,y=30,z=30D) x=20,y=30,z=20B )。A) x=10,y=20,z=30C) x=20,y=30,z=1011、以下if語句語法正確的是(A) if(x0) printf( else printf(B) B) x=x+y; printf(el s

33、e printf(C) C) x=x+y; printf(else printf(D) D) x=x+y; printf(else printf(“f” ,x)“ f”,-x);if(x0)“ f” ,x); “ f”,-x); if(x0);“ f” ,x); “ f”,-x); if(x0)“ f” ,x)12、請閱讀以下程序:main() int a=5,b=5,c=0;if(a=b+c) printf( else printf( 以下程序(C“ *“ $n”);”);“ f”,-x);A)有語法錯不能通過編譯B)可以通過編譯但不能通過連接C)輸出*D)輸出$三、寫出下列程序的運(yùn)行結(jié)果2

34、nd1、若運(yùn)行時輸入:2回車,則以下程序的運(yùn)行結(jié)果是class postage is 14p。#include void main(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” );elseprintf( “2nd class postage is 14p” );2、若運(yùn)行時輸入:4.4回車,則以下程序的運(yùn)行結(jié)果是Selling Price(0.30)$

35、5.72。#include 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); elseSellingPrice=CostPrice+CostPrice*0.30;printf( “Sel lingPrice(0.30)$%6.2f ”

36、 ,SellingPrice);3、以下程序的運(yùn)行結(jié)果是 _F_。main() if(2*2=55) printf(“%d n” ,m);else print f( “%d n” ,m-); A) 4B) 5C) 6D) 7二、根據(jù)程序的功能,將以下程序補(bǔ)充完整1、以下程序?qū)斎氲乃膫€整數(shù),按從小到大的順序輸出。請在 內(nèi)填入正確內(nèi)容。main() int t,a,b,c,d;printf(“ input a,b,c,d:”)scanf( “d,%d,%d,%” , _&a,&b,&c,&d);if(ab) t=a;a=b;b=t; if ( _ac_) t=a;a=c;c=t;if (ad)

37、t=a;a=d;d=t;if ( _bc_) t=b;b=c;c=t;if (bd) t=b;b=d;d=t;if (cd) t=c;c=d;d=t;printf(“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、編寫程序,輸入三角型的三條邊長,求其面積。注意:對于不合理的邊長輸入要輸出數(shù)據(jù)錯誤的提示信息。1、參考答案main() int x;if (x%5=0 & x%7=

38、0)printf(“yes” );elseprintf(“no”);2、參考答案main() int x,y,z,a,b;scanf( “d %d %d,&x,&y,&z);a=x*x+y*y*z*z;if (a1000)b=a/1OOO;printf(“%d ,b);else pri ntf( “ %d ,x+y+z);3、參考答案#include main() float a,b,c,s,area;scanf( “%f,%f,%f ”,&a,&b,&c);if (a+bc & b+ca & a+cb)n );語句的嵌C語言規(guī) 如果if與 花括號關(guān) s=1.0/2*(a+b+c); area

39、=sqrt(s*(s-a)*(s-b)*(s-c); printf( “area=%7.2f n” ,area); else printf( “ bu neng zhucheng san jiao xi第2講基礎(chǔ)練習(xí)(A)一、填空題1、在if語句中又包含一個或多個if語句稱為_if套。2、為了避免在嵌套的條件語句 if-else 中產(chǎn)生二義性, 定:else子句總是與 其之前最近的未配對的if _配對。 else數(shù)目不一樣,為實(shí)現(xiàn)設(shè)計者的企圖,可以加 系。3、條件運(yùn)算符是 C語言中唯一的一個 _三_ 目運(yùn)算符,其結(jié)合性為從右至左。4、假設(shè)條件表達(dá)式的格式為:表達(dá)式 1 ?表達(dá)式2:表達(dá)式若表達(dá)

40、式2和表達(dá)式3的類型不同,此時條件表達(dá)式的值的類型為二者中較 高 的類型5、在switch語句中,switch后面括弧內(nèi)的“表達(dá)式”,可以為 任何 類型。6、若a=1,b=2,則表達(dá)式 ab?a:b+1的值是 _3_。7、若 w= 1、x = 2、y = 3、z = 4,則條件表達(dá)式 wx?w:yz?y:z的值是_J。&若有以下if 語句:if (ab) min=a;else min=b;可用條件運(yùn)算符來處理的等價式子為 min=(ab)?a:b ; 。9、若 x=1,y=2,z=3 ,則表達(dá)式(xb) c=1;else if(a=b) c=0;2、 main()else c=-1; prin

41、tf( “d n” ,c);2 0 0int a,b,c;int s,w,t;s=w=t=0;a=-1; b=3; c=3; if(c0) s=a+b;if(a0) if(c0) w=a-b;3、switch(grade)case A:printf(“ 85-ncase B:printf(“ 70-ncase C:printf(“ 60-nD : printf();););else t=c;printf( “%d %d %d ,s,w,t);n ); n );“ 60 “error!casedefault: printf(60-6960error!能力提高(B)、寫出下列程序的運(yùn)行結(jié)果若gra

42、de的值為C,則輸出結(jié)果是1、#include 551 void main(void) int x,y=1,z; if(y!=O) x=5;printf( “ n” ,x); if(y=0) x=4;else x=5; printf( “ n” ,x);x=1;if(y0) x=4;else x=5; printf( “ n” ,x);2、#include 4 -2404-2void main(void) int x,y=-2, z;if(z=y)0) x=4; else if(y=0) x=5;else x=6;printf( ”n”,x,z);if(z=(y=0)x=5;x=4;print

43、f(“n”,x,z);if(x=z=y) x=4;printf(“n”,x,z);3、 #include a=2,b=1main()int x=1,y=O,a=O,b=O;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ù)程序的功能,將以下程序補(bǔ)充完整以下程序計算某年某月有幾天。其中判別閏年的條件是:能被4整除但不能被100整除的年是閏年,能被400整除的年也是閏年。請在 內(nèi)填入正確內(nèi)容。main()int yy,m

44、m,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:case 6:case 9:case 11: len=30; break;case 2:if(yy%4=0&y y%100!=0|yy%400=0) len=29 ;else len=28;break;default: printf(“input error ” );break;printf( “ the length

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

46、體中,一定要有能使while后面表達(dá)式的值變?yōu)榱悖ā凹佟保┑牟僮鱀)do-while 循環(huán)中,根據(jù)情況可以省略 while3、設(shè)有程序段int k=10;while(k) k=k-1;、 A )。B)循環(huán)是無限循環(huán)D)循環(huán)體語句執(zhí)行-D )。則下面描述中正確的是A)while循環(huán)執(zhí)行10次C)循環(huán)體語句一次也不執(zhí)行次4、下列循環(huán)語句中有語法錯誤的是(A) while(x=y) 5;B) while(0);C) do 2; while(x=b) ; D) do x+ while(x=10):5、已知int i=1; 執(zhí)行語句 while (i+4) ;后,變量i的值為(C )。A) 3 B) 4 C) 5 D)66、語句while(!E);中的表達(dá)式!E等價于( A )A) E=0B) E!=1C) E!=0D) E=17、下面程序段的運(yùn)行結(jié)果是( A )。a=1; b=2; c=

溫馨提示

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

評論

0/150

提交評論