語言程序設(shè)計(jì)習(xí)題集PPT學(xué)習(xí)教案_第1頁
語言程序設(shè)計(jì)習(xí)題集PPT學(xué)習(xí)教案_第2頁
語言程序設(shè)計(jì)習(xí)題集PPT學(xué)習(xí)教案_第3頁
語言程序設(shè)計(jì)習(xí)題集PPT學(xué)習(xí)教案_第4頁
語言程序設(shè)計(jì)習(xí)題集PPT學(xué)習(xí)教案_第5頁
已閱讀5頁,還剩166頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、會(huì)計(jì)學(xué)1 語言程序設(shè)計(jì)習(xí)題集語言程序設(shè)計(jì)習(xí)題集 2021-8-152 第一章第一章 程序設(shè)計(jì)基本概念程序設(shè)計(jì)基本概念 第二章第二章 C C程序設(shè)計(jì)的初步知識(shí)程序設(shè)計(jì)的初步知識(shí) 第三章第三章 順序結(jié)構(gòu)順序結(jié)構(gòu) 第四章第四章 選擇結(jié)構(gòu)選擇結(jié)構(gòu) 第五章第五章 循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu) 第六章第六章 字符型數(shù)據(jù)字符型數(shù)據(jù) 第七章第七章 函數(shù)函數(shù) 第八章第八章 指針指針 第1頁/共171頁 2021-8-153 第九章第九章 數(shù)組數(shù)組 第十章第十章 字符串字符串 第十一章第十一章 對函數(shù)的進(jìn)一步討論對函數(shù)的進(jìn)一步討論 第十二章第十二章 C C語言中標(biāo)識(shí)符的作用域語言中標(biāo)識(shí)符的作用域 和存儲(chǔ)類和存儲(chǔ)類 第十三章第

2、十三章 編譯預(yù)處理和動(dòng)態(tài)存儲(chǔ)分配編譯預(yù)處理和動(dòng)態(tài)存儲(chǔ)分配 第十四章第十四章 結(jié)構(gòu)體、共用體和用戶定義類型結(jié)構(gòu)體、共用體和用戶定義類型 第十五章第十五章 位運(yùn)算位運(yùn)算 第十六章第十六章 文件文件 第2頁/共171頁 2021-8-154 1.2 C語言源程序文件的后綴是語言源程序文件的后綴是 _, 經(jīng)過編譯經(jīng)過編譯 后后, 生成文件的后綴是生成文件的后綴是 _,經(jīng)過連接后,經(jīng)過連接后, 生成生成 文件的后綴是文件的后綴是_。 1.1 在在TURBO C環(huán)境中用環(huán)境中用RUN命令運(yùn)行一個(gè)命令運(yùn)行一個(gè)C程程 序時(shí),所運(yùn)行的程序的后綴是序時(shí),所運(yùn)行的程序的后綴是 。 .EXE 1.3 結(jié)構(gòu)化程序由結(jié)構(gòu)

3、化程序由 、 和和 三種基本結(jié)構(gòu)組成三種基本結(jié)構(gòu)組成 。 .C .OB J .EX E 順序順序 選擇(分支選擇(分支 ) 循環(huán)循環(huán) 第3頁/共171頁 2021-8-155 一一 、 選選 擇擇 題題 2.1 以下選項(xiàng)中正確的整型常量是以下選項(xiàng)中正確的整型常量是 。 A) 12. B) -20 C) 1,000 D) 4 5 6 2.2 以下選項(xiàng)中正確的實(shí)型常量是以下選項(xiàng)中正確的實(shí)型常量是 A) 0 B) 3. 1415 C) 0.329*102 D).871 2.3 以下選項(xiàng)中不正確的實(shí)型常量是以下選項(xiàng)中不正確的實(shí)型常量是 A) 2.607E-1 B) 0.8103e 2 C) -77.7

4、7 D) 456e-2 2.4 以下選項(xiàng)中不合法的用戶標(biāo)識(shí)符是以下選項(xiàng)中不合法的用戶標(biāo)識(shí)符是 A) abc.c B) file C) Main D) PRINTF 2.5 以下選項(xiàng)中不合法的用戶標(biāo)識(shí)符是以下選項(xiàng)中不合法的用戶標(biāo)識(shí)符是 A) _123 B) printf C) A$ D) Dim 第4頁/共171頁 2021-8-156 2.6 C語言中運(yùn)算對象必需是整型的運(yùn)算符是語言中運(yùn)算對象必需是整型的運(yùn)算符是 A) % B) / C) ! D) * 2.7 可在可在C程序中用作用戶標(biāo)識(shí)符的一組標(biāo)識(shí)符是程序中用作用戶標(biāo)識(shí)符的一組標(biāo)識(shí)符是 A) void B) as_b3 C) For D)

5、2c define _123 -abc DO WORD If case SIG 關(guān)鍵字關(guān)鍵字 不能有不能有- - 數(shù)字開頭數(shù)字開頭 2.8 若變量已正確定義并賦值,符合若變量已正確定義并賦值,符合C語言語法的表達(dá)式是語言語法的表達(dá)式是 A)a=a+7; B)a=7+b+c,a+ C)int(12.3%4) D)a=a+7=c+b 語句,不是表達(dá)式語句,不是表達(dá)式 要求整型數(shù)要求整型數(shù) 號(hào)前是變量號(hào)前是變量 第5頁/共171頁 2021-8-157 2.10 以下敘述中正確的是以下敘述中正確的是 )在)在C程序中無論整數(shù)還是實(shí)數(shù),只要在允許的范圍內(nèi)都能準(zhǔn)確無誤的表示。程序中無論整數(shù)還是實(shí)數(shù),只要

