C語言習(xí)題_答案_第1頁
C語言習(xí)題_答案_第2頁
C語言習(xí)題_答案_第3頁
C語言習(xí)題_答案_第4頁
C語言習(xí)題_答案_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余58頁可下載查看

付費(fèi)下載

下載本文檔

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

文檔簡介

1、C語言章節(jié)習(xí)題目錄C語言章節(jié)習(xí)題第一章C語言概述第三章數(shù)據(jù)類型、運(yùn)算符和表達(dá)式第四章順序結(jié)構(gòu)程序設(shè)計(jì)第五章選擇結(jié)構(gòu)程序設(shè)計(jì)10第六章循環(huán)結(jié)構(gòu)程序設(shè)計(jì)17第7章數(shù)組習(xí)題25第8章函數(shù)習(xí)題33第九章預(yù)處理40第十章指針41第一章C語言概述一、選擇題:1、一個(gè)C程序的執(zhí)行是從(A )。A本程序的main函數(shù)開始,到 main函數(shù)結(jié)束B本程序文件的第一個(gè)函數(shù)開始,到本程序文件的最后一個(gè)函數(shù)結(jié)束C本程序的main函數(shù)開始,到本程序文件的最后一個(gè)函數(shù)結(jié)束D本程序文件的第一個(gè)函數(shù)開始,到本程序main函數(shù)結(jié)束2、A.在C語言中,每個(gè)語句必須以(D)結(jié)束?;剀嚪?B.冒號(hào) C.逗號(hào) D.分號(hào)3、A.C語言規(guī)定

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

3、言只有(37)個(gè)關(guān)鍵字和(9)種控制語句。C語言程序。2、 每個(gè)源程序有且只有一個(gè)(mai n)函數(shù),系統(tǒng)總是從該函數(shù)開始執(zhí)行3、 C語言程序的注釋可以出現(xiàn)在程序中的任何地方,它總是以(*)符號(hào)作為開始標(biāo)記,以()符 號(hà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í)符只能由字母、數(shù)字和(下劃線)三種字符組成。第三章數(shù)據(jù)類型、運(yùn)算符和表達(dá)式一、選擇題:1

4、、以下選項(xiàng)中,不正確的A. 160. B. 0.122、以下選項(xiàng)中,A. 'a' B. 'x41'C語言浮點(diǎn)型常量是(C)oD. 0.0C. 2e4.2(D)是不正確的 C語言字符型常量。C. '101' D. "a"3、A.4、在C語言中,字符型數(shù)據(jù)在計(jì)算機(jī)內(nèi)存中,以字符的( C)形式存儲(chǔ)。原碼 B.反碼 C. ASCII碼 D. BCD碼若X、i、j和k都是int型變量,則計(jì)算下面表達(dá)式后,x的值是(C )o(i=4 , j=16 , k=32)B. 16C.32x=A. 4 B. 16C.32D.525、算術(shù)運(yùn)算符、賦值

