




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
會計學1C語言學習第講3.1統(tǒng)計輸入的一批字符中各類字符的數(shù)量例3-1
輸入10個字符,統(tǒng)計其中英文字母、數(shù)字字符和其他字符的個數(shù)。
3.1.1程序解析3.1.2字符類型3.1.3字符數(shù)據(jù)的輸入和輸出
3.1.4邏輯運算3.1.5else-if語句第1頁/共42頁3.1.1程序解析#include<stdio.h>intmain(void){intdigit,i,letter,other;
charch;
digit=letter=other=0;printf(“Enter10characters:");
for(i=1;i<=10;i++){
ch=getchar();/*從鍵盤輸入一個字符,賦值給變量ch*/
if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z'))
letter++;
elseif(ch>='0'&&ch<='9')/*如果ch是數(shù)字字符*/
digit++;
else
other++;}printf("letter=%d,digit=%d,other=%d\n",letter,digit,other);return0;}input10characters:Reold123?letter=5,digit=3,other=2多層縮進的書寫格式使程序層次分明第2頁/共42頁3.1.2字符類型char
ch;(ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z')(ch>='0'&&ch<='9')字符型數(shù)據(jù)字符變量:ch字符常量:'a'
第3頁/共42頁字符常量'a''z''A''Z''0''9''''\n'ASCII字符集:列出所有可用的字符每個字符:惟一的次序值(ASCII碼)'0'-'9''A'-'Z''a'-'z'區(qū)分數(shù)字1和數(shù)字字符'1'第4頁/共42頁字符變量char
ch;定義字符變量ch,用于存放字符型數(shù)據(jù)。ch='A';第5頁/共42頁3.1.3字符型數(shù)據(jù)的輸入和輸出字符輸入函數(shù)getchar輸入一個字符charch;ch=getchar();字符輸出函數(shù)putchar輸出一個字符putchar(輸出參數(shù));字符常量或字符變量charch;ch=getchar();putchar(ch);putchar(‘?');aa?第6頁/共42頁調用scanf和printf輸入輸出字符doublevalue1,value2;charoperator;printf(“Typeinanexpression:”);scanf(“%lf%c%lf”,&value1,&operator,&value2);printf(“%.2f%c%.2f”,value1,operator,value2);Typeinanexpression:
10.0+5.61
10.00+5.61
第7頁/共42頁3.1.4邏輯運算(ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z')ch>='0'&&ch<='9'x<=1關系運算-1<=x<=10-11 x
x>=-1并且
x<=1x>=-1&&x<=1第8頁/共42頁3種邏輯運算符邏輯與
&&
邏輯或
||邏輯非
!XX&&
YYXYX||
YX!
X第9頁/共42頁邏輯與
&&
邏輯或||邏輯非!(x>1)&&(y>1)(x>1)||(y>1)(x>1) !(x>1)即x<=1邏輯運算符的含義第10頁/共42頁邏輯運算符的功能邏輯與
&&
邏輯或||邏輯非!
aba&&ba||b!a假
假假假真假真假真真真假假真假真真真真假第11頁/共42頁邏輯表達式邏輯表達式:用邏輯運算符將邏輯運算對象連接起來的式子。(ch>='a')&&(ch<='z')
判斷ch是否為小寫英文字母或:ch>='a'&&ch<='z'(ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z') 判斷ch是否為英文字母第12頁/共42頁條件的表示例3-2寫出滿足下列條件的C表達式。ch是空格或者回車。ch==''||ch=='\n'number是偶數(shù)。number%2==0year是閏年,即year能被4整除但不能被100整除,或year能被400整除。
(year%4==0&&year%100!=0)||(year%400==0)第13頁/共42頁3.1.5else–if語句if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z'))letter++;elseif(ch>='0'&&ch<='9')
digit++;elseother++;實現(xiàn)多路選擇第14頁/共42頁else–if語句if(表達式1)
語句1elseif(表達式2)
語句2elseif(表達式n-1)語句n-1else
語句nif((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z'))letter++;elseif(ch>='0'&&ch<='9')
digit++;elseother++;假表達式1表達式2語句1語句2語句n-1語句n真表達式n-1真假真假假……第15頁/共42頁分段計算水費例3-3分段計算水費第16頁/共42頁源程序-分段計算水費#include<stdio.h>intmain(void){doublex,y;printf("Enterx:");scanf("%lf",&x);if(x<0){y=0;}elseif(x<=15){y=4*x/3;}else{y=2.5*x-10.5;}printf("f(%.2f)=%.2f\n",x,y);return0;}Enterx:-0.5f(-0.50)=0.00Enterx:9.5f(9.50)=12.67Enterx:21.3f(21.30)=42.75Enterx:?第17頁/共42頁3.2查詢自動售貨機中商品的價格例3-4
查詢自動售貨機中商品的價格3.2.1程序解析3.2.2switch語句第18頁/共42頁3.2.1程序解析假設自動售貨機出售4種商品,薯片(crisps)、爆米花(popcorn)、巧克力(chocolate)和可樂(cola),售價分別是每份3.0、2.5、4.0和3.5元。在屏幕上顯示以下菜單,用戶可以連續(xù)查詢商品的價格,當查詢次數(shù)超過5次時,自動退出查詢;不到5次時,用戶可以選擇退出。當用戶輸入編號1~4,顯示相應商品的價格;輸入0,退出查詢;輸入其他編號,顯示價格為0。[1]Selectcrisps[2]Selectpopcorn
[3]Selectchocolate[4]Selectcola
[0]Exit第19頁/共42頁#include<stdio.h>Intmain(void){intchoice,i;doubleprice;
for(i=1;i<=5;i++){printf("[1]Selectcrisps\n");
printf("[2]Selectpopcorn\n");
printf("[3]Selectchocolate\n");
printf("[4]Selectcola\n");
printf("[0]exit\n");
printf("Enterchoice:");
scanf("%d",&choice);
if(choice==0)break;
switch(choice){case1:price=3.0;break;
case2:price=2.5;break;case3:price=4.0;break;case4:price=3.5;break;default:price=0.0;break;}printf("price=%0.1f\n",price);
}printf("Thanks\n");}[1]Selectcrisps[2]Selectpopcorn
[3]Selectchocolate[4]Selectcola
[0]ExitEnterchoice:1price=3.0[1]Selectcrisps[2]Selectpopcorn
[3]Selectchocolate[4]Selectcola
[0]ExitEnterchoice:7price=0.0
[1]Selectcrisps[2]Selectpopcorn
[3]Selectchocolate[4]Selectcola
[0]ExitEnterchoice:0Thanks第20頁/共42頁3.2.2switch語句處理多分支選擇問題,3種情況1、在switch語句的每個語句段中都使用break語句switch(表達式){case常量表達式1:語句段1;break;
case常量表達式2:語句段2;break;....…
case常量表達式n:語句段n;break;
default:語句段n+1;break;}第21頁/共42頁switch(表達式){case常量表達式1:語句段1;break;
case常量表達式2:語句段2;break;....…
case常量表達式n:語句段n;break;
default:語句段n+1;break;}表達式的值=常量表達式2的值表達式語句段1語句段2語句段n語句段n+1表達式的值=常量表達式1的值表達式的值=常量表達式n的值其他breakbreakbreakbreakswitch(choice){case1:price=3.0;break;
case2:price=2.5;break;case3:price=4.0;break;case4:price=3.5;break;default:price=0.0;break;}用else-if如何實現(xiàn)?第22頁/共42頁求解簡單表達式例3-5輸入一個形式如“操作數(shù)運算符操作數(shù)”的四則運算表達式,輸出運算結果。例如:輸入:3.1+4.8
輸出:7.9第23頁/共42頁源程序#include<stdio.h>intmain(void){charoperator;doublevalue1,value2;printf("Typeinanexpression:");scanf("%lf%c%lf",&value1,&operator,&value2);switch(operator){case'+':printf("=%.2f\n",value1+value2);break;case'-':printf("=%.2f\n",value1-value2);break;case'*':printf("=%.2f\n",value1*value2);break;case'/':printf("=%.2f\n",value1/value2);break;default:printf("Unknownoperator\n");break;}return0;}Typeinanexpression:3.1+4.8
=7.9如果除數(shù)為0?第24頁/共42頁2、在switch中不使用breakswitch(表達式){case常量表達式1:語句段1;
case常量表達式2:語句段2;....…
case常量表達式n:語句段n;
default:語句段n+1;}第25頁/共42頁switch(表達式){case常量表達式1:語句段1;
case常量表達式2:語句段2;....…
case常量表達式n:語句段n;
default:語句段n+1;}switch(choice){case1:price=3.0;
case2:price=2.5;case3:price=4.0;case4:price=3.5;default:price=0.0;}表達式的值=常量表達式2的值表達式語句段1語句段2語句段n語句段n+1表達式的值=常量表達式1的值表達式的值=常量表達式n的值其他price=?第26頁/共42頁3、在switch的某些語句段中使用break例3-6輸入10個字符,分別統(tǒng)計出其中空格或回車、數(shù)字和其他字符的個數(shù)。例3-1輸入10個字符,統(tǒng)計其中英文字母、數(shù)字字符和其他字符的個數(shù)。第27頁/共42頁intmain(void){intblank,digit,i,other;charch;blank=digit=other=0;
printf("Enter10characters:");
for(i=1;i<=10;i++){ch=getchar();
switch(ch){case'':case'\n':blank++;break;case'0':case'1':case'2':case'3':case'4':case'5':case'6':case'7':case'8':case'9':digit++;break;default:other++;break;
}
}printf("blank=%d,digit=%d,other=%d\n",blank,digit,other);return0;}Enter10characters:Reold123?blank=1,digit=3,other=6第28頁/共42頁3.3分支結構程序設計分支結構一般分為二分支和多分支兩種結構用條件語句(if和switch)實現(xiàn)選擇3.3.1二分支結構和基本的if語句3.3.2多分支結構與嵌套的if語句和switch語句第29頁/共42頁3.3.1二分支結構和基本的if語句if(表達式)
語句1else
語句2if(表達式)
語句1語句1表達式語句2真假語句1表達式真假一條語句第30頁/共42頁判斷數(shù)字的奇偶性例3-7輸入1個整數(shù),判斷該數(shù)是奇數(shù)還是偶數(shù)。number%2==0第31頁/共42頁源程序-判斷數(shù)字的奇偶性#include<stdio.h>intmain(void){intnumber;printf("Enteranumber:");scanf("%d",&number);if(number%2==0){printf("Tnenumberiseven.\n");}else{printf("Tnenumberisodd.\n");}return0;}Enteranumber:329
Tnenumberisodd.Enteranumber:1028Tnenumberiseven.第32頁/共42頁求絕對值例3-8輸入1個整數(shù),輸出它的絕對值。當number<0時,number=-number;當number>=0時,?第33頁/共42頁源程序-求絕對值#include<stdio.h>intmain(void){intnumber; printf("Enteranumber:");scanf("%d",&number);if(number<0){number=-number;}printf("Theabsolutevalueis%d.\n",number);return0;}Enteranumber:10
Theabsolutevalueis10.Enteranumber:-300
Theabsolutevalueis300.第34頁/共42頁3.3.2多分支結構與嵌套的if語句和switch語句多分支結構有多種形式實現(xiàn)方法:嵌套的
if語句
else–if語句嵌套的if-else語句switch語句第35頁/共42頁嵌套的if語句if(表達式)
語句1else
語句2
if語句if語句else–if語句嵌套的if-else語句第36頁/共42頁if(表達式1)語句1elseif(表達式2)語句2……else
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 舊屋面防水施工方案
- 毛坯粉墻涂料施工方案
- YD B 050-2010 VRLA蓄電池組在線診斷技術要求和測試方法
- 2025年度美容院顧客資源與合同權益轉讓書
- 腳手架班組承包協(xié)議(2025年度)包含環(huán)保責任條款
- 二零二五年度轉租協(xié)議甲乙丙三方房屋租賃合同
- 二零二五年度主播與網(wǎng)絡文學出版社解除合同
- 2025年度男女分手后共同子女保險權益處理協(xié)議
- 二零二五年度返利協(xié)議書:健康體檢機構返利合作協(xié)議
- 二零二五年度校園借車免責協(xié)議實施細則
- 軟件項目進度計劃完整參考模板
- 二年級第二學期體育知識結構圖
- 特種設備使用單位名稱變更申請表(共2頁)
- CASS勘測定界操作指導方案
- 中國商品條碼系統(tǒng)注冊登記表規(guī)范填寫
- 湘科教版小學信息技術四年級下冊全冊教案.doc
- JJG 840-1993 函數(shù)信號發(fā)生器檢定規(guī)程
- 胃瘍(慢性消化性潰瘍)中醫(yī)護理方案
- 護理工作質量標準及考核細則
- CBCC中國建筑色卡千色卡色號查詢表
- 使用rhIL-11才能更加合理地防治血小板減少 指南(全文)
評論
0/150
提交評論