6、在允許的范圍內(nèi)都能準(zhǔn)確無誤的表示。 )C程序由主函數(shù)組成。程序由主函數(shù)組成。 )C程序由函數(shù)組成。程序由函數(shù)組成。 )C程序由函數(shù)和過程組成。程序由函數(shù)和過程組成。 2.9以下敘述中正確的是以下敘述中正確的是 )a是實(shí)型變量,是實(shí)型變量,C允許進(jìn)行以下賦值允許進(jìn)行以下賦值a=10,因此可以這樣說:實(shí)型變量允許賦值整型值。,因此可以這樣說:實(shí)型變量允許賦值整型值。 )在賦值表達(dá)式中,賦值號(hào)左邊既可以是變量也可以是任意表達(dá)式。)在賦值表達(dá)式中,賦值號(hào)左邊既可以是變量也可以是任意表達(dá)式。 )執(zhí)行表達(dá)式)執(zhí)行表達(dá)式a=b后,在內(nèi)存中后,在內(nèi)存中a 和和 b存儲(chǔ)單元中的原有值都將被改變,存儲(chǔ)單元中的原有

7、值都將被改變,a的值已由原值改變?yōu)榈闹狄延稍蹈淖優(yōu)閎 的值,的值, b 的值由原值變?yōu)榈闹涤稍底優(yōu)?。 )已有)已有a=3,b=5。當(dāng)執(zhí)行了表達(dá)式。當(dāng)執(zhí)行了表達(dá)式 a=b ,b=a 之后,已使之后,已使a 中的值為中的值為5,b 中的值為中的值為3。 第6頁/共171頁 2021-8-158 2.11 TURBO C中中int 類型變量所占字節(jié)數(shù)是類型變量所占字節(jié)數(shù)是 A)1 B)2 C)3 D)4 2.12 不合法的八進(jìn)制數(shù)是不合法的八進(jìn)制數(shù)是 A)0 B)028 C)077 D)01 2.13 不合法的十六進(jìn)制數(shù)是不合法的十六進(jìn)制數(shù)是 A)oxff B)0Xabc C)0 x11 D)

8、0 x19 2.14 若若k為為int整型變量且賦值整型變量且賦值11。請寫出運(yùn)算。請寫出運(yùn)算k+后表達(dá)式的值后表達(dá)式的值A(chǔ))_和變量和變量k的值的值B)_。 2.15 若若x為為double型變量,請寫出運(yùn)算型變量,請寫出運(yùn)算x=3.2,+x后表達(dá)式的值后表達(dá)式的值A(chǔ))_和變量和變量x的值的值B)_。 1112 4. 2 4. 2 第7頁/共171頁 2021-8-159 2.16 函數(shù)體由符號(hào)函數(shù)體由符號(hào)_開始,用符號(hào)開始,用符號(hào)_結(jié)束。函數(shù)體的前面是結(jié)束。函數(shù)體的前面是部分,其后是部分,其后是部分。部分。 2.17 C語言中的標(biāo)識(shí)符可分為語言中的標(biāo)識(shí)符可分為_、和預(yù)定義標(biāo)識(shí)符三類。、和預(yù)

9、定義標(biāo)識(shí)符三類。 2.18 在在C語言程序中,用關(guān)鍵字語言程序中,用關(guān)鍵字_定義基本整型變量,用關(guān)鍵字定義基本整型變量,用關(guān)鍵字_定義單精度實(shí)型變量,用關(guān)鍵字定義單精度實(shí)型變量,用關(guān)鍵字_定義雙精度實(shí)型變量。定義雙精度實(shí)型變量。 2.19把把a(bǔ)1、a2定義成單精度實(shí)型變量,并賦初值定義成單精度實(shí)型變量,并賦初值1的定義語句是的定義語句是 。 2.20 C程序中定義的變量,代表內(nèi)存中的一個(gè)程序中定義的變量,代表內(nèi)存中的一個(gè) 。 定義說明定義說明 執(zhí)行語句執(zhí)行語句 關(guān)鍵關(guān)鍵 字字 用戶標(biāo)識(shí)用戶標(biāo)識(shí) 符符 in tfloat doubl e float a=1,b=1; 不能用不能用float a=

10、b=1; 存儲(chǔ)單存儲(chǔ)單 元元 第8頁/共171頁 2021-8-1510 2.27 在在C語言中整數(shù)可用語言中整數(shù)可用_進(jìn)制數(shù)、進(jìn)制數(shù)、_進(jìn)制數(shù)和進(jìn)制數(shù)和_進(jìn)制數(shù)三種數(shù)制表示。進(jìn)制數(shù)三種數(shù)制表示。 2.26 當(dāng)計(jì)算機(jī)用兩個(gè)字節(jié)存放一個(gè)整數(shù)時(shí),其中能存放的最大當(dāng)計(jì)算機(jī)用兩個(gè)字節(jié)存放一個(gè)整數(shù)時(shí),其中能存放的最大(十進(jìn)制十進(jìn)制)整數(shù)是整數(shù)是_、最小、最小(十進(jìn)制十進(jìn)制)整數(shù)是整數(shù)是_,它的二進(jìn)制數(shù)的形式是,它的二進(jìn)制數(shù)的形式是 。 0111111111111111/10000000000000 00 3276 7 - 32768 10 8 16 三、上機(jī)改錯(cuò)題三、上機(jī)改錯(cuò)題(讀者最好在讀者最好在TU

11、RBO C環(huán)境下上機(jī)試環(huán)境下上機(jī)試 一試,以便熟悉出錯(cuò)信息一試,以便熟悉出錯(cuò)信息)。 2.28 請指出以下請指出以下C程序的錯(cuò)誤所在程序的錯(cuò)誤所在 #include stdio.h ; main( ); /* main function */ float r,s; /*/*r is radius*/,/*s is area of circular*/*/ r=5.0; s=3.14159*r*r; printf(“ %fn”,s) “” 運(yùn)行結(jié)果:運(yùn)行結(jié)果:78.539749 第9頁/共171頁 2021-8-1511 2.29 請指出以下請指出以下C程序的錯(cuò)誤所在程序的錯(cuò)誤所在 #inclu