5、運(yùn)算符和關(guān)系運(yùn)算符的運(yùn)算優(yōu)先級(jí)按從高到低依次為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)算6、表達(dá)式!x|a=b等效于(D)oA. !(x|a)=b) B. !(x|y)=b C. !(x|(a=b) D. (!x)|(a=b)7、 設(shè)整型變量 m, n,a,b,c,d 均為 1,執(zhí)行(m=a>b)&&(n=c>d)A. 0 , 0 B. 0 , 1 C. 1, 0 D. 1 , 18、設(shè)有語句int a=3;,則執(zhí)行了語句 a+=a-=a*=a;后,變量A. 3 B. 0 C. 9

6、 D. -129、在以下一組運(yùn)算符中,優(yōu)先級(jí)最低的運(yùn)算符是A. * B. != C. + D.=10、設(shè)整型變量i值為2,表達(dá)式(+i)+(+i)+(+i)的結(jié)果是A. 6 B. 12 C. 15 D.表達(dá)式出錯(cuò)11、 若已定義 x和y為double類型,則表達(dá)式x=1 , y=x+3/2的值是(C)。A. 1 B. 2 C. 2.0 D. 2.512、 設(shè) a=1, b=2 , c=3, d=4,則表達(dá)式:a<b? a : c<d? a : d 的結(jié)果為(D)。A. 4 B. 3 C. 2 D. 113、 設(shè)a為整型變量,不能正確表達(dá)數(shù)學(xué)關(guān)系:10<a<15的C語言表

7、達(dá)式是(A)。A. 10<a<15B. a= =11| a= =12 | a= =13 | a= =14C. a>10 && a<15 D. !(a<=10) && !(a>=15)14、 設(shè)f是實(shí)型變量,下列表達(dá)式中不是逗號(hào)表達(dá)式的是(D)oA. f= 3.2, 1.0 B. f>0, f<10 C. f=2.0, f>0 D. f=(3.2, 1.0)15、 表達(dá)式18/4*sqrt(4.0)/8值的數(shù)據(jù)類型是(C)。A. i nt B. float C. double D. 不確定16、已知字母A的AS

8、CII碼為十進(jìn)制數(shù)65,且c2為字符型,則執(zhí)行語句C2=' A' +-' '63后;2 中的值是(A)oA. D B. 68 C.不確定的值D. C17、以下用戶標(biāo)識(shí)符中,合法的是(A. i nt B. nit C. 123 D. a+b18、C語言中,要求運(yùn)算對(duì)象只能為整數(shù)的運(yùn)算符是(A. % B. / C. > D. *(D)。(B)。后,m,n的值是(B)。a的值是(B)。(B)。B )。A )。19、 若有說明語句:char c='72'則變量c在內(nèi)存占用的字節(jié)數(shù)是(A)。A. 1 B. 2 C. 3 D. 4B )。20、字符串&

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

10、#39;,a=1,b=2,d=-5,則表達(dá)式'x'+1>c, 'y'!=c+2,-a-5*b<=d+1, b=a=2 的值為 1、0、1、1。 設(shè) float x=2.5,y=4.7; int a=7;,表達(dá)式 x+a%3*(int)(x+y)%2/4 的值為 2.5。判斷變量 a、b求解賦值表達(dá)式求解逗號(hào)表達(dá)式的值均不為0的邏輯表達(dá)式為 a!=0&&b!=0,值為1。a=(b=10)%(c=6),表達(dá)式值為 4、 x=a=3,6*aa、b、c的值依次為1, 0, 6 。后,表達(dá)式值為18、X、a的值依次為3,3 。二、編程題:1、設(shè)

11、長方形的高為2、編寫一個(gè)程序,將大寫字母1.1.5,寬為2.3,編程求該長方形的周長和面積。A轉(zhuǎn)換為小寫字母 a。#in clude<stdio.h>“ aren"is,%6)2f,c+32);ma in ()float x=1.5,y=2.3; printf(2.main ()char c= ' A' ;pnntf(第四章順序結(jié)構(gòu)程序設(shè)計(jì)基礎(chǔ)練習(xí)(A)一、填空題1、 c語句分為五種:控制語句、函數(shù)調(diào)用語句、表達(dá)式語句、空語句和復(fù)合語句。2、 一個(gè)基本語句的最后一個(gè)字符是亠。3、 復(fù)合語句又稱分程序,是用 _44一括起來的語句。4、 使用C語言庫函數(shù)時(shí),要

12、用于預(yù)編譯命令#include 將有關(guān)的“頭文件”包括到用戶源 文件中。#in elude<stdio.h>5、 使用標(biāo)準(zhǔn)輸入輸出庫函數(shù)時(shí),程序的開頭要有如下預(yù)處理命令:6、 a=3;c+=a-b; 在語法上被認(rèn)為是 1 條語句。7、 getchar函數(shù)的作用是從終端輸入個(gè)字符。8、如果從鍵盤輸入字符并按回車鍵,請(qǐng)寫出以下程序運(yùn)行效果ma in ()pu tchar(getchar();9、以下程序的輸出結(jié)果為main ()i:dec=-4,oct=177774,hex=fffc, un sig ned=65532short i; i=-4; printf(n ” ,i,i,i,i

