2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、,,第四章 具有選擇結(jié)構(gòu)的 C 程序設計,,,第三章 簡單的 C 程序設計,4.1 if 語句,if 語句是用來判斷所給定的條件是否滿足,根據(jù)判定的結(jié)果 (真或假)來決定執(zhí)行給出的兩種操作之一。,語句格式1 :,if (表達式) 語句;,語句功能 :,根據(jù)表達式的結(jié)果來決定是否執(zhí)行格式中的語句。,if 語句的三種格式,,1、表達式可以是任意表達式,2、語句只為一條語句,若超過一條,則采用復合語句,3、當表達式的值為 非0

2、 時代表“真”;0 時代表“假”,,,語句格式2 :,if (表達式) 語句1;else 語句2;,語句功能 :,如果表達式的值為真(即非0)則執(zhí)行語句1,否則執(zhí)行語句2。,# include “stdio.h” main() { int a, b ; scanf( “%d %d\n”, &a,&b) ; if (a>b) print

3、f(“a=%d\n”, a) ; else printf(“b=%d\n”, b); },,,向計算機輸入 a,b 兩個整數(shù),然后判斷 a>b , 若 a>b 則輸出 a 的值。,舉例,# include “stdio.h” main() { int a, b ; scanf( “%d %d\n”, &a,&b) ;

4、 if (a>b) printf(“a=%d\n”, a); },關(guān)系表達式,輸出函數(shù)調(diào)用語句,,,語句格式3 :,if (表達式1) 語句1; else if (表達式2) 語句2; else if (表達式3) 語句3; … ... else 語句n;,語句功能 :,(else if 結(jié)構(gòu)) 用于實現(xiàn)多分支情況的處理。即在多個分支

5、中僅執(zhí)行表達式為非0值的那個if下的語句;若所有表達式都 是 0 值,則執(zhí)行最后一個else 下的語句。最后一個 else 及其 下面的語句也可以不存在。,,,# include “stdio.h” main() { int g ; scanf( “%d \n”, &g) ;

6、 if (a<60) printf(“不及格” ) ; else if (g<70) printf(“及格” ); else if (g<80) printf(“中” ); else if (g<90) printf(“良” ); else if (g<=100) printf(“優(yōu)” );

7、 else printf(“數(shù)據(jù)無效”); },,,練習,# include “stdio.h” main() {int x; float y; scanf(“%d\n”,&x); if (x=1)&&(x<10)) y=2*x-1; else y=3*x-11 ;

8、 printf( “x=%d,y=5.2f\n”, x,y ); },A) i=0, j=0, a=6 B) i=1, j=1, a=7 C) i=1, j=0, a=7 D) i=0, j=1, a=0,,,練習,寫出下列程序的運行結(jié)果,A) a=10 b=50 c=10 B) a=10 b=30 c=10 C) a=50 b=30 c=10 D) a=50

9、 b=30 c=50,A) * * * * B) % % % % C) % % % %c D) 有語法錯誤,不能正確執(zhí)行,A) i=2, j=1, k=3 B) i=1, j=1, k=2 C) i=4, j=2, k=4 D) i=1, j=1, k=3,,,語句格式4 :,語句說明 :,if 語句任意嵌套形式 (即嵌套的位置是任意,不固定的。),

10、注意: 在多個 if-else 嵌套中, else-if 配對關(guān)系 不能弄錯。 一個 else 應與它最近的一個且沒 有其它 else 配對的 if 組成配對關(guān)系。,,,main() { int x; float y; scanf(“%d\n”,&x); if (x!=0) if (x>

11、;0) y= 1; else y= -1; else y= 0; printf(“x=%d,y=5.2f\n”,x,y); },練習,# include “stdio.h”main() { int year, z; scanf(“%d”, &year); if (year%4==0)

12、 if (year%100==0) if (year%400)==0) z=1; else z=0; else z=1; else z=0;,if (z) printf(“%d”, year); else printf(

13、 “ a leap year\n”, year); },,,main() { int x,a,b,ok1,ok2; x=100; a=10; b=20; ok1=5; ok2=0; if (a<b) if (b!=15) if ( !ok1) {

14、 x=1; printf( “x=%d\n”,x); } else if (ok2) x=10; x= -1; printf(“x=%d\n”,x); },,,作業(yè),A) 0.000000 B) 0.250000 C) 0.500000 D) 1.000000,2.0,C) 0.500000,,,作業(yè),A)

15、34 B) 4 C) 35 D) 3,B) 4,,,在書店買書 ,以100本為限。如果買 1 本不打折扣 ;買2本打折10%; 買3本折扣為 15 %買3本以上折扣為 20 %。 設書本數(shù)為 x,單價為 20.00元。 請設計能實現(xiàn)該算法的C程序。,作業(yè),27,,,4.2 switch 語句,前面我們學習了if 語句,它的基本功能是實現(xiàn)兩個分支選擇,但在解決實際問題時,往往需要用

16、到多分支的選擇。雖然if 語句的規(guī)則嵌套可以實現(xiàn)多分支的選擇,但不夠直觀簡潔,特別是在分支較多的情況下,if 語句的嵌套層次也會更深,從而增加了理解的難度,也不便于修改和擴充。 為此,C 語言還提供了一個用于實現(xiàn)多分支選擇的 switch 語句,以來解決多分支選擇問題。,,,語句格式 :,switch(表達式) { case 常量表達式1 : 語句組1 ; break ;

17、 case 常量表達式2 : 語句組2 ; break ; … … case 常量表達式n : 語句組n ; break ; default : 語句組n+1 ; },,,語句格式 :,語句說明 :,首先 計算表達式的值,然后依次與每一個 case 中常量表達式的值進行比較,一旦發(fā)現(xiàn)了某個匹配的值,就執(zhí)行該 cas