12、de stdio.h main /*main function*/ float a,b,c,v; /*a,b,c are sides, v is volume of cube*/ a=2.0;b=3.0;c=4.0 v=a*b*c; printf(“ %fn” ,v) ( ) ; ; 運(yùn)行結(jié)果:運(yùn)行結(jié)果:24.000000 【2-28】(正確) #include “stdio.h” main() /* main function */ float r,s; /* r is radius, s is area of circular */ r=5.0; s=3.14159*r*r; printf

13、(%fn,s); 第10頁/共171頁 2021-8-1512 第11頁/共171頁 2021-8-1513 3.1 3.1 若若a a、b b、c c、d d、都是、都是intint類型變量且初值為類型變量且初值為0 0,以下選項(xiàng)中不正確的賦值語句是,以下選項(xiàng)中不正確的賦值語句是 。 A) a=b=c=d=100A) a=b=c=d=100; B) d+; C) c+bB) d+; C) c+b; D) d=(c=22)-(b+);D) d=(c=22)-(b+); 3.2 以下選項(xiàng)中不是以下選項(xiàng)中不是C語句的是語句的是 。 A) int i; i+; printf(“%dn”,i); B)

14、 ; C) a=5,c=10 D) ; 3.3 以下合法的以下合法的C語言賦值語句是語言賦值語句是 。 A) a=b=58 B) k=int(a+b); C) a=58,b=58 D) -i; 3.4 以下程序的輸出結(jié)果是以下程序的輸出結(jié)果是 。 A) 0 B) 1 C) 3 D) 不確定的值不確定的值 main( ) int x=10, y=3; printf(“%dn”,y=x/y); 應(yīng)為應(yīng)為(int)(a+b); 第12頁/共171頁 2021-8-1514 3.5 若變量已正確說明為若變量已正確說明為int類型,要給類型,要給a、b、c輸入數(shù)據(jù),以下正確的輸入語句是輸入數(shù)據(jù),以下正確

15、的輸入語句是 。 A)read(a,b,c); B)scanf(“ %d%d%d” ,a,b,c); C)scanf(“ %D%D%D” , D)scanf(“ %d%d%d”, 3.6 若變量已正確說明為若變量已正確說明為float類型,要通過以下賦值語句給類型,要通過以下賦值語句給a賦予賦予10、b賦予賦予22、c賦予賦予33,以下不正確的輸入形式是,以下不正確的輸入形式是。 A)10 B)10.0,22.0,33.0 C)10.0 D)10 22 22 22.0 33.0 33 33 scanf(“ %f %f %f” , 3.7 若變量已正確定義,要將若變量已正確定義,要將a和和b中的

16、數(shù)進(jìn)行交換,下面不正確的語句組是中的數(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; 第13頁/共171頁 2021-8-1515 3.8 若變量已正確定義,以下程序段的輸出結(jié)果是若變量已正確定義,以下程序段的輸出結(jié)果是。 ) 輸出格式說明與輸出項(xiàng)不區(qū)配,輸出無定值輸出格式說明與輸出項(xiàng)不區(qū)配,輸出無定值 B )5.170000 C) 5.168000 D) 5.169000 x=5.16894; printf(“ %fn”,(int)(x*1000+0.5)/(float)10

17、00); 3.9 若有以下程序段,若有以下程序段,c3中的值是中的值是 。 A) 0 B) 1/2 C) 0.5 D) 1 int c1=1,c2=2,c3; c3=c1/c2; 3.10 若有以下程序段若有以下程序段 ,其輸出結(jié)果是,其輸出結(jié)果是 A)0,0,-10 B)0,0,5 C)-10,3,-10 D)3,0,-10 int a=0,b=0,c=0; c=(a-=a-5),(a=b,b+3); printf(“ %d,%d,%dn”,a,b,c); (int)(x*1000+0.5) = (int)(5169.44) = 5169 5169/1000.0 =5.169 第14頁/共1

18、71頁 2021-8-1516 3.11 當(dāng)運(yùn)行以下程序時(shí),在鍵盤上從第一列開始輸入當(dāng)運(yùn)行以下程序時(shí),在鍵盤上從第一列開始輸入9876543210(此處此處代表代表Enter),則程序的輸出結(jié)果是,則程序的輸出結(jié)果是。 A)a=98,b=765,c=4321 B)a=10,b=432,c=8765 C)a=98,b=765.000000,c=4321.000000 D)a=98,b=765.0,c=4321.0 main() int a; float b,c; scanf(“ %2d%3f%4f”, printf(“ na=%d,b=%f,c=%fn”,a,b,c); 3.12 以下程序的輸出

19、結(jié)果是以下程序的輸出結(jié)果是 A)a=%2,b=%5 B)a=2,b=5 C)a=%d,b=%d D)a=%d,b=%d main( ) int a=2,b=5; printf(“a=%d,b=%dn”,a,b); 輸出輸出 第15頁/共171頁 2021-8-1517 3.13 若若int類型占兩個(gè)字節(jié),則以下程序段的輸出是類型占兩個(gè)字節(jié),則以下程序段的輸出是。 A)-1,-1 B)-1,32767 C)-1,32768 D)-1,65535 int a=-1; printf(“ %d,%un”,a,a); - -補(bǔ)碼:補(bǔ)碼:1111111111111111 3.14 以下程序段的輸出是以下程