13、);10、以下程序的輸出結(jié)果為main ()*3.140000,3.142*printf(“*%f,%4.3f” ,3.14,3.1415);11、以下程序的輸出結(jié)果為main ()c:dec=120,oct=170,hex=78,ASCII=x12、已有定義char c= x'printf( “ c:dec=%d,oct=%o,hex=%x,ASCII=%c ,c,c,c,c);int d=-2;執(zhí)行以下語句后的輸出結(jié)果是*d(4)=177776*d(5)=*d(1)=-2*d(2)= -2*d(3)=-2177776*d(6)=177776#in clude <stdio.h

14、>n” ,d,d,d); n” ,d,d,d);printf(“ *d(1)=%d*d(2)=%3d*d(3)=%printf(“ *d(4)=%o*d(5)=%7o*d(6)=%13、以下程序的輸出結(jié)果為x=1 v=2 *sum*=310 Squared is: 100mai n()int x=1,y=2;printf( “ x=%d y=%d *sum*=%T” ,x,y,x+y); printf( “10 Squared isr%d,10*1(0;14、以下程序的輸出結(jié)果為(1) 123.456000(2) 123.457 123.4560(4) 8765.456700(5) II

15、IIIIIIIIII 8765.457(6) 8765.4567(7) 8765.4567mai n()float a=123.456; double b=8765.4567; printf( printf( printf( printf( printf( printf( printf(“(1)n”,a);“(2)%i4i3f ,a )“ (3) %6n4f ,a);“ ”, b);“(5) %14n” ,b);“ 8n” ,b);“ i4f ,b);二、判斷題1、所謂函數(shù)體實(shí)際上就是一個(gè)復(fù)合語句。(對(duì))2、C語言本身不提供輸入輸出語句,輸入和輸出操作是由函數(shù)來實(shí)現(xiàn)的。(3、putchar函數(shù)

16、可以向終端輸出一個(gè)整數(shù)數(shù)據(jù)。(錯(cuò))4、考慮到 printf和scanf函數(shù)使用頻繁,系統(tǒng)允許在使用這兩個(gè)函數(shù)時(shí)可不加 (對(duì))5、任何表達(dá)式都可以加上分號(hào)而成為有意義的語句。三、選擇題以下不屬于流程控制語句的是A)表達(dá)式語句B)選擇語句2、putchar函數(shù)可以向終端輸出一個(gè)A)整型變量表達(dá)式值B)實(shí)型變量值3、getchar函數(shù)的參數(shù)個(gè)數(shù)是(B )。A) 1B) 0C) 24、 以下程序的輸出結(jié)果是(D)。main ()printf( n*s1=%15s* ” ,“ chinabeijing” );printf( n*S2=%- 5s* ” ,“ chi ” );A) *s1=chinabei

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

18、式符的一種,它可以適用于任何一種類型的數(shù)據(jù)C) %x是格式符的一種,其變量的值按十六進(jìn)制輸出,但8lx是錯(cuò)誤的D) % 8lx不是錯(cuò)誤的格式符,其中數(shù)字8規(guī)定了輸出字段的寬度(對(duì))1、(A )。C)循環(huán)語句(D)。D)(對(duì))#include 命令。D)轉(zhuǎn)移語句C)字符串D)字符或字符型變量值5列。如果字符串長度大于 5 , (C )。7、以下C程序正確的運(yùn)行結(jié)果是(C )。 main ()long y=-43456;printf( printf( printf( printf(A) y= -43456y=-43456y=-0043456 y=-43456C) y=-43456 y=-43456