18、e 后面的語句組直到執(zhí)行了break 語句為止。 若沒有匹配的值則執(zhí)行 default 后面的語句組。,請編寫程序,根據(jù)輸入的學生成績,應給出相應的等級。 即 : 90 - 100 A 80 - 89 B 70 - 79 C 60 - 69 D 0 - 60 E,main() { int g;

19、 scanf(“%d\n”, &g) ; switch(g/10) { case 10: case 9 : printf(“A\n”); break; case 8 : printf(“B\n”); break; case 7 : printf(“C\n”); break;

20、 case 6 : printf(“D\n”); break; default : printf(“E\n”); } },switch(表達式) { case 常量表達式1 : 語句組1 ; break ; case 常量表達式2 : 語句組2 ; break ; … …

21、 case 常量表達式n : 語句組n ; break ; default : 語句組n+1 ; },1、表達式: 可以是整型、字符型或枚舉型等表達 式,其表達式的結(jié)果值一定為整數(shù)。 2、常量表達式: 可以是整數(shù)、字符等常量。 3、語句組: 可以由一條語句或復合語句構(gòu)成 4、要求 switch 后面的表達式值的類型必須面 case 的常量表達式的

22、類型要相同。,請您選擇進制轉(zhuǎn)換菜單 1、10進制轉(zhuǎn)換為16進制 2、16進制轉(zhuǎn)換為10進制 3、10進制轉(zhuǎn)換為 8進制 4、8進制轉(zhuǎn)換為10進制請輸入您的選擇:再輸入轉(zhuǎn)換數(shù)據(jù):,舉例,請編寫一個數(shù)制轉(zhuǎn)換程序,要求能進行如下的數(shù)制轉(zhuǎn)換 10 進制轉(zhuǎn)換為16 進制; 16 進制轉(zhuǎn)換為10 進制; 10 進制轉(zhuǎn)換為 8 進制; 8 進制轉(zhuǎn)換為10 進制;,main() { int n

23、um, data ; printf(“\n 1:10 -16\n”); printf(“2: 16 - 10 \n”); printf(“\n 3:10 - 8 \n”); printf(“2: 8 - 10 \n”); printf(“\n 請輸入您的選擇 \n”); scanf(“%d \n”, &num) ; switch(nu

24、m) { case 1 : scanf(“% d”,&data); printf(“%d,%x\”, data,data); break; case 2 : scanf(“% x”,&data); printf(“%x,%d\”, data,data); break; case 3 : scanf(“% d”,&data); pr

25、intf(“%d,%o\”, data,data); break; case 4 : scanf(“% o”,&data); printf(“%o,%d\”, data,data); break; default : printf(“數(shù)據(jù)有誤\n”); } },請您選擇進制轉(zhuǎn)換菜單 1、10進制轉(zhuǎn)換為16進制 2、16進制轉(zhuǎn)換為

26、10進制 3、10進制轉(zhuǎn)換為 8進制 4、8進制轉(zhuǎn)換為10進制請輸入您的選擇:再輸入轉(zhuǎn)換數(shù)據(jù):,main() { float x,y; char op; scanf(“%f,%c,%f”,&x,&op,&y); switch(op) { case ‘+’: printf(“% .2f %c % .2f=% .4f\n”

27、,x,op,y,x+y); break; case ’-’: printf(“% .2f %c % .2f=% .4f\n”,x,op,y,x-y); break; case ‘*’: printf(“% .2f %c % .2f=% .4f\n”,x,op,y,x*y); break; case ‘ / ’: if(y==0) p

28、rintf(“數(shù)據(jù)錯誤!\n”); else printf(“% .2f %c % .2f=% .4f\n”,x,op, y,x/y); } },請編制一個能完成兩個數(shù)的四則運算程序(輸入數(shù)值保留兩位小數(shù)。,第四章 具有選擇結(jié)構(gòu)的 C 程序設計,練習,main() { int year, z; scanf(“%d”

29、,&year); if (year % 4 = = 0) if (year % 100 = = 0) if (year % 400 = = 0) z=1; elae z=0; else z=1; else z=0; if (z)

30、 printf(“%d is ”,year); elae printf(“%d is not”,year); },第四章 具有選擇結(jié)構(gòu)的 C 程序設計,,,請編寫一程序, 要求輸入 x 的值,輸出y的值,分別利用: 1、不嵌套的 if 語句2、嵌套的 if 語句 3、if –else 語句 4、switch 語句,輸入一個整數(shù)x, 然后判斷該

31、 數(shù)是否為偶數(shù),若是請打印輸出, 否則不打印。 請編寫程序。,作業(yè),1,請將以下語句改寫成 switch 語句 if (a<30) m=1; else if (a<40) m=2; else if (a<50) m=3; else if (a<60) m=4; else m=5;,2,,,main()

32、 { int u=010,v=0x10,w=10 ; printf(“%d,%d,%d\n”, u,v,w) ; } A) 8,16,10 B) 10,10,10 C) 8,8,10 D) 8,10,10,3,main()

33、 char c1=‘b’,c2=‘e’; printf(“%d,%c\n”, c2-c1,c2-’a’+’A’); } A) 2, M B) 3, E C) 2, E D) 輸出結(jié)果不確定,5,,,main()

34、 { int k=11; printf(“k=%d,k=%o,c=%x\n”, k,k,k); } A) k=11,k=12,k=11 B) k=11,k=13,k=13 C) k=11,k=013,k=0xb D) k=11,k=13,k=b,4,,,main()

35、 (一) { int a; float b,c; scanf(“%2d %3f %4f ”,&a,&b,&c); printf(“\ na=%d,b=%f,c=%f\n”, a,b,c); } 若運行時從鍵盤輸入9876543210,則上面程序輸出結(jié)

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論