20、序段的輸出是 A) *496 * B) * 496* C) *000496* D) 輸出格式符不合法輸出格式符不合法 int x=496; Printf(“ *%-06d*n”,x); “* *%06d%06d* *n”n”:輸出輸出*000496* 3.15 以下程序段的輸出是以下程序段的輸出是 A)|3.1415| B)| 3.0| C)| 3| D)| 3.| float a=3.1415; Printf(“ |%6.0f|n”,a); 3.16 以下程序段的輸出是以下程序段的輸出是 A) |2345.67800| B) |12345.6780| C) |12345.67800| D)

21、|12345.678| printf(“ |%10.5f|n”,12345.678); 突破場寬!突破場寬! 第16頁/共171頁 2021-8-1518 3.17 以下程序段的輸出是以下程序段的輸出是 A)*0000057.66* B)* 57.66* C)*0000057.67* D)* 57.67* float a=57.666; pirntf(“ %010.2fn”,a); 3.18若從終端輸入以下數(shù)據(jù),要給變量若從終端輸入以下數(shù)據(jù),要給變量c賦以賦以283.19,則正確的輸入語句是,則正確的輸入語句是 A) scanf(“ %f”, B) scanf(“ %8.4f”, C) sca

22、nf (“ %6.2f”, D) scanf(“ %8”, 283.1900 scanf中禁用中禁用”%*.*f”! 3.19 若變量已正確說明,要求用以下語句給若變量已正確說明,要求用以下語句給a賦予賦予3.12、給、給b賦予賦予9.0,則正確的輸入形式是,則正確的輸入形式是(?代表空格代表空格) A) 3.12 ? ? 9.0 B) a= ? ? 3.12b= ? ? ? 9 C) a=3.12,b=9 D) a=3.12 ? ?,b=9 ? ? ? ? scanf(“ a=%f,b=%f”, 第17頁/共171頁 2021-8-1519 3.20 以下程序的輸出結(jié)果是以下程序的輸出結(jié)果是

23、 A) 9 8 B) 8 9 C) 6 6 D) 以上三個(gè)都不對以上三個(gè)都不對 #include “ math.h” main( ) double a=-3.0,b=2; printf(“ %3.0f %3.0fn”,pow(b,fabs(a),pow(fabs(a),b); 2|-3| , |-3|2 3.21 若有以下定義,請寫出以下程序段中輸出語句執(zhí)行后的輸出結(jié)果。若有以下定義,請寫出以下程序段中輸出語句執(zhí)行后的輸出結(jié)果。 (1)_ (2) (3)_ int i=-200,j=2500; printf(“ (1) %d %d”,i,j); printf(“ (2) i=%d,j=%dn”