19、 y=-0043456 y= -43456“y=% n”,y); “y=% n” ,y);"y=%08nd ,y);"y=%+8Md ,y);B) y=-43456 y=-43456 y=-0043456 y=+-43456D) y= -43456 y=-0043456 y=00043456 y=+43456&以下C程序正確的運(yùn)行結(jié)果是(Dmain ()int y=2456; printf( printf( printf( A) y= 2456y=2456y=#2456 C) y=2456y= 2456y=02456“y=%30 ,y);“y=%80 ,y); “y

20、=%#60 ,y);B) y=y= y=#4630 y II II IIII II II IIII ID) y=4630y=y=463046304630 04630基礎(chǔ)練習(xí)(B)一、填空題1、printf函數(shù)的作用是向終端2、printf函數(shù)中的“格式控制”,包括格式說明和普通字符兩種信息。3、 scanf函數(shù)中的“格式控制”后面應(yīng)當(dāng)是變量地址,而不是變量名。4、在用scanf函數(shù)中輸入數(shù)據(jù)時(shí),如果在“格式控制”字符傳中除了格式說明以外還有其他字符,則應(yīng)在對(duì)應(yīng)位置輸入與這些字符相同的字符 。5、在用” (格式輸入字符時(shí),空格字符和“轉(zhuǎn)義字符”都作為有效字符6、 在輸入數(shù)據(jù)時(shí),遇以下情況時(shí)該數(shù)據(jù)

21、認(rèn)為結(jié)束:遇 空格 、或按 “回車” 格”鍵_ ;按指定的寬度結(jié)束;遇非法輸入。7、輸入數(shù)據(jù)時(shí)不能規(guī)定 &如果在%后有一個(gè)“二、選擇題1、 若 int a,b; scanf(A), B)空格2、若x,y均定義為int型,z定義為double型,以下不合法的scanf函數(shù)調(diào)用語句是 “d%lx,%le ”,&x,&y,&z);“2d*%d%lf',&x,&y,&z); “x%*d%”),&X,&y);“x%o%6.2f,&x,&y,&z);3、 已有如下定義和輸入語句,若要求a1 , a2 ,

22、 c1 , c2的值分別為10 , 20 , A和B ,當(dāng)從第一列開始輸入數(shù)據(jù)時(shí),正確的數(shù)據(jù)輸入方式是(D )。int a1,a2; char c1,c2;A) sca nf(B) sca nf(C) sca nf(D) sca nf(輸出_若干個(gè)任意類型的數(shù)據(jù)。格式說明和普通字符地址輸入 ?;騙“跳精度 。*”附加說明符,表示跳過它指定的列數(shù)“d%d,&a,&b);不可以用(A)作為輸入的分隔符。C) 回車 D) TAB鍵)。scanf( “ %d%d,&a1,&a2);scanf( “ %c%c,&c1,&c2);A) 1020AB<C

23、R>B) 10 20<CR>AB<CR>C) 1020 AB<CR>D) 10 20AB<CR>4、閱讀以下程序,當(dāng)輸入數(shù)據(jù)的形式為25,13,10<CR> 正確的輸出結(jié)果為main ()int x,y,z;scanf( “ %d%d%d ,&x,&y,&z); prints “x+y+z=%id ,x+y+z);A) x+y+z=48B) x+y+z=35C) x+z=35D) 不確定值5、已有程序段和輸入數(shù)據(jù)的形式如下,程序中輸入語句的正確形式應(yīng)當(dāng)為main ()int a; float f;pnnt

