




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、0) )0) t=a;t=a;n注意:賦值語句與賦值表達式的區別n二、順序程序舉例3.2 順序結構程序設計C語言程序設計整理課件n例3-1:輸入一大寫字母,改為小寫后輸出。#include main() char c1,c2; scanf(%c,&c1); printf(%c,%dn,c1,c1); c2=c1+32; printf(%c,%dn,c2,c2); getch();3.2 順序結構程序設計測試數據及運行結果測試數據及運行結果輸入:輸入:A 輸出:輸出:A,65 a,97C語言程序設計整理課件3.2 順序結構程序設計例:輸入三角形的三邊長,求三角形面積。n分析:設三角形的三
2、邊分別為a,b,c 則:面積area2=s(s-a)(s-b)(s-c) 其中s=(a+b+c)/2C語言程序設計整理課件3.2 順序結構程序設計n源程序:#include main()float a,b,c,s,area; scanf(“%f,%f,%f”,&a,&b,&c); s=1.0/2*(a+b+c); area=sqrt(s*(s-a)*(s-b)*(s-c);printf(“a=%7.2f,b=%7.2f,c=%7.2f, s=%7.2fn”,a,b,c,s);printf(“area=%7.2fn”,area); 發散:三角形面積的計算 返回返回C語言程
3、序設計整理課件3.3 選擇結構程序設計3.3.1 關系運算符與關系表達式n一、關系運算符: 、!n關系表達式: i=(c=d)、x+ya-bn求值結果:int型,0或1。1為真,0為假n 如:設a=3,b=2,c=1 則:d= a b 的值為1 f=abc的值為0;C語言程序設計整理課件3.3.1 關系運算符與關系表達式n6種關系運算符的優先級別不同:、!=、n程序設計中最好不要對兩個浮點數直接進行相等性比較;方法之一如:fabs(a-b)=0 & xb) & (n=cd)后 , m、 n分別是多少? 答案是:m=0, n=1u利用邏輯表達式還能表示更為復雜的條件 (year%
4、4=0&year%100!=0) | (year%400=0) #3.3.2 邏輯運算符與邏輯表達式C語言程序設計整理課件一、if語句的2種基本形式n語法1:if (表達式)語句;n語義:判斷表達式的值,為真時執行語句,否則不執行;如:#include main( ) char ch; ch=getchar(); if(ch=a&ch=z) ch-=a-A; putchar(ch); 3.3.3 選擇結構的實現C語言程序設計整理課件n語法語法2 2:if (if (表達式)表達式) 語句語句1 1; else else 語句語句2 2;n語義:語義:判斷表達式的值,為真時執行判
5、斷表達式的值,為真時執行語句語句1 1,否則執行語句,否則執行語句2 2;3.3.3 選擇結構的實現C語言程序設計整理課件如:如:#include #include main() main() int a,b; int a,b; scanf (“%d%d”,&a,&b); scanf (“%d%d”,&a,&b); if(ab)if(ab) printf(“max=%dn”,a); printf(“max=%dn”,a); else else printf (“max=%dn”,b); printf (“max=%dn”,b); 3.3.3 選擇結構的實現C語言
6、程序設計整理課件二、if語句嵌套的2種形式n1. if語句嵌套在else子句中 if (表達式1) 語句1;else if (表達式2) 語句2; else if (表達式3) 語句3; else 語句n+1;3.3.3 選擇結構的實現C語言程序設計整理課件n2. if語句嵌套在if子句中 if (表達式1) if (表達式2) if (表達式3) 語句1; else 語句2; else 語句3; else 語句n+1;3.3.3 選擇結構的實現C語言程序設計整理課件例3-6:從鍵盤上輸入字符,判別其分類:控制符、數字、大寫字母、小寫字母、其他字符。3.3.3 選擇結構的實現C語言程序設計整理
7、課件#include “stdio.h”main( )char c; c=getchar(); if (c=0&c=A&c=a&cc&b+ca&a+cb) s=0.5*(a+b+c); area=sqrt(s*(s-a)*(s-b)*(s-c); printf(“area=%6.2fn”,area); else printf(“It is not a trilateral.”);C語言程序設計整理課件3.3.3 選擇結構的實現n(4) if 語句嵌套時,else 與if的匹配問題;例3-7:有一函數:y=-1 x0請編程,輸入x的值,輸出相應的y值。C語
8、言程序設計整理課件3.3.3 選擇結構的實現main( ) float x,y; scanf(“%f”,&x); if (x=0) if (x0) y=1; else y=0; else y=-1;y=0; if (x=0) if (x0) y=1;else y=-1;?y=0; if (x=0) if (x0) y=1; else;else y=-1;y=0; if (x=0) if (x0) y=1;else y=-1;C語言程序設計整理課件n(5) 可利用條件表達來簡化程序設計。 如對于: if (exp!=0) 可用 if (exp)來代替;3.3.3 選擇結構的實現if(!e
9、xp)語句;等價于:if(exp=0) 語句;C語言程序設計整理課件三、switch語句3.3.3 選擇結構的實現語法1:switch(表達式) case C1:S1; case C2:S2; case Cn:Sn; default: Sn+1; 4其中:表達式必須放在括號中; C1至Cn 是情況常量; default可缺省。C語言程序設計整理課件計算表達式e的值S1S2SnSn+1C1C2Cndefault語義:3.3.3 選擇結構的實現C語言程序設計整理課件例:switch(grade) case A: printf(“85100n”); case B: printf(“7084n”);
10、case C: printf(“6069n”); case D: printf(“60n”); default: printf (“errorn”); 3.3.3 選擇結構的實現 返回返回C語言程序設計整理課件4語法2:switch(表達式) case C1:S1;break; case C2:S2;break; case Cn:Sn;break; default: Sn+1;break; 3.3.3 選擇結構的實現C語言程序設計整理課件S1計算表達式e的值S2SnSn+1C1C2Cndefault3.3.3 選擇結構的實現語義:C語言程序設計整理課件例:switch(grade) case
11、A: printf(“85100n”); break; case B: printf(“7084n”); break; case C: printf(“6069n”); break; case D: printf(“60n”); break; default: printf (“errorn”); break; 3.3.3 選擇結構的實現C語言程序設計整理課件說明:(1)default可省略;(2)C1Cn必須互不相同;(3)語法2中,C1Cn無次序影響;(4)允許多個case共用一個執行語句;如:3.3.3 選擇結構的實現C語言程序設計整理課件switch(ch) case 0: case
12、1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9: digit+; break; case : case t: case n: white+; break; default: character+;3.3.3 選擇結構的實現C語言程序設計整理課件(5) break只能跳出一層,內外層情況常量可相同;如:#include main() int x=1, y=0; switch(x) case 1: switch(y) case 0: printf (*1*n); break; case 1: printf (*2*
13、n); break; case 2: printf (*3*n); getch();運行結果為:*1* *3*3.3.3 選擇結構的實現C語言程序設計整理課件四、三目條件運算符四、三目條件運算符n1. 條件運算符 n2. 格式 n3. 語義: 如:max=(ab)?a:b 等價于 if (ab) max=a; else max=b;3.3.3 選擇結構的實現C語言程序設計整理課件n4. 說明:n條件運算符的優先級僅高于“,”與“=”;n只有當if語句的真假均只執行一個賦值語句且是給同一變量賦值時,才能用條件表達式取代; 如:if (ab) max=a; else max=b;n條件表達式可使程
14、序簡潔; #3.3.3 選擇結構的實現 返回返回C語言程序設計整理課件*問題1:假如全班41人,欲從鍵盤上輸入每人的數學成績,然后計算出平均成績;*問題2: 編程計算n!。*重復執行一組語句是程序設計要求的基本功能之一。在C語言中可以用以下語句來實現循環:*(1)if 和 goto*(2)while*(3)do-while*(4)for3.4 循環結構程序設計C語言程序設計整理課件n語法:while (exp) 循環體語句;n語義:當exp為真時,執行循環體;為假時, 執行循環語句的后續語句;n如:用while語句構成循環,求: sum=1+2+100 3.4.1 while語句C語言程序設計
15、整理課件3.4.1 while語句i1, sum=0當i小于等于100sum=sum+ii=i+1輸出sumC語言程序設計整理課件3.4.1 while語句n源程序:main() int i=1, sum=0; while (i=100) sum+=i; i+; printf(“%d”,sum);C語言程序設計整理課件3.4.1 while語句l說明: 循環體可以用復合語句; 循環控制變量在while前應賦初值,以確保循環的正常開始;C語言程序設計整理課件3.4.1 while語句 循環體內應改變循環控制變量的值,以確保循環正常結束; 如:i=1; while (i=100) sum=sum+
16、1; (死循環)C語言程序設計整理課件3.4.1 while語句 while 的特點:n先判斷后執行先判斷后執行n循環體最少執行次數為0; 如: i=3; while (i3) printf(“i=%dn”, i); C語言程序設計整理課件n語法:do 循環體語句; while (exp);n語義:當exp為真時,執行循環體;為假時, 執行循環語句的后續語句;n如: 用do-while語句構成循環,求 sum=1+2+100 3.4.2 do-while語句C語言程序設計整理課件3.4.2 do-while語句 i1, sum=0sum=sum+i輸出sum當i小于等于100i=i+1N-SN
17、-S圖:圖:C語言程序設計整理課件3.4.2 do-while語句n源程序:main()main() int i=1,sum=0; int i=1,sum=0; dodo sum+=i; sum+=i; i+; i+; while (i=100); while (i10) ; #3.4.2 do-while語句C語言程序設計整理課件n語法:for(exp1; exp2; exp3) 循環體語句;n語義:(1) 計算exp1;(2) 求exp2,為真時,執行(3),否則結束循環;(3) 執行循環體中的語句;(4) 執行exp3;(5) 返回(2)。3.4.3 for語句C語言程序設計整理課件3.
18、4.3 for語句n程序:main()main() int i,sum=0; int i,sum=0; for(i=1;i=100;i+)for(i=1;i=100;i+) sum+=i; sum+=i; printf(“%d”,sum); printf(“%d”,sum); C語言程序設計整理課件3.4.3 for語句n說明:(1)顯然for循環更簡潔,更靈活;(2)循環體可以是復合語句;(3)可同時對多個變量賦初值及修改。如: for(i=0, j=1; jn & in; i+, j+) (4)for語句可理解為: for(循環變量賦初值;判斷條件;循環變量改變) 循環體;C語言程
19、序設計整理課件(5)for語句中三個表達式可省:8 省exp1;如: i=1; for ( ; i5; i+) printf(“%dn”,i); 等價于 for (i=1; i5; i+) printf(“%dn”,i);3.4.3 for語句C語言程序設計整理課件8 省exp3;如:for ( i=1; i5; ) printf (“%dn”,i); i+; 等價于for ( i=1; i5) break; 3.4.3 for語句C語言程序設計整理課件8 三個表達式全省時,如:for (; ; ) 語句;等價于while(1)語句;n(5)for語句中的循環體可以是空語句;如: int n=
20、0; while (n+ =2); printf(“%d”,n); 結果為:43.4.3 for語句C語言程序設計整理課件n 三種循環可互相代替。n while、do-while和 forn循環控制變量之初值;n循環控制之條件;n循環控制變量之修正。n 除goto循環外,都能用break跳出循環,用continue結束本次循環。3.4.4 三種循環語句的選用C語言程序設計整理課件n三種循環可以互相嵌套例:打印九九乘法表: 3.4.5 循環結構的嵌套1*1=1 1*2=2 1*3=3 1*4=4 1*5=5 1*6=6 1*7=7 1*8=8 1*9=92*1=2 2*2=4 2*3=6 2*4
21、=8 2*9=18 9*1=9 9*2=18 9*3=27 9*9=81 C語言程序設計整理課件 main( ) int i, j ; for(i=1; i10;i+) for (j=1; j10; j+) printf(%d*%d=%2d ,i,j,i*j); printf(n); getch();3.4.5 循環結構的嵌套C語言程序設計整理課件3.4.6 break語句和continue語句一、break語句nbreak只能用在循環語句、只能用在循環語句、switch語句中語句中n功能:強行退出循環或功能:強行退出循環或switch語句。語句。n例:例:for (r=1; r100) br
22、eak; printf(“%f”,area); C語言程序設計整理課件二、continue語句n只能用在循環語句中n功能:結束本次循環n例:main( ) int n; for ( n=100; n=200; n+) if (n%3= =0) continue; printf (“%d”,n); 3.4.6 break語句和continue語句 返回返回C語言程序設計整理課件*3.5.1 輸入輸出的概念*3.5.2 輸入輸出函數3.5 使用庫和函數C語言程序設計整理課件一、字符輸入函數getcharn語法:getchar ( );n語義:(從stdio上) 輸入一個字符;ngetchar是一個
23、無參函數;n如: #include #include main()main() putchar(getchar(); putchar(getchar(); 3.5.3 字符輸入輸出函數C語言程序設計整理課件3.5.3 字符輸入輸出函數二、字符輸出函數 putcharn語法:putchar (c);n語義:(在stdout上)輸出一個字符;n如:#include #include main()main() putchar(141); putchar(141); putchar(a); putchar(a); putchar(97); putchar(97); C語言程序設計整理課件n如:#inc
24、lude #include main( )main( ) char c char c; while(c=getchar( )!=#)while(c=getchar( )!=#) if(c=a&c=a&c=z)putchar(c-a+A);a+A); else putchar(c); else putchar(c); 3.5.3 字符輸入輸出函數C語言程序設計整理課件一、格式輸入函數 scanfn語法:scanf(格式控制, 地址表列);n格式控制:含三類符號n空白字符:(空格、Tab或、),輸入時不必一一對應;n普通字符:(非格式說明符、非空白符、非%),輸入時必須一一對應;n
25、格式轉換說明符:由%開始后跟:一約定的字母轉換指示符;一任選的用于指定輸入字段寬度的整數w。3.5.4 格式輸入輸出函數C語言程序設計整理課件3.5.4 格式輸入輸出函數格式控制字符格式控制字符輸出形式說明輸出形式說明%d,%i帶符號的十進制數%o,%u,%x無號符的八、十、十六進制數無號符的八、十、十六進制數%c,%s字符、字符串%f,%e小數、科學計數法形式的實數小數、科學計數法形式的實數地址表列:由若干個地址組成,可以是變量的地址,也可以是字符串中的首地址等。C語言程序設計整理課件n例1:#include main() int a; float b; char str50; scanf(
26、“%d%f%s”,&a,&b,str); 設輸入流數據流為:25 54.32E-1 Nanjing處理結果為:25a 5.432000b Nanjing str3.5.4 格式輸入輸出函數C語言程序設計整理課件n輸入項表的輸入對象須是地址量;如: scanf(“%d,%d,%d”,&a,&b,&c); scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);3.5.4 格式輸入輸出函數123123,456456,789789,則處理的結果為:,則處理的結果為:123a 456 b 789 c123a 456 b 789
27、c如下的輸入是錯誤的:如下的輸入是錯誤的: 123 456 789123 456 789 123#456#789 123#456#789a=123,b=456,c=789C語言程序設計整理課件3.5.4 格式輸入輸出函數一、格式輸出函數printf語法:printf (格式控制, 輸出表列);語義:按格式控制將輸出表列中的數據依次 輸出至屏幕上。n 格式控制普通字符和轉義字符(原樣輸出)格式說明:由%和格式控制符組成如:%d,%f,%c等;C語言程序設計整理課件3.5.4 格式輸入輸出函數l如:printf(“a=%d, b=%d”,a,b); 若a、b的值分別為2和3, 則輸出結果為: a=2, b=3C語言程序設計整理課件3.5.4 格式輸入輸出函數格式控制字符格式控制字符輸出形式說明輸出形式說明%d,%i帶符號的十進制數%o,%u,%x無號符的八、十、十六進制數無號符的八、十、十六進制數%c,%s字符、字符串%f,%e小數、科學計數法形式的實數小數、科學計數法形式的實數格式修飾符 -輸出的字符或數值在輸出域內左靠齊格式修飾符格式修飾符 m 規定數據輸出的最小寬度規定數據輸出的最小寬度格式修飾符 .n對浮點數小數點后保留n位,對字符串,輸出前n個字符格式修飾符格式修飾符 l輸出長整型數,或雙精度型數輸出長整型數,或雙精度型數如果要輸出單一的字符%,則需用%C語言程序設計
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 家政服務相關法律安全衛生常識2
- 公司低檔白酒操作營銷攻略( 20)
- 自動控制理論二教學大綱 (一)
- 施工現場綜合管理考核評分細則
- 廣東省佛山市2024-2025學年下學期七年級英語期末模擬測試卷(一)(無答案)
- 2025年湖南省長沙市九年級全真模擬英語試題(保溫卷)(無答案)
- 2025年Android應屆畢業生“過五關斬六將”怒刷千題讓你面試一路暢通
- 2025年Android事件分發機制及設計思路面試建議-android事件分發機制面試
- 部編版三年級下冊第二單元《陶罐和鐵罐》教案
- 建筑施工特種作業-建筑起重機械安裝拆卸工(塔式起重機)真題庫-6
- 雨污分流改造項目土方開挖施工方案
- 圍欄網片采購安裝投標方案(技術標)
- 2024年中考語文滿分作文6篇(含題目)
- 浙江省2024年高中化學1月學業水平考試試題
- 四星級酒店規劃設計方案
- DL∕T 1362-2014 輸變電工程項目質量管理規程
- 臺球桿頭產品項目運營指導方案
- 家電清洗技術手冊
- 《排列組合的綜合運用》練習試題(含答案)
- 2022-2023學年河南省鄭州市高一下學期期末考試數學試題(解析版)
- 霍尼韋爾空氣凈化器說明書kj550
評論
0/150
提交評論