24、 ,i,j); printf(“ (3) i=%dn j=%dn”,i,j); -200 2500-200 2500 i=-200, j=2500i=-200, j=2500 i=-200i=-200 j=2500j=2500 第18頁/共171頁 2021-8-1520 3.22 變量變量i、j、k已定義為已定義為int類型并有初值類型并有初值0,用以下語句進(jìn)行輸入時(shí),用以下語句進(jìn)行輸入時(shí):scanf(“ %d”, scanf(“ %d”, scanf(“ %d” , 當(dāng)執(zhí)行第一個(gè)輸入語句,從鍵盤輸入:當(dāng)執(zhí)行第一個(gè)輸入語句,從鍵盤輸入: 12.3 表示表示Enter鍵鍵 則變量則變量i、j、

25、k的值分別是的值分別是_、_、_。 1200 3.23 復(fù)合語句在語法上被認(rèn)為是復(fù)合語句在語法上被認(rèn)為是_??照Z句的形式是??照Z句的形式是 。 一條語句一條語句; 3.24 C語句的最后用語句的最后用_結(jié)束。結(jié)束。 ; 3.25 以下程序段,要求通過以下程序段,要求通過scanf語句給變量賦值,然后輸出變量的值。寫出運(yùn)行時(shí)給語句給變量賦值,然后輸出變量的值。寫出運(yùn)行時(shí)給k輸入輸入100,給,給a輸入輸入25.81,給,給x輸入輸入1.89234 時(shí)的三種可能的輸入形式時(shí)的三種可能的輸入形式_、_、_。 int k; float a; double x; scanf(“ %d%f%lf”, pi

26、rntf(“ k=%d,a=%f,x=%fn”,k,a,x); 100 25.81 1.89234100 25.81 1.89234 100100 25.81 1.89234 25.81 1.89234 100100 25.81 25.81 1.89234 1.89234 第19頁/共171頁 2021-8-1521 3.26 以下程序段的輸出結(jié)果是以下程序段的輸出結(jié)果是 。 int x=0177; printf(“ x=%3d,x=%6d,x=%6o,x=%6x,x=%6un”,x,x,x,x,x); x=(0177)8=127=(0000000001111111)2=(007F)16 x=

27、127,x= 127,x= 177,x= 7F, x= 127 3.27 以下程序段的輸出結(jié)果是以下程序段的輸出結(jié)果是。 int x=0177; printf(“ x=%-3d, x=%-6d,x=$%-06d, x=$%06d,x=%06dn”,x,x,x,x,x); x=127,x=127 ,x=$127 ,x=$000127, x=%06d 3.28 以下程序段的輸出結(jié)果是以下程序段的輸出結(jié)果是 。 double a=513.789215; printf(“ a=%8.6f,a=%8.2f,a=%14.8f,a=%14.8lfn”,a,a,a,a); a=513.789215,a= 51

28、3.79 ,a= 513.78921500,a= 513.78921500 第20頁/共171頁 2021-8-1522 3.29 以下程序多處有錯(cuò)。要按下面指定的形式輸入數(shù)據(jù)和輸出數(shù)據(jù)時(shí),請對該程序做相應(yīng)的修改。以下程序多處有錯(cuò)。要按下面指定的形式輸入數(shù)據(jù)和輸出數(shù)據(jù)時(shí),請對該程序做相應(yīng)的修改。 main double a,b,c,s,v; printf(input a,b,c:n); scanf(“%d%d%d”,a,b,c); s=a*b; /*計(jì)算長方形面積*/ v=a*b*c; /*計(jì)算長方體體積*/ printf(“%d %d %d”,a,b,c); printf(“s=%fn”,s

29、,”v=%dn”,v); 當(dāng)程序執(zhí)行時(shí),屏幕的顯示和要求輸入形式如下:當(dāng)程序執(zhí)行時(shí),屏幕的顯示和要求輸入形式如下: input a,b,c:2.0 2.0 3.0 此處的此處的2.0 2.0 3.0是用戶輸入的數(shù)據(jù)是用戶輸入的數(shù)據(jù) a=2.000000,b=2.000000,c=3.000000 此處是要求的輸出形式此處是要求的輸出形式 s=4.000000,v=12.000000 第21頁/共171頁 2021-8-1523 【3-293-29】( (正確正確) ) mainmain( )( ) floatfloat a,b,c,s,v;a,b,c,s,v; printf(printf( i

30、nput a,b,cinput a,b,c: : ); ); scanf(% scanf(%f f %f f % %f f:,:,c); s=as=a* *b; b; v=a v=a* *b b* *c; c; printf(printf(a=a=%f,b=f,b=%f,c=f,c=%fnfn,a,a, b,c);b,c); printf(s=%f,v=%fn, printf(s=%f,v=%fn,s,vs,v); ); 【3-293-29】( (錯(cuò)誤錯(cuò)誤) ) mainmain double a,b,c,s,v; double a,b,c,s,v; printf(input a,b,c:n)

31、; printf(input a,b,c:n); scanf(“%d%d%d”,a,b,c); scanf(“%d%d%d”,a,b,c); s=a s=a* *b; b; v=av=a* *b b* *c; c; printf(“%d %d %d”,a,b,c); printf(“s=%fn”,s,printf(“%d %d %d”,a,b,c); printf(“s=%fn”,s, “v=%dn”,v); “v=%dn”,v); 當(dāng)程序執(zhí)行時(shí),屏幕的顯示和當(dāng)程序執(zhí)行時(shí),屏幕的顯示和 要求輸入形式如下:要求輸入形式如下: input a,b,c:2.0 2.0 3.0 此處此處 的的2.0

32、2.0 3.0是用戶輸入的數(shù)據(jù)是用戶輸入的數(shù)據(jù) a=2.000000,b=2.000000,c=3.0000 00 此處是要求的輸出形式此處是要求的輸出形式 s=4.000000,v=12.000000 第22頁/共171頁 2021-8-1524 3.30 編寫程序,把編寫程序,把560分鐘換算成用小時(shí)和分鐘表示,然后進(jìn)行輸出。分鐘換算成用小時(shí)和分鐘表示,然后進(jìn)行輸出。 【參考答案參考答案】 main(main() ) int h,m;int h,m; h=560/60;h=560/60; m=560%60;m=560%60; printf(%dh:%dm,h,m);printf(%dh:%

33、dm,h,m); getch(getch(); ); 3.31 編寫程序,輸入兩個(gè)整數(shù):編寫程序,輸入兩個(gè)整數(shù):1500和和350,求出它們的商數(shù)和余數(shù)并進(jìn)行輸出。,求出它們的商數(shù)和余數(shù)并進(jìn)行輸出。 【參考答案參考答案】 main() int m,n; printf(input m scanf(%d%d, printf(“n%d,%dn”,m/n,m%n); getch(); 第23頁/共171頁 2021-8-1525 3.32 編寫程序,讀入三個(gè)雙精度數(shù),求它們的平均編寫程序,讀入三個(gè)雙精度數(shù),求它們的平均 值并保留此平均值小數(shù)后一位數(shù),對小數(shù)點(diǎn)后第二位值并保留此平均值小數(shù)后一位數(shù),對小數(shù)

34、點(diǎn)后第二位 數(shù)進(jìn)行四舍五入,最后輸出結(jié)果。數(shù)進(jìn)行四舍五入,最后輸出結(jié)果。 【參考答案參考答案】 main(main() ) double x,y,z,s; double x,y,z,s; printf(input x,y,z: ); printf(input x,y,z: ); scanf(%lf%lf%lf, scanf(%lf%lf%lf, s=(x+y+z)/3.0; s=(x+y+z)/3.0; printf(nAverage=%6.1lfn,s); printf(nAverage=%6.1lfn,s); getch( getch();); 第24頁/共171頁 2021-8-1526

35、 3.33 編寫程序,讀入三個(gè)整數(shù)給編寫程序,讀入三個(gè)整數(shù)給a、b、c,然后交換它們中的數(shù),把,然后交換它們中的數(shù),把a(bǔ)中原來的值給中原來的值給b,把,把b中原來的值給中原來的值給c, 把把c中原來的值給中原來的值給 a。 【參考答案參考答案】 main(main() ) int a,b,c,t; int a,b,c,t; printf(Input a,b,c: ); printf(Input a,b,c: ); scanf(%d%d%d, scanf(%d%d%d, t=c; t=c; c=b; c=b; b=a; b=a; a=t; a=t; printf(na,b,c=%d,%d,%dn

36、,a,b,c); printf(na,b,c=%d,%d,%dn,a,b,c); getch( getch(); ); 第25頁/共171頁 2021-8-1527 4.1 4.1 下列運(yùn)算符中優(yōu)先級(jí)最高的運(yùn)算符是下列運(yùn)算符中優(yōu)先級(jí)最高的運(yùn)算符是 A A)!)! B B)% % C)-= C)-= D) if (ab) if (b0) c=0; else c+=1; printf(“%dn”,c); 4.6 以下程序的輸出結(jié)果是以下程序的輸出結(jié)果是: A) 1 B) 2 C) 3 D) 4 main( ) int w=4,x=3,y=2,z=1; printf(“%dn”,(wx?w:zy?z

37、:x); z 第27頁/共171頁 2021-8-1529 4.7 若執(zhí)行以下程序時(shí)從鍵盤上輸入若執(zhí)行以下程序時(shí)從鍵盤上輸入3和和4,則輸出結(jié)果是,則輸出結(jié)果是 A)14 B)16 C)18 D)20 main( ) int a, b,s; scanf(“%d%d”, s=a; if (ab) s=b; s*=s; printf(“%dn”,s); 3 4 16 4 4.8 下面的程序片段所表示的數(shù)學(xué)函數(shù)關(guān)系是下面的程序片段所表示的數(shù)學(xué)函數(shù)關(guān)系是 。 -1(x0) 1(x0) 0(x0) 0(x0) -1(x0) 0(x0) y=-1; if (x!=0)y=1; if (x0) y=1; e

38、lse y=0; 第28頁/共171頁 2021-8-1530 4.9 4.9 運(yùn)行以下程序后,輸出運(yùn)行以下程序后,輸出 A)# B) int k=-3; if (k=0) printf(“ if (k=0) printf(“* * * * *n”) n”) else printf(“ break ; case 0: case 5: y=a-b; )switch (a*a+b*b); case 3: case 1: y=a+b; break ; case 0: y=b-a; break; )switch a default : x=a+b; case 10 : y=a-b;break; cas