24、f( ninput number: ” );輸入語句printf( “D )。A) sca nf(B) sca nf(C) sca nf(D) sca nf(Input number:4.5 2<CR> “ d,%f',&a,&f);“ f,%d”,&f,&a);“ d%”,&a,&f);“ %f%d,&f,&a);6、根據(jù)定義和數(shù)據(jù)的輸入方式,輸入語句的正確形式為已有定義:float f1,f2;數(shù)據(jù)的輸入方式:4.523.5“f,%f”,&fl,&f2);“f%f”,&f1,&

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

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

27、地址,如9、 有輸入語句:scanf( “a=%d,b=%d,c=%d'鍵盤輸入數(shù)據(jù)的正確形式應(yīng)當(dāng)是(DA) 132< 回車 >B) 1,3,2< 回車 >C) a=1 b=3 c=2< 回車 >D) a=1,b=3,c=2< 回車 >10、 已有如下定義和輸入語句,若要求a1,“a=%d,b=%d );seanf( “ 4.2f ”,&f);scanf( “ f”,&f);,&a,&b,&c);為使變量 )。a的值為1 , b為3 , c為2,從列開始輸入數(shù)據(jù)時(shí),正確的數(shù)據(jù)輸入方式是int a1,

28、a2; char c1,c2;sca nf( “ d%c%d%c, &a1,&c1, &a2,&c2);B)D)a2,c1,c2的值分別為10,20,A和B,當(dāng)從第一 (A )。A)10A 20B<CR>C)10A20B<CR>11、已有定義int x; float y;且執(zhí)行678<回車 >,則x的值為(1) A)12345B)123 A)無定值 B)45.000000三、編程:1、編寫程序,從鍵盤上輸入三個(gè)數(shù)分別給變量a、b、c,average of *、* and * is *.* 。其中,三個(gè) * 依次表示 a、b、c

29、 的值, 值。10 A 20 B<CR>10A20 B<CR>scanf( “ 3d%”,&x,&y語句,若從第一列開始輸入數(shù)據(jù)12345(B ), y的值為(C) 45C) 678.000000 D)B )。D)345123.000000*求它們的平均值。并按如下形式輸出:*.*表示a,b,c的平均2、輸入9時(shí)23分并把它化成分鐘后輸出。(從零點(diǎn)整開始計(jì)算)。1、參考答案mai n () float a, b, c, t;pnntf(“ pl ease input a,b,c:” );scanf ("%f, %f, %f", &am

30、p;a, &b, &c); t=(a+b+c)/3;printf ("average of %6.2f、%6.2f and %6.2f is2、參考答案mai n () int h,m,s;pnntf(“ pl ease input h,nin” );scanf ("%d,%d", &h, & m); s=h*60+m;printf ("total %dn ,s);n” ,a,b,e,t);第五章選擇結(jié)構(gòu)程序設(shè)計(jì)基礎(chǔ)練習(xí)(A)一、填空題關(guān)系表達(dá)式的運(yùn)算結(jié)果是“假” O1、表2、3、邏輯 值。C語言沒有邏輯型數(shù)據(jù),以丄代表“

31、真”,以_0代邏輯運(yùn)算符!是 單目運(yùn)算符,其結(jié)合性是由C語言提供的三種邏輯運(yùn)算符是&&、_Q優(yōu)先級(jí)最低的為 | | O4、邏輯運(yùn)算符兩側(cè)的運(yùn)算對(duì)象不但可以是0和1,或者是0和非0的整數(shù),也可以是任何類型的數(shù)據(jù)。系統(tǒng)最終以0 和 非0來判定它們屬于“真”或“假”。設(shè)y為int型變量,請(qǐng)寫出描述“ y是偶數(shù)”的表達(dá)式(v%2=0)。設(shè)x, y, z均為int型變量,請(qǐng)寫出描述“ x或y中有一個(gè)小于z”的表達(dá)式x<z|y<z 。條件“ 2<x<3或x<-10 ”的C語言表達(dá)式是x<-10|x>2&&x<3判斷char型變

32、量ch是否為大寫字母的正確表達(dá)式是_當(dāng)a=3,b=2,c=1 時(shí),表達(dá)式f=a>b>c的值是 0。右結(jié)合性。!。其中優(yōu)先級(jí)最高的為5、6、7、8、9、O(ch>= A' )&&(ch<= Z')。10、當(dāng)a=5,b=4,c=2 時(shí),表達(dá)式 a>b!=c的值是 1。11、已知 A=7.5,B=2,C=3.6 ,表達(dá)式 A>B&&C>A|A<B&&!C>B12、 若 a=6,b=4,c=2,則表達(dá)式!(a-b)+c-1 &&b+c/2 的值是 _13、有14、有15

33、、有的值是 0 O1 Oint x,y,z;且 x=3,y=-4,z=5,則表達(dá)式(x&&y)=(x|z)的值為 1 o int x,y,z;且x=3,y=-4,z=5,則以下表達(dá)式的值為1 o!(x>y)+(y!=z)|(x+y)&&(y-z)int a=3,b=4,c=5,x,y;,則以下表達(dá)式的值為0。!(x=a)&&( y=b)&&016、if (!k) a=3;語句中的!k可以改寫為 k= =0,使其功能不變。二、選擇題1、邏輯運(yùn)算符兩側(cè)運(yùn)算對(duì)象的數(shù)據(jù)類型(A) 只能是0或1B) 只能是0或非0正數(shù)C) 只能是整型

34、或字符型數(shù)據(jù)D) 可以是任何類型的數(shù)據(jù)2、 以下關(guān)于運(yùn)算符優(yōu)先順序的描述中正確的是(CA) 關(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)先級(jí)最高的是(B )oA) < B) +C) &&D) !=4、為判斷字符變量 c的值不是數(shù)字也不是字母時(shí),應(yīng)采用下述表達(dá)式(A)B)C)D)D

35、 )oc<=48|c>=57&&c<=65|c>=9 0&&c<=97|c>=122 !(c<=48|c>=57&&c<=65|c>=9 0&&c<=97|c>=122) c>=48&&c<=57|c>=65&&c<=90|c>=97&&c<=122 !(c>=48&&c<=57|c>=65&&c<=90|c>=97

36、&&c<=122)5、 能正確表示“當(dāng)x的取值在1 , 100 和200 , 300 范圍內(nèi)為真,否則為假”的表達(dá)式是 (C )o1)&&(x<=100)&&(x>=200)&&(x<=300) 1)|(x<=100)|(x>=200)|(x<=300) 1)&&( x<=100)|(x>=200)&&( x<=300) 1)|(x<=100)&&( x>=200)|(x<=300)A (x>B) (

37、x>C) (x>D) (x>6、 設(shè)x、y和z是int型變量,且x=3,y=4,z=5,則下面表達(dá)式中值為0的是(D )。A) x' && y'B) x<=yC) x|y+z&&y-zD) !(x<y) && !z|1)7、 已知 x=43,ch= A' ,y=0;則表達(dá)式(x>=y&&ch< B' &&!y)的值是(CA) 0&設(shè)有:B)語法錯(cuò)C) 1int a=1,b=2,c=3,d=4,m=2, n=2;執(zhí)行(m=a>b)

38、&&(n=c>d)后B) 2C) 3D) “假”的值為(D) 4)oB )oA) 19、 以下不正確的if語句形式是(A) if(x>y&& x!=y);B) if(x=y) x+=y;C) if(x!=y) scanf(“ %d,&x) else scanf(D) if(x<y) X+; y+;10、 已知int x=10,y=20,z=30;以下語句執(zhí)行后 x,if(x>y) z=x; x=y; y=z;A) x=10,y=20,z=30B)C) x=20,y=30,z=10D)11、以下if語句語法正確的是(A) if(x&

39、gt;0)“d,&y);y, z的值是(B )ox=20,y=30,z=30x=20,y=30,z=20B ) oprintf(“ f”,x)else prints“-%f'.B) if(x>0) x=x+y; prints“ f” x);else printf(“ -%)”,C) if(x>0) x=x+y; printf(“ f” x);else printf(“-%f'.D) if(x>0) x=x+y; printf(“ f” x)else printf(“-%f'.B)C)D)12、請(qǐng)閱讀以下程序:main ()int a=5,b=5

40、,c=0; if(a=b+c)printselseprints“rr*); “$'$);以下程序(CA )有語法錯(cuò)不能通過編譯C)輸出*三、寫出下列程序的運(yùn)行結(jié)果1、若運(yùn)行時(shí)輸入:2<回車> ,#i nclude <stdio.h>void main (void)char Class;prints“ En ter 1 for 1st class p ost or 2 for 2nd postscanf( “ c ,&Class);if(Class= 1') printf(“ 1st class po stage is 19pelseprintf(

41、“ 2nd class po stage is 14pB)可以通過編譯但不能通過連接 輸出$則以下程序的運(yùn)行結(jié)果是2nd class p ostage is 14p”);”);”);2、 若運(yùn)行時(shí)輸入:4.4<回車 >,則以下程序的運(yùn)行結(jié)果是Selling Price(0.30)$5.72#i nclude <stdio.h>void mai n(void)”);float Cost PriceSelli ngPrice; printf(“ En ter Cost Price $:sca nf( “ f” ,& Cost Price);if(Cost Price