39、e 11 : y=a*d; break; )switch(a+b) case10: x=a+b; break; case11: y=a-b; break; 缺少圓括缺少圓括 號(hào)號(hào) 缺少空格缺少空格 第30頁/共171頁 2021-8-1532 4.11 C語言中用語言中用_表示邏輯值表示邏輯值“真真”,用,用_表示邏輯值表示邏輯值“假假”。 非零非零零零 4.12 C語言中的關(guān)系運(yùn)算符按優(yōu)先級(jí)別是語言中的關(guān)系運(yùn)算符按優(yōu)先級(jí)別是 、_。,=,= =,!= =,!= 4.13 C語言中的邏輯運(yùn)算符按優(yōu)先級(jí)別是語言中的邏輯運(yùn)算符按優(yōu)先級(jí)別是_、 _ 、_。 ! ! if (a100) printf(

40、“%dn”,a100); else printf(“%dn”,a0) B) !0 xc) b=a; a=c; c=b; 322 4.20 若變量巳正確定義,以下語句段的輸出結(jié)果是若變量巳正確定義,以下語句段的輸出結(jié)果是_。 x=0;y=2;z=3; switch(x) case 0: switch (y=2) case 1: printf(“*”); break; case 2: printf(“%”); break; case 1: switch(z) case 1: printf(“$”); case 2: printf(“*”);break; default: printf(“#”);

41、*# 加一個(gè)加一個(gè)break, break, 什么結(jié)果?什么結(jié)果? 第32頁/共171頁 2021-8-1534 4.21 4.21 請將以下語句改寫成請將以下語句改寫成switchswitch語句。語句。 if ( a30) m=1;if ( a30) m=1; else if (a40) m=2; else if (a40) m=2; else if (a50) m=3;else if (a50) m=3; else if (a60) m=4;else if (am0)|(m1=m0) else age=y1-y0-1; printf(nThe student age is %d,age)

42、; getch(); 第34頁/共171頁 2021-8-1536 4.25 有一函數(shù):有一函數(shù): x (-5x0) y= x-1 (x=0) x+1 (0 x-5) printf(nx is %d , y is %d,x,y); getch(); 第35頁/共171頁 2021-8-1537 4.25 有一函數(shù):有一函數(shù): x (-5x0) y= x-1 (x=0) x+1 (0 x-5) printf(nx is %d , y is %d,x,y); getch(); 【4-25-4參考答案參考答案】 main() int x,y; printf(ninput x: ); scanf(%d

43、, switch(x) case -4: case -3: case -2: case -1: y=x;break; case 0 : y=x-1;break; case 1 : case 2 : case 3 : case 4 : case 5 : case 6 : case 7 : case 8 : case 9 : y=x+1;break; default : printf(“Input x error ! %c”,7); printf(“nx is %d , y is %d”,x,y); getch(); 第36頁/共171頁 2021-8-1538 5.1 以下程序段的輸出結(jié)果是以下

44、程序段的輸出結(jié)果是 A) 9 B) 1 C) 11 D) 10 int k,j,s; for (k=2;k6;k+,k+) s=1; for (j=k; j6; j+) s+=j; printf(“%dn”,s); K=2 s=1 s=1+(2+3+4+5)K=2 s=1 s=1+(2+3+4+5) K=4 s=1 s=1+(4+5)=10K=4 s=1 s=1+(4+5)=10 K=6 K=6 退出退出 5.2 以下程序段的輸出結(jié)果是以下程序段的輸出結(jié)果是 A)12 B)15 C)20 D)25 int i,j,m=0; for (i=1;i=15;i+=4) for (j=3;j7) n-

45、; printf(“%dn”,n); n- n- 打印打印 n=10 n7 9n=10 n7 9 n7 8n7 88 8 n7 7 n7 77 7 n=7 n=7 退出退出 5.4 以下程序段的輸出結(jié)果是以下程序段的輸出結(jié)果是 A) 1 B)3 0 C) 1 2 D)死循環(huán)死循環(huán) int x=3; do printf(“%3d”,x-=2); while (!(-x); x=3 x=3 進(jìn)入循環(huán)執(zhí)行進(jìn)入循環(huán)執(zhí)行x-=2 x-=2 打印打印 判定判定!0 !0 是真執(zhí)行是真執(zhí)行x-=2 x-=2 打印打印 判定判定! !(-2) -2) 是假結(jié)束循環(huán)是假結(jié)束循環(huán) 第38頁/共171頁 2021-

46、8-1540 5.5 以下程序的輸出結(jié)果是以下程序的輸出結(jié)果是 A) 15 B)14 C)不確定不確定 D)0 main() int i,sum; for (i=1;i0;y-) if (y%3=0) printf(“%d”,-y); continue y=10 y 9 整除打印整除打印 8 6 整除打印整除打印 5 3 整除打印整除打印 2 0 退出退出 第39頁/共171頁 2021-8-1541 5.7 若若x 是是int 型變量,以下程序段的輸出結(jié)果是型變量,以下程序段的輸出結(jié)果是 A) *3 B) #3 C) #3 D) *3#4 #4 *4 *4#5 *5 *5 #5 for (x

47、=3;x6;x+) printf(x%2)?(“*%d”):(“#%dn”),x); x=3 打印打印 *3 x=4 打印打印 #4+回回 車車 x=5 打印打印 *6 x=6 退出退出 5.8 以下程序的輸出結(jié)果是以下程序的輸出結(jié)果是 A) *#*#*#$ B) #*#*#*$ C) *#*#$ D) #*#*$ main( ) int i; for (i=1;i=5;i+) if (i%2) printf(“*”); else continue; printf(“#”); printf(“$n”); i=1 打印打印 *# i=2 continue i=3 打印打印 *# i=4 cont

48、inue i=5 打印打印 *# i=6 打印打印 $+回車回車 第40頁/共171頁 2021-8-1542 5.9 以下敘述正確的是以下敘述正確的是 A)do-while語句構(gòu)成的循環(huán)不能用其他語句構(gòu)成的循環(huán)代替語句構(gòu)成的循環(huán)不能用其他語句構(gòu)成的循環(huán)代替. B)do-while語句構(gòu)成的循環(huán)只能用語句構(gòu)成的循環(huán)只能用break語句退出語句退出 C)用用do-while語句構(gòu)成循環(huán)時(shí),只有在語句構(gòu)成循環(huán)時(shí),只有在while后的表達(dá)式為非零時(shí)結(jié)束循環(huán)后的表達(dá)式為非零時(shí)結(jié)束循環(huán) D)用用do-while語句構(gòu)成循環(huán)時(shí),只有在語句構(gòu)成循環(huán)時(shí),只有在while后的表達(dá)式為零時(shí)結(jié)束循環(huán)后的表達(dá)式為零時(shí)

49、結(jié)束循環(huán) 5.10 以下程序的輸出結(jié)果是以下程序的輸出結(jié)果是 A) 39 81 B) 42 84 C) 26 68 D) 28 70 main( ) int x,i; for (i=1;ib; +b) i+; while (a+c) j+; do k+; while (ad+); for: a=10 b=5,6,7,8,9,10 i=5 while: a=10 c=6,7,8,9,10 j=4 do while: k=16 d=510 k=6 5 46 5.12 以下程序段的輸出結(jié)果是以下程序段的輸出結(jié)果是 。 int k,n,m; n=10;m=1;k=1; while (k=n) m*=2

50、; printf(“%dn”,m); 死循環(huán)死循環(huán) While語句中語句中k和和n都不變,無限循環(huán)都不變,無限循環(huán) 5.13 以下程序段的輸出結(jié)果是以下程序段的輸出結(jié)果是_. main() int x=2; while (x-); printf(“%dn”,x); - -1 While語句中對語句中對x是先判后減,當(dāng)是先判后減,當(dāng)x=0時(shí)時(shí) 結(jié)束循環(huán),然后結(jié)束循環(huán),然后x=-1=-1,打印出來,打印出來 第42頁/共171頁 2021-8-1544 5.14 以下程序段的輸出結(jié)果是以下程序段的輸出結(jié)果是_. int i=0,sum=1; do sum+=i+; while (i5); prin