42、>=5)Selli ngP rice=Cost Price+Cost Pnce*0.25; printf(“Selling Price(0.25)$%6.2f” ,SellingPrice);elseSelli ngP rice=Cost Price+Cost Pnce*0.30;printf(“Selling Price(0.30)$%6.2f” ,SellingPrice);3、 以下程序的運(yùn)行結(jié)果是F omain ()if(2*2=5<2*2=4) print(“T”);elseprintf(“F”);能力提高(B)一、選擇題若希望當(dāng)A的值為奇數(shù)時(shí),表達(dá)式的值為“真”,A的值

43、為偶數(shù)時(shí),表達(dá)式的值為“假”,則以下不能滿足要求的表達(dá)式是(A%2=1 B) !(A%2=0)下列運(yùn)算符中優(yōu)先級(jí)最低的(1、A)2、D )oD) A%2),優(yōu)先級(jí)最高的是( C )oD) !=C) !(A%2) AA) ?:B) &&C) +3、請(qǐng)閱讀以下程序:main ()int a=5,b=0,c=0;if(a=b+c) pnntf(elseprints“n”*); “$'$);以下程序(DA )有語法錯(cuò)不能通過編譯C)輸出*4、以下程序的運(yùn)行結(jié)果是(main ()B)可以通過編譯但不能通過連接輸出$)oint m=5; if(m+>5) elseprintf