51、tf(“%dn”,sum); 16 sum+0=1 i5 i=1 sum+1=2 i5 i=2 sum+2=4 i5 i=3 sum+3=7 i5 i=4 sum+4=11 i5 i=5 sum+5=16 i=5 (退出)退出)i= 5.15 有以下程序段:有以下程序段: s=1.0; for(k=1;k=n;k+) s=s+1.0/(k*(k+1); printf(“%fn”,s); 請?zhí)羁?,使下面的程序段的功能完全與之等同。請?zhí)羁?,使下面的程序段的功能完全與之等同。 s=0.0; _; k=0; do s=s+d; _; d=1.0/(k*(k+1); while (_); printf(

52、“%fn”,s); d=1 k+ kamax) amax=x; if (_) amin=x; scanf(“%f”, printf(“namax=%fnamin=%fn”,amax,amin); x=0 xami n 第44頁/共171頁 2021-8-1546 5.17 編寫程序,求編寫程序,求1-3+5-7+-99+101的值。的值。 【參考答案參考答案】 main() int i,s=1,k=-1; for (i=1;i=50;i+) s=s+k*(2*i+1); k=-k; printf(s=%d,s); getch(); / /* *初始化初始化s s,k k* */ / / /*

53、*循環(huán)循環(huán)5050次次* */ / / /* *用來控制各項(xiàng)符號(hào)用來控制各項(xiàng)符號(hào)* */ / 運(yùn)行結(jié)果:運(yùn)行結(jié)果: 第45頁/共171頁 2021-8-1547 5.18 編寫程序,求編寫程序,求e 的值。的值。e 1+1/1!+1/2!+1/3!+.+1/n! ()用()用for循環(huán),計(jì)算前循環(huán),計(jì)算前50項(xiàng)。項(xiàng)。 ()() 用用while循環(huán),要求直至最后一項(xiàng)的值小于循環(huán),要求直至最后一項(xiàng)的值小于10-4 【參考答案(參考答案(1)】 main() int i=1; double e=1.0,s=1.0; for(i=1;i=1e-04) /* 8 times */ s=s*i; i+;

54、e=e+1/s; printf(e=%10.6f,e); getch(); 運(yùn)行結(jié)果:運(yùn)行結(jié)果:2.718282 運(yùn)行結(jié)果:運(yùn)行結(jié)果:2.718279 第46頁/共171頁 2021-8-1548 5.19 編寫程序,輸入從公元編寫程序,輸入從公元1000年至年至2000年所有閏年的年號(hào)。每輸出年所有閏年的年號(hào)。每輸出3個(gè)年號(hào)換一行。判斷公元年是否為閏年的條件是:個(gè)年號(hào)換一行。判斷公元年是否為閏年的條件是: 公元年數(shù)如能被公元年數(shù)如能被4 4整除,而不能被整除,而不能被100100整除,則是閏年;整除,則是閏年; 公元年數(shù)能被公元年數(shù)能被400400整除也是閏年。整除也是閏年。 【參考答案參考

55、答案】 main() int y,k=0; for(y=1000;y=2000;y+) if (y%4=0k+; if (k%3=0) printf(n); getch(); 第47頁/共171頁 2021-8-1549 5.20 編寫程序,打印以下圖:編寫程序,打印以下圖: * * * * * * * * * 分析:分析: 菱形分上、下兩個(gè)部分,上半部菱形分上、下兩個(gè)部分,上半部i=1n(n是邊長,輸是邊長,輸 入)進(jìn)行循環(huán);下入)進(jìn)行循環(huán);下半部半部i=n+12n-1進(jìn)行循環(huán);進(jìn)行循環(huán);圖形放圖形放 在屏幕中間,第一行前有在屏幕中間,第一行前有3939(40-i40-i)個(gè)空格;)個(gè)空格;

56、上半部上半部 每行前空每行前空40-i個(gè)空格,打印個(gè)空格,打印2i-1個(gè)號(hào);下半部每行前空個(gè)號(hào);下半部每行前空 40-2n+i40-2n+i個(gè)空格,打印個(gè)空格,打印4n-1-2i4n-1-2i個(gè)號(hào)個(gè)號(hào) 【參考答案參考答案】 #include main() int i,j,n; printf(Input n (1-10):); do scanf(%d, while (n10); for (i=1;i=n;i+) for (j=1;j=40-i;j+) printf( ); for (j=1;j=2*i-1;j+) printf(*); printf(n); for (i=n+1;i=2*n-1;

57、i+) for (j=1;j=40-2*n+i;j+) printf( ); for (j=1;j=4*n-1-2*i;j+) printf(*); printf(n); getch(); 第48頁/共171頁 2021-8-1550 6.1 C6.1 C語言中的簡單類型有語言中的簡單類型有 A A)整型,實(shí)型,邏輯型)整型,實(shí)型,邏輯型 B B)整型,實(shí)型,字符型)整型,實(shí)型,字符型 C C)整型,字符型,邏輯型)整型,字符型,邏輯型 D D)整型,實(shí)型,邏輯型,字符)整型,實(shí)型,邏輯型,字符 型型 C C語言中無單語言中無單 獨(dú)的邏輯型數(shù)獨(dú)的邏輯型數(shù) 據(jù)據(jù) 6.2 C語言中,字符型(語言中

58、,字符型(char)數(shù)據(jù)在微機(jī)內(nèi)存中的存儲(chǔ)形式是)數(shù)據(jù)在微機(jī)內(nèi)存中的存儲(chǔ)形式是 A)反碼)反碼 B)補(bǔ)碼)補(bǔ)碼 C)EBCDIC碼碼 D)ASCII碼碼 6.3 設(shè)有語句設(shè)有語句char a=72;,則變量,則變量a A)包含)包含1個(gè)字符個(gè)字符 B)包含)包含2個(gè)字符個(gè)字符 C)包含)包含3個(gè)字符個(gè)字符 D)說明不合法)說明不合法 6.4 C語言中不合法的字符常量是語言中不合法的字符常量是 A)0XFF B) 65 C) printf(%cn,x); 第50頁/共171頁 2021-8-1552 6.9 以下程序的輸出結(jié)果是以下程序的輸出結(jié)果是 A) 67,C B) B,C C) C,D D

59、) 不確定的值不確定的值 main( ) char ch1,ch2; ch1=A+5-3; ch2=a+5-3; printf(%d,%cn,ch2); 6.10 對以下程序?qū)σ韵鲁绦?從第一列開始輸入數(shù)據(jù)從第一列開始輸入數(shù)據(jù):2473,代表代表ENTER,程程 序的輸出結(jié)果是序的輸出結(jié)果是 A) 668977 B) 668966 C) 66778777 D) 6688766 #include stdio.h main( ) int c; while(c=getchar()!=n) switch(c-2) case 0: case 1: putchar(c+4); case 2: putcha

60、r(c+4); break; case 3: putchar(c+3); default : putchar(c+2); break; prinf(n); c: 2 c-2: 0 打印打印 66 4 2 8 7 5 9 3 1 77 第51頁/共171頁 2021-8-1553 6.11 若變量已正確說明若變量已正確說明,要求用以下語句給要求用以下語句給C1賦予字符賦予字符%,給給C2賦予賦予 字符字符#,給給a賦予賦予2.0,給給b賦予賦予4.0,則正確的輸入形式是則正確的輸入形式是: A) 2.0 % 4.0 # B) 2.0%4.0# C) 2% 4# D) 2 % 4 scanf(%f

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論