44、(print f( “ d'“” ,m); 冋);A) 4二、根據(jù)程序的功能,將以下程序補(bǔ)充完整1、以下程序?qū)斎氲乃膫€(gè)整數(shù),按從小到大的順序輸出。請(qǐng)?jiān)趍ain ()B)內(nèi)填入正確內(nèi)容。printf(if (a>d) if ( b>cint t,a,b,c,d;“input a,b,c,d:”)scanf(“d,%d,%d,%c” , &a,&b,&c,&dif(a>b) t=a;a=b;b=t; if ( a>c )t=a;a=c;c=t;t=a;a=d;d=t; _) t=b;b=c;c=t;);if (b>d) t=b

45、;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、編寫程序,輸入三角型的三條邊長,求其面積。注意:對(duì)于不合理的邊長輸入要輸出數(shù)據(jù)錯(cuò)誤 的提示信息。1、參考答案main () int x;a”yes );if (x%5=0 && x%7=0)printf(a ”no );else

46、printf(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(“ (” ,b);else pri ntf( “ c” ,x+y+z);3、參考答案#in clude <math.h>ma in () float a,b,c,s,area;scanf( “ f,%f,%f ”,&a,&b,&c);if (a+b>c && b+c>a && a

47、+c>b) s=1.0/2*(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c);prints“ area=%7.2” ,area);elsen );pnntf(“ bu nen ghuche ng san jiao xi第2講基礎(chǔ)練習(xí)(A)一、填空題1、 在if語句中又包含一個(gè)或多個(gè)if語句稱為 if語句的嵌套。2、 為了避免在嵌套的條件語句 if-else中產(chǎn)生二義性,C語言規(guī)定:else子句總是與其之前最近的 未配對(duì)的if配對(duì)。如果if與else數(shù)目不一樣,為實(shí)現(xiàn)設(shè)計(jì)者的企圖,可以加 _ 花括號(hào) 關(guān)系。3、 條件運(yùn)算符是 C語言中唯一的一個(gè)三目運(yùn)算符,其結(jié)合性

48、為從右至左4、假設(shè)條件表達(dá)式的格式為:表達(dá)式 1 ?表達(dá)式2:表達(dá)式若表達(dá)式2和表達(dá)式3的類型不同,此時(shí)條件表達(dá)式的值的類型為二者中較高 的類型5、6、7、8、在switch語句中,switch后面括弧內(nèi)的"表達(dá)式”,可以為任何 類型。若a=1,b=2,則表達(dá)式 a>b?a:b+1的值是 3。若 w = 1、x= 2、y = 3、z= 4,則條件表達(dá)式 w<x?w:y<z?y:z 的值是 _1若有以下 if語句:if (a<b) min=a;else min=b;min=(a<b)?a:b可用條件運(yùn)算符來處理的等價(jià)式子為若 x=1,y=2,z=3,則表達(dá)

49、式(x<y?x:y)=z+ 的值是010、設(shè)有變量定義:6_。二、判斷題在 switch在 switch在 switchoint a=5,c=4;則(-a=+c)?-a:c+ 的值是 5 ,此時(shí)c的存儲(chǔ)單元的值為每一個(gè)的 case常量表達(dá)式的值可以相同。( 各個(gè) case和default的出現(xiàn)次序影響執(zhí)行結(jié)果。( 多個(gè)case可以共用一組執(zhí)行語句。(條件表達(dá)式能取代一般 case后的常量表達(dá)式類型一定與表達(dá)式類型匹配。三、寫出以下程序的運(yùn)行結(jié)果main ()1、2、3、4、5、語句中, 語句中, 語句中,錯(cuò))對(duì))if的語句。(1、 -13、int a=2,b=3,c;c=a;if(a&g

50、t;b) c=1;else if(a=b) c=0; else c=-1;printf(“ 'd ,c);2、 mai n()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( switch(grade)case A : printf(-“ 85”ca se B' : printf(-“ 70caseC : printf(-“ 60case D

51、: printf(n”“ <60default: pnntf(“error!);););若grade的值為'C'則輸出結(jié)果是60-69 60 error!能力提高(B)一、寫出下列程序的運(yùn)行結(jié)果#in clude <stdio.h>1、void mai n(void) int x,y=1,z; if(y!=0) x=5; printf( “ if(y=0) x=4; else x=5; printf( “ n” x=1;if(y<0)if(y>0) x=4; else x=5; printf( “ n”,x);? n,x);,x);2、#in el

52、ude <stdio.h>-20-2void mai n( void)int x,y=-2,z; if(z=y)<0) x=4; else if(y=0) x=5; else x=6;printf( ”,x,z);if(z=(y=O)x=5; x=4; printf( “ if(x=z=y) x=4; printf(? n,x,z);,x,z);a=2,b=1#in clude <stdio.h> main ()int x=1,y=0,a=0,b=0; switch(x)case 1:switch(y)case 0: a+; break; case 1: b+;

53、break;case 2:a+; b+; break; printf( "a=%d,b=%d ,a,b);二、根據(jù)程序的功能,將以下程序補(bǔ)充完整以下程序計(jì)算某年某月有幾天。其中判別閏年的條件是:能被4整除但不能被100整除的年是閏年,能被400整除的年也是閏年。請(qǐng)?jiān)?內(nèi)填入正確內(nèi)容。main ()int yy,mm,le n;printf(“year,month= ” );scanf( “ %d %d,&yy,&mm);switch(mm)case 1:case 3:case 5:case 7:case 8:case 10:case 12:case 4:case 6:case 9:case 11: len=30; break;case 